@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-vietnamese-500-normal-FzY9NZwK.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-500-normal-CAK5R6Iy.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-latin-ext-500-normal-DIhLz7G7.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-500-normal-B0ZDNVGf.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-latin-500-normal-DEDBoLFO.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-500-normal-CV-uA8Lw.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-vietnamese-700-normal-BLYPkJbo.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-700-normal-CHrFuVHU.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-ext-700-normal-fBkt-7fi.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-700-normal-BXpPFNFj.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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.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: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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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{--ink-950: #07111d;--ink-900: #0b1726;--ink-850: #0f1f33;--ink-800: #12263b;--ink-700: #1c3552;--ink-600: #2b4a6d;--ice: #7fe3ff;--ice-2: #38bdf8;--ice-soft: rgba(127, 227, 255, .12);--paper: #f6f3ec;--paper-2: #efeae0;--card: #fffdf8;--line: #e3dccd;--line-2: #d6cdb9;--text: #16202c;--muted: #6a7280;--faint: #9aa1ab;--crit: #d7263d;--high: #ef7b1a;--med: #d4a106;--low: #2f9e6e;--plan: #6b7fd7;--ok: #1f8f5f;--warn: #b7791f;--err: #c0392b;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 0 rgba(22, 32, 44, .04), 0 8px 24px -12px rgba(22, 32, 44, .18);--display: "Bricolage Grotesque", "IBM Plex Sans", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;--body: "IBM Plex Sans", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--sidebar-w: 264px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--body);font-size:14px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:#0f5f8a}:focus-visible{outline:2px solid var(--ice-2);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mono{font-family:var(--mono);font-feature-settings:"zero"}.small{font-size:12px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.wrap{overflow-wrap:anywhere}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.icon{flex:none}.rot{transform:rotate(90deg);transition:transform .15s}.shell{display:flex;min-height:100vh}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.content{flex:1;min-width:0;position:relative;background-image:linear-gradient(var(--paper-2) 1px,transparent 1px),linear-gradient(90deg,var(--paper-2) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}.boot{padding:40px;max-width:480px;margin:10vh auto}.gl-sidebar{width:var(--sidebar-w);flex:none;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 0% 0%,#16304d 0%,transparent 60%),linear-gradient(180deg,var(--ink-900),var(--ink-950));color:#cbd5e1;border-right:1px solid #0a1a2b;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:20px 18px 16px}.brand-text{min-width:0}.brand-primary{font-family:var(--display);font-weight:700;font-size:17px;color:#fff;letter-spacing:-.01em}.brand-sub{font-family:var(--mono);font-size:11px;color:var(--ice);letter-spacing:.08em;text-transform:uppercase}.sidebar-close{margin-left:auto;color:#cbd5e1}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;color:#b6c2d2;text-decoration:none;font-weight:500;position:relative;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:var(--ice-soft);color:#fff}.nav-item.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--ice);box-shadow:0 0 12px var(--ice)}.nav-item.active .icon{color:var(--ice)}.nav-section{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#5f7896;padding:14px 12px 4px}.sessions{flex:1;min-height:0;display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.06);margin-top:10px;padding:12px 10px 6px}.btn.btn-new{width:100%;justify-content:center;background:#7fe3ff1a;color:#e8f7ff;border:1px dashed rgba(127,227,255,.4)}.btn.btn-new:hover{background:#7fe3ff2e}.session-scroll{overflow-y:auto;margin-top:8px;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#28415f transparent}.session-empty{color:#6f86a3;font-size:12.5px;padding:10px 6px}.session-row{position:relative;display:flex;align-items:center;border-radius:9px}.session-row:hover,.session-row.active{background:#ffffff0d}.session-row.active{box-shadow:inset 2px 0 0 var(--ice)}.session-open{flex:1;min-width:0;background:none;border:0;text-align:left;padding:7px 8px;cursor:pointer;color:#d6e0ec}.session-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.session-meta{display:flex;gap:6px;align-items:center;font-family:var(--mono);font-size:10.5px;color:#6f86a3}.done-tag{font-style:normal;color:var(--ice)}.session-more{color:#8aa0ba;opacity:0}.session-row:hover .session-more,.session-more[aria-expanded=true],.session-more:focus-visible{opacity:1}.session-menu{position:absolute;right:4px;top:34px;z-index:5;background:#fff;color:var(--text);border-radius:10px;box-shadow:0 12px 30px #00000059;padding:4px;min-width:140px}.session-menu button{display:flex;gap:8px;align-items:center;width:100%;padding:8px 10px;background:none;border:0;border-radius:7px;cursor:pointer;text-align:left}.session-menu button:hover{background:var(--paper)}.session-menu .danger{color:var(--err)}.connectors{padding:12px 18px 16px;border-top:1px solid rgba(255,255,255,.06);font-size:12px}.connectors-title{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#5f7896;margin-bottom:6px}.connector{display:flex;align-items:center;gap:8px;padding:2px 0}.connector-name{flex:1;color:#b6c2d2}.connector-state{font-family:var(--mono);font-size:10.5px;color:#6f86a3}.dot{width:7px;height:7px;border-radius:50%}.dot.on{background:#34d399;box-shadow:0 0 0 3px #34d39926,0 0 10px #34d39999}.dot.off{background:#475569}.app-header{height:56px;display:flex;align-items:center;gap:12px;padding:0 22px;background:#f6f3ecdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-spacer{flex:1}.lang-select{display:flex;align-items:center;gap:4px;color:var(--muted)}.lang-select select{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:4px 6px;font-size:12px}.user-chip{display:flex;align-items:center;gap:8px;min-width:0}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink-800);color:var(--ice);font-family:var(--display);font-weight:700}.user-email{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag{font-family:var(--mono);font-size:10.5px;padding:1px 6px;border-radius:5px;background:var(--paper-2);color:var(--ink-700);border:1px solid var(--line);margin-left:6px;text-transform:uppercase}.role-superadmin{background:#0b1726;color:var(--ice);border-color:#0b1726}.role-admin{background:#e6f4fb;color:#0f5f8a;border-color:#bfe3f4}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:8px 14px;cursor:pointer;font-weight:500;background:var(--card);transition:transform .08s,background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink-900);color:#fff;box-shadow:inset 0 -2px #7fe3ff59}.btn-primary:hover:not(:disabled){background:var(--ink-800)}.btn-ghost{background:transparent;border-color:var(--line-2)}.btn-ghost:hover:not(:disabled){background:var(--card)}.btn-sm{padding:5px 10px;font-size:12.5px;border-radius:8px}.btn-block{width:100%;justify-content:center;padding:11px}.btn-chat{background:var(--ink-900);color:var(--ice)}.btn-approve{background:var(--ok);color:#fff}.btn-approve:hover:not(:disabled){background:#187a50}.btn-reject{background:transparent;border-color:#e3b1ab;color:var(--err)}.btn-reject:hover:not(:disabled){background:#fdf0ee}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:0;background:transparent;cursor:pointer;color:inherit;flex:none}.icon-btn:hover{background:#16202c0f}.icon-btn.danger{color:var(--err)}.icon-btn.sidebar-close,.icon-btn.menu-btn{display:none}.link-btn{background:none;border:0;padding:0;color:#0f5f8a;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.chip{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);margin:2px 4px 2px 0}.chip-btn{background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12.5px}.chip-btn:hover{border-color:var(--ink-600)}.badge{font-family:var(--mono);font-size:11px;font-weight:500;padding:2px 8px;border-radius:6px;border:1px solid;white-space:nowrap}.badge-critical{color:var(--crit);border-color:#f2b8bf;background:#fdecee}.badge-high{color:#b35a0c;border-color:#f6cda6;background:#fef3e7}.badge-medium{color:#8a6800;border-color:#eedc9c;background:#fdf7e0}.badge-low{color:var(--low);border-color:#b5e0cb;background:#ecf8f2}.badge-planning{color:var(--plan);border-color:#c9d1f3;background:#eef1fc}.badge-default{color:var(--muted);border-color:var(--line);background:var(--paper)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:spin .8s linear infinite;vertical-align:-3px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-group{display:flex;flex-direction:column;gap:10px;padding:6px 0}.skeleton{border-radius:6px;background:linear-gradient(90deg,#ece6d9 25%,#f7f3ea,#ece6d9 75%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin:0 0 14px;border:1px solid}.banner-msg{flex:1;min-width:0;overflow-wrap:anywhere}.banner-error{background:#fdf0ee;border-color:#f0c4be;color:#8c2a1e}.banner-warn{background:#fdf6e6;border-color:#eed9a6;color:#7a5410}.banner-info{background:#eef7fb;border-color:#c7e4f1;color:#0f4d6e}.banner-ok{background:#ecf8f2;border-color:#b5e0cb;color:#185f40}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--ink-600);box-shadow:var(--shadow)}.empty-title{font-family:var(--display);font-weight:700;font-size:18px;color:var(--text)}.empty-body{max-width:440px;margin:6px auto 0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink-900);color:#fff;padding:10px 16px;border-radius:10px;z-index:100;box-shadow:0 10px 30px #0000004d;max-width:calc(100vw - 32px)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;font-size:13px;font-weight:500}.field input,.field select,.field textarea,.filters select,.topic-add input,.date-field input{border:1px solid var(--line-2);background:#fff;border-radius:9px;padding:9px 11px;font-weight:400;min-width:0;width:100%}.field input.invalid{border-color:var(--err);box-shadow:0 0 0 3px #c0392b1f}.form-error{background:#fdf0ee;color:#8c2a1e;border-radius:8px;padding:8px 10px;margin-bottom:12px;font-size:13px}.card-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;margin:10px 0 6px}.card-kicker.light{color:#ffffffb3;margin-top:0}.status-pill{font-family:var(--mono);font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--paper-2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-pill.st-pending{background:#fff3d6;color:#8a5a00}.status-pill.st-approved{background:#dff3e9;color:#185f40}.status-pill.st-rejected,.status-pill.st-cancelled{background:#fbe4e1;color:#8c2a1e}.status-pill.st-expired{background:#ecebe8;color:#6a7280}.page{padding:26px 28px 40px;max-width:1400px;margin:0 auto;animation:rise .35s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head-text{flex:1;min-width:220px}.page-head h1{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-.02em;margin:0;line-height:1.1}.page-head p{margin:6px 0 0;color:var(--muted)}.page-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}.panel h2{font-family:var(--display);font-size:16px;font-weight:700;margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.panel-head h2{margin:0}.seg{display:inline-flex;background:var(--paper-2);border-radius:9px;padding:3px;border:1px solid var(--line)}.seg button{border:0;background:transparent;padding:5px 11px;border-radius:7px;cursor:pointer;font-size:12.5px;color:var(--muted)}.seg button.on{background:var(--ink-900);color:#fff}.center-pad{padding:40px;text-align:center}.tickets-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;margin-bottom:18px}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat{border-radius:10px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);animation:rise .4s ease-out both;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.stat.tone-ink:after{background:var(--ink-700)}.stat.tone-crit:after{background:var(--crit)}.stat.tone-ice:after{background:var(--ice-2)}.stat.tone-amber:after{background:var(--high)}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.2}.breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 6px}.bar-row{display:grid;grid-template-columns:84px 1fr 34px;gap:8px;align-items:center;margin:5px 0;font-size:12.5px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{height:8px;background:var(--paper-2);border-radius:4px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--ink-600);border-radius:4px;transition:width .5s}.bar-fill.p-critical{background:var(--crit)}.bar-fill.p-high{background:var(--high)}.bar-fill.p-medium{background:var(--med)}.bar-fill.p-low{background:var(--low)}.bar-fill.p-planning{background:var(--plan)}.chart-wrap{width:100%}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-dasharray:2 4}.chart .area{fill:#38bdf81a}.chart .ln{fill:none;stroke-width:2;stroke-linejoin:round}.chart .ln.backlog{stroke:var(--ink-800);stroke-width:2.4}.chart .ln.created{stroke:var(--ice-2)}.chart .ln.closed{stroke:var(--low);stroke-dasharray:5 4}.chart .axis{font-family:var(--mono);font-size:10px;fill:var(--faint)}.chart .cursor{stroke:var(--ink-600);stroke-dasharray:3 3}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:6px;align-items:center}.lg:before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.lg.backlog:before{background:var(--ink-800)}.lg.created:before{background:var(--ice-2)}.lg.closed:before{background:var(--low)}.hover-read{margin-left:auto}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:-4px -4px 14px;overflow-x:auto;scrollbar-width:none}.tabs button{border:0;background:none;padding:10px 14px;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--text);border-bottom-color:var(--ink-900)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filters select{width:auto}.search-box{display:flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:9px;background:#fff;padding:0 10px;color:var(--muted);flex:1 1 220px;min-width:0}.search-box input{border:0;outline:0;padding:8px 0;background:transparent;width:100%;min-width:0;color:var(--text)}.table-wrap{overflow-x:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:10px;border-bottom:1px solid #efe9dc;vertical-align:top}.data-table tr:hover td{background:#fbf8f1}.data-table tr.sel td{background:#eef7fb}.data-table tr.clickable{cursor:pointer}.data-table tr.expanded td{background:#faf7f0}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.ticket-banner{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--ink-900);color:#e2e8f0;margin-bottom:14px;min-width:0}.ticket-banner .mono{color:var(--ice)}.ticket-banner .btn-ghost{color:#e2e8f0;border-color:#ffffff40;margin-left:auto}.ticket-banner .btn-ghost:hover{background:#ffffff14}.ticket-no{font-weight:500;color:var(--ink-700)}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,100vw);background:var(--card);border-left:1px solid var(--line);box-shadow:-20px 0 50px #0b17262e;z-index:50;display:flex;flex-direction:column;animation:slidein .25s ease-out}@keyframes slidein{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0}.drawer-title{font-family:var(--display);font-size:19px;padding:6px 20px 0;margin:0;overflow-wrap:anywhere}.drawer-body{flex:1;overflow-y:auto;padding:0 20px}.drawer>.skeleton-group,.drawer>.banner{margin:14px 20px}.drawer-actions{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:minmax(90px,max-content) 1fr;gap:6px 14px;margin:12px 0;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.kv-row{display:contents}.desc-box{background:var(--paper);border-radius:8px;padding:4px 12px;max-height:240px;overflow:auto}.att-list{list-style:none;padding:0;margin:0}.att-list summary{cursor:pointer;padding:6px 0;display:flex;gap:6px;align-items:center;overflow-wrap:anywhere}.att-text{max-height:220px;overflow:auto;background:var(--ink-950);color:#cbd5e1;padding:10px;border-radius:8px;font-size:11.5px;white-space:pre-wrap}.agent-page{height:calc(100vh - 56px);display:flex;flex-direction:column;padding:14px 18px}.agent-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.chat-window{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.chat-window .ticket-banner{margin:12px 12px 0}.chat-scroll{flex:1;overflow-y:auto;padding:20px 22px;min-height:0}.starter-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.msg{display:flex;margin:0 0 14px;min-width:0;animation:rise .25s ease-out both}.msg.user{justify-content:flex-end}.msg .bubble{max-width:min(760px,88%);min-width:0;overflow-wrap:anywhere}.msg.user .bubble{background:var(--ink-900);color:#eef6ff;padding:10px 14px;border-radius:16px 16px 4px;white-space:pre-wrap}.msg.assistant .bubble{background:transparent;padding:0 2px}.msg-img{display:block;max-width:220px;border-radius:10px;margin-bottom:6px}.msg.system{gap:10px;align-items:flex-start;padding:10px 14px;border-radius:12px}.msg.system.guard{background:#fdf6e6;border:1px solid #eed9a6;color:#6b4a0d}.msg.system.err{background:#fdf0ee;border:1px solid #f0c4be;color:#8c2a1e}.msg.card-row{display:block}.typing{display:inline-flex;gap:4px;padding:10px 2px!important}.typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-600);animation:blink 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:none}}.md{line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--display);letter-spacing:-.01em;margin:18px 0 8px;line-height:1.25}.md h2{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:4px}.md h3{font-size:15px}.md code{font-family:var(--mono);font-size:12.5px;background:var(--paper-2);padding:1px 5px;border-radius:4px}.md pre{background:var(--ink-950);color:#dbeafe;padding:12px;border-radius:10px;overflow-x:auto}.md pre code{background:none;padding:0;color:inherit}.md table{border-collapse:collapse;font-size:13px;width:100%}.md th,.md td{border:1px solid var(--line);padding:6px 9px;text-align:left}.md th{background:var(--paper);font-weight:600}.md blockquote{border-left:3px solid var(--ice-2);margin:8px 0;padding:2px 12px;color:var(--muted)}.composer{border-top:1px solid var(--line);padding:12px 14px;background:#fffcf6}.composer.drag{background:#eef7fb}.composer-row{display:flex;gap:8px;align-items:flex-end;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:6px 6px 6px 8px;transition:border-color .15s,box-shadow .15s}.composer-row:focus-within{border-color:var(--ink-600);box-shadow:0 0 0 4px #38bdf81f}.composer textarea{flex:1;min-width:0;border:0;outline:0;resize:none;padding:6px 2px;max-height:200px;background:transparent}.btn-send{background:var(--ink-900);color:var(--ice);padding:8px 12px;border-radius:10px}.btn-send.stop{background:var(--err);color:#fff}.composer-err{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--err);font-size:12.5px;margin-bottom:6px}.attach-preview{position:relative;display:inline-block;margin-bottom:8px}.attach-preview img{height:64px;border-radius:8px;border:1px solid var(--line)}.attach-preview .icon-btn{position:absolute;top:-8px;right:-8px;background:var(--ink-900);color:#fff;width:22px;height:22px;border-radius:50%}.right-panel{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.rp-section{background:var(--ink-900);color:#cbd5e1;border-radius:14px;padding:14px;min-height:0}.rp-section.grow{flex:1;overflow-y:auto;background:linear-gradient(180deg,var(--ink-900),var(--ink-950))}.rp-title{display:flex;gap:7px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ice);margin-bottom:10px}.rp-title .count{margin-left:auto;background:var(--high);color:#fff;border-radius:999px;padding:0 7px;font-size:11px}.rp-section .muted{color:#7f93ab}.pending-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px 8px 22px;border-radius:9px;background:#ffffff0d;color:#fff;text-decoration:none;position:relative;margin-bottom:6px;font-size:13px}.pending-item .muted{color:#9fb2c8}.pulse{position:absolute;left:9px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--high);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #ef7b1a99}to{box-shadow:0 0 0 9px #ef7b1a00}}.timeline{display:flex;flex-direction:column;gap:6px}.think{display:flex;gap:8px;font-size:12.5px;color:#a9bbd0;padding:4px 2px;overflow-wrap:anywhere}.think-dot{width:6px;height:6px;flex:none;margin-top:7px;border-radius:50%;background:#5f7896}.tool-card{border-radius:9px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);overflow:hidden}.tool-head{width:100%;display:flex;gap:8px;align-items:center;padding:8px 10px;background:none;border:0;color:#e2e8f0;cursor:pointer;text-align:left;font-size:12.5px}.tool-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-status{font-family:var(--mono);font-size:10px;color:#7f93ab;text-transform:uppercase}.tool-dot{width:8px;height:8px;border-radius:50%;flex:none}.tool-dot.st-running,.tool-dot.st-pending{background:var(--ice);box-shadow:0 0 8px var(--ice);animation:blink 1s infinite}.tool-dot.st-completed{background:#34d399}.tool-dot.st-failed{background:#f87171}.tool-body{padding:0 10px 10px;font-size:11.5px}.tool-body pre{margin:6px 0 0;background:#0000004d;padding:8px;border-radius:6px;overflow-x:auto;color:#cbd5e1;max-height:200px}.tool-raw{color:var(--ice);font-family:var(--mono)}.tool-error{color:#f87171;margin-top:6px;font-size:12px;overflow-wrap:anywhere}.card .tool-error{color:var(--err)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-width:760px;min-width:0;box-shadow:var(--shadow);overflow-wrap:anywhere}.findings{border-left:4px solid var(--ink-700)}.findings.sr{border-left-color:var(--plan)}.findings-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.findings-desc{margin:6px 0;font-weight:500}.findings-list{margin:6px 0 0;padding-left:18px;font-size:13px}.findings-list li{margin:3px 0}.findings-list li.sev-critical{color:var(--crit)}.findings-list li.sev-high{color:#b35a0c}.knowledge{border-left:4px solid var(--ice-2)}.confidence{margin-left:auto;background:var(--ink-900);color:var(--ice);padding:1px 7px;border-radius:999px}.facts{margin:0;padding-left:18px;font-size:13px}.compute{padding:0;overflow:hidden}.compute-band{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;color:#fff;background:linear-gradient(120deg,#1d5f45,#2f9e6e);flex-wrap:wrap}.compute.sev-medium .compute-band{background:linear-gradient(120deg,#7a5d05,#d4a106)}.compute.sev-high .compute-band{background:linear-gradient(120deg,#8c3e06,#ef7b1a)}.compute.sev-critical .compute-band{background:linear-gradient(120deg,#7d1020,#d7263d)}.compute-vm{font-size:18px}.compute-meta{font-size:12px;opacity:.85}.compute-sev{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sev-pill{background:#fff3;padding:2px 10px;border-radius:999px;font-weight:600}.gauges{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:10px;padding:12px 16px;align-items:center}.gauge{text-align:center}.gauge svg{width:100%;max-width:130px}.gauge-track{fill:none;stroke:var(--paper-2);stroke-width:9;stroke-linecap:round}.gauge-fill{fill:none;stroke-width:9;stroke-linecap:round;stroke:var(--low)}.gauge.tone-med .gauge-fill{stroke:var(--med)}.gauge.tone-high .gauge-fill{stroke:var(--high)}.gauge.tone-crit .gauge-fill{stroke:var(--crit)}.gauge-val{font-size:18px;margin-top:-6px}.gauge-label{font-size:11px;color:var(--muted)}.disk{display:flex;flex-direction:column;gap:6px;font-size:13px}.disk>div{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dashed var(--line);padding-bottom:4px}.procs{padding:0 16px 8px}.proc{display:grid;grid-template-columns:minmax(0,150px) 1fr 50px;gap:8px;align-items:center;margin:4px 0;font-size:12.5px}.proc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-bar{height:7px;background:var(--paper-2);border-radius:4px;overflow:hidden}.proc-bar span{display:block;height:100%;background:var(--ink-700)}.bullets{margin:0;padding:0 16px 14px 34px;font-size:13px}.action-options,.decision-grid{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.opt-btn{display:inline-flex;align-items:center;gap:10px;text-align:left;padding:8px 14px 8px 8px;border-radius:12px;cursor:pointer;background:#ecf8f2;border:1px solid #b5e0cb;color:#14553a;font-weight:500;min-width:0;overflow-wrap:anywhere;transition:background .15s,transform .08s}.opt-btn:hover:not(:disabled){background:#d8f1e5}.opt-btn:disabled{opacity:.55;cursor:default}.opt-btn.chosen{background:var(--ok);color:#fff;opacity:1}.opt-key{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:8px;background:var(--ok);color:#fff;font-family:var(--mono);font-weight:600}.sources{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sources .card-kicker{margin:0 4px 0 0}.source{display:inline-flex;gap:4px;align-items:center;font-size:12px;padding:2px 9px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);text-decoration:none;color:var(--ink-700);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval{border:1px solid #eed9a6;background:linear-gradient(180deg,#fffaf0,var(--card));position:relative}.approval.st-pending{box-shadow:0 0 0 4px #ef7b1a14,var(--shadow)}.approval.st-approved{border-color:#b5e0cb;background:var(--card)}.approval.st-rejected,.approval.st-cancelled{border-color:#f0c4be;background:var(--card)}.approval.st-expired{opacity:.75;background:var(--card);border-color:var(--line)}.approval-head{display:flex;align-items:center;gap:8px}.approval-head h3{margin:0;font-family:var(--display);font-size:15px;flex:1}.approval-summary{margin:8px 0;font-weight:500}.approval-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.script-block{background:var(--ink-950);color:#a7f3d0;padding:12px;border-radius:10px;overflow-x:auto;font-size:12.5px;margin:8px 0;white-space:pre;max-width:100%}.plan-steps{margin:6px 0;padding-left:20px;font-size:13px}.note{color:#7a5410;background:#fdf6e6;padding:6px 10px;border-radius:8px;margin-top:6px}.decision{border-left:4px solid var(--high)}.kg-host{height:100%}.kg-page{max-width:none}.kg-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.kg-canvas-wrap{position:relative;background:radial-gradient(90% 90% at 50% 40%,#13263d,var(--ink-950));border-radius:16px;min-height:560px;overflow:hidden;border:1px solid #0a1a2b}.kg-canvas-wrap .empty{color:#9fb2c8}.kg-canvas-wrap .empty-title{color:#fff}.kg-canvas-wrap .empty-icon{background:var(--ink-800);border-color:var(--ink-700);color:var(--ice)}.kg-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ice);gap:8px}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.graph-canvas canvas{display:block;cursor:grab;touch-action:none}.graph-canvas canvas:active{cursor:grabbing}.graph-tools{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:4px;background:#0b1726cc;border-radius:10px;padding:4px;color:#cbd5e1}.graph-legend{position:absolute;left:12px;bottom:12px;right:12px;display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#cbd5e1;pointer-events:none}.graph-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.kg-side{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0;overflow-y:auto;max-height:76vh}.prop-head{margin-bottom:6px;overflow-wrap:anywhere}.label-cloud{display:flex;flex-wrap:wrap}.schema-view{padding:14px;background:var(--card);min-height:560px}.ts-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.ts-files.drag{outline:2px dashed var(--ice-2);outline-offset:-6px}.ts-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.file-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--paper);min-width:0}.file-name{display:flex;gap:6px;align-items:center;font-weight:500;min-width:0}.file-name span{overflow-wrap:anywhere;min-width:0}.file-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:4px 0}.err-count{color:var(--crit)}.warn-count{color:#b35a0c}.patterns{display:flex;flex-wrap:wrap;gap:4px}.pattern{font-size:11px;background:#fdecee;color:var(--crit);border-radius:6px;padding:1px 7px}.ts-chat{padding:0;display:flex;flex-direction:column;min-height:520px;max-height:calc(100vh - 190px);overflow:hidden}.ts-chat .chat-scroll{min-height:300px}.msg.upload_summary .bubble,.msg.full_rca .bubble{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.msg.full_rca .bubble{border-left:4px solid var(--ink-900)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topic-add{display:flex;gap:8px;margin-bottom:10px}.topic-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.topic{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;border-radius:999px;background:var(--ink-900);color:#fff;font-size:12.5px}.topic .icon-btn{width:22px;height:22px;color:var(--ice)}.switch-row{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}.switch-row input{width:34px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--line-2);border-radius:999px;position:relative;cursor:pointer;transition:background .15s;flex:none}.switch-row input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.switch-row input:checked{background:var(--ok)}.switch-row input:checked:after{transform:translate(16px)}.range-row{display:grid;grid-template-columns:1fr 1.4fr 44px;gap:10px;align-items:center;margin:6px 0 14px;font-size:13px}.saved-tag{color:var(--ok);display:inline-flex;gap:4px;align-items:center;font-weight:500}.pw-row{display:flex;gap:6px}.outcome{font-family:var(--mono);font-size:11px;padding:1px 7px;border-radius:5px;background:var(--paper-2)}.outcome.o-success{background:#dff3e9;color:#185f40}.outcome.o-failure,.outcome.o-denied{background:#fbe4e1;color:#8c2a1e}.outcome.o-blocked{background:#fff3d6;color:#8a5a00}.meta{background:var(--ink-950);color:#cbd5e1;padding:10px;border-radius:8px;font-size:11.5px;overflow-x:auto}.date-field{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.date-field input{width:auto;padding:6px 8px}.approval-list{display:flex;flex-direction:column;gap:10px}.approval-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #eed9a6;background:#fffaf0;border-radius:12px;flex-wrap:wrap}.approval-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px}.denied{text-align:center;padding:80px 20px;color:var(--muted)}.denied h1{font-family:var(--display);color:var(--text);margin:10px 0 4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07111d8c;display:grid;place-items:center;z-index:80;padding:16px}.modal{background:var(--card);border-radius:16px;width:min(460px,100%);box-shadow:0 30px 80px #00000059;max-height:90vh;overflow-y:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 4px}.modal-head h2{margin:0;font-family:var(--display);font-size:18px}.modal-body{padding:10px 18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--paper)}.login-art{position:relative;overflow:hidden;color:#e2e8f0;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(70% 60% at 20% 20%,#1e4368 0%,transparent 60%),radial-gradient(60% 50% at 90% 90%,#0f3a4f 0%,transparent 60%),var(--ink-950)}.login-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(127,227,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(127,227,255,.06) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at 40% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(circle at 40% 40%,#000 30%,transparent 75%)}.login-art-inner{position:relative;max-width:440px;animation:rise .6s ease-out both}.login-brand{font-family:var(--display);font-size:44px;font-weight:700;letter-spacing:-.03em;color:#fff;margin-top:18px;line-height:1}.login-sub{font-family:var(--mono);color:var(--ice);letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin-top:8px}.login-tag{font-size:17px;color:#b6c2d2;margin:22px 0}.login-ticker{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#7fb5d1}.login-ticker span{padding:8px 12px;border:1px solid rgba(127,227,255,.15);border-radius:9px;background:#7fe3ff0a;animation:rise .6s ease-out both}.login-ticker span:nth-child(2){animation-delay:.15s}.login-ticker span:nth-child(3){animation-delay:.3s}.login-card{align-self:center;justify-self:center;width:min(400px,calc(100% - 40px));padding:32px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);position:relative}.login-card h1{font-family:var(--display);font-size:24px;letter-spacing:-.02em;margin:0 0 22px;padding-right:76px}.login-lang{position:absolute;top:14px;right:14px}.login-lang select{border:1px solid var(--line);background:transparent;border-radius:7px;font-size:12px;padding:2px 4px}@media (max-width: 1180px){.tickets-grid{grid-template-columns:minmax(0,1fr)}.agent-grid{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width: 1024px){:root{--sidebar-w: 280px}.gl-sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .22s ease;visibility:hidden}.shell.nav-open .gl-sidebar{transform:none;visibility:visible;box-shadow:20px 0 60px #0000004d}.icon-btn.sidebar-close,.icon-btn.menu-btn{display:inline-grid}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#07111d73;z-index:25}.agent-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.right-panel{max-height:30vh}.kg-layout,.ts-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}.kg-side{max-height:none}.login-page{grid-template-columns:minmax(0,1fr)}.login-art{padding:32px 24px 24px;min-height:0}.login-brand{font-size:32px}.login-ticker{display:none}.login-card{margin:24px 0 40px}}@media (max-width: 767px){.page{padding:18px 14px 32px}.page-head h1{font-size:22px}.app-header{padding:0 10px;gap:6px}.user-email,.role-tag.role-l1,.app-header .role-tag{display:none}.app-header .btn-sm{padding:5px 8px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.breakdowns{grid-template-columns:minmax(0,1fr)}.agent-page{padding:8px;height:calc(100vh - 56px)}.chat-scroll{padding:14px 12px}.msg .bubble{max-width:100%}.gauges{grid-template-columns:1fr 1fr}.disk{grid-column:1 / -1}.decision-grid{grid-template-columns:minmax(0,1fr)}.right-panel{max-height:24vh}.kg-canvas-wrap{min-height:420px}.data-table td,.data-table th{padding:8px 6px}.range-row{grid-template-columns:minmax(0,1fr) 44px}.range-row input{grid-column:1 / -1;grid-row:2}.login-art{padding:24px 20px 8px}.login-tag{display:none}.login-card{padding:24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
