:root{--c-bg:#f6f7f9;--c-surface:#fff;--c-text:#1b2230;--c-muted:#4d5768;--c-border:#d5dae2;--c-primary:#1f3a5f;--c-primary-hover:#162b47;--c-primary-contrast:#fff;--c-accent:#8a6d1f;--c-focus:#1a73e8;--c-info-bg:#e8f0fb;--c-info-fg:#123a6b;--c-ok-bg:#e6f4ea;--c-ok-fg:#14532d;--c-warn-bg:#fdf3dc;--c-warn-fg:#6b4400;--c-danger-bg:#fde8e8;--c-danger-fg:#8a1414;--c-neutral-bg:#eef0f3;--c-neutral-fg:#3a4352;--radius:8px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--sidebar-w:236px}@media (prefers-color-scheme:dark){:root{--c-bg:#11151c;--c-surface:#1a202a;--c-text:#e7ebf1;--c-muted:#aab3c2;--c-border:#313a48;--c-primary:#8fb3e6;--c-primary-hover:#a9c5ee;--c-primary-contrast:#0d1420;--c-accent:#e0c06a;--c-info-bg:#16263d;--c-info-fg:#c4dafa;--c-ok-bg:#12291b;--c-ok-fg:#b6e3c3;--c-warn-bg:#2f2410;--c-warn-fg:#f3d59a;--c-danger-bg:#351616;--c-danger-fg:#f6baba;--c-neutral-bg:#252c38;--c-neutral-fg:#cfd6e1}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);margin:0;font-size:16px;line-height:1.5}h1{margin:0 0 .25rem;font-size:1.5rem;line-height:1.25}h2{margin:0 0 .75rem;font-size:1.15rem}h3{margin:0 0 .5rem;font-size:1rem}a{color:var(--c-primary)}a:hover{color:var(--c-primary-hover)}code,.mono{font-family:var(--mono);font-size:.92em}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--c-primary);color:var(--c-primary-contrast);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}.muted{color:var(--c-muted)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:20;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.brand{color:var(--c-text);letter-spacing:.01em;font-weight:700;text-decoration:none}.topbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto;display:flex}.tenant-chip{background:var(--c-neutral-bg);color:var(--c-neutral-fg);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:220px;padding:.2rem .6rem;font-size:.9rem;text-decoration:none;overflow:hidden}.user-name{font-size:.92rem}.menu-toggle{border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);cursor:pointer;background:0 0;padding:.3rem .6rem;font-size:1.1rem;display:none}.layout{flex:1;display:flex}.sidebar{width:var(--sidebar-w);background:var(--c-surface);border-right:1px solid var(--c-border);flex-shrink:0;padding:1rem .5rem}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar a{border-radius:var(--radius);color:var(--c-text);padding:.55rem .8rem;text-decoration:none;display:block}.sidebar a:hover{background:var(--c-neutral-bg)}.sidebar a.active{background:var(--c-primary);color:var(--c-primary-contrast);font-weight:600}.content{flex:1;min-width:0;max-width:1200px;padding:1.5rem}.content:focus{outline:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header p{margin:0}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:820px){.menu-toggle{display:inline-block}.sidebar{z-index:30;box-shadow:var(--shadow);display:none;position:fixed;top:52px;bottom:0;left:0;overflow-y:auto}.sidebar.open{display:block}.content{padding:1rem}.user-name{display:none}}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1rem 1.25rem}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stat{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:1rem}.stat .value{font-size:1.75rem;font-weight:700;display:block}.stat .label{color:var(--c-muted);font-size:.9rem}.two-col{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;display:grid}@media (max-width:960px){.two-col{grid-template-columns:1fr}}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--c-border);vertical-align:top;padding:.6rem}th{color:var(--c-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600}tbody tr:hover{background:var(--c-neutral-bg)}form.stack,.stack{flex-direction:column;gap:.9rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;display:grid}.field{flex-direction:column;gap:.3rem;display:flex}.field label{font-size:.92rem;font-weight:600}input,select,textarea{font:inherit;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);width:100%;min-height:40px;padding:.5rem .65rem}textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--c-primary);padding:0}.check{align-items:center;gap:.5rem;margin:.25rem 0 1rem;display:inline-flex}input[aria-invalid=true]{border-color:var(--c-danger-fg)}.inline{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.inline>.field{flex:200px}.btn{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:var(--c-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover);color:var(--c-primary-contrast)}.btn-secondary{background:var(--c-surface);color:var(--c-primary);border-color:var(--c-primary)}.btn-ghost{color:var(--c-text);border-color:var(--c-border);background:0 0}.btn-danger{background:var(--c-danger-fg);color:#fff}.btn-small{min-height:32px;padding:.25rem .6rem;font-size:.88rem}.confirm-group{flex-wrap:wrap;gap:.4rem;display:inline-flex}.actions{flex-wrap:wrap;gap:.4rem;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-neutral{background:var(--c-neutral-bg);color:var(--c-neutral-fg)}.badge-info{background:var(--c-info-bg);color:var(--c-info-fg)}.badge-ok{background:var(--c-ok-bg);color:var(--c-ok-fg)}.badge-warn{background:var(--c-warn-bg);color:var(--c-warn-fg)}.badge-danger{background:var(--c-danger-bg);color:var(--c-danger-fg)}.notice{border-radius:var(--radius);border-left:4px solid;margin-bottom:1rem;padding:.75rem 1rem}.notice-title{margin-bottom:.2rem;display:block}.notice-info,.notice-neutral{background:var(--c-info-bg);color:var(--c-info-fg);border-color:var(--c-info-fg)}.notice-ok{background:var(--c-ok-bg);color:var(--c-ok-fg);border-color:var(--c-ok-fg)}.notice-warn{background:var(--c-warn-bg);color:var(--c-warn-fg);border-color:var(--c-warn-fg)}.notice-danger{background:var(--c-danger-bg);color:var(--c-danger-fg);border-color:var(--c-danger-fg)}.loading{color:var(--c-muted);align-items:center;gap:.5rem;display:flex}.spinner{border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.empty{color:var(--c-muted);padding:1rem 0}.code-display{font-family:var(--mono);letter-spacing:.15em;background:var(--c-neutral-bg);border-radius:var(--radius);-webkit-user-select:all;user-select:all;padding:.75rem 1rem;font-size:2.25rem;font-weight:700;display:inline-block}.code-input{font-family:var(--mono);letter-spacing:.2em;text-align:center;max-width:16rem;font-size:1.5rem}.dropzone{border:2px dashed var(--c-border);border-radius:var(--radius);text-align:center;background:var(--c-bg);padding:1.25rem}.dropzone.drag{border-color:var(--c-primary);background:var(--c-info-bg)}progress,meter{width:100%;height:.75rem}.result{border-bottom:1px solid var(--c-border);padding:.9rem 0}.result mark{background:var(--c-warn-bg);color:var(--c-warn-fg);border-radius:2px;padding:0 .1em}.result-meta{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.plain-list{margin:0;padding-left:0;list-style:none}.result-focus{outline:2px solid var(--c-focus);outline-offset:4px;border-radius:2px}.toc-scroll{max-height:60vh;overflow-y:auto}.toc-scroll .btn{text-align:left;white-space:normal}.chat-question{background:var(--c-neutral-bg);border-radius:var(--radius);padding:.6rem .8rem}.answer p{margin:.4rem 0;line-height:1.6}.cite-chip{background:var(--c-info-bg);color:var(--c-info-fg);white-space:nowrap;border-radius:999px;margin:0 .15rem;padding:0 .4rem;font-size:.8rem;text-decoration:none;display:inline-block}.cite-chip:hover{text-decoration:underline}.cite-bad{background:var(--c-danger-bg);color:var(--c-danger-fg)}.answer-kind{margin:.5rem 0 0;font-size:1rem}.answer-kind-quote{color:var(--c-warn-fg)}.answer-quote{border-left:3px solid var(--c-border);padding-left:.8rem}.amendment{background:var(--c-warn-bg);border-radius:var(--radius);margin:.4rem 0;padding:.4rem .7rem}.center-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--c-surface);border:1px solid var(--c-border);width:100%;max-width:460px;box-shadow:var(--shadow);border-radius:12px;padding:2rem 1.75rem}.auth-card h1{margin-bottom:.5rem}.auth-card .brand-line{color:var(--c-accent);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:700}.tenant-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tenant-list button{text-align:left;justify-content:space-between;width:100%}dl.meta{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0;display:grid}dl.meta dt{color:var(--c-muted)}dl.meta dd{margin:0}details summary{cursor:pointer;font-weight:600}
