@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2")}:root{--color-bg: #f4f6f8;--color-surface: #ffffff;--color-white: #ffffff;--color-navy-950: #0f1a2c;--color-navy-900: #16233a;--color-navy-800: #24365a;--color-navy-700: #1f3b57;--color-navy-500: #2e5c8a;--color-slate-200: #c7d2e0;--color-neutral-100: #eef0f3;--color-amber-600: #b9770e;--color-amber-100: #fcf3e7;--color-amber-800: #8f5b08;--color-green-700: #1e8449;--color-green-100: #eafaf1;--color-green-800: #197340;--color-red-700: #943126;--color-red-100: #f5d6d6;--color-blue-700: #1d5a8c;--color-blue-100: #e4eef7;--color-violet-100: #f1ecf8;--color-violet-600: #7a5bb0;--color-violet-700: #5b3f8c;--color-ink-900: #1f2a38;--color-ink-500: #5b6472;--color-border: #e2e5ea;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.375rem;--fs-xl: 1.75rem;--fs-2xl: 2.25rem;--radius-sm: 6px;--radius-md: 10px}:root{color-scheme:light dark;--bg-app: var(--color-bg);--bg-surface: var(--color-surface);--text: var(--color-ink-900);--text-strong: var(--color-navy-900);--text-muted: var(--color-ink-500);--text-link: var(--color-navy-500);--focus-ring: var(--color-navy-500);--border-subtle: var(--color-border);--border-control: color-mix(in srgb, var(--color-ink-500) 70%, var(--color-border));--action-bg: var(--color-navy-700);--accent-indicator: var(--color-navy-700);--action-bg-hover: var(--color-navy-900);--toast-bg: var(--color-navy-900);--sidebar-bg: var(--color-navy-900);--sidebar-border: var(--color-navy-900);--tone-neutral-bg: var(--color-neutral-100);--tone-neutral-fg: var(--color-ink-500);--tone-info-bg: var(--color-blue-100);--tone-info-fg: var(--color-blue-700);--tone-success-bg: var(--color-green-100);--tone-success-fg: var(--color-green-800);--tone-warning-bg: var(--color-amber-100);--tone-warning-fg: var(--color-amber-800);--tone-error-bg: var(--color-red-100);--tone-error-fg: var(--color-red-700);--tone-ai-bg: var(--color-violet-100);--tone-ai-fg: var(--color-violet-700);--ai-accent: var(--color-violet-600);--ledger-rule: color-mix(in srgb, var(--color-navy-500) 10%, var(--color-bg));--shadow-sm: 0 1px 2px rgba(22, 35, 58, .06);--shadow-lg: 0 24px 48px rgba(10, 16, 28, .35)}@media(prefers-color-scheme:dark){:root{--bg-app: var(--color-navy-950);--bg-surface: var(--color-navy-900);--text: var(--color-bg);--text-strong: var(--color-white);--text-muted: var(--color-slate-200);--text-link: color-mix(in srgb, var(--color-white) 55%, var(--color-navy-500));--focus-ring: color-mix(in srgb, var(--color-white) 55%, var(--color-navy-500));--border-subtle: var(--color-navy-800);--border-control: color-mix(in srgb, var(--color-slate-200) 50%, var(--color-navy-900));--action-bg: var(--color-navy-500);--accent-indicator: color-mix(in srgb, var(--color-white) 55%, var(--color-navy-500));--action-bg-hover: var(--color-navy-700);--toast-bg: var(--color-navy-700);--sidebar-bg: var(--color-navy-950);--sidebar-border: var(--color-navy-800);--tone-neutral-bg: var(--color-navy-800);--tone-neutral-fg: var(--color-slate-200);--tone-info-bg: color-mix(in srgb, var(--color-blue-700) 50%, var(--color-navy-900));--tone-info-fg: var(--color-blue-100);--tone-success-bg: color-mix(in srgb, var(--color-green-800) 50%, var(--color-navy-900));--tone-success-fg: var(--color-green-100);--tone-warning-bg: color-mix(in srgb, var(--color-amber-800) 50%, var(--color-navy-900));--tone-warning-fg: var(--color-amber-100);--tone-error-bg: color-mix(in srgb, var(--color-red-700) 50%, var(--color-navy-900));--tone-error-fg: var(--color-red-100);--tone-ai-bg: color-mix(in srgb, var(--color-violet-700) 50%, var(--color-navy-900));--tone-ai-fg: var(--color-violet-100);--ai-accent: color-mix(in srgb, var(--color-white) 50%, var(--color-violet-600));--ledger-rule: color-mix(in srgb, var(--color-navy-500) 22%, var(--color-navy-950));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .55)}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:600;margin:0;color:var(--text-strong)}p{margin:0;line-height:1.55}a{color:var(--text-link)}code{font-family:var(--font-mono);font-size:.95em}button,input,select{font-family:inherit;font-size:inherit}ul{margin:0;padding:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:8px;left:8px;z-index:200;padding:10px 16px;background:var(--color-navy-900);color:var(--color-white);border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}[tabindex="-1"]:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--color-white);display:flex;flex-direction:column;padding:24px 20px;position:sticky;top:var(--offline-banner-h, 0px);height:calc(100vh - var(--offline-banner-h, 0px));overflow-y:auto}.sidebar__brand{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:600;margin-bottom:32px}.sidebar__nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar__link{color:var(--color-slate-200);text-decoration:none;padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--fs-sm)}.sidebar__link:hover{background:#ffffff0f;color:var(--color-white)}.sidebar__link.is-active{background:#ffffff1f;color:var(--color-white);font-weight:500}.main{flex:1;padding:40px 48px;max-width:1100px}.main__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-title{font-size:var(--fs-2xl)}.page-subtitle{color:var(--text-muted);margin-top:6px;font-size:var(--fs-sm);min-height:1.55em}@media(max-width:860px){.app-shell{flex-direction:column}.sidebar{overflow:visible;width:100%;flex-direction:row;align-items:center;padding:14px 20px;position:static;height:auto}.sidebar__nav{flex-direction:row}.sidebar__brand{margin-bottom:0;margin-right:20px}.main{padding:24px 20px}}.btn{border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background-color .15s ease,transform .05s ease}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--action-bg);color:var(--color-white)}.btn--primary:hover{background:var(--action-bg-hover)}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle)}.btn--ghost:hover{background:var(--bg-app)}.btn--block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px;margin-bottom:24px}.panel h2{font-size:var(--fs-md);margin-bottom:16px}.panel--chat{display:flex;flex-direction:column;height:480px}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border-subtle)}.table td{padding:12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table__primary{font-weight:500;color:var(--text)}.table__note{margin-top:4px;font-size:var(--fs-xs);color:var(--text-muted);max-width:36ch}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:500}.badge--ai{background:var(--tone-ai-bg);color:var(--tone-ai-fg)}.badge--reviewed-now{animation:badge-reviewed .32s ease-out 1}@keyframes badge-reviewed{0%{transform:scale(.85);opacity:.4}}.badge--neutral{background:var(--tone-neutral-bg);color:var(--text-muted)}.badge--info{background:var(--tone-info-bg);color:var(--tone-info-fg)}.badge--success{background:var(--tone-success-bg);color:var(--tone-success-fg)}.badge--warning{background:var(--tone-warning-bg);color:var(--tone-warning-fg)}.badge--error{background:var(--tone-error-bg);color:var(--tone-error-fg)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.upload-form label,.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}.form-grid input,.upload-form input,.upload-form select,.auth-form input{border:1px solid var(--border-control);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--fs-base);color:var(--text);background:var(--bg-surface)}.form-grid input:focus,.upload-form input:focus,.upload-form select:focus,.auth-form input:focus{border-color:var(--focus-ring)}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.form-hint{font-size:var(--fs-xs);color:var(--text-muted);min-height:16px;margin-top:10px}.form-hint--error{color:var(--tone-error-fg)}.upload-form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.upload-form label{min-width:220px}.tabs{display:flex;border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.tab{background:none;border:none;cursor:pointer;padding:10px 4px;margin-right:24px;font-size:var(--fs-sm);color:var(--text-muted);border-bottom:2px solid transparent}.tab.is-active{color:var(--text-strong);border-bottom-color:var(--accent-indicator);font-weight:500}.alert-list{list-style:none;display:flex;flex-direction:column;gap:12px}.alert-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.alert-item__meta{color:var(--text-muted);font-size:var(--fs-xs);margin-top:4px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);padding:24px}.auth-card{background:var(--bg-surface);border-radius:var(--radius-md);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-title{font-size:var(--fs-xl);margin-bottom:8px}.auth-subtitle{color:var(--text-muted);font-size:var(--fs-sm);margin-bottom:28px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-hint{margin:-6px 0 0;font-size:var(--fs-sm);color:var(--text-muted)}.auth-hint--after{margin-top:20px}@media(max-width:480px){.auth-card{padding:28px 20px}}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px;margin-bottom:16px}.chat-empty{color:var(--text-muted);font-size:var(--fs-sm)}.chat-message{display:flex}.chat-message--user{justify-content:flex-end}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:12px;font-size:var(--fs-sm);line-height:1.45;white-space:pre-wrap}.chat-message--user .chat-bubble{background:var(--action-bg);color:var(--color-white);border-bottom-right-radius:2px}.chat-message--assistant .chat-bubble{background:var(--tone-ai-bg);color:var(--text);border-bottom-left-radius:2px}.chat-message--pending .chat-bubble{opacity:.65;font-style:italic}.chat-message--error .chat-bubble{background:var(--tone-error-bg);color:var(--tone-error-fg)}.chat-form{display:flex;gap:10px}.chat-form input{flex:1;min-width:0;border:1px solid var(--border-control);border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--fs-base);color:var(--text);background:var(--bg-surface)}.link--back{display:inline-block;margin-bottom:16px;font-size:var(--fs-sm);text-decoration:none}.link--back:hover{text-decoration:underline}#toast-root{pointer-events:none;position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{background:var(--toast-bg);color:var(--color-white);padding:12px 18px;border-radius:var(--radius-sm);font-size:var(--fs-sm);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;max-width:320px}.toast--visible{opacity:1;transform:translateY(0)}.toast--success{background:var(--color-green-700)}.toast--error{background:var(--color-red-700)}.toast--warning{background:var(--color-amber-800)}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.btn--small{padding:6px 12px;font-size:var(--fs-xs)}.alert-item__body{flex:1;display:flex;flex-direction:column;gap:4px}.alert-item__actions{display:flex;gap:8px;margin-top:6px}.alert-item--resolved{opacity:.7}.live-status{font-size:var(--fs-xs);color:var(--text-muted);min-height:1em}.summary{margin-top:20px}.summary h3{font-size:var(--fs-base);margin:20px 0 8px}.table--compact th,.table--compact td{padding:8px 12px}.table--compact th[scope=row]{font-weight:400;color:var(--text-muted)}.summary__text{margin:0;padding:12px 16px;border-left:3px solid var(--ai-accent);background:var(--tone-ai-bg);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.summary__disclaimer{margin-top:16px;font-size:var(--fs-xs);color:var(--text-muted)}.panel--deferred{content-visibility:auto;contain-intrinsic-size:auto 600px}.alert-item{content-visibility:auto;contain-intrinsic-size:auto 110px}.load-more{display:flex;justify-content:center;margin-top:16px}.load-more:has(>button[hidden]:only-of-type){margin-top:0}.table--totals{margin-bottom:20px}.table--totals caption{text-align:left;font-weight:500;padding-bottom:8px;color:var(--text)}.table--totals td,.table--totals th[scope=col]{text-align:right;font-variant-numeric:tabular-nums}.update-banner{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:150;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);max-width:calc(100vw - 32px)}.connectivity-banner{position:sticky;top:0;z-index:140;padding:10px 16px;background:var(--tone-warning-bg);color:var(--tone-warning-fg);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);text-align:center;pointer-events:none}[aria-disabled=true]{opacity:.55;cursor:not-allowed}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:400;font-synthesis:none;font-size:.95em;white-space:nowrap}.num--end{text-align:right}.skeleton{display:block;height:.75em;width:70%;border-radius:var(--radius-sm);background:var(--border-subtle)}.skeleton--w1{width:72%}.skeleton--w2{width:48%}.skeleton--w3{width:86%}.skeleton--w4{width:60%}.skeleton--w5{width:40%}.skeleton--w6{width:78%}.skeleton--title{display:inline-block;width:12ch;height:.9em}.skeleton--pill{width:56px;height:1.4em;border-radius:999px;flex-shrink:0}.skeleton-row td{padding:14px 12px}.skeleton-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.skeleton-item__lines,.skeleton-block{flex:1;display:grid;gap:10px}.skeleton-block{padding:8px 0}.state-sr td{padding:0;border:none}.state-row td{border-bottom:none}.state-row{list-style:none}.state{padding:24px 12px;text-align:center}.state__title{font-weight:500;color:var(--text)}.state__message{margin:6px auto 0;max-width:60ch;font-size:var(--fs-sm);color:var(--text-muted)}.state--error .state__title{color:var(--tone-error-fg)}.state .btn{margin-top:14px}.load-more__error{margin-right:12px;font-size:var(--fs-sm);color:var(--tone-error-fg)}.chat-retry{margin-left:4px}.ai-processing:before{content:"";display:inline-block;width:.5em;height:.5em;margin-right:.45em;border-radius:50%;background:currentColor;vertical-align:.05em;animation:ai-processing 1.4s ease-in-out infinite}@keyframes ai-processing{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.user-menu{position:relative}.user-menu__button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:var(--color-white);cursor:pointer;text-align:left}.user-menu__button:hover,.user-menu__button[aria-expanded=true]{background:#ffffff0f}.user-menu__avatar{overflow:hidden;flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-navy-800);color:var(--color-white);font-size:var(--fs-xs);font-weight:600}.user-menu__who{display:flex;flex-direction:column;min-width:0}.user-menu__name{font-size:var(--fs-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu__role{font-size:var(--fs-xs);color:var(--color-slate-200)}.user-menu__popup{position:absolute;bottom:calc(100% + 8px);left:0;width:100%;z-index:160;background:var(--bg-surface);color:var(--text);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.user-menu__header{padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.user-menu__header-name{font-weight:500}.user-menu__header-role,.user-menu__header-email{font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere}.user-menu__list{list-style:none;padding:6px}.user-menu__item{display:block;width:100%;padding:9px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:var(--fs-sm);text-align:left;text-decoration:none;cursor:pointer}.user-menu__item:hover,.user-menu__item:focus-visible{background:var(--bg-app)}@media(max-width:860px){.user-menu{margin-left:auto}.user-menu__popup{top:calc(100% + 8px);bottom:auto;left:auto;right:0;width:240px}.user-menu__who{display:none}}.route-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:12px 16px;border-radius:var(--radius-sm);border-left:4px solid var(--tone-warning-fg);background:var(--tone-warning-bg);color:var(--tone-warning-fg);font-size:var(--fs-sm)}.profile-data{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;font-size:var(--fs-sm)}.profile-data dt{color:var(--text-muted)}.profile-data dd{margin:0;overflow-wrap:anywhere}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}.auth-form input[readonly]{background:var(--bg-app);color:var(--text-muted)}.password-field{position:relative;display:flex}.password-field input{flex:1;min-width:0;padding-right:92px}.password-field__toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:4px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-link);font-size:var(--fs-xs);cursor:pointer}.password-field__toggle[aria-pressed=true]{background:var(--tone-info-bg);color:var(--tone-info-fg);border-color:var(--tone-info-fg)}.form-grid__wide{grid-column:1 / -1}.form-grid__wide:empty{display:none}#role-extra{display:grid;gap:12px}#role-extra label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-muted)}#role-extra select,#role-extra input,.form-grid select{min-width:0;max-width:100%;border:1px solid var(--border-control);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--fs-base);color:var(--text);background:var(--bg-surface)}.portal-search{display:flex;gap:12px;align-items:flex-end}.portal-search label{flex:1}.table__actions{white-space:nowrap;text-align:right}.table__actions .btn+.btn{margin-left:6px}.btn--danger{color:var(--tone-error-fg)}.btn--danger-fill{background:var(--color-red-700)}.btn--danger-fill:hover{background:var(--color-red-700);filter:brightness(.9)}.dialog{max-width:440px;padding:24px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text);box-shadow:var(--shadow-lg)}.dialog::backdrop{background:#0a101c8c}.dialog h2{font-size:var(--fs-md);margin-bottom:10px}.dialog p{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:20px}.mfa-codes{columns:2}.auth-form .checkbox{flex-direction:row;align-items:center}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-content:center;justify-items:center;padding:24px;background:repeating-linear-gradient(to bottom,var(--bg-app) 0 31px,var(--ledger-rule) 31px 32px)}.login__brand{font-family:var(--font-serif);color:var(--text-strong)}.login__brand{font-size:var(--fs-lg);font-weight:600;margin-bottom:4px}.login__hero{max-width:560px;padding:8px 0 8px 28px;border-left:2px solid var(--accent-indicator)}.login__wordmark,.login__motto{font-family:var(--font-serif);color:var(--text-strong)}.login__wordmark{font-size:calc(var(--fs-2xl) * 1.5);font-weight:600;line-height:1.05}.login__motto{font-size:var(--fs-lg);margin:12px 0 32px}.login__index{list-style:none;padding:0;display:grid;gap:18px}.login__index li{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.login__term{font-weight:600;color:var(--text-strong)}.login__leader{flex:1 0 2em;border-bottom:2px dotted var(--border-control)}.login__desc{flex:0 1 58%;color:var(--text)}@media(max-width:480px){.login__desc{flex-basis:100%}}@media(min-width:960px){.login{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;padding:48px}.login__hero{grid-row:1;grid-column:1}}.profile-email-status{display:grid;gap:8px;margin-bottom:16px}.user-menu__avatar img{width:100%;height:100%;object-fit:cover}.profile-photo{display:flex;align-items:center;gap:20px}.profile-photo__current{width:96px;height:96px;font-size:var(--fs-xl)}.profile-photo__actions,.avatar-cropper .form-actions{justify-content:flex-start}.avatar-cropper{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:16px}.avatar-cropper canvas{width:min(256px,100%);border-radius:50%;cursor:grab;touch-action:none}.avatar-cropper__zoom{display:flex;align-items:center;gap:8px}.session-list{list-style:none;margin:0 0 16px;padding:0}.session{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border-subtle)}.session__info{flex:1 1 320px;min-width:0}.session__device{margin:0 0 6px;font-weight:600}.session__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 20px;margin:0;font-size:var(--fs-sm)}.session__meta dt{color:var(--text-muted)}.session__meta dd{margin:0}.session__unknown{font-style:italic}.session__date{white-space:nowrap}.table-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.density{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:2px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-sm)}.density__legend{float:left;padding:0 8px;color:var(--text-muted)}.density__option{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer}.density__option:has(input:checked){background:var(--bg-app);font-weight:500}[data-density=compact] .table th,[data-density=compact] .table td{padding:6px 10px}.table-scroll{overflow-x:auto}@media(max-width:640px){.table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td{display:block;width:100%}.table--stack tr{padding:10px 0;border-bottom:1px solid var(--border-subtle)}.table--stack tr:last-child{border-bottom:none}.table--stack td,[data-density=compact] .table--stack td{position:relative;padding:3px 0 3px 8.25rem;border:none;overflow-wrap:anywhere;text-align:left}.table--stack td[data-label]:before{content:attr(data-label);position:absolute;left:0;width:7.5rem;color:var(--text-muted);font:400 var(--fs-sm) var(--font-sans)}.table--stack .num,.table--stack .table__actions{white-space:normal}.table--stack td:not([data-label]){padding-left:0}.sidebar{flex-wrap:wrap;row-gap:10px}.sidebar__nav{order:3;flex:1 0 100%;overflow-x:auto}.tabs{overflow-x:auto}}@media(max-width:480px){.tab{margin-right:16px}}.concept-review{display:grid;gap:4px;min-width:14rem}.concept-review label{font-size:var(--fs-sm);color:var(--text-muted)}.concept-review input{border:1px solid var(--border-control);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;color:var(--text);background:var(--bg-surface)}.concept-review [role=alert]:empty{display:none}.concept-review .form-actions{justify-content:flex-start;margin-top:4px}.viewer{margin-bottom:24px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.viewer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.viewer__title{margin:0;font-size:var(--fs-base);overflow-wrap:anywhere}.viewer__tools,.viewer__pdf-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.viewer__page{max-height:75vh;overflow:auto;padding:12px;background:var(--bg-app)}.viewer__page img,.viewer__page canvas{display:block;max-width:none;margin:0 auto;box-shadow:0 1px 4px #00000026}.viewer__page img{max-width:100%;height:auto}@media(min-width:1200px){.split:has(.viewer){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.split:has(.viewer)>#document-viewer{position:sticky;top:16px}.split:has(.viewer) .viewer__page{max-height:calc(100vh - 140px)}.split:has(.viewer) .table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.split:has(.viewer) .table--stack,.split:has(.viewer) .table--stack tbody,.split:has(.viewer) .table--stack tr,.split:has(.viewer) .table--stack td{display:block;width:100%}.split:has(.viewer) .table--stack tr{padding:10px 0;border-bottom:1px solid var(--border-subtle)}.split:has(.viewer) .table--stack tr:last-child{border-bottom:none}.split:has(.viewer) .table--stack td{position:relative;padding:3px 0 3px 8.25rem;border:none;overflow-wrap:anywhere;text-align:left}.split:has(.viewer) .table--stack td[data-label]:before{content:attr(data-label);position:absolute;left:0;width:7.5rem;color:var(--text-muted);font:400 var(--fs-sm) var(--font-sans)}.split:has(.viewer) .table--stack .num{white-space:normal}.split:has(.viewer) .table--stack td:not([data-label]){padding-left:0}}
