.login-wrap{background:radial-gradient(60% 55% at 50% 38%, var(--c-brand-surface) 0%, transparent 70%), var(--c-bg);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);width:min(372px,92vw);box-shadow:var(--el-high);flex-direction:column;gap:1rem;padding:2rem;display:flex}.login-card .brand{color:var(--c-text);flex-direction:column;align-items:center;gap:10px;display:flex}.login-card .brand .brand-ico{filter:drop-shadow(0 4px 12px #00000073);width:52px;height:52px}.login-card .brand .brand-text{flex-direction:column;align-items:center;line-height:1.05;display:flex}.login-card .brand .wordmark{font-size:1.8rem;font-weight:var(--fw-heavy);letter-spacing:-.01em}.login-card .brand .ai{color:var(--c-brand)}.login-card .brand .brand-sub{font-size:.78rem;font-weight:var(--fw-medium);color:var(--c-text-dim);letter-spacing:.16em;text-transform:uppercase}.login-card h1{text-align:center;font-size:1.05rem;font-weight:var(--fw-medium);color:var(--c-text-dim);letter-spacing:.02em;margin-top:-.25rem}.login-card>label{color:var(--c-text-dim);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.login-card input[type=text],.login-card input[type=password]{width:100%}.login-err{border:1px solid var(--c-danger);border-radius:var(--r-sm);background:color-mix(in srgb, var(--c-danger) 14%, transparent);color:var(--c-danger);align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.85rem;display:flex}.login-card .pw-field{display:flex;position:relative}.login-card .pw-field input{flex:1;padding-right:2.4rem}.login-card .pw-toggle{cursor:pointer;border-radius:var(--r-sm);color:var(--c-text-dim);background:0 0;border:none;padding:.3rem .4rem;font-size:1rem;line-height:1;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.login-card .pw-toggle:hover{background:var(--c-surface-alt)}.login-card label.row-chk{cursor:pointer;color:var(--c-text-dim);flex-direction:row;align-items:center;gap:.5rem;font-size:.85rem}.login-card label.row-chk input{width:auto}.login-card .login-submit{font-size:.95rem;font-weight:var(--fw-medium);justify-content:center;padding:.6rem}.login-card .server-section{border-top:1px solid var(--c-border);margin-top:.2rem;padding-top:.6rem}.login-card .server-section>summary{cursor:pointer;color:var(--c-text-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-size:.8rem;list-style:none;display:flex}.login-card .server-section>summary::-webkit-details-marker{display:none}.login-card .server-section>summary:before{content:"▸";font-size:.75rem;transition:transform .15s}.login-card .server-section[open]>summary:before{transform:rotate(90deg)}.login-card .server-section>summary:hover{color:var(--c-text)}.login-card .server-body{flex-direction:column;gap:.6rem;margin-top:.7rem;display:flex}.login-card .server-hint{color:var(--c-text-mute);font-size:.78rem;line-height:1.45}.login-card .server-hint code{color:var(--c-text-dim);font-family:ui-monospace,monospace;font-size:.74rem}.login-card .server-apply{align-self:flex-start;padding:.4rem .8rem;font-size:.82rem}.tabs{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);margin-bottom:1.25rem;display:inline-flex;overflow:hidden}.tabs label{cursor:pointer;color:var(--c-text-dim);border-right:1px solid var(--c-border);padding:.45rem .95rem;font-size:.9rem}.tabs label:last-child{border-right:none}.cal-nav{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.cal-nav .label{margin:0 .25rem;font-weight:600}.ev{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:5px;margin-top:3px;padding:1px 6px;font-size:.72rem;display:block;overflow:hidden}.ev.allday{background-image:repeating-linear-gradient(45deg,#ffffff2e 0 4px,#0000 4px 8px)}.month{background:var(--card);border-radius:var(--r-md);border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.month .dow,.month .cell{border-top:1px solid var(--c-border);border-left:1px solid var(--c-border)}.month .dow{background:var(--c-surface-alt);color:var(--c-text-dim);text-transform:uppercase;text-align:center;padding:.45rem;font-size:.72rem}.month .cell{min-height:92px;padding:.35rem}.month .cell .num{color:var(--c-text-dim);font-size:.78rem}.month .cell.other{background:var(--c-surface-alt)}.month .cell.other .num{opacity:.4}.week{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.week .day{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-height:130px;padding:.5rem}.week .day h4{color:var(--muted);text-align:center;margin-bottom:.35rem;font-size:.78rem;font-weight:600}.agenda{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.agenda .slot{border-top:1px solid var(--border);grid-template-columns:80px 1fr;display:grid}.agenda .slot:first-child{border-top:none}.agenda .slot .t{color:var(--muted);padding:.5rem .75rem;font-size:.82rem}.agenda .slot .c{padding:.4rem .75rem}@media (width<=639px){.week{grid-template-columns:1fr}.month .cell{min-height:64px}}.field-list{border:1px solid var(--c-border);border-radius:var(--r-sm);margin:.4rem 0;padding:.5rem .6rem}.field-list legend{font-size:var(--fs-small,.8rem);color:var(--c-text-dim);padding:0 .3rem}.field-row{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.field-row input{flex:1}.stat-card{border:1px solid var(--c-border);border-radius:var(--r-md,10px);padding:var(--sp-md,1rem);background:var(--c-surface)}.stat-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.stat-card-head h3{font-size:var(--fs-small,.85rem);text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-dim);margin:0}.bar-track{background:var(--c-surface-alt);border-radius:6px;height:10px;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .3s}.obj-bars{flex-direction:column;gap:.4rem;display:flex}.obj-bar-row{grid-template-columns:9rem 1fr 3rem;align-items:center;gap:.5rem;display:grid}.obj-bar-label{font-size:var(--fs-small,.85rem);color:var(--c-text);white-space:nowrap}.obj-bar-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--c-text-dim)}.obj-bar-total{text-align:right;color:var(--c-text);margin-top:.3rem;font-weight:600}.chart-legend{font-size:var(--fs-small,.8rem);color:var(--c-text-dim);gap:1rem;margin-top:.3rem;display:flex}.chart-legend .legend-dash{vertical-align:middle;border-radius:2px;width:14px;height:3px;display:inline-block}.am-scrim{background:rgba(0,0,0,var(--o-overlay));z-index:70;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.am-dialog{background:var(--c-surface,#1b1b1b);color:var(--text,#eee);border:1px solid var(--c-border);border-radius:14px;width:min(760px,100%);max-height:90vh;overflow:auto}.am-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.am-sep{border-top:1px solid var(--c-border)}.am-wave{cursor:pointer;flex:1;align-items:center;gap:1px;height:2.4rem;display:flex}.am-wave>span{border-radius:1px;flex:1}@media (width<=639px){.am-scrim{align-items:stretch;padding:0}.am-dialog{border-radius:0;width:100%;height:100dvh;max-height:100dvh}}dialog.preview-dlg{width:min(900px,94vw)}.tabbar{gap:var(--sp-xs);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-md);display:flex}.tabbar button{color:var(--c-text-dim);font:inherit;cursor:pointer;border-radius:var(--r-sm) var(--r-sm) 0 0;background:0 0;border:none;border-left:3px solid #0000;padding:.5rem .85rem}.tabbar button.active{color:var(--app-accent);font-weight:var(--fw-bold);background:var(--app-accent-surface)}.scans-viewswitch{gap:var(--sp-xs);display:inline-flex}.scans-viewswitch .btn.active{color:var(--app-accent);border-color:var(--app-accent)}.scans-selectionbar{align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);margin-bottom:var(--sp-md);border:1px solid var(--app-accent);border-radius:var(--r-md);background:var(--app-surface);display:flex}.scans-selection-count{font-size:var(--fs-caption);color:var(--c-text-mute)}.scan-thumb-col{width:72px}.scan-thumb{object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--c-border);background:var(--c-surface-alt);width:48px;height:48px;display:block}.scans-select-col{width:40px}tr.scan-selected td{background:var(--c-surface-alt)}tr.scan-drop-target td{background:var(--c-surface-alt);box-shadow:inset 0 0 0 1px var(--app-accent)}.scan-grid{gap:var(--sp-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.scan-card{background:var(--app-surface);border:1px solid var(--c-border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.scan-card:hover{background:var(--c-surface);border-color:var(--app-accent)}.scan-card:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.scan-card-thumb{aspect-ratio:4/3;background:var(--c-surface-alt);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.scan-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.scan-card-thumb-placeholder{font-size:var(--fs-headline);color:var(--c-text-mute)}.scan-card-body{gap:var(--sp-xs);padding:var(--sp-md);flex-direction:column;display:flex}.scan-card-title{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-card-meta{font-size:var(--fs-caption);color:var(--c-text-mute)}.scan-card-status{color:var(--c-success)}.scan-card-skeleton{aspect-ratio:4/3;border:1px solid var(--c-border);border-radius:var(--r-md);background:linear-gradient(90deg, var(--c-surface-alt) 25%, var(--c-surface) 50%, var(--c-surface-alt) 75%);background-size:200% 100%;animation:1.3s ease-in-out infinite skeleton}.scan-card-actions{gap:var(--sp-xs);margin-top:var(--sp-xs);display:flex}.scan-card-check{top:var(--sp-sm);left:var(--sp-sm);z-index:1;width:18px;height:18px;position:absolute}.scan-card.scan-selected{border-color:var(--app-accent);outline:1px solid var(--app-accent)}.scan-card.scan-drop-target{border-color:var(--app-accent);outline:2px solid var(--app-accent);outline-offset:-1px}dialog.scan-lightbox{flex-direction:column;width:min(900px,94vw);max-height:92vh;display:flex;overflow:hidden}.scan-lightbox__head{align-items:center;gap:var(--sp-md);border-bottom:1px solid var(--c-border);padding:.85rem 1rem;display:flex}.scan-lightbox__title{min-width:0;font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.scan-lightbox__counter{color:var(--c-text-dim);font-size:var(--fs-small);flex:none}.scan-lightbox__close{flex:none}.scan-lightbox__stage{min-height:0;padding:var(--sp-md);background:var(--c-surface-alt);flex:auto;justify-content:center;align-items:center;display:flex;position:relative}.scan-lightbox__image{object-fit:contain;border-radius:var(--r-sm);max-width:100%;max-height:74vh;box-shadow:var(--el-med)}.scan-lightbox__empty{color:var(--c-text-mute);font-size:var(--fs-small)}.scan-lightbox__nav{z-index:1;font-size:var(--fs-title);background:var(--c-surface);line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.scan-lightbox__nav--prev{left:var(--sp-md)}.scan-lightbox__nav--next{right:var(--sp-md)}.scan-lightbox__version{bottom:var(--sp-md);z-index:1;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:var(--el-med);gap:2px;padding:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scan-lightbox__version-btn{font-size:var(--fs-small);color:var(--c-text-dim);border-radius:calc(var(--r-sm) - 2px);cursor:pointer;background:0 0;border:0;padding:.2rem .6rem}.scan-lightbox__version-btn.is-active{background:var(--c-surface-alt);color:var(--c-text);font-weight:var(--fw-medium)}.scan-lightbox__redact{align-items:center;gap:var(--sp-md);flex-direction:column;min-width:0;max-width:100%;display:flex}.scan-lightbox__redact-surface{cursor:crosshair;-webkit-user-select:none;user-select:none;line-height:0;display:inline-block;position:relative}.scan-lightbox__redact-image{object-fit:contain;border-radius:var(--r-sm);max-width:100%;max-height:60vh;box-shadow:var(--el-med);display:block}.scan-lightbox__redact-box{pointer-events:none;background:#000;outline:1px dashed #ffffffb3;position:absolute}.scan-lightbox__redact-box--draft{opacity:.6}.scan-lightbox__redact-remove{pointer-events:auto;color:#000;border-radius:0 0 0 var(--r-sm);cursor:pointer;background:#ffffffd9;border:0;padding:1px 4px;font-size:.7rem;line-height:1.2;position:absolute;top:0;right:0}.scan-lightbox__redact-hint{text-align:center;margin:0}.scan-lightbox__redact-actions{justify-content:center;gap:var(--sp-md);margin-top:0}.scan-lightbox__strip{border-top:1px solid var(--c-border);flex:none;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;overflow-x:auto}.scan-lightbox__thumb{flex:none;position:relative}.scan-lightbox__thumb.is-dragging{opacity:.5}.scan-lightbox__thumb-btn{border:2px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-alt);cursor:pointer;width:52px;height:68px;padding:0;display:block;position:relative;overflow:hidden}.scan-lightbox__thumb.is-active .scan-lightbox__thumb-btn{border-color:var(--accent)}.scan-lightbox__thumb-img{object-fit:cover;width:100%;height:100%;display:block}.scan-lightbox__thumb-placeholder{width:100%;height:100%;color:var(--c-text-mute);justify-content:center;align-items:center;display:flex}.scan-lightbox__thumb-num{color:#fff;background:#000000a6;border-radius:3px;padding:0 3px;font-size:.65rem;line-height:1.3;position:absolute;bottom:2px;right:2px}.scan-lightbox__thumb-split{z-index:1;border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0;font-size:.7rem;line-height:1;position:absolute;top:-4px;right:-4px}.scan-lightbox__thumb-split:disabled{opacity:.5;cursor:default}.scan-lightbox__ocr{border-top:1px solid var(--c-border);flex:none;padding:.6rem 1rem}.scan-lightbox__ocr>summary{cursor:pointer;color:var(--c-text-dim);font-size:var(--fs-small);-webkit-user-select:none;user-select:none}.scan-lightbox__ocr-text{white-space:pre-wrap;max-height:26vh;margin:.5rem 0 0;font-family:inherit;font-size:.9rem;overflow:auto}.scan-lightbox__ocr .hint{margin:.5rem 0 0}.scan-lightbox__ai{border-top:1px solid var(--c-border);flex:none;max-height:32vh;padding:.6rem 1rem .8rem;overflow:auto}.scan-lightbox__ai-head{justify-content:space-between;align-items:center;gap:var(--sp-md);display:flex}.scan-lightbox__ai-title{color:var(--c-text-dim);font-size:var(--fs-small);font-weight:var(--fw-medium)}.scan-lightbox__ai-shorttitle{margin:.4rem 0 0;font-size:.9rem}.scan-lightbox__ai-fulltext{margin-top:.4rem}.scan-lightbox__ai-fulltext>summary{cursor:pointer;color:var(--c-text-dim);font-size:var(--fs-small);-webkit-user-select:none;user-select:none}.scan-lightbox__ai-block{margin-top:.5rem}.scan-lightbox__ai-block>h4{font-size:var(--fs-small);color:var(--c-text-dim);margin:0 0 .25rem}.scan-lightbox__ai-kv{margin:0;font-size:.9rem}.scan-lightbox__ai-kv-row{gap:.5rem;display:flex}.scan-lightbox__ai-kv-row>dt{color:var(--c-text-dim);flex:none}.scan-lightbox__ai-kv-row>dt:after{content:":"}.scan-lightbox__ai-kv-row>dd{overflow-wrap:anywhere;min-width:0;margin:0}.scan-lightbox__ai-json{white-space:pre-wrap;margin:0;font-size:.85rem}.scan-lightbox__ai-badge{margin:.5rem 0 0}.scan-lightbox__ai-cost{margin-left:.5rem}.scan-lightbox__ai p{margin:.4rem 0 0}.scan-lightbox__actions{justify-content:center;gap:var(--sp-md);border-top:1px solid var(--c-border);margin-top:0;padding:.85rem 1rem}.inbox-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.inbox-list{flex-direction:column;display:flex}.inbox-item{border-bottom:1px solid var(--c-border);cursor:pointer;text-align:left;width:100%;color:var(--c-text);background:0 0;border-top:none;border-left:none;border-right:none;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;padding:.6rem .5rem;display:grid}.inbox-item:hover{background:var(--c-surface-alt)}.inbox-item.unread .inbox-title{font-weight:700}.inbox-badge{align-items:center;gap:.35rem;display:inline-flex}.inbox-dot{border-radius:50%;flex:none;width:9px;height:9px}.inbox-dot.on{background:var(--c-brand)}.inbox-dot.off{border:1px solid var(--c-border);background:0 0}.inbox-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inbox-time{color:var(--c-text-dim);font-size:var(--fs-small,.82rem);white-space:nowrap}.inbox-group-head{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .3rem;font-weight:600;display:flex}.subtab-bar{border-bottom:1px solid var(--c-border);gap:.4rem;margin-bottom:1rem;display:flex}.subtab{color:var(--c-text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem .9rem}.subtab.active{color:var(--c-text);border-bottom-color:var(--c-brand);font-weight:600}:root{--c-bg:#0f1115;--c-surface:#1a1d24;--c-surface-alt:#14161b;--c-border:#2a2f3a;--c-text:#e6e8ec;--c-text-dim:#9aa0ab;--c-text-mute:#7c828d;--c-on-accent:#0b0c0f;--c-on-primary:#fff;--c-brand:#4c8dff;--c-brand-hover:#6ba2ff;--c-brand-active:#357af0;--c-brand-surface:#16233b;--c-danger:#ff5c5c;--c-warning:#f59e0b;--c-success:#22c55e;--c-info:#4c8dff;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--el-low:0 2px 6px #00000059;--el-med:0 4px 14px #00000073;--el-high:0 12px 40px #0000008c;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-caption:11px;--fs-small:13px;--fs-body:16px;--fs-title:20px;--fs-headline:26px;--fs-display:40px;--fw-regular:400;--fw-medium:600;--fw-bold:700;--fw-heavy:800;--o-disabled:.5;--o-pressed:.85;--o-overlay:.45;--app-calendar-accent:#4c8dff;--app-tasks-accent:#22c55e;--app-contacts-accent:#8b5cf6;--app-notes-accent:#f59e0b;--app-audio-accent:#f43f5e;--app-files-accent:#14b8a6;--app-clock-accent:#d946ef;--app-sync-accent:#64748b;--app-scanner-accent:#06b6d4;--app-calendar-base:#0f1115;--app-tasks-base:#0c110e;--app-contacts-base:#0e0c14;--app-notes-base:#121013;--app-audio-base:#140d10;--app-files-base:#0b1213;--app-clock-base:#130b14;--app-sync-base:#0e1013;--app-scanner-base:#0a1014;--app-calendar-surface:#1a1d24;--app-tasks-surface:#161f19;--app-contacts-surface:#1b1726;--app-notes-surface:#211b22;--app-audio-surface:#241720;--app-files-surface:#142022;--app-clock-surface:#221426;--app-sync-surface:#1b2027;--app-scanner-surface:#132028;--app-calendar-hover:#6ba2ff;--app-tasks-hover:#4ed080;--app-contacts-hover:#a37df8;--app-notes-hover:#f7b13d;--app-audio-hover:#f6657e;--app-files-hover:#43c6b7;--app-clock-hover:#e06bf2;--app-sync-hover:#838ea2;--app-scanner-hover:#33c3dc;--app-calendar-active:#3e74d1;--app-tasks-active:#1ca14b;--app-contacts-active:#724bc9;--app-notes-active:#c98209;--app-audio-active:#c8344d;--app-files-active:#109788;--app-clock-active:#b13ac4;--app-sync-active:#525e72;--app-scanner-active:#0595ae;--app-calendar-nav-surface:#233448;--app-tasks-nav-surface:#1c2c24;--app-contacts-nav-surface:#232337;--app-notes-nav-surface:#2c2a26;--app-audio-nav-surface:#2e1f29;--app-files-nav-surface:#1c2c30;--app-clock-nav-surface:#2c2031;--app-sync-nav-surface:#22272f;--app-scanner-nav-surface:#173540;--app-accent:var(--c-brand);--app-accent-hover:var(--c-brand-hover);--app-accent-active:var(--c-brand-active);--app-accent-surface:var(--c-brand-surface);--app-base:var(--c-bg);--app-surface:var(--c-surface)}[data-app=dashboard],[data-app=sharing],[data-app=users],[data-app=settings]{--app-accent:var(--c-brand);--app-accent-hover:var(--c-brand-hover);--app-accent-active:var(--c-brand-active);--app-accent-surface:var(--c-brand-surface);--app-base:var(--c-bg);--app-surface:var(--c-surface)}[data-app=calendar]{--app-accent:var(--app-calendar-accent);--app-accent-hover:var(--app-calendar-hover);--app-accent-active:var(--app-calendar-active);--app-accent-surface:var(--app-calendar-nav-surface);--app-base:var(--app-calendar-base);--app-surface:var(--app-calendar-surface)}[data-app=tasks]{--app-accent:var(--app-tasks-accent);--app-accent-hover:var(--app-tasks-hover);--app-accent-active:var(--app-tasks-active);--app-accent-surface:var(--app-tasks-nav-surface);--app-base:var(--app-tasks-base);--app-surface:var(--app-tasks-surface)}[data-app=contacts]{--app-accent:var(--app-contacts-accent);--app-accent-hover:var(--app-contacts-hover);--app-accent-active:var(--app-contacts-active);--app-accent-surface:var(--app-contacts-nav-surface);--app-base:var(--app-contacts-base);--app-surface:var(--app-contacts-surface)}[data-app=notes]{--app-accent:var(--app-notes-accent);--app-accent-hover:var(--app-notes-hover);--app-accent-active:var(--app-notes-active);--app-accent-surface:var(--app-notes-nav-surface);--app-base:var(--app-notes-base);--app-surface:var(--app-notes-surface)}[data-app=audio]{--app-accent:var(--app-audio-accent);--app-accent-hover:var(--app-audio-hover);--app-accent-active:var(--app-audio-active);--app-accent-surface:var(--app-audio-nav-surface);--app-base:var(--app-audio-base);--app-surface:var(--app-audio-surface)}[data-app=files]{--app-accent:var(--app-files-accent);--app-accent-hover:var(--app-files-hover);--app-accent-active:var(--app-files-active);--app-accent-surface:var(--app-files-nav-surface);--app-base:var(--app-files-base);--app-surface:var(--app-files-surface)}[data-app=clock]{--app-accent:var(--app-clock-accent);--app-accent-hover:var(--app-clock-hover);--app-accent-active:var(--app-clock-active);--app-accent-surface:var(--app-clock-nav-surface);--app-base:var(--app-clock-base);--app-surface:var(--app-clock-surface)}[data-app=sync]{--app-accent:var(--app-sync-accent);--app-accent-hover:var(--app-sync-hover);--app-accent-active:var(--app-sync-active);--app-accent-surface:var(--app-sync-nav-surface);--app-base:var(--app-sync-base);--app-surface:var(--app-sync-surface)}[data-app=scanner]{--app-accent:var(--app-scanner-accent);--app-accent-hover:var(--app-scanner-hover);--app-accent-active:var(--app-scanner-active);--app-accent-surface:var(--app-scanner-nav-surface);--app-base:var(--app-scanner-base);--app-surface:var(--app-scanner-surface)}:root{--accent:var(--app-accent);--accent-dark:var(--app-accent-active);--sidebar-bg:var(--c-surface-alt);--sidebar-fg:var(--c-text-dim);--sidebar-active:var(--c-surface);--bg:var(--app-base);--card:var(--app-surface);--border:var(--c-border);--text:var(--c-text);--muted:var(--c-text-dim);--danger:var(--c-danger);--radius:var(--r-md)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);line-height:1.5}.layout{background:var(--app-base);height:100vh;display:flex}.sidebar{background:var(--c-surface-alt);width:240px;color:var(--c-text-dim);border-right:1px solid var(--c-border);flex-direction:column;flex:0 0 240px;display:flex}.sidebar .brand{align-items:center;gap:var(--sp-sm);padding:var(--sp-lg) var(--sp-lg) var(--sp-md);border-bottom:1px solid var(--c-border);display:flex}.sidebar .brand .brand-ico{flex:none;width:30px;height:30px}.sidebar .brand .brand-text{flex-direction:column;min-width:0;line-height:1.04;display:flex}.sidebar .brand .wordmark{font-size:1.25rem;font-weight:var(--fw-heavy);color:var(--c-text);letter-spacing:-.01em}.sidebar .brand .ai{color:var(--c-brand)}.sidebar .brand .brand-sub{font-size:.64rem;font-weight:var(--fw-medium);color:var(--c-text-dim);letter-spacing:.1em;text-transform:uppercase}.sidebar nav{padding:var(--sp-sm);flex-direction:column;flex:1;gap:2px;display:flex;overflow:auto}.sidebar nav a,.sidebar nav button.nav-link,.sidebar .nav-settings a{align-items:center;gap:var(--sp-sm);color:var(--c-text-dim);border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border-left:3px solid #0000;width:100%;padding:.55rem .85rem;font-family:inherit;font-size:.95rem;text-decoration:none;display:flex}.nav-ico{flex:0 0 20px;width:20px;height:20px;display:inline-flex}.nav-ico svg{width:100%;height:100%}.sidebar nav a .nav-ico,.sidebar nav button.nav-link .nav-ico,.sidebar .nav-settings a .nav-ico{flex:0 0 20px;width:20px;height:20px;display:inline-flex}.sidebar nav a .nav-ico svg,.sidebar nav button.nav-link .nav-ico svg,.sidebar .nav-settings a .nav-ico svg{width:100%;height:100%}.sidebar nav a:hover,.sidebar nav button.nav-link:hover,.sidebar .nav-settings a:hover{background:var(--c-surface);color:var(--c-text)}.sidebar nav a.active,.sidebar .nav-settings a.active{background:var(--nav-surface,var(--app-accent-surface));color:var(--nav-accent,var(--app-accent));border-left-color:var(--nav-accent,var(--app-accent));font-weight:var(--fw-bold)}.sidebar nav a.active .nav-ico,.sidebar .nav-settings a.active .nav-ico{color:var(--nav-accent,var(--app-accent))}.sidebar nav a[aria-disabled=true]{opacity:var(--o-disabled);cursor:not-allowed;pointer-events:none}.sidebar .nav-settings{border-top:1px solid var(--c-border);padding:var(--sp-sm)}.sidebar .user{padding:var(--sp-md) var(--sp-lg);border-top:1px solid var(--c-border);color:var(--c-text-dim);font-size:.9rem}.sidebar .user .logout{color:var(--c-danger);cursor:pointer;font:inherit;margin-top:var(--sp-sm);text-align:left;border-radius:var(--r-sm);background:0 0;border:1px solid #0000;align-items:center;gap:.4rem;width:100%;padding:.45rem .6rem;display:flex}.sidebar .user .logout:hover{background:color-mix(in srgb, var(--c-danger) 14%, transparent)}.content{padding:var(--sp-lg);background:var(--app-base);flex:1;min-width:0;overflow:auto}.topbar{justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:1.25rem;display:flex}.main>.topbar{margin:calc(var(--sp-lg) * -1) calc(var(--sp-lg) * -1) var(--sp-lg);padding:0 var(--sp-lg);background:var(--c-surface);border-bottom:1px solid var(--c-border);height:64px}.topbar h1{font-size:var(--fs-title);font-weight:var(--fw-bold);align-items:center;gap:var(--sp-sm);display:flex}.topbar h1 .nav-ico{width:22px;height:22px;color:var(--app-accent);display:inline-flex}.topbar h1 .nav-ico svg{width:100%;height:100%}.topbar .tools{align-items:center;gap:var(--sp-sm);display:flex}.conn-badge{font-size:var(--fs-small);color:var(--c-text-dim);align-items:center;gap:.35rem;display:inline-flex}.conn-badge .dot{background:var(--c-success)}.conn-badge.offline .dot{background:var(--c-danger)}.nav-toggle{border:1px solid var(--c-border);color:var(--c-text);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:.3rem .55rem;font-size:1.1rem;display:none}.btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn:hover{background:var(--c-surface-alt)}.btn.primary{background:var(--app-accent);border-color:var(--app-accent);color:var(--c-on-primary)}.btn.primary:hover{background:var(--app-accent-hover);border-color:var(--app-accent-hover)}.btn.primary:active{background:var(--app-accent-active);opacity:var(--o-pressed)}.btn.ghost{background:0 0}.btn.icon{padding:.35rem .5rem}.btn.danger{color:var(--c-danger)}.btn.danger-solid{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-on-primary)}.btn.danger-solid:hover{opacity:var(--o-pressed)}.btn[disabled],.btn[aria-disabled=true]{opacity:var(--o-disabled);cursor:not-allowed}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}.section-title{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;margin:1.25rem 0 .5rem;font-size:.85rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.7rem 1rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--c-surface-alt)}tr.clickable{cursor:pointer}td.actions{text-align:right;white-space:nowrap}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:.5rem;display:inline-block}.badge{border-radius:var(--r-pill);background:var(--c-surface-alt);color:var(--c-text-dim);border:1px solid var(--c-border);padding:.1rem .5rem;font-size:.75rem}.badge.high{background:color-mix(in srgb, var(--c-danger) 18%, transparent);color:var(--c-danger);border-color:#0000}.badge.mid{background:color-mix(in srgb, var(--c-warning) 18%, transparent);color:var(--c-warning);border-color:#0000}.badge.low{background:color-mix(in srgb, var(--c-success) 18%, transparent);color:var(--c-success);border-color:#0000}.muted{color:var(--c-text-dim)}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}input[type=text],input[type=search],input[type=date],input[type=time],input[type=password],input[type=email],select,textarea{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text);padding:.5rem .7rem;font-family:inherit;font-size:.9rem}input::placeholder,textarea::placeholder{color:var(--c-text-mute)}input:focus,select:focus,textarea:focus{outline:2px solid var(--app-accent);outline-offset:-1px}dialog{border:1px solid var(--c-border);border-radius:var(--r-md);width:min(480px,92vw);box-shadow:var(--el-high);background:var(--c-surface);color:var(--c-text);margin:auto;padding:0}dialog::backdrop{background:rgba(0,0,0,var(--o-overlay));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog .dlg-head{border-bottom:1px solid var(--c-border);font-weight:var(--fw-medium);padding:1rem 1.25rem}dialog form{flex-direction:column;gap:.8rem;padding:1.25rem;display:flex}dialog label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}dialog label input,dialog label select,dialog label textarea{color:var(--text)}dialog .row{gap:.75rem;display:flex}dialog .row>label{flex:1}dialog .dlg-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}details summary{cursor:pointer;color:var(--app-accent);font-size:.85rem}details textarea{width:100%;margin-top:.5rem;font-family:ui-monospace,monospace}.col-menu{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--el-med);z-index:20;white-space:nowrap;flex-direction:column;gap:.4rem;min-width:180px;max-height:320px;padding:.6rem .8rem;font-size:.85rem;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:auto}.col-menu label{align-items:center;gap:.5rem;display:flex}.dt-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.th-filter-wrap{position:relative}.th-filter{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 .25rem;font-size:.7rem}.th-filter:hover{color:var(--text)}.th-filter.active{color:var(--app-accent)}.col-filter{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--el-med);z-index:25;text-transform:none;letter-spacing:0;min-width:160px;max-height:280px;color:var(--text);flex-direction:column;gap:.35rem;padding:.5rem .7rem;font-weight:400;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.col-filter label{white-space:nowrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.col-filter-actions{border-bottom:1px solid var(--border);gap:.6rem;margin-bottom:.15rem;padding-bottom:.35rem;display:flex}.col-filter-actions button{cursor:pointer;color:var(--app-accent);background:0 0;border:none;padding:0;font-size:.8rem}.combobox{width:100%;position:relative}.combobox>input{width:100%}.combo-list{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);box-shadow:var(--el-med);z-index:30;max-height:200px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.combo-opt{cursor:pointer;padding:.45rem .7rem;font-size:.9rem}.combo-opt:hover{background:var(--c-surface-alt)}.combo-empty{color:var(--c-text-dim);padding:.45rem .7rem;font-size:.85rem}.chips{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.chip{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-pill);align-items:center;gap:.3rem;padding:.15rem .5rem .15rem .6rem;font-size:.8rem;display:inline-flex}.chip button{cursor:pointer;color:var(--c-text-dim);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.chip button:hover{color:var(--c-danger)}.chip-filter{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.chip-toggle{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-pill);color:var(--c-text-dim);cursor:pointer;font-size:.85rem;font:inherit;align-items:center;gap:.3rem;padding:.3rem .8rem;line-height:1.2;display:inline-flex}.chip-toggle:hover{background:var(--c-surface);color:var(--c-text)}.chip-toggle.active{background:var(--app-accent);border-color:var(--app-accent);color:var(--c-on-primary);font-weight:var(--fw-medium)}.chip-toggle:disabled{opacity:.55;cursor:not-allowed}.context-settings{background:var(--app-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-md);margin-bottom:var(--sp-md)}.context-settings h3{font-size:var(--fs-body);font-weight:var(--fw-bold);margin:0 0 var(--sp-sm)}.context-settings .hint{font-size:var(--fs-small);color:var(--c-text-dim)}.empty-state,.error-pane{text-align:center;justify-content:center;align-items:center;gap:var(--sp-sm);padding:var(--sp-xxl) var(--sp-lg);flex-direction:column;min-height:40vh;display:flex}.empty-state .glyph,.error-pane .glyph{width:56px;height:56px;color:var(--c-text-dim);margin-bottom:var(--sp-sm)}.empty-state .glyph svg,.error-pane .glyph svg{width:100%;height:100%}.empty-state .title{font-size:var(--fs-body);color:var(--c-text);font-weight:var(--fw-medium)}.empty-state .sub{font-size:var(--fs-small);color:var(--c-text-dim);max-width:42ch}.error-pane .glyph{color:var(--c-danger)}.error-pane .title{color:var(--c-danger);font-weight:var(--fw-medium)}.error-pane .sub{font-size:var(--fs-small);color:var(--c-text-dim)}.banner-danger{align-items:center;gap:var(--sp-md);border:1px solid var(--c-danger);border-radius:var(--r-md);background:color-mix(in srgb, var(--c-danger) 12%, transparent);color:var(--c-text);padding:var(--sp-sm) var(--sp-md);margin-bottom:var(--sp-md);flex-wrap:wrap;display:flex}.banner-danger .msg{color:var(--c-danger);flex:1}.list-toolbar{gap:var(--sp-sm);margin-bottom:var(--sp-md);flex-wrap:wrap;align-items:center;display:flex}.list-toolbar .search{flex:1;min-width:180px}.cardlist{gap:var(--sp-sm);flex-direction:column;display:flex}.list-card{align-items:flex-start;gap:var(--sp-md);background:var(--app-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-md);cursor:pointer;display:flex}.list-card:hover{background:var(--c-surface)}.list-card.danger{border-left:3px solid var(--c-danger)}.list-card .body{flex:1;min-width:0}.list-card .title{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--c-text)}.list-card .preview{font-size:var(--fs-small);color:var(--c-text-dim);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.list-card .meta{font-size:var(--fs-caption);color:var(--c-text-mute);margin-top:var(--sp-xs)}.list-card .row-actions{gap:var(--sp-xs);display:flex}.accent-banner{background:var(--app-accent-surface);color:var(--c-text);border-radius:var(--r-md);padding:var(--sp-sm) var(--sp-md);margin-bottom:var(--sp-md);font-size:var(--fs-small)}.user-pop{position:relative}.user-pop .menu{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--el-high);padding:var(--sp-xs);z-index:40;flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;right:0}.user-pop .menu button{color:var(--c-text);text-align:left;font:inherit;border-radius:var(--r-sm);cursor:pointer;gap:var(--sp-sm);background:0 0;border:none;padding:.5rem .7rem;display:flex}.user-pop .menu button:hover{background:var(--c-surface-alt)}.user-pop .menu button[aria-disabled=true]{opacity:var(--o-disabled);cursor:not-allowed}.context-menu{z-index:1000;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);min-width:210px;box-shadow:var(--el-high);padding:var(--sp-xs);flex-direction:column;display:flex;position:fixed}.context-menu button{color:var(--c-text);text-align:left;font:inherit;border-radius:var(--r-sm);cursor:pointer;gap:var(--sp-sm);white-space:nowrap;background:0 0;border:none;align-items:center;padding:.5rem .7rem;display:flex}.context-menu button:hover:not(:disabled){background:var(--c-surface-alt)}.context-menu button:disabled{opacity:var(--o-disabled);cursor:not-allowed}.context-menu button.danger{color:var(--c-danger)}.context-menu .sep{background:var(--c-border);height:1px;margin:var(--sp-xs) 0}.scrim{background:rgba(0,0,0,var(--o-overlay));z-index:50;display:none;position:fixed;inset:0}.list-card.selected{outline-offset:-2px;outline:2px solid #f43f5e}@media (width<=1023px) and (width>=640px){.sidebar{flex-basis:64px;width:64px}.sidebar .brand{padding:var(--sp-md) 0;justify-content:center}.sidebar .brand .brand-text,.sidebar nav a .nav-label,.sidebar nav button.nav-link .nav-label,.sidebar .user .uname,.sidebar .nav-settings .nav-label{display:none}.sidebar nav a,.sidebar nav button.nav-link{justify-content:center;padding:.6rem 0}.sidebar .user{padding:var(--sp-sm);text-align:center}}@media (width<=639px){.nav-toggle{display:inline-flex}.topbar{margin-left:calc(var(--sp-lg) * -1)}.sidebar{z-index:60;box-shadow:var(--el-high);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.layout.drawer-open .sidebar{transform:translate(0)}.layout.drawer-open .scrim{display:block}.content{padding:var(--sp-md)}td.actions{text-align:left}}.stat-grid{gap:var(--sp-md,1rem);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.sync-job-row{border-bottom:1px solid var(--c-border);cursor:pointer;grid-template-columns:1.6fr 1fr 1fr auto;align-items:center;gap:.6rem;padding:.55rem .4rem;display:grid}.sync-job-row:hover{background:var(--c-surface-alt)}.sync-job-coll{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.sync-swatch{border-radius:3px;flex:none;width:10px;height:10px}.skeleton-row{background:linear-gradient(90deg, var(--c-surface-alt) 25%, var(--c-surface) 50%, var(--c-surface-alt) 75%);background-size:200% 100%;border-radius:6px;height:2.4rem;margin-bottom:.4rem;animation:1.3s ease-in-out infinite skeleton}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.count-badge{background:var(--c-brand,#4c8dff);color:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.btn{transition:transform .12s,background .15s,opacity .15s,border-color .15s}.btn:active{transform:scale(.97)}.list-card,.task-row,tr{transition:background .15s}@keyframes saimon-spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite saimon-spin;display:inline-block}@keyframes saimon-pulse{0%,to{opacity:1}50%{opacity:.4}}.conn-badge .dot{animation:2s ease-in-out infinite saimon-pulse}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
