@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#F3F5F9;--surface:#FFFFFF;--surface-2:#F7F9FC;--surface-3:#EEF2F8;--line:#E2E7EF;--line-2:#CBD3DF;--ink:#0F1E3A;--ink-2:#3A4A66;--muted:#67748B;--navy:#0B2A6F;--blue:#1F5AE6;--accent:#1F5AE6;--accent-hover:#1849BF;--accent-soft:#EAF0FF;--accent-line:#C7D6FF;--ok:#12805C;--ok-soft:#E6F5EE;--warn:#9A6400;--warn-soft:#FFF4DB;--err:#C62F3A;--err-soft:#FDECEE;--purple:#5B3FD1;--purple-soft:#F1EBFF;--teal:#0F9D8A;--orange:#E26A00;--orange-soft:#FFF1E6;--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow-sm:0 1px 2px rgba(15,30,58,.06);--shadow-md:0 8px 24px rgba(15,30,58,.08);--focus:0 0 0 3px rgba(31,90,230,.22);--font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono",Consolas,"JetBrains Mono",monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:.1em 0 .45em;color:var(--navy);font-weight:600;letter-spacing:-.01em;line-height:1.3}h2{font-size:22px}h3{font-size:17px}h4{font-size:15px}p{margin:.4em 0}a{color:var(--accent)}code{font-family:var(--mono);font-size:.92em;background:var(--surface-3);padding:1px 5px;border-radius:5px}svg{flex-shrink:0}.muted{color:var(--muted)}.tiny{font-size:12.5px}.center{text-align:center}.nowrap{white-space:nowrap}.warn{color:var(--warn)}.pointer{cursor:pointer}.grow{flex:1;min-width:0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}:focus-visible{outline:none;box-shadow:var(--focus)}.shell{max-width:1320px;margin:0 auto;padding:0 24px;min-height:100vh;display:flex;flex-direction:column}main{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.logo{height:44px;cursor:pointer;display:block}.topright{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface-3);color:var(--ink-2);padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:600;text-decoration:none;line-height:1.3}.pill.role{background:var(--purple-soft);color:var(--purple);text-transform:capitalize}.pill.role:hover{background:#e6ddff}.userlink{color:var(--navy);text-decoration:none;font-weight:600;font-size:14px}.userlink:hover{text-decoration:underline}.adminlink{display:inline-flex;align-items:center;gap:6px;color:var(--navy);text-decoration:none;font-weight:600;padding:6px 11px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-size:13px;background:var(--surface);transition:background .15s,border-color .15s}.adminlink.active,.adminlink:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover)}.footer{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:22px 0 18px}.modules{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 10px}.mod{position:relative;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;text-decoration:none;color:var(--ink);min-width:0;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}.mod:hover{border-color:var(--c);box-shadow:var(--shadow-md);transform:translateY(-1px)}.mod.active{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,white)}.mod-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--c) 14%,white);color:var(--c);flex-shrink:0}.mod-text{display:flex;flex-direction:column;min-width:0}.mod b{color:var(--navy);font-size:15.5px;font-weight:600;line-height:1.25}.mod small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod.disabled{opacity:.5}.badge{position:absolute;top:-7px;right:-6px;background:var(--err);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;border:2px solid var(--bg)}.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.subtabs a{padding:7px 15px;border-radius:999px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:13.5px;border:1px solid var(--line-2);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.subtabs a:hover{border-color:var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 8%,white)}.subtabs a.active{background:var(--c);border-color:var(--c);color:#fff}.subnav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:6px 0 10px;border-bottom:1px solid var(--line);margin-bottom:14px}.subnav .muted{margin-right:8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.subnav a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:13.5px;padding:6px 11px;border-radius:var(--r-sm);transition:background .15s,color .15s}.subnav a:hover{background:var(--surface-3)}.subnav a.active{background:var(--accent-soft);color:var(--accent-hover)}.page{padding:8px 0 28px}.narrow{max-width:560px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.card>h3:first-child,.card>h4:first-child{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);padding:0 14px;height:36px;border-radius:var(--r-sm);cursor:pointer;font:inherit;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .08s}.btn:hover{border-color:var(--accent);color:var(--accent-hover);background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{border-color:var(--line-2);color:var(--ink);background:var(--surface)}.btn.primary:disabled{opacity:.6;cursor:wait;background:var(--accent);color:#fff}.btn.small{padding:0 11px;height:30px;font-size:13px;gap:5px}.btn.danger{color:var(--err)}.btn.danger:hover{background:var(--err-soft);border-color:#f0b6bb;color:var(--err)}.btn svg{width:16px;height:16px}.btn.small svg{width:15px;height:15px}label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}input,select,textarea{font:inherit;font-size:14px;padding:8px 11px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);min-height:38px;transition:border-color .15s,box-shadow .15s}textarea{line-height:1.5}input::placeholder,textarea::placeholder{color:#8a96ab}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}input[type=checkbox],input[type=range]{min-height:0;padding:0;accent-color:var(--accent)}input[type=checkbox]{width:16px;height:16px}input[type=file]{padding:6px;font-size:13px;color:var(--ink-2)}label.check{flex-direction:row;align-items:center;gap:7px;font-weight:500}label.row{flex-direction:row;align-items:center;font-weight:500}.alert{padding:10px 14px;border-radius:var(--r-sm);font-size:14px;border:1px solid transparent;margin:8px 0}.alert.error{background:var(--err-soft);color:var(--err);border-color:#f3c4c8}.alert.ok{background:var(--ok-soft);color:var(--ok);border-color:#bfe6d2}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:#f3dfa6}.alert code{background:#fff9}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg);background-image:radial-gradient(circle at 20% 10%,var(--accent-soft),transparent 45%),radial-gradient(circle at 85% 90%,#E9F7F3,transparent 40%)}.login-card{background:var(--surface);padding:32px;border-radius:var(--r-lg);width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md);border:1px solid var(--line)}.login-card img{width:200px;align-self:center;margin-bottom:6px}.login-card h2{text-align:center;margin:0}table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}thead th{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:var(--surface-2);border-bottom:1px solid var(--line-2);white-space:nowrap}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.scroll-x{overflow-x:auto}.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-3);color:var(--ink-2);line-height:1.5;white-space:nowrap}.tag.active{background:var(--ok-soft);color:var(--ok)}.tag.pending{background:var(--warn-soft);color:var(--warn)}.tag.disabled{background:var(--surface-3);color:var(--muted)}.tag.stale{background:var(--orange-soft);color:#b4530a}.tag.d.draft{background:var(--accent-soft);color:var(--navy)}.tag.d.in_review{background:var(--warn-soft);color:var(--warn)}.tag.d.changes_requested{background:var(--err-soft);color:var(--err)}.tag.d.approved{background:var(--ok-soft);color:var(--ok)}.tag.s2b.at_risk,.tag.s2b.not_available{background:var(--err-soft);color:var(--err)}.tag.s2b.mismatch{background:var(--warn-soft);color:var(--warn)}.tag.s2b.not_booked{background:var(--accent-soft);color:var(--navy)}.tag.s2b.probable{background:var(--purple-soft);color:var(--purple)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--ink-2);cursor:default}button.chip{cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover);transition:background .15s}button.chip:hover{background:#dce6ff}.switch{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;margin-bottom:14px;background:var(--surface)}.switch button{display:inline-flex;align-items:center;gap:7px;border:0;background:var(--surface);padding:8px 16px;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s}.switch button+button{border-left:1px solid var(--line-2)}.switch button:hover{background:var(--surface-2)}.switch button.on{background:var(--accent-soft);color:var(--accent-hover)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-sm)}.tile b{font-size:26px;font-weight:600;color:var(--navy);display:block;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.tile span{color:var(--muted);font-size:12.5px}details{margin-top:6px;font-size:13.5px}summary{cursor:pointer;color:var(--accent-hover);font-weight:500}summary:hover{text-decoration:underline}pre{background:var(--surface-2);border:1px solid var(--line);padding:9px 11px;border-radius:var(--r-sm);overflow:auto;font-size:12px;white-space:pre-wrap;font-family:var(--mono);line-height:1.5}.pbox{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;margin:6px 0;font-size:13px}.pbox.stack{margin-top:10px}.approved{margin-top:8px;font-size:13px;color:var(--ok);font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.approved svg{width:16px;height:16px}.chat{display:grid;grid-template-columns:272px minmax(0,1fr);gap:16px;align-items:start}.side{display:flex;flex-direction:column;gap:6px;min-width:0}.side .btn.primary{height:40px;margin-bottom:4px}.side .card{padding:14px;margin:8px 0 0}.side h4{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:14px}.side h4 svg{width:17px;height:17px;color:var(--accent)}.conv{padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:13.5px;border:1px solid transparent;display:flex;justify-content:space-between;gap:6px;align-items:center;color:var(--ink-2);transition:background .12s}.conv:hover{background:var(--surface-3)}.conv.sel{background:var(--accent-soft);border-color:var(--accent-line);color:var(--navy)}.conv span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv i{font-style:normal;color:var(--muted);padding:0 4px;border-radius:4px;line-height:1}.conv i:hover{color:var(--err);background:var(--err-soft)}.chat section .card{padding:16px 18px}.stream{min-height:420px;max-height:calc(100vh - 290px);overflow:auto;padding:2px 4px 6px}.welcome{padding:18px 6px 8px}.welcome h3{margin-bottom:2px}.examples{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.ex{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;text-align:left;font:inherit;font-size:13.5px;color:var(--ink-2);line-height:1.45;transition:border-color .15s,background .15s,color .15s}.ex:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--navy)}.msg{margin:14px 0;display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:100%;padding:13px 18px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);border-top-left-radius:4px;box-shadow:var(--shadow-sm);min-width:0;overflow-wrap:anywhere}.msg.user .bubble{max-width:78%;background:var(--accent);color:#fff;border:0;border-radius:var(--r-md);border-bottom-right-radius:4px;white-space:pre-wrap;box-shadow:none}.bubble p{margin:.35em 0}.bubble ul,.bubble ol{margin:.35em 0;padding-left:22px}.bubble li{margin:.15em 0}.bubble h1,.bubble h2,.bubble h3,.bubble h4{margin:.7em 0 .3em;font-size:15.5px}.bubble>:first-child{margin-top:0}.bubble strong{font-weight:600}.bubble hr{border:0;border-top:1px solid var(--line);margin:10px 0}.tablewrap{overflow-x:auto;margin:10px 0;border:1px solid var(--line);border-radius:var(--r-sm);max-width:100%}.tablewrap table{width:max-content;min-width:100%;margin:0;font-size:13.5px}.tablewrap th{white-space:nowrap}.tablewrap td{min-width:84px;max-width:360px}.tablewrap td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tablewrap tbody tr:last-child td{border-bottom:0}.tablewrap tr.total td{font-weight:600;background:var(--surface-2)}.meta{font-size:12px;color:var(--muted);margin-top:10px}.fb{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}.fb .rate{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-2);padding:0;transition:background .12s,border-color .12s,color .12s}.fb .rate:hover{border-color:var(--accent);color:var(--accent-hover)}.fb .rate.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover)}.fb .rate svg{width:16px;height:16px}.fb.files{margin-top:6px}.composer{display:flex;gap:10px;margin-top:12px;align-items:flex-end}.composer textarea{flex:1;resize:none;min-height:50px}.composer .btn{height:42px;padding:0 18px}.status{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--accent-hover);margin-top:8px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.partial .bubble{opacity:.94}.convs{display:flex;flex-direction:column;gap:2px;max-height:30vh;overflow:auto;flex-shrink:0}.row.between{justify-content:space-between}.docfind{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--muted)}.docfind input{flex:1;min-height:32px;padding:5px 9px;font-size:13px}.docpick-actions{margin:0 0 6px}.docpick{display:flex;flex-direction:column;gap:2px;font-size:12.5px;max-height:38vh;overflow:auto;padding-right:2px}.docpick label{display:flex;flex-direction:row;gap:7px;align-items:center;font-weight:500;color:var(--ink);padding:4px;border-radius:6px;cursor:pointer;transition:background .12s}.docpick label:hover{background:var(--surface-2)}.docpick label.muted{opacity:.7}.docpick label>svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}.docpick .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docpick a{font-size:12px;white-space:nowrap}.docpick a.rm{color:var(--muted);text-decoration:none;font-size:15px;line-height:1;padding:0 4px;border-radius:4px}.docpick a.rm:hover{color:var(--err);background:var(--err-soft)}.docpick .tag{padding:1px 7px;font-size:11px}.composer .btn.attach{width:42px;padding:0;color:var(--ink-2);flex-shrink:0}.composer .btn.attach:hover{color:var(--accent-hover)}.proof{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.proof summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--ink);font-weight:400;list-style:none}.proof summary::-webkit-details-marker{display:none}.proof summary:hover{text-decoration:none}.proof summary .why{color:var(--accent-hover);font-weight:500}.trust{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}.trust svg{width:14px;height:14px}.trust.verified,.trust.calculated{background:var(--ok-soft);color:var(--ok)}.trust.documents{background:var(--accent-soft);color:var(--navy)}.trust.referenced{background:var(--purple-soft);color:var(--purple)}.trust.general,.trust.not_found{background:var(--warn-soft);color:var(--warn)}.trust.review_due{background:var(--orange-soft);color:#b4530a}.trust.official{background:#e6f5f3;color:#0b6b5e}.proof h5{margin:12px 0 4px;color:var(--navy);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}.proof ul{margin:2px 0;padding-left:18px;font-size:13px}.cite{font-size:12.5px;margin:2px 0}.cite.confirmed{color:var(--ok)}.cite.unknown{color:var(--warn);font-weight:600}.cite.unchecked{color:var(--muted)}.chartbox{margin:8px 0 4px}.chartbox .row{gap:6px}.chartbox svg.chart{display:block;margin-top:8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.stack-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-3)}.seg.verified{background:#12805c}.seg.calculated{background:#3db37f}.seg.documents{background:#1f5ae6}.seg.referenced{background:#5b3fd1}.seg.general{background:#e9a23b}.seg.not_found{background:#b8bfcc}.seg.review_due{background:#e26a00}.seg.official{background:#0f9d8a}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.days{display:flex;align-items:flex-end;gap:2px;height:110px}.days div{flex:1;min-width:2px;background:var(--accent);border-radius:3px 3px 0 0;opacity:.85}.bars{display:flex;gap:12px;align-items:flex-end;height:110px}.bar{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--muted)}.bar div{width:26px;background:var(--accent);border-radius:4px 4px 0 0}.bar div.bad{background:#f0a3a8}.task{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task input[type=checkbox]{margin-top:3px;width:17px;height:17px}.task.done b{text-decoration:line-through;color:var(--muted)}.late{color:var(--err)!important;font-weight:600}.editor{width:100%;min-height:440px;margin-top:10px;font-family:var(--mono);font-size:13.5px;line-height:1.55}.doc{margin-top:10px;line-height:1.65}.doc h1{font-size:22px}.doc h2{font-size:17px}.doc table{margin:8px 0}.print-only{display:none}.draft-mark{color:var(--err);font-weight:700;text-align:center;letter-spacing:.1em}.card h3 .muted{font-weight:500;font-size:14px}.h-ic{display:inline-flex;align-items:center;gap:8px}.h-ic svg{width:19px;height:19px;color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:18px 8px;font-size:14px}@media (max-width:1024px){.chat{grid-template-columns:240px minmax(0,1fr)}}@media (max-width:900px){.modules{grid-template-columns:repeat(2,1fr)}.chat{grid-template-columns:1fr}.side{position:static;max-height:none}.examples,.tiles{grid-template-columns:1fr 1fr}.stream{max-height:60vh;min-height:320px}.msg.user .bubble{max-width:92%}}@media (max-width:600px){.shell{padding:0 16px}.topbar{flex-wrap:wrap}.topright{width:100%;justify-content:flex-start}.mod{padding:10px 12px}.mod-ic{display:none}.examples,.tiles{grid-template-columns:1fr}.card{padding:14px}.composer{flex-direction:column;align-items:stretch}.composer .btn{width:100%}table{font-size:13px}th,td{padding:7px 8px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.topbar,.modules,.subtabs,.subnav,.footer,.no-print{display:none!important}.print-only{display:block!important}.shell{max-width:none;padding:0}.card{border:0;padding:0;margin:0;box-shadow:none}body{background:#fff}}
