:root{--brand: #2563eb;--brand-2: #7c3aed;--brand-soft: rgba(37, 99, 235, .1);--bg: #f8fafc;--panel: #ffffff;--border: rgba(148, 163, 184, .28);--text: #0b1220;--muted: #64748b;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 12px 40px rgba(15, 23, 42, .06);--shadow-lg: 0 18px 50px rgba(15, 23, 42, .1);--radius: 20px;--radius-sm: 12px;--radius-pill: 999px;--sidebar-w: clamp(220px, 16vw, 272px);--rail-w: clamp(260px, 18vw, 320px);--content-pad-x: clamp(16px, 2.4vw, 40px);--content-pad-y: clamp(16px, 2vw, 32px);--shell-pad: clamp(8px, 1vw, 16px);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(900px 500px at 0% 0%,rgba(37,99,235,.14),transparent 55%),radial-gradient(800px 480px at 100% 10%,rgba(124,58,237,.12),transparent 50%),radial-gradient(700px 400px at 50% 100%,rgba(6,182,212,.1),transparent 55%),var(--bg);background-attachment:fixed}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--rail-w);min-height:100vh;width:100%;max-width:none;margin:0}.sidebar{display:flex;flex-direction:column;padding:var(--shell-pad) calc(var(--shell-pad) * .65) var(--shell-pad) var(--shell-pad);background:transparent;border-right:none;position:sticky;top:0;height:100vh;align-self:start;min-width:0}.sidebar-card{flex:1;display:flex;flex-direction:column;gap:6px;min-height:0;padding:22px 14px;border-radius:28px;color:#e2e8f0;background:linear-gradient(165deg,#0f172a,#1e1b4b 55%,#0e7490 140%);box-shadow:0 25px 60px #0f172a38;position:relative;overflow:hidden}.sidebar-card:after{content:"";position:absolute;inset:auto -40% -30% auto;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);pointer-events:none}.sidebar-card>*{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;letter-spacing:-.03em;color:#fff;padding:4px 8px 18px}.brand-orb{width:36px;height:36px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,#38bdf8,#a78bfa 50%,#f472b6);box-shadow:0 8px 24px #a78bfa73}.brand-text{line-height:1}.nav-primary,.nav-secondary{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;text-decoration:none;color:#cbd5e1;font-weight:600;font-size:14px;transition:background .12s ease,color .12s ease}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:#ffffff24;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a}.nav-icon{font-size:16px;width:1.4em;text-align:center}.nav-secondary{margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-foot{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:6px}.health{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;color:#94a3b8}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.content{padding:var(--content-pad-y) var(--content-pad-x) calc(var(--content-pad-y) + 8px);min-width:0;width:100%}.page h1{margin:0 0 8px;font-weight:800;letter-spacing:-.035em;line-height:1.15}.muted{color:var(--muted)}.small{font-size:13px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.page-head h1{margin:0;font-size:clamp(26px,3vw,32px)}.filters{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;padding:12px;border-radius:var(--radius);background:#ffffffb8;border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.filter-row-2{grid-template-columns:1fr minmax(140px,220px)}.filter-row>.input,.filter-row>select{min-width:0}@media(max-width:640px){.filter-row,.filter-row-2{grid-template-columns:1fr}}.input{width:100%;padding:11px 12px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;background:#fff;color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease}.input:focus{outline:none;border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb1f}textarea.input{resize:vertical}.btn{border:1px solid transparent;border-radius:14px;padding:10px 16px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:filter .12s ease,background .12s ease,border-color .12s ease}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 10px 28px #2563eb52}.btn.primary:hover{filter:brightness(1.05)}.btn.primary:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none}.btn.ghost{background:#fff;border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn.ghost:hover{background:#f8fafc;border-color:#cbd5e1}.btn.danger{color:#dc2626}.btn.ghost.danger:hover{background:#fef2f2;border-color:#fecaca}.icon-btn{border:none;background:transparent;font-size:18px;cursor:pointer;color:var(--muted);line-height:1;border-radius:10px;padding:4px 6px}.icon-btn:hover{background:#f1f5f9;color:var(--text)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);border:1px solid transparent;font-size:12px;font-weight:700}.chip-x{border:none;background:transparent;cursor:pointer;color:inherit;font-size:11px;padding:0}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-filter{padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#fff;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm)}.chip-filter.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 6px 16px #2563eb40}.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}.card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px #fffc inset,var(--shadow-md);transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-main{display:flex;flex-direction:column;gap:6px;min-width:0}.card-actions{display:flex;gap:8px;flex-shrink:0}.list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.label-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.label-form .input{width:auto;flex:1 1 200px}.color-picker{display:flex;gap:6px}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.selected{border-color:var(--text)}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:13px;font-weight:600;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.error{color:#ef4444;font-size:13px;margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--panel);border-radius:22px;width:100%;max-width:480px;max-height:90vh;overflow:auto;border:1px solid var(--border);box-shadow:0 24px 60px #0f172a38}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:20px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;width:fit-content}.seg-btn{border:none;background:#fff;padding:8px 16px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--muted)}.seg-btn.active{background:var(--brand);color:#fff}.field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.small-btn{padding:5px 10px;font-size:13px}.contact-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr auto;gap:6px;align-items:center}.contact-row .input{padding:7px 9px;font-size:13px}.contacts-mini{display:flex;flex-direction:column;gap:2px;margin-top:2px}.type-icon{font-size:14px}@media(max-width:760px){.contact-row{grid-template-columns:1fr 1fr}.contact-row .icon-btn{grid-column:1 / -1;justify-self:end}}.card-link{text-decoration:none;color:inherit;cursor:pointer}.card-link:hover .practice-title{color:var(--brand)}.card-title-row{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin:0;font-size:inherit;font-weight:inherit}.practice-dot{flex-shrink:0;width:10px;height:10px;background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 0 0 4px #ef444426}.practice-client{font-size:13px;font-weight:700;color:var(--muted)}.practice-ramo{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6d28d9;background:linear-gradient(135deg,#7c3aed1f,#2563eb1a);padding:4px 9px;border-radius:var(--radius-pill)}.practice-title{font-weight:800;letter-spacing:-.02em;font-size:16px}.row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:var(--muted)}.badge-open{background:#dcfce7;color:#15803d}.badge-closed{background:#e2e8f0;color:#475569}.badge-claim{background:#fee2e2;color:#b91c1c}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.claim-fields{border:1px solid var(--border);border-radius:12px;padding:14px;margin:0;display:flex;flex-direction:column;gap:12px}.claim-fields legend{font-size:13px;font-weight:700;color:var(--muted);padding:0 6px}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-md)}.panel h2{margin:0 0 12px;font-size:16px}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--muted);font-size:13px;font-weight:600}.kv dd{margin:0}.entry-form{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px}.entry-form .input{flex:1}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.timeline-item{display:flex;gap:10px;align-items:flex-start}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);margin-top:6px;flex-shrink:0}.timeline-body{flex:1;display:flex;flex-direction:column;gap:2px}.timeline-body p{margin:0;white-space:pre-wrap}.reminder-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.reminder-form input[type=datetime-local]{width:auto}.reminder-form .input:not([type=datetime-local]){flex:1 1 200px}.channels{display:flex;gap:12px}.check{display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--text)}.reminder-row{gap:10px}.reminder-when{flex:1}.quick-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.quick-add .input:first-child{flex:1 1 220px}.quick-add input[type=datetime-local]{width:auto}.task-group{margin-bottom:18px}.sec{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.sec-overdue{color:#b91c1c}.sec-today{color:var(--brand)}.count{font-weight:600;opacity:.7}.tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.task-row{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.task-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.task-check{margin-top:3px;width:17px;height:17px;flex-shrink:0;cursor:pointer}.task-main{flex:1;display:flex;flex-direction:column;gap:4px;cursor:pointer;min-width:0}.task-title{font-weight:600}.task-title.done{text-decoration:line-through;color:var(--muted)}.task-reminders{border-top:1px solid var(--border);margin-top:4px;padding:16px 20px}.task-reminders h3{margin:0 0 10px;font-size:14px}.task-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.login-card{width:100%;max-width:380px;background:#ffffffe0;border:1px solid var(--border);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 60px #0f172a1f}.login-brand{padding:0;justify-content:center;color:var(--text)}.login-card h1{margin:0 0 4px;font-size:22px;font-weight:800;letter-spacing:-.03em;text-align:center}.account{display:flex;flex-direction:column;gap:6px;padding:10px 8px 0}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8}.sidebar .account .btn.ghost{background:#ffffff14;border-color:#ffffff1f;color:#e2e8f0;box-shadow:none}.sidebar .account .btn.ghost:hover{background:#ffffff24;border-color:#ffffff2e;color:#fff}.sidebar .health{margin-top:0}.totp-qr{width:180px;height:180px;display:block;margin:8px 0;border:1px solid var(--border);border-radius:8px}@media(max-width:760px){.account{flex-direction:row;align-items:center;margin-top:0;padding:0}.account-email{display:none}}.rail-col{padding:var(--shell-pad) var(--shell-pad) var(--shell-pad) 0;min-width:0}.rail{background:#ffffffc7;border:1px solid var(--border);border-radius:24px;padding:16px 12px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:calc(100vh - (var(--shell-pad) * 2));position:sticky;top:var(--shell-pad);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.rail-head{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--brand);font-size:15px;letter-spacing:-.02em;flex-shrink:0}.rail-sections{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;flex:1}.rail-section{border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.rail-section-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:none;background:transparent;font:inherit;font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--text);cursor:pointer;text-align:left}.rail-section-head:hover{background:#f8fafc}.rail-section-chevron{width:1em;color:var(--muted);font-size:12px}.rail-section-title{flex:1}.rail-section-count{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#f1f5f9;color:var(--muted);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.rail-section.open .rail-section-count{background:linear-gradient(135deg,#2563eb1f,#7c3aed1f);color:var(--brand)}.rail-section .rail-list{padding:8px;border-top:1px solid var(--border)}.rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rail-item{display:flex;align-items:flex-start;gap:6px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#fff;box-shadow:var(--shadow-sm)}.rail-main{flex:1;display:flex;flex-direction:column;gap:2px;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit;min-width:0}.rail-when{font-weight:700;font-size:13px;color:var(--brand)}.rail-msg{font-size:13px}.rail-empty{padding:8px 2px}.rail-fab{display:none}@media(min-width:761px)and (max-width:1100px){.layout{grid-template-columns:clamp(200px,20vw,248px) minmax(0,1fr)}:root{--content-pad-x: clamp(14px, 2vw, 28px)}}@media(min-width:1400px){:root{--sidebar-w: clamp(240px, 14vw, 280px);--rail-w: clamp(280px, 16vw, 340px);--content-pad-x: clamp(24px, 2.8vw, 48px);--content-pad-y: clamp(20px, 2.2vw, 36px)}}@media(min-width:1800px){:root{--sidebar-w: 268px;--rail-w: 300px;--content-pad-x: 48px}}@media(max-width:1100px){.rail-col{display:none}.rail-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:22px;cursor:pointer;box-shadow:0 10px 28px #2563eb66;z-index:40}.rail-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.rail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50;display:flex;justify-content:flex-end}.rail-drawer{width:min(320px,88vw);max-width:88vw;height:100%}.rail-drawer .rail{border-left:none;border-radius:0;height:100%;top:0}}@media(max-width:760px){.rail-fab{bottom:80px}}.att-dropzone{border:2px dashed var(--border);border-radius:12px;padding:18px;text-align:center;color:var(--muted);font-size:14px;cursor:pointer;margin-bottom:12px}.att-dropzone.over{border-color:var(--brand);background:#eef2ff;color:var(--brand)}.att-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.att-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.att-child{margin-left:24px;border-style:dashed}.att-toggle{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--brand);border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.att-toggle:hover{background:#eef2ff;border-color:var(--brand)}.att-toggle-spacer{flex:0 0 auto;width:28px}.att-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;display:block}.att-icon{font-size:24px;width:44px;text-align:center}.att-name{flex:1;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--text);min-width:0}.att-name:hover .att-title{color:var(--brand)}.att-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-rename{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.att-rename .input{flex:1;min-width:0;padding:6px 8px}.att-name-btn{background:none;border:none;text-align:left;cursor:pointer;font:inherit;padding:0}.email-body{white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow:auto;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:12px;margin:8px 0;font-family:inherit;font-size:14px}.email-frame{width:100%;height:50vh;border:1px solid var(--border);border-radius:8px;background:#fff;margin:8px 0}.att-frame{width:100%;height:60vh;border:1px solid var(--border);border-radius:8px;background:#fff;margin:8px 0}.att-preview-img{display:block;max-width:100%;max-height:60vh;border:1px solid var(--border);border-radius:8px;margin:8px 0}.cal-nav{display:flex;gap:6px}.cal-month{font-size:18px;font-weight:700;text-transform:capitalize;margin-bottom:10px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-wd{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}.cal-cell{min-height:96px;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column;gap:2px}.cal-out{opacity:.45}.cal-today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.cal-day{font-size:12px;font-weight:700;color:var(--muted)}.cal-today .cal-day{color:var(--brand)}.cal-item{font-size:11px;padding:1px 5px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-task{background:#eef2ff;color:var(--brand)}.cal-rem{background:#fff7ed;color:#b45309}@media(max-width:760px){.cal-cell{min-height:64px;padding:2px}.cal-item{font-size:10px;padding:1px 3px}.cal-wd{font-size:10px}}@media(max-width:760px){.grid2{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:2px 0}.kv dd{margin-bottom:8px}}.tabbar{display:none}@media(max-width:760px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;max-width:none}.sidebar-card{flex-direction:row;align-items:center;gap:8px;min-height:0;height:auto;padding:10px 12px;border-radius:0;box-shadow:0 8px 28px #0f172a2e}.sidebar-card:after{display:none}.sidebar nav,.nav-primary,.nav-secondary{display:none}.sidebar{flex-direction:row;align-items:stretch;justify-content:stretch;padding:0;height:auto;position:sticky;top:0;z-index:30}.sidebar-foot{margin-top:0;padding-top:0;margin-left:auto;flex-direction:row;align-items:center}.brand{display:flex;margin:0;padding:calc(env(safe-area-inset-top)/5) 0 0;font-size:16px}.brand-orb{width:28px;height:28px;border-radius:9px}.sidebar .health{margin-top:0;gap:0;padding:0 0 0 8px;font-size:0}.sidebar .account{padding:0}.content{padding:18px 14px 88px}.filters{padding:10px}.card:hover{transform:none}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#ffffffeb;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #0f172a0f}.tabbar::-webkit-scrollbar{display:none}.tab-link{flex:0 0 auto;min-width:62px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700;padding:4px 8px}.tab-link.active{color:var(--brand)}}.icon-pick{font-size:20px;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.icon-pick.selected{border-color:var(--brand);background:#eef2ff}.mod-field{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:8px}.mod-field .input{width:auto;flex:1 1 140px}.mod-field-wide{flex-basis:100%!important}.mod-field-opts{display:flex;align-items:center;gap:12px;flex:1 1 100%}.page-notes{max-width:min(1100px,100%);width:100%}.note-add{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-bottom:16px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-md)}.note-add textarea,.note-text-compose{width:100%;resize:none;overflow:hidden;min-height:88px;line-height:1.45;field-sizing:content}.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;width:100%}.note-item{display:flex;align-items:flex-start;gap:8px}.note-text{flex:1;width:100%;resize:none;overflow:hidden;min-height:96px;line-height:1.5;field-sizing:content}.rg-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 16px}.rg-search{flex:1 1 220px;max-width:360px}.rg-status-filter{flex:0 0 auto;width:auto}.rg-hide-done{flex:0 0 auto;white-space:nowrap;font-size:13px;color:var(--muted)}.rg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.rg-filter-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.rg-filter-chip:hover{border-color:var(--brand)}.rg-filter-chip.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff}.rg-table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.rg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.rg-table thead th{position:sticky;top:0;z-index:2;background:#f1f5f9;color:var(--muted);font-weight:600;text-align:left;white-space:nowrap;padding:11px 14px;border-bottom:1px solid var(--border)}.rg-td{padding:9px 14px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.rg-table tbody tr:last-child .rg-td{border-bottom:none}.rg-table tbody tr:hover .rg-td{background:#f8fafc}.rg-client{font-weight:600}.rg-sticky-col{position:sticky;left:0;z-index:1;background:var(--panel)}.rg-table thead th.rg-sticky-col{z-index:3;background:#f1f5f9}.rg-table tbody tr:hover .rg-sticky-col{background:#f8fafc}.rg-stage{position:relative}.rg-chip{min-width:52px;padding:4px 10px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:filter .12s ease}.rg-chip:hover{filter:brightness(.96)}.rg-chip.date{background:#e6f0ff;color:var(--brand)}.rg-chip.na{background:#e2e8f0;color:#475569}.rg-chip.empty{background:transparent;color:#cbd5e1;border:1px dashed var(--border)}.rg-pop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.rg-pop{position:fixed;z-index:1001;width:240px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px #0206172e;padding:10px;display:flex;flex-direction:column;gap:8px}.rg-pop .input{width:100%}.rg-pop-actions{display:flex;gap:6px}.rg-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.rg-tone-gray{background:#f1f5f9;color:#64748b}.rg-tone-amber{background:#fef3c7;color:#b45309}.rg-tone-blue{background:#dbeafe;color:#1d4ed8}.rg-tone-purple{background:#ede9fe;color:#6d28d9}.rg-tone-orange{background:#ffedd5;color:#c2410c}.rg-tone-green{background:#dcfce7;color:#15803d}.rg-note{min-width:160px;white-space:normal}.rg-note-btn{background:none;border:none;font:inherit;text-align:left;cursor:text;color:var(--text);width:100%;padding:2px 0}.rg-form-row{display:flex;gap:12px;flex-wrap:wrap}.rg-form-row .field{flex:1 1 140px}.rg-year-field{flex:0 0 90px}.alert-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b1220b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:alert-fade-in .2s ease}@keyframes alert-fade-in{0%{opacity:0}to{opacity:1}}.alert-card{position:relative;width:min(440px,100%);padding:28px 24px 22px;border-radius:24px;background:#fff;border:1px solid var(--border);box-shadow:0 28px 80px #0f172a59;text-align:center;overflow:hidden}.alert-pulse{position:absolute;top:16px;left:50%;transform:translate(-50%);width:12px;height:12px;border-radius:50%;background:#ef4444;box-shadow:0 0 #ef444480;animation:alert-pulse 1.4s ease-out infinite}@keyframes alert-pulse{0%{box-shadow:0 0 #ef44448c}70%{box-shadow:0 0 0 16px #ef444400}to{box-shadow:0 0 #ef444400}}.alert-kicker{margin:18px 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#dc2626}.alert-title{margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.25}.alert-detail{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text);line-height:1.4}.alert-client{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--muted)}.alert-queue-count{font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:none}.alert-queue-hint{margin:0 0 14px}.alert-meta{margin:0 0 16px}.alert-actions{display:flex;flex-direction:column;gap:8px}.alert-btn{width:100%;justify-content:center}.alert-hint{margin:14px 0 0}.move-btns{display:inline-flex;flex-direction:column;gap:0;line-height:1}.move-btn{font-size:10px!important;padding:2px 4px!important;min-width:22px}.move-btn:disabled{opacity:.25;cursor:default}.notify-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#6d28d9;background:linear-gradient(135deg,#7c3aed1f,#2563eb1a);padding:3px 8px;border-radius:999px;white-space:nowrap}.quick-add-hint{margin:-8px 0 14px}.note-item,.note-item-wide{align-items:stretch;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-md)}.note-body{flex:1 1 auto;min-width:0;width:100%;display:flex;flex-direction:column;gap:8px}.note-actions{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;padding-top:4px}.note-notify-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.note-notify-input{width:auto;min-width:180px;flex:0 1 220px;padding:7px 10px;font-size:13px}.note-author{margin:0 0 2px;font-weight:700}@media(max-width:640px){.note-item-wide{flex-direction:column}.note-actions{flex-direction:row;justify-content:flex-end;width:100%}}
