@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-normal-DIwfbPUE.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-normal-C0olyEE-.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-normal-DrHU7SY7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-normal-BOyYyU_V.woff2) format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-normal-HoL-AExg.woff2) format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2) format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");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-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@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")}:root{--ink: #0f2a22;--ink-line: rgba(255, 255, 255, .12);--brass: #d6b56a;--brass-text: #85651a;--rail-text: #c3d0ca;--rail-dim: #8fa59c;--hero-text: #c3d0ca;--hero-dim: #a9bdb4;--emerald: #13704f;--emerald-hover: #0e5a3f;--emerald-text: #0d5c40;--emerald-tint: #e2f1ea;--emerald-border: #b9daca;--row-selected: #f1f8f4;--paper: #f4f6f5;--raised: #ffffff;--head-bg: #f7f9f8;--rule: #dde3e0;--rule-soft: #ecf0ee;--control-border: #cbd4d0;--text: #11201b;--text-2: #2b3a34;--text-3: #46564f;--muted: #5e6e68;--muted-2: #8c9993;--disabled-text: #a3aea9;--active-bg: #dcf0e5;--active-fg: #0b5a3c;--active-dot: #1f8a5e;--info-bg: #e4ecfc;--info-fg: #23439e;--info-dot: #3d67d6;--info-border: #b8caf3;--plum-bg: #f0e8fa;--plum-fg: #5a2e91;--plum-dot: #7e4cc2;--neutral-bg: #edf0ef;--neutral-fg: #46564f;--neutral-dot: #8c9993;--danger: #b42318;--danger-text: #9b1c14;--danger-bg: #fbe7e5;--danger-dot: #d2392c;--warn-bg: #fff1d6;--warn-fg: #6e4600;--warn-icon: #8a5a00;--warn-note-bg: #fff6e3;--warn-note-border: #f0d9a6;--contracted-bg: #dcf0e5;--contracted-border: #2e8b62;--contracted-text: #0b4f37;--forecast-border: #c7880f;--forecast-text: #6e4600;--forecast-row: #fffcf6;--hatch: repeating-linear-gradient(135deg, #fbe4be 0 4px, #fff8eb 4px 8px);--hatch-bar: repeating-linear-gradient(135deg, #f2c878 0 4px, #fff8eb 4px 8px);--hatch-note: repeating-linear-gradient(135deg, #fdf0d9 0 6px, #ffffff 6px 12px);--p0: #4c7bea;--p1: #1fa6a8;--p2: #98a39e;--p3: #9466d6;--p4: #db4c86;--serif: "Source Serif 4 Variable", "Source Serif 4", Georgia, serif;--sans: "Public Sans Variable", "Public Sans", ui-sans-serif, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--header-h: 69px;--radius-tag: 6px;--radius: 10px;--radius-inner: 12px;--radius-card: 16px;--radius-hero: 18px;--shadow-card: none;--shadow-xl: 0 24px 48px rgba(9, 22, 17, .25);font-family:var(--sans);color:var(--text);font-size:14px;line-height:1.45;font-variant-numeric:lining-nums tabular-nums;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}a{color:var(--emerald);font-weight:600;text-underline-offset:2px}h1,h2,h3,h4,p{margin:0}h1{font-family:var(--serif);font-size:32px;line-height:1.1;font-weight:600;letter-spacing:-.01em}h2{font-family:var(--serif);font-size:21px;line-height:1.2;font-weight:600}h3{font-size:15px;font-weight:650}h4{font-size:14px;font-weight:600}small{font-size:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:0;min-width:0}code{font-family:var(--mono);font-size:12px;background:var(--rule-soft);border-radius:4px;padding:0 4px}input[type=checkbox]{accent-color:var(--emerald);width:18px;height:18px;margin:0}input:not([type=checkbox]):not([type=file]):not([type=radio]),select,textarea{border:1px solid var(--control-border);border-radius:var(--radius);padding:8px 12px;background:var(--raised);color:var(--text);min-height:42px;max-width:100%}select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2346564f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:not([type=checkbox]):not([type=file]):not([type=radio]):disabled,select:disabled,textarea:disabled{background-color:var(--rule-soft);color:var(--text-3)}select:disabled{opacity:1}input[aria-invalid=true],select[aria-invalid=true]{border:1.5px solid var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}textarea{resize:vertical}.mono{font-family:var(--mono);font-size:12px;letter-spacing:0}.num{text-align:right;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.hint{font-size:12px;color:var(--muted);margin:8px 0}.block{display:block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spacer{flex:1}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.danger-text{color:var(--danger)}.amber-text{color:var(--forecast-text)}.green-text{color:var(--emerald)}.strong{font-weight:600}.req{color:var(--danger-text);font-style:normal}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;gap:28px;padding:22px 16px;background:var(--ink);color:#fff;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 6px;flex:none}.brand-mark{flex:none;width:40px;height:40px;border-radius:10px;border:1.5px solid var(--brass);color:var(--brass);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:17px}.brand b{display:block;font-size:14px;font-weight:600;line-height:1.3;color:#fff}.brand small{display:block;color:var(--rail-dim);font-size:12px;line-height:1.3}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar nav>div{display:flex;flex-direction:column}.nav-group{padding:26px 12px 8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rail-dim)}.sidebar button{display:flex;align-items:center;gap:12px;width:100%;height:42px;border:0;background:transparent;color:var(--rail-text);padding:0 12px;border-radius:var(--radius);text-align:left;font-size:14px;line-height:20px;position:relative}.sidebar button:hover{background:#ffffff0f;color:#fff}.sidebar button.active{background:var(--paper);color:var(--text);font-weight:650}.sidebar button span{flex:1}.sidebar button small{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--brass);color:#1b1608;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sidebar-foot{border-top:1px solid var(--ink-line);padding-top:14px}.sidebar :focus-visible{outline-color:var(--brass)}.workspace{margin-left:248px;min-width:0;flex:1}.header{height:var(--header-h);border-bottom:1px solid var(--rule);background:var(--raised);display:flex;align-items:center;gap:12px 16px;padding:12px 32px;position:sticky;top:0;z-index:10}.global-search{flex:1 1 260px;max-width:520px;height:42px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--muted)}.global-search:focus-within{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-tint)}.global-search input{border:0!important;background:transparent!important;flex:1;min-width:0;min-height:36px!important;padding:0!important;outline:none;box-shadow:none!important}.header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.header-ask{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:var(--radius);border:1px solid #c9ddd3;background:var(--raised);color:var(--emerald-text);font-size:14px;font-weight:600}.header-ask:hover:not(:disabled){background:var(--emerald-tint)}.account{position:relative}.account summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 4px;border-radius:var(--radius);color:var(--muted)}.account summary:hover{background:var(--paper)}.account summary::-webkit-details-marker{display:none}.account-who{display:flex;flex-direction:column;line-height:1.25}.account-who b{font-size:13.5px;font-weight:600;color:var(--text)}.account-who small{font-size:12px}.avatar{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--brass);font-family:var(--serif);font-size:14px;font-weight:600}.account-menu{position:absolute;right:0;top:52px;min-width:230px;padding:16px;border:1px solid var(--rule);box-shadow:var(--shadow-xl);background:var(--raised);border-radius:var(--radius-inner);display:grid;gap:6px}.account-menu small{margin-bottom:8px}.development-bar{padding:5px 32px;background:var(--warn-bg);color:var(--warn-fg);font-size:12px}main{padding:24px 32px 40px;max-width:1360px}main:focus{outline:none}.hamburger{display:none!important}.navigation-backdrop{display:none}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.page-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0}.page-title h1:focus{outline:none}.page-title>span{font-size:14px;color:var(--muted)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--raised);color:var(--text);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease-out,border-color .15s ease-out}.btn:hover:not(:disabled){background:var(--head-bg);border-color:#b7c3be}.btn.primary{background:var(--emerald);border-color:var(--emerald);color:#fff}.btn.primary:hover:not(:disabled){background:var(--emerald-hover);border-color:var(--emerald-hover)}.btn.navy,.btn.ink{background:var(--ink);border-color:var(--ink);color:#fff}.btn.navy svg,.btn.ink svg{color:var(--brass)}.btn.navy:hover:not(:disabled),.btn.ink:hover:not(:disabled){background:#0a1f19}.btn.destructive{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:650}.btn.destructive:hover:not(:disabled){background:#951c13}.btn.outline{border-color:var(--emerald);color:var(--emerald-text);font-weight:650}.btn.outline:hover:not(:disabled){background:var(--emerald-tint);border-color:var(--emerald)}.btn.text{border-color:transparent;background:transparent;padding:0 10px}.btn.text:hover:not(:disabled){background:var(--rule-soft);border-color:transparent}.btn.danger{color:var(--danger-text);font-weight:650}.btn.danger-outline{color:var(--danger-text);border-color:#efb4ad}.btn.selected{border-color:var(--emerald);color:var(--emerald-text);background:var(--emerald-tint)}.btn.large{min-height:44px;padding:0 16px;font-size:14px}label.btn{cursor:pointer}.icon-button{border:0;background:transparent;padding:8px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;color:var(--text-3)}.icon-button:hover:not(:disabled){background:var(--rule-soft);color:var(--text)}.icon-button.bordered{border:1px solid var(--control-border);background:var(--raised);color:var(--text);width:40px;height:40px}.icon-button.small{padding:2px}.icon-button.danger{color:var(--danger-text)}.text-link,.link{border:0;background:transparent;padding:0;color:var(--emerald-text);font-weight:600;text-align:left;text-decoration:underline;text-decoration-color:#0d5c4059;text-underline-offset:3px}.text-link:hover,.link:hover{color:#08402c;text-decoration-color:currentColor}.link{white-space:nowrap}.card{background:var(--raised);border:1px solid var(--rule);border-radius:var(--radius-card)}.table-card{overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;padding:18px 22px 14px;flex-wrap:wrap}.card-head h2,.card-head h3{font-family:var(--serif);font-size:19px;font-weight:600}.card-head small{font-size:12.5px}.card-head-group{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13.5px}th{background:var(--head-bg);color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}td{padding:12px;border-bottom:1px solid var(--rule-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tfoot td,tfoot th{font-weight:700;color:var(--text);border-top:1.5px solid var(--text);border-bottom:0;background:transparent}tbody tr[tabindex]:hover{background:var(--head-bg);cursor:pointer}tbody tr:focus-visible{outline-offset:-2px}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--rule);background:var(--head-bg);font-size:12.5px;color:var(--text-3)}.empty{padding:40px 24px;text-align:center;color:var(--muted)}.empty>svg{color:var(--muted-2);margin-bottom:8px}.empty h3{color:var(--text);font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:4px}.empty p{font-size:13px}.error{background:var(--danger-bg);border:1px solid #f1c3be;color:var(--danger-text);padding:12px 16px;border-radius:var(--radius-inner);font-size:14px;display:flex;align-items:center;gap:10px;margin:0 0 16px}.error>p{color:inherit}.error>button{margin-left:auto;border:0;background:transparent;color:inherit}.notice{background:var(--warn-note-bg);border:1px solid var(--warn-note-border);color:#4a3300;font-size:13.5px;padding:12px 16px;border-radius:var(--radius-inner);margin:12px 0}.banner,.quality{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 16px;border:1px solid var(--warn-note-border);background:var(--warn-note-bg);border-radius:var(--radius-inner);margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#4a3300}.banner svg,.quality svg{color:var(--warn-icon);flex:none}.quality>span{flex:1 1 420px}.quality .text-link{white-space:nowrap;color:var(--forecast-text);font-weight:650}.loading{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--emerald);background:var(--paper)}.loading h2{color:var(--text)}.loading-card{padding:40px;text-align:center;color:var(--muted)}.loading-card.compact{padding:24px}.field-error{display:flex;align-items:center;gap:6px;color:var(--danger-text)!important;font-size:12.5px!important;font-weight:600}.field-error:before{content:"!";flex:none;width:14px;height:14px;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:14px;text-align:center}.badge{--dot: var(--neutral-dot);display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:650;white-space:nowrap;color:var(--neutral-fg);background:var(--neutral-bg);border:0}.badge:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--dot)}.badge.active{--dot: var(--active-dot);color:var(--active-fg);background:var(--active-bg)}.badge.implementing,.badge.reviewed{--dot: var(--info-dot);color:var(--info-fg);background:var(--info-bg)}.badge.pending_signature{--dot: var(--plum-dot);color:var(--plum-fg);background:var(--plum-bg)}.badge.cancelled{--dot: var(--danger-dot);color:var(--danger-text);background:var(--danger-bg)}.badge.approved{--dot: rgba(255, 255, 255, .85);color:#fff;background:var(--emerald)}.badge.not_reviewed:before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--neutral-dot);width:8px;height:8px}.badge.warning{--dot: var(--warn-icon);color:var(--warn-fg);background:var(--warn-bg)}.badge.contracted,.badge.forecast{height:20px;padding:0 6px;border-radius:5px;font-size:11.5px;font-weight:650}.badge.contracted:before,.badge.forecast:before{display:none}.badge.contracted{color:var(--contracted-text);background:var(--contracted-bg);border:1px solid var(--contracted-border)}.badge.forecast{color:var(--forecast-text);background:var(--hatch);border:1px dashed var(--forecast-border)}.amount-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;font-size:12px;font-weight:650;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}.amount-tag.contracted{color:var(--contracted-text);background:var(--contracted-bg);border:1px solid var(--contracted-border)}.amount-tag.forecast{color:var(--forecast-text);background:var(--hatch);border:1px dashed var(--forecast-border)}.product{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 7px;border:1px solid var(--rule);border-radius:var(--radius-tag);background:var(--raised);color:var(--text-2);font-size:11.5px;font-weight:550;white-space:nowrap}.product i,.swatch{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--muted-2);flex:none}.product.p0 i,.swatch.p0{background:var(--p0)}.product.p1 i,.swatch.p1{background:var(--p1)}.product.p2 i,.swatch.p2{background:var(--p2)}.product.p3 i,.swatch.p3{background:var(--p3)}.product.p4 i,.swatch.p4{background:var(--p4)}.swatch{width:10px;height:10px;border-radius:3px;margin-right:9px;vertical-align:-1px}.partial{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;background:var(--raised);border:1px solid #e6c77e;color:var(--forecast-text)!important;font-size:11.5px!important;font-weight:650;white-space:nowrap}.kpi-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:650;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}.kpi-pill.lq{color:var(--info-fg);background:#eef3fd;border:1px solid var(--info-border)}.kpi-pill.ttm{color:var(--active-fg);background:#e9f5ef;border:1px solid #a9d6bf}.kpi-pills{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.legend{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:13px;color:var(--text-2)}.legend i{display:inline-block;width:14px;height:14px;border-radius:3px}.swatch-contracted{background:var(--emerald)}.swatch-forecast{background:var(--hatch-bar);border:1px dashed var(--forecast-border);margin-left:12px}.progress-track{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;background:var(--rule-soft)}.progress-track i{display:block;height:100%}.progress-track .approved{background:var(--emerald)}.progress-track .reviewed{background:var(--info-dot)}.bar-track{height:8px;border-radius:4px;background:var(--rule-soft);overflow:hidden}.bar-track i{display:block;height:100%;border-radius:4px;background:var(--emerald)}.currency-field{display:flex;align-items:center;gap:6px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--raised);padding:0 10px;min-width:0}.currency-field:focus-within{outline:2px solid var(--emerald);outline-offset:1px}.currency-field[data-disabled]{background:var(--rule-soft)}.currency-field>span{color:var(--muted)}.currency-field input.currency-input:not([type=checkbox]){border:0;padding:0;background:transparent;box-shadow:none;min-height:36px;width:100%;min-width:0;text-align:right}.currency-field input:focus-visible{outline:0}.stats-three,.stats-four,.stats-five{display:grid;gap:14px}.stats-three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-five{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{padding:20px 22px;display:flex;flex-direction:column;gap:6px;min-width:0}.stat-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.stat strong,.metric-cells strong{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.1;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}.tone-good{color:var(--emerald)}.tone-bad{color:var(--danger)}.stat small{font-size:13px;line-height:1.45}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:10px;height:40px;border:1px solid var(--control-border);border-radius:var(--radius);background:var(--raised);padding:0 12px;width:320px;max-width:100%;color:var(--muted)}.search input{border:0!important;padding:0!important;min-height:0!important;flex:1;min-width:0;color:var(--text);font-size:13.5px;box-shadow:none!important}.search:focus-within{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-tint)}.search input:focus-visible{outline:0}.toolbar-select{width:auto;min-height:40px!important}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--emerald);color:#fff;font-size:11.5px;font-weight:700}.chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 12px;border-radius:16px;background:var(--emerald-tint);border:1px solid var(--emerald-border);color:var(--active-fg);font-size:13px;font-weight:600}.chip button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:transparent;color:inherit;border-radius:12px;padding:0}.chip button:hover{background:#13704f24}.filter-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;background:var(--raised);padding:16px 18px 0;border:1px solid var(--rule);border-radius:var(--radius-card);margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;min-width:0}.field>span{font-weight:600;font-size:13px;color:var(--text)}.field input,.field select,.field textarea{width:100%}.field>small{font-size:12px;line-height:1.4}.field.short{max-width:180px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dialog{border:0;border-radius:var(--radius-hero);padding:0;width:min(640px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));overflow:auto;color:var(--text);background:var(--raised);box-shadow:var(--shadow-xl)}.dialog.narrow{width:min(520px,calc(100vw - 32px))}.dialog.wide{width:min(860px,calc(100vw - 32px))}.dialog.confirm{width:min(480px,calc(100vw - 32px))}.dialog::backdrop{background:#0916118c}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px 10px;position:sticky;top:0;background:var(--raised);z-index:2}.dialog-head h2{font-size:23px}.dialog-body{padding:8px 26px 22px}.dialog-sub{color:var(--muted);margin-bottom:16px}.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--rule);background:var(--head-bg);position:sticky;bottom:0}.dialog-actions .btn{min-height:44px;padding:0 16px;font-size:14px}.confirm-body{padding:26px 26px 20px;display:grid;gap:14px}.confirm-body>svg:first-child{box-sizing:content-box;width:20px;height:20px;padding:10px;border-radius:var(--radius-inner);background:var(--warn-bg);color:var(--warn-icon)}.confirm-body>svg.danger-text:first-child{background:var(--danger-bg);color:var(--danger-text)}.confirm-body h2{font-size:23px;line-height:1.2}.confirm-body p{color:var(--text-2);line-height:1.55}.approval-years{border:1px solid var(--rule);border-radius:var(--radius-inner);border-collapse:separate;border-spacing:0;overflow:hidden}.approval-years td{padding:10px 14px;font-size:13px;white-space:nowrap;border-bottom:0}.approval-years tr+tr td{border-top:1px solid var(--rule)}.tag-change{display:inline-flex;align-items:center;gap:6px}.approval-years .changing td{background:var(--head-bg);font-weight:650}.lock-note{display:flex;gap:8px;align-items:flex-start;color:var(--forecast-text);font-size:13px;line-height:1.5}.lock-note svg{flex:none;margin-top:2px}.session-recovery{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.session-recovery>div{flex:1;min-width:220px}.session-recovery p{color:inherit}.error>.btn{margin-left:auto;min-height:32px;padding:0 10px}.error>.btn+button{margin-left:0}.record-history>summary,.annual-values>summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--emerald-text)}.scroll-hint{display:none;font-size:12px;color:var(--muted);padding:8px 16px 0;margin:0}.table-scroll:focus-visible,.chart:focus-visible{outline:2px solid var(--emerald);outline-offset:-2px}.navigation-close{margin:8px 0;color:var(--text)}.header-ask:disabled{color:var(--muted);border-color:var(--rule)}.saving,.toast{position:fixed;bottom:24px;left:calc(50% + 124px);transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-inner);background:var(--ink);color:#fff;box-shadow:var(--shadow-xl);font-size:14px;max-width:min(640px,90vw)}.toast svg{color:var(--brass)}.saving{bottom:80px;padding:6px 12px;font-size:12px;opacity:.94}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin{min-height:100vh;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;padding:30px}.signin-brand{display:flex;align-items:center;gap:14px;color:#fff}.signin-brand .brand-mark{width:48px;height:48px;font-size:20px}.signin-brand b{display:block;font-size:16px;font-weight:600}.signin-brand small{display:block;color:var(--rail-dim);font-size:13px}.signin .card{max-width:500px;padding:40px;border:0;border-radius:var(--radius-hero);display:flex;flex-direction:column;gap:16px}.signin .card>svg{color:var(--emerald)}.signin h1{font-size:30px}.signin p{color:var(--muted)}.signin small{text-align:center}.signin .btn{min-height:44px}.overview{display:flex;flex-direction:column;gap:24px}.overview .page-head{align-items:flex-end;gap:16px;margin-bottom:0}.overview .page-title{flex-direction:column;align-items:flex-start;gap:4px}.overview .page-title h1{font-size:36px}.overview .overview-date{font-size:13px;font-weight:500;color:var(--muted)}.overview .page-actions{gap:10px}.overview .overview-hero{display:flex;flex-direction:column;gap:28px;padding:30px 30px 26px;border-radius:var(--radius-hero);background:var(--ink);color:#fff}.overview .hero-top{display:flex;flex-wrap:wrap;align-items:stretch;gap:28px}.overview .hero-lead{flex:1.1 1 360px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.overview .hero-lead h2{font-family:var(--sans);font-size:11.5px;font-weight:600;line-height:1.45;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.overview .hero-label{font-size:14px;color:var(--hero-text)}.overview .hero-figure{margin-top:6px;font-family:var(--serif);font-size:clamp(44px,5.4vw,72px);font-weight:600;line-height:1;letter-spacing:-.02em;text-align:left;color:#fff}.overview .hero-rule{display:block;width:56px;height:2px;margin-top:14px;background:var(--brass)}.overview .hero-caption{margin-top:12px;font-size:13px;color:var(--hero-dim)}.overview .hero-cells{flex:1 1 420px;min-width:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--ink-line);border:1px solid var(--ink-line);border-radius:14px;overflow:hidden}.overview .hero-cells>div{min-width:0;display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--ink)}.overview .hero-cells dt{font-size:13px;color:var(--hero-text)}.overview .hero-cells dd{margin:0;font-size:12.5px;color:var(--hero-dim)}.overview .hero-cells dd.num{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.1;text-align:left;color:#fff}.overview .hero-mix{display:flex;flex-direction:column;gap:14px;padding-top:22px;border-top:1px solid var(--ink-line)}.overview .hero-mix-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.overview .hero-mix-head h3{font-size:13px;font-weight:600;color:#fff}.overview .hero-mix-head span{font-size:12.5px;color:var(--hero-dim)}.overview .mix-bar{display:flex;gap:3px;height:12px;border-radius:6px;overflow:hidden}.overview .mix-bar i{flex-basis:0;flex-shrink:1;min-width:2px}.overview .mix-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}.overview .mix-legend li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--hero-text)}.overview .mix-legend .swatch{margin-right:0}.overview .mix-legend b{font-weight:600;color:#fff}.overview i.p0{background:var(--p0)}.overview i.p1{background:var(--p1)}.overview i.p2{background:var(--p2)}.overview i.p3{background:var(--p3)}.overview i.p4{background:var(--p4)}.overview .overview-attention{display:flex;flex-direction:column;gap:14px}.overview .section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.overview .section-head h2{font-size:22px}.overview .section-head span{font-size:13px;color:var(--muted)}.overview .attention-row{display:flex;flex-wrap:wrap;gap:16px}.overview .attention-card{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:22px}.overview .attention-head{display:flex;align-items:center;gap:10px}.overview .attention-head p{font-size:12.5px;color:var(--muted)}.overview .attention-icon{flex:none;width:36px;height:36px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center}.overview .attention-icon.warn{background:var(--warn-bg);color:var(--warn-icon)}.overview .attention-icon.info{background:var(--info-bg);color:var(--info-fg)}.overview .attention-icon.active{background:var(--active-bg);color:var(--active-fg)}.overview .attention-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.overview .attention-count b{font-family:var(--serif);font-size:48px;font-weight:600;line-height:1;text-align:left}.overview .attention-count span{font-size:14px;color:var(--text-3)}.overview .review-progress{display:flex;flex-direction:column;gap:10px}.overview .review-progress .progress-track{gap:3px;background:transparent}.overview .progress-track i{flex-basis:0;flex-shrink:1}.overview .progress-track .not-reviewed{background:var(--control-border)}.overview .review-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text-3)}.overview .review-legend li{display:inline-flex;align-items:center;gap:6px}.overview .review-legend li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--emerald)}.overview .review-legend .not-reviewed:before{background:transparent;border:2px solid var(--neutral-dot)}.overview .review-legend .reviewed:before{background:var(--info-dot)}.overview .forecast-note{padding:10px 12px;border:1px dashed var(--forecast-border);border-radius:var(--radius);background:var(--hatch-note);font-size:12.5px;line-height:1.45;color:var(--forecast-text)}.overview .attention-list{list-style:none;margin:0;padding:0}.overview .attention-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:9px 0;border-top:1px solid var(--rule-soft)}.overview .attention-list li>div{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}.overview .attention-list .text-link{font-size:13.5px}.overview .attention-list p{margin-top:2px;font-size:12px;color:var(--muted)}.overview .attention-pill{flex:none;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;font-size:12px;font-weight:650}.overview .attention-pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.overview .attention-pill.danger{background:var(--danger-bg);color:var(--danger-text)}.overview .attention-clear{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--radius-inner);background:var(--paper)}.overview .attention-clear>span{flex:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--emerald);color:#fff}.overview .attention-clear p{font-size:13px;line-height:1.5;color:var(--text-3)}.overview .attention-more{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:14px;text-decoration:none}.overview .attention-more:hover{text-decoration:underline}.overview .overview-split{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.overview .state-card{flex:1 1 340px;min-width:0;padding:22px}.overview .state-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:14px}.overview .state-card h2,.overview .product-card h2{font-size:19px}.overview .state-head small{font-size:12.5px}.overview .state-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.overview .state-bar{display:grid;grid-template-columns:64px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:26px}.overview .state-bar>span{font-size:13px;font-weight:600}.overview .state-bar .text-link{min-height:26px;font-size:13px;text-align:right}.overview .state-empty{color:var(--muted)}.overview .product-card{flex:1.5 1 520px;min-width:0}.overview .product-card .card-head{justify-content:flex-start;align-items:baseline;gap:6px 12px;padding:22px 22px 14px}.overview .product-table{min-width:480px;font-size:14px}.overview .product-table th:first-child,.overview .product-table td:first-child{padding-left:22px}.overview .product-table th:last-child,.overview .product-table td:last-child{padding-left:16px;padding-right:22px}.overview .product-table .share-col{width:34%}.overview .product-name{font-weight:550;white-space:nowrap}.overview .share{display:flex;align-items:center;gap:10px}.overview .share .bar-track{flex:1;height:6px;border-radius:3px}.overview .share .bar-track i{border-radius:3px}.overview .share span{width:44px;flex:none;text-align:right;font-size:12.5px;color:var(--text-3)}@media(max-width:768px){.overview{gap:20px}.overview .page-title h1{font-size:28px}.overview .overview-hero{gap:22px;padding:22px 20px 20px}.overview .hero-top{gap:22px}.overview .hero-cells>div{padding:14px 16px}.overview .hero-cells dd.num{font-size:24px}.overview .hero-mix{padding-top:18px}.overview .mix-legend{gap:8px 20px}.overview .attention-card,.overview .state-card{padding:18px}.overview .attention-count b{font-size:40px}.overview .product-card .card-head{padding:18px 18px 12px}}.list-toolbar .toolbar-select{font-size:13.5px;font-weight:600}.list-toolbar .chips-clear{height:32px;padding:0 8px;border:0;border-radius:var(--radius-tag);background:transparent;color:var(--text-3);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.list-toolbar .chips-clear:hover{color:var(--text)}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 12px 10px 20px;background:var(--emerald-tint);border-bottom:1px solid var(--emerald-border)}.bulk-bar strong{font-size:14px;font-weight:650;color:var(--contracted-text)}.bulk-bar small{font-size:13px;color:#2f5e4c}.bulk-bar .btn{min-height:36px;padding:0 14px;border-radius:9px}.bulk-bar .bulk-clear{padding:0 12px;border-color:var(--emerald-border);color:var(--contracted-text)}.bulk-bar .bulk-clear:hover:not(:disabled){background:var(--raised);border-color:var(--emerald)}.contracts-table th:first-child,.contracts-table td:first-child,.org-table th:first-child,.org-table td:first-child{padding-left:18px}.contracts-table th:last-child,.org-table th:last-child{padding-right:18px}.contracts-table td:last-child,.org-table td:last-child{padding-right:18px}.contracts-table{table-layout:fixed}.contracts-table .c-check{width:44px}.contracts-table .c-status{width:126px}.contracts-table .c-term{width:164px}.contracts-table .c-renewal{width:120px}.contracts-table .c-invoice{width:174px}.contracts-table .c-total{width:100px}.contracts-table .c-owner{width:148px}.contracts-table th{padding-left:10px;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.contracts-table td{padding-left:10px;padding-right:10px;line-height:1.4}.contracts-table.selectable th:first-child,.contracts-table.selectable td:first-child{padding-right:0}.contracts-table td.cell-status{padding-right:4px}.contracts-table .num{padding-left:4px}.contracts-table tbody tr.selected td{background:var(--row-selected)}.contracts-table td.num{font-weight:650}.contracts-table .cell-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.record-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:5px;min-width:0;white-space:nowrap}.contracts-table .badge{height:auto;min-height:24px;padding-top:3px;padding-bottom:3px;line-height:1.25;white-space:normal}.record-sub .mono{font-size:11.5px;color:var(--muted)}.state-code{font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.record-alias{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-dates{white-space:nowrap}.contracts-table .cell-note{display:block;margin-top:3px;font-size:12px;line-height:1.35;color:var(--muted)}.contracts-table .cell-note.late{color:var(--warn-fg);font-weight:650}.contracts-table .cell-note.soon{color:var(--warn-fg)}.contracts-table .cell-note.overdue{color:var(--danger-text);font-weight:650}.contracts-table .cell-note.due{color:var(--warn-fg);font-weight:700}.invoice-line{display:flex;align-items:center;gap:8px;margin-top:4px;white-space:nowrap}.invoice-line .cell-note{margin-top:0}.owner{position:relative;display:flex;align-items:center;gap:8px;min-width:0}.owner-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--rule-soft);color:var(--text-2);font-size:10.5px;font-weight:700}.list-card .table-foot .legend{gap:8px 18px;font-size:12.5px;color:var(--text-3)}.list-card .table-foot .legend>span{display:inline-flex;align-items:center;gap:8px}.pager{display:inline-flex;align-items:center;gap:6px}.pager>span{padding:0 6px;white-space:nowrap}.pager .icon-button.bordered{width:34px;height:34px;padding:0;border-radius:9px}.pager .icon-button.bordered:hover:not(:disabled){background:var(--head-bg)}.pager .icon-button.bordered:disabled{opacity:1;border-color:var(--rule);color:var(--disabled-text)}.org-table{min-width:820px}.org-table td{white-space:nowrap}.org-table td.cell-title{font-size:14px;font-weight:600;white-space:normal}.org-table .state-code{font-size:12.5px;color:var(--text-2)}.org-table .pd-id{color:var(--text-2)}.org-table .text-link{padding:4px 6px;margin:-4px -6px;border-radius:var(--radius-tag)}.org-form .req{color:var(--danger-text)}.org-form .pipedrive{display:grid;gap:8px;justify-items:start}.org-form .pd-results{list-style:none;margin:0;padding:0;width:100%;border:1px solid var(--rule-soft);border-radius:var(--radius)}.org-form .pd-results button{width:100%;border:0;background:transparent;padding:8px 12px;text-align:left}.org-form .pd-results li+li{border-top:1px solid var(--rule-soft)}.org-form .pd-results button:hover{background:var(--emerald-tint)}.org-form .pipedrive{margin-top:4px;padding:14px 16px;border:1px solid var(--rule);border-radius:var(--radius-inner);background:var(--head-bg)}.org-form .pipedrive small{font-size:12.5px;line-height:1.45}.org-form .pd-results{background:var(--raised);border-color:var(--rule)}.org-form fieldset:disabled input:not([type=checkbox]),.org-form fieldset:disabled select{background-color:var(--rule-soft);color:var(--text-2);opacity:1}.org-form .dialog-actions>small{flex:1 1 0;min-width:160px;font-size:12.5px;line-height:1.4}.org-form .dialog-actions>small+.spacer{display:none}@media(max-width:1360px){.contracts-table th,.contracts-table td{padding-left:8px;padding-right:8px}.contracts-table td.cell-status{padding-right:4px}.contracts-table .num{padding-left:4px}.contracts-table .c-status{width:124px}.contracts-table .c-term{width:160px}.contracts-table .c-renewal{width:116px}.contracts-table .c-invoice{width:170px}.contracts-table .c-total{width:98px}.contracts-table .c-owner{width:74px}.contracts-table .owner-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}@media(max-width:1100px){.contracts-table{min-width:1040px}}@media(max-width:768px){.list-toolbar .toolbar-select{flex:1 1 auto}.list-toolbar .spacer{display:none}.bulk-bar{padding-left:16px}.bulk-bar .spacer{flex-basis:100%;height:0}}.dialog.panel{margin:0 0 0 auto;width:min(980px,100vw);max-width:100vw;height:100%;max-height:100%;border-radius:0;overflow:hidden;overflow:clip;background:var(--raised);box-shadow:-24px 0 48px #09161140}.dialog.panel[open]{display:flex;flex-direction:column}.dialog.panel .panel-head{flex:none;display:flex;align-items:flex-start;gap:16px;padding:22px 28px 18px;border-bottom:1px solid var(--rule)}.dialog.panel .panel-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.dialog.panel .panel-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.dialog.panel .panel-title h2{font-size:26px;line-height:1.15;overflow-wrap:anywhere}.dialog.panel .panel-title .product{height:22px;padding:0 8px;font-size:12px}.dialog.panel .panel-heading>small{font-size:13px;color:var(--muted)}.dialog.panel .panel-close{flex:none;width:44px;height:44px;padding:0}.dialog.panel .panel-form{flex:1;min-height:0;display:flex;flex-direction:column}.dialog.panel .panel-body{flex:1;min-height:0;display:grid;grid-template-columns:196px minmax(0,1fr)}.dialog.panel .section-menu{display:flex;flex-direction:column;gap:2px;padding:18px 10px 18px 14px;background:var(--head-bg);border-right:1px solid var(--rule-soft);overflow-y:auto}.dialog.panel .section-menu a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 8px;border-radius:9px;color:var(--text-2);font-size:13.5px;font-weight:500;text-decoration:none}.dialog.panel .section-menu a:hover{background:var(--rule-soft);color:var(--text)}.dialog.panel .section-menu a:focus-visible{outline-offset:-2px}.dialog.panel .section-menu .section-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #b8c3be;border-radius:50%;font-size:11px;font-weight:700;line-height:1}.dialog.panel .section-menu a.active{background:var(--emerald-tint);color:var(--emerald-text);font-weight:650}.dialog.panel .section-menu a.active .section-num{border-color:var(--contracted-border)}.dialog.panel .panel-content{position:relative;flex:1;min-width:0;min-height:0;overflow-y:auto;padding:8px 28px 28px;scroll-padding-top:8px}.dialog.panel .panel-content section{display:flex;flex-direction:column;gap:16px;padding:22px 0;border-top:1px solid var(--rule-soft);scroll-margin-top:4px}.dialog.panel .panel-content>section:first-child,.dialog.panel .panel-content fieldset>section:first-child,.dialog.panel .record-name+section{border-top:0;padding-top:18px}.dialog.panel .panel-content fieldset>section:last-child{padding-bottom:6px}.dialog.panel .section-title{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.25}.dialog.panel .section-title .section-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--emerald-tint);color:var(--emerald-text);font-family:var(--sans);font-size:12.5px;font-weight:700;line-height:1}.dialog.panel .section-head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.dialog.panel .contracted-total{font-size:13.5px;color:var(--text-3);white-space:nowrap}.dialog.panel .contracted-total strong{margin-left:6px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--text)}.dialog.panel .panel-content>.error,.dialog.panel .panel-content>.notice{margin:18px 0 0}.dialog.panel .panel-content section>.error{margin:0}.dialog.panel .parse-banner{display:flex;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid var(--info-border);border-radius:var(--radius-inner);background:var(--info-bg);color:var(--info-fg);font-size:13.5px;line-height:1.5}.dialog.panel .parse-banner svg{flex:none;margin-top:1px}.dialog.panel .parse-banner p{margin-top:4px;color:inherit}.dialog.panel .form-grid{gap:0 16px}.dialog.panel .form-grid>.field{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:6px;align-content:start;margin:0 0 16px}.dialog.panel .form-grid>.field>span{align-self:end}.dialog.panel section>.form-grid:last-child{margin-bottom:-16px}.dialog.panel section>.field{margin:0}.dialog.panel .req{color:var(--danger-text)}.dialog.panel .wheel-fields{padding-top:16px;border-top:1px dashed var(--rule)}.dialog.panel .derived{display:flex;gap:1px;min-height:42px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--rule);overflow:hidden}.dialog.panel .derived>div{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:3px 12px;background:var(--head-bg)}.dialog.panel .derived span{font-size:11.5px;font-weight:600;line-height:1.25;color:var(--muted)}.dialog.panel .derived b{font-size:14px;font-weight:650;line-height:1.3;white-space:nowrap}.dialog.panel .year-ribbon{display:flex;align-items:flex-end;gap:8px;height:132px;padding:0 2px}.dialog.panel .year-ribbon>div{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px}.dialog.panel .year-ribbon i{display:block;border-radius:6px 6px 2px 2px;background:var(--emerald)}.dialog.panel .year-ribbon .forecast i{border:1px dashed var(--forecast-border);background:var(--hatch-bar)}.dialog.panel .ribbon-amount,.dialog.panel .ribbon-year{text-align:center;font-size:12px;white-space:nowrap}.dialog.panel .ribbon-amount{font-weight:650;color:var(--contracted-text)}.dialog.panel .year-ribbon .forecast .ribbon-amount{color:var(--forecast-text)}.dialog.panel .ribbon-amount .short{display:none}.dialog.panel .ribbon-year{color:var(--text-3)}.dialog.panel .term-table{border:1px solid var(--rule);border-radius:var(--radius-inner);overflow:hidden}.dialog.panel .term-table th{padding:9px 10px;border-bottom:0}.dialog.panel .term-table td{padding:8px 10px;border-top:1px solid var(--rule);border-bottom:0}.dialog.panel .term-table th:first-child,.dialog.panel .term-table td:first-child{padding-left:14px}.dialog.panel .term-table th:last-child,.dialog.panel .term-table td:last-child{padding-right:14px}.dialog.panel .term-table .t-year{font-weight:650;white-space:nowrap}.dialog.panel .term-table .t-act{width:46px;text-align:right}.dialog.panel .term-table .t-act .icon-button{width:32px;height:32px;padding:0}.dialog.panel .term-table select.type-tag{width:auto;min-height:28px;height:28px;padding:0 26px 0 8px;border:1px solid var(--contracted-border);border-radius:var(--radius-tag);background-color:var(--contracted-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%230b4f37' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;color:var(--contracted-text);font-size:12px;font-weight:650}.dialog.panel .term-table select.type-tag:disabled{padding-right:8px;background-image:none;cursor:default}.dialog.panel .term-table input[type=date]{width:100%;min-width:136px;min-height:34px;height:34px;padding:0 8px;border-radius:9px;font-size:13.5px}.dialog.panel .term-table .currency-field{display:inline-flex;width:132px;height:34px;padding:0 10px;border:1px solid var(--control-border);border-radius:9px}.dialog.panel .term-table .currency-field input{min-height:0;height:32px;font-weight:600;color:var(--text)}.dialog.panel .add-year-row td{padding:12px 14px}.dialog.panel .add-year{min-height:38px;padding:0 14px;border-radius:9px;vertical-align:middle}.dialog.panel .add-year-note{margin-left:12px;font-size:12.5px;color:var(--muted);vertical-align:middle}.dialog.panel .forecast-divider td{padding:9px 14px;border-top:1px dashed var(--forecast-border);background:var(--hatch-note);color:var(--forecast-text);font-size:12.5px}.dialog.panel .forecast-row td{padding-top:9px;padding-bottom:9px;border-top-color:#f3e6cc;background:var(--forecast-row);color:var(--forecast-text)}.dialog.panel .forecast-row .t-year{font-weight:600}.dialog.panel .forecast-row .t-rec{padding-right:21px;font-weight:600}.dialog.panel .forecast-row .t-one{padding-right:24px;color:var(--muted)}.dialog.panel .term-note td{padding:10px 14px;background:var(--head-bg);color:var(--muted);font-size:12.5px}.dialog.panel .record-row td{padding-top:10px;padding-bottom:10px}.dialog.panel .upload-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;border:1.5px dashed var(--control-border);border-radius:var(--radius-inner);background:var(--head-bg)}.dialog.panel .file-tile{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--raised);color:var(--text-3)}.dialog.panel .file-text{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}.dialog.panel .file-text>b,.dialog.panel .file-text>a{font-size:14px;font-weight:600;overflow-wrap:anywhere}.dialog.panel .file-text small{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.dialog.panel .file-actions{display:flex;flex-wrap:wrap;gap:6px}.dialog.panel .file-actions label.btn:has(:focus-visible){outline:2px solid var(--emerald);outline-offset:2px}.dialog.panel .record-notes>span{display:block;margin-bottom:4px;font-size:12px;color:var(--muted)}.dialog.panel .record-notes>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.dialog.panel .panel-foot{flex:none;padding:14px 28px;border-top:1px solid var(--rule);background:var(--raised)}.dialog.panel .panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.dialog.panel .panel-actions>.btn{min-height:44px;padding:0 18px;font-size:14px}.dialog.panel .panel-actions>.btn.primary{font-weight:650}.dialog.panel .panel-actions>.delete-contract{padding:0 12px}.dialog.panel .unsaved{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.dialog.panel .unsaved:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--forecast-border)}.dialog.panel .soft-warning{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--rule-soft)}.dialog.panel .warn-tile{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);background:var(--warn-bg);color:var(--warn-icon)}.dialog.panel .soft-warning>div{min-width:0;display:flex;flex-direction:column;gap:12px}.dialog.panel .soft-warning p{font-size:14px;line-height:1.5;color:var(--text-2)}.dialog.panel .soft-warning .btn.text{padding:0 12px;color:var(--text)}.dialog.panel .record-name{padding-top:18px;font-size:13.5px;color:var(--muted)}.dialog.panel .record-name+section{padding-top:12px}.dialog.panel .detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px 24px;margin:0}.dialog.panel .detail-grid dt{margin-bottom:4px;font-size:12px;color:var(--muted)}.dialog.panel .detail-grid dd{margin:0;font-size:14px;overflow-wrap:anywhere}.dialog.panel .detail-grid dd small{display:block;margin-top:2px}.dialog.panel .record-history{border-top:1px solid var(--rule-soft)}.dialog.panel .record-history>summary{display:flex;align-items:center;gap:8px;min-height:52px;list-style:none}.dialog.panel .record-history>summary::-webkit-details-marker{display:none}.dialog.panel .record-history>summary:hover{color:var(--emerald-hover)}.dialog.panel .record-history>summary svg{flex:none;transition:transform .15s ease-out}.dialog.panel .record-history[open]>summary svg{transform:rotate(90deg)}.dialog.panel .record-history[open]{padding-bottom:22px}.dialog.panel .record-history>.detail-grid{padding-top:4px}.dialog.panel .record-history>p{margin-top:16px;font-size:12.5px}.dialog.contract-delete .confirm-body .mono{font-size:13px}@media(max-width:1200px){.dialog.panel .panel-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.dialog.panel .section-menu{flex-direction:row;gap:4px;padding:8px 16px;border-right:0;border-bottom:1px solid var(--rule-soft);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.dialog.panel .section-menu a{flex:none;white-space:nowrap}}@media(max-width:768px){.dialog.panel{width:100vw}.dialog.panel .panel-head{gap:8px;padding:14px 10px 14px 16px}.dialog.panel .panel-title h2{font-size:22px}.dialog.panel .section-menu{padding:8px 12px}.dialog.panel .panel-content{padding:4px 16px 24px}.dialog.panel .panel-foot{padding:12px 16px}.dialog.panel .panel-actions{row-gap:0}.dialog.panel .panel-actions>.spacer{order:1;flex:0 0 100%;height:10px}.dialog.panel .panel-actions>.unsaved{margin-left:auto}.dialog.panel .panel-actions>.btn:not(.text){order:2;flex:1 1 0;padding:0 12px}.dialog.panel .detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.dialog.panel .year-ribbon{gap:4px}.dialog.panel .ribbon-amount,.dialog.panel .ribbon-year{font-size:11px}.dialog.panel .ribbon-amount .long{display:none}.dialog.panel .ribbon-amount .short{display:inline}.dialog.panel .term-table thead{display:none}.dialog.panel .term-table table,.dialog.panel .term-table tbody,.dialog.panel .term-table tr,.dialog.panel .term-table td{display:block}.dialog.panel .term-table tbody:first-of-type>tr:first-child{border-top:0}.dialog.panel .term-table tr{border-top:1px solid var(--rule)}.dialog.panel .term-table td{border-top:0}.dialog.panel .term-table tr.forecast-divider{border-top:1px dashed var(--forecast-border)}.dialog.panel .term-table tr.term-row,.dialog.panel .term-table tr.forecast-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px 12px;padding:12px 14px}.dialog.panel .term-table tr.term-row td,.dialog.panel .term-table tr.forecast-row td{min-width:0;padding:0!important;border:0;text-align:left}.dialog.panel .term-table tr.term-row{grid-template-areas:"year act" "type start" "rec one"}.dialog.panel .term-table tr.record-row{grid-template-areas:"year type" "start start" "rec one"}.dialog.panel .term-table tr.forecast-row{grid-template-areas:"year type" "start rec";background:var(--forecast-row);border-top-color:#f3e6cc}.dialog.panel .term-table .t-year{grid-area:year;align-self:center}.dialog.panel .term-table .t-type{grid-area:type}.dialog.panel .term-table .t-start{grid-area:start}.dialog.panel .term-table .t-rec{grid-area:rec}.dialog.panel .term-table .t-one{grid-area:one}.dialog.panel .term-table .t-act{grid-area:act;width:auto;justify-self:end;align-self:center}.dialog.panel .term-table .record-row .t-type,.dialog.panel .term-table .forecast-row .t-type,.dialog.panel .term-table .forecast-row .t-rec{justify-self:end;align-self:center}.dialog.panel .term-table .forecast-row .t-one,.dialog.panel .term-table .forecast-row .t-act{display:none}.dialog.panel .term-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.dialog.panel .term-table select.type-tag{width:100%;height:34px}.dialog.panel .term-table input[type=date]{min-width:0}.dialog.panel .term-table .currency-field{width:100%}.dialog.panel .add-year-note{display:block;margin:8px 0 0}}.billing{display:flex;flex-direction:column;gap:18px}.billing .billing-head{margin-bottom:0}.billing .billing-head .page-title{align-items:center;gap:10px}.billing .billing-head .page-title>span{display:contents}.billing .billing-head h1{margin:0 4px;min-width:7.1em;text-align:center}.billing .this-month{display:inline-flex;align-items:center;height:28px;margin-left:6px;padding:0 10px;border:0;border-radius:14px;background:var(--rule-soft);color:var(--text-3);font-size:12.5px;font-weight:600;white-space:nowrap}.billing .this-month:disabled{opacity:1;cursor:default}.billing .this-month:not(:disabled){background:var(--emerald-tint);color:var(--emerald-text)}.billing .this-month:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--emerald-border)}.billing .billing-head .page-actions{gap:12px 18px}.billing .approval-progress{display:flex;flex-direction:column;gap:6px;min-width:200px;font-size:13px;color:var(--text-3)}.billing .approval-progress b{color:var(--text);font-weight:700}.billing .approval-progress .progress-track{height:6px;border-radius:3px}.billing .billing-summary{display:flex;flex-wrap:wrap;gap:14px}.billing .billing-summary .stat{flex:1 1 260px}.billing .billing-summary .stat-name .badge{padding:0 7px;font-size:12px}.billing .billing-total{background:var(--ink);border-color:var(--ink);color:#fff}.billing .billing-total .stat-name{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.billing .billing-total small{color:var(--hero-dim)}.billing .status-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;border-bottom:1px solid var(--rule)}.billing .status-tabs button{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--text-3);font-size:13.5px;font-weight:600;white-space:nowrap}.billing .status-tabs button:hover:not(.active){background:var(--paper);color:var(--text)}.billing .status-tabs button.active{background:var(--text);color:#fff}.billing .status-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--rule-soft);color:var(--text-3);font-size:11.5px;font-weight:700}.billing .status-tabs button.active .status-count{background:var(--brass);color:#1b1608}.billing .billing-table{table-layout:fixed;min-width:1000px}.billing .billing-table .c-year{width:136px}.billing .billing-table .c-status{width:156px}.billing .billing-table .c-date{width:160px}.billing .billing-table .c-amount{width:176px}.billing .billing-table .c-notes{width:18%}.billing .billing-table td{padding:10px 12px;vertical-align:top}.billing .billing-table td:first-child{padding:12px 12px 12px 20px}.billing .billing-table td:last-child{padding-right:20px}.billing .billing-table tbody tr.focused{background:var(--row-selected)}.billing .org-link{color:var(--text);font-size:14px;font-weight:600;line-height:1.35;text-decoration-color:var(--muted-2);overflow-wrap:anywhere}.billing .org-link:hover{color:var(--emerald-text);text-decoration-color:currentColor}.billing .billing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px}.billing .billing-meta .mono{font-size:11.5px;color:var(--muted)}.billing .billing-table .billing-year{padding-top:14px;white-space:nowrap}.billing .year-cell{display:inline-flex;align-items:center;gap:8px}.billing .year-cell b{font-weight:650}.billing .status-pill{position:relative;display:flex;align-items:center;color:var(--text-2)}.billing .status-pill select{width:100%;height:34px;min-height:34px;padding:0 28px 0 12px;border:1px solid var(--control-border);border-radius:17px;background:var(--neutral-bg);color:inherit;font-size:13px;font-weight:650}.billing .status-pill option{background:var(--raised);color:var(--text)}.billing .status-pill svg{position:absolute;right:10px;pointer-events:none}.billing .status-pill.reviewed{color:var(--info-fg)}.billing .status-pill.reviewed select{background:var(--info-bg);border-color:var(--info-border)}.billing .status-pill.approved{color:#fff}.billing .status-pill.approved select{background:var(--emerald);border-color:var(--emerald)}.billing .audit-stamp{display:block;margin-top:5px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing .billing-table td input.date-input,.billing .billing-table td input.notes-input{width:100%;height:36px;min-height:36px;padding:0 10px;border-radius:9px;font-size:13.5px}.billing .billing-table .currency-field{display:inline-flex;width:150px;max-width:100%;height:36px;gap:6px;padding:0 10px;border:1px solid var(--control-border);border-radius:9px;background:var(--raised);vertical-align:top}.billing .billing-table .currency-field>span{color:var(--muted);font-size:13px}.billing .billing-table td input.currency-input{flex:1;height:34px;min-height:34px;font-size:13.5px;font-weight:600;color:var(--text)}.billing .billing-table .currency-field:focus-within{outline:2px solid var(--emerald);outline-offset:2px}.billing .last-yr{display:block;margin-top:5px;text-align:right;font-size:12px;color:var(--muted)}.billing .last-yr b{font-weight:650}.billing .last-yr .up{color:var(--emerald-text)}.billing .last-yr .down{color:var(--danger-text)}.billing .billing-table .field-error{margin-top:6px}.billing .row-conflict{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;border:1px solid var(--warn-note-border);border-radius:var(--radius);background:var(--warn-note-bg);color:var(--forecast-text)}.billing .row-conflict>span{flex-basis:100%;font-size:12px;line-height:1.4}.billing .row-conflict .btn{min-height:28px;padding:0 10px;font-size:12px}.billing .keyboard-legend{padding:12px 20px}.billing .legend-keys{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.billing .legend-keys>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.billing .keyboard-legend kbd{padding:2px 6px;border:1px solid var(--control-border);border-bottom-width:2px;border-radius:5px;background:var(--raised);color:var(--text);font-family:var(--mono);font-size:11px;line-height:1.35}.billing .save-state{display:inline-flex;align-items:center;gap:6px}.billing .save-state i{width:7px;height:7px;border-radius:50%;background:var(--active-dot)}.billing .save-state.saving i{background:var(--muted-2)}.billing .billing-approve .approval-years{width:100%}.billing .billing-approve .approval-years td{padding:10px 4px;font-weight:400}.billing .billing-approve .approval-years td:first-child{padding-left:14px}.billing .billing-approve .approval-years td:last-child{padding-right:14px}.billing .billing-approve .approval-years .year{font-weight:600}.billing .billing-approve .approval-years .when{color:var(--muted);white-space:normal}.billing .billing-approve .approval-years .changing .year b,.billing .billing-approve .approval-years .changing .num{font-weight:700}.billing .billing-approve .approval-years .changing .when{color:var(--text-2)}.billing .billing-approve .tag-change{gap:6px}.billing .billing-approve .tag-change svg{color:var(--active-fg)}.billing .billing-approve .lock-note{color:var(--forecast-text);font-size:13px;line-height:1.5}.billing .billing-export .dialog-body>p:first-child{margin-bottom:16px;color:var(--text-2);line-height:1.55}.billing .billing-export .hint{margin:0;line-height:1.5}.billing .billing-export .error{margin:14px 0 0}@media(max-width:1360px){.billing .billing-table{min-width:940px}.billing .billing-table .c-year{width:112px}.billing .billing-table .billing-year{white-space:normal}.billing .year-cell{flex-wrap:wrap;row-gap:4px}.billing .billing-table .c-date{width:156px}.billing .billing-table .c-amount{width:168px}.billing .billing-table .c-notes{width:17%}}@media(max-width:768px){.billing .billing-head .page-actions{width:100%;justify-content:space-between}.billing .status-tabs button{height:44px}.billing .keyboard-legend{padding:12px 16px}.billing .billing-approve .approval-years td:nth-child(2){white-space:normal}.billing .billing-approve .tag-change{flex-wrap:wrap;gap:4px 6px}}.forecast-page{display:flex;flex-direction:column;gap:18px}.forecast-page>.page-head{margin-bottom:0}.forecast-page .card-head h2{font-size:21px}.forecast-page .card-head select{min-height:38px;padding:0 34px 0 12px;font-size:13.5px;background-position:right 10px center}.forecast-page .card-head .btn{min-height:38px}.forecast-page .annual-chart{padding:22px 24px 18px}.forecast-page .annual-chart>.card-head{padding:0;margin-bottom:18px;gap:10px 20px}.forecast-page .annual-chart .card-head-group{gap:10px 20px}.forecast-page .chart{--plot-h: 300px;--scale-h: 236px;display:grid;grid-template-columns:48px minmax(702px,1fr);column-gap:10px;align-items:start;overflow-x:auto;padding:4px;margin:-4px}.forecast-page .chart-axis{position:relative;height:var(--plot-h);font-size:11.5px;line-height:1;color:var(--muted)}.forecast-page .chart-axis span{position:absolute;right:6px;transform:translateY(50%);white-space:nowrap}.forecast-page .chart-plot{position:relative;min-width:0}.forecast-page .chart-grid{position:absolute;top:0;left:0;right:0;height:calc(var(--plot-h) + 1.5px);border-bottom:1.5px solid var(--text);pointer-events:none}.forecast-page .gridline{position:absolute;left:0;right:0;height:1px;background:var(--rule-soft)}.forecast-page .chart-bars{position:relative;display:flex;gap:10px}.forecast-page .bar-column{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border-radius:8px 8px 0 0}.forecast-page .bar-column:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.forecast-page .bar-area{height:var(--plot-h);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-radius:8px 8px 0 0}.forecast-page .bar-column.current-year .bar-area{background:var(--row-selected)}.forecast-page .bar-label{display:flex;flex-direction:column;align-items:center;line-height:1.2;white-space:nowrap}.forecast-page .bar-label b{font-size:12px;font-weight:700;color:var(--text)}.forecast-page .bar-label span{min-height:14px;margin-bottom:4px;font-size:11px;font-weight:600;color:var(--warn-icon)}.forecast-page .bar-stack{width:62%;max-width:64px;display:flex;flex-direction:column}.forecast-page .forecast-bar{background:var(--hatch-bar);border:1px dashed var(--forecast-border);border-bottom:0}.forecast-page .actual-bar{background:var(--emerald)}.forecast-page .bar-stack>:first-child{border-radius:4px 4px 0 0}.forecast-page .bar-year{margin-top:9.5px;text-align:center;font-size:12.5px;font-weight:500;color:var(--text-3)}.forecast-page .bar-column.current-year .bar-year{font-weight:700;color:var(--emerald-text)}.forecast-page .annual-values{margin-top:14px;border-top:1px solid var(--rule-soft)}.forecast-page .annual-values>summary{width:fit-content;padding:12px 0 0;font-size:13.5px}.forecast-page .annual-values .table-scroll{max-width:560px;margin-top:12px;border:1px solid var(--rule);border-radius:var(--radius-inner)}.forecast-page .annual-values td{padding:9px 12px}.forecast-page .annual-values tbody th{background:transparent;color:var(--text);font-size:13.5px;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--rule-soft)}.forecast-page .annual-values tbody tr:last-child th{border-bottom:0}.forecast-page .monthly-card>.card-head{align-items:flex-start;padding:18px 22px;gap:12px 20px}.forecast-page .monthly-card>.card-head>.card-head-group{flex:1 1 360px;min-width:0}.forecast-page .view-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius);background:var(--rule-soft)}.forecast-page .view-toggle button{height:32px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--text-3);font-size:13px;font-weight:600;white-space:nowrap}.forecast-page .view-toggle button:hover:not(.active){color:var(--text)}.forecast-page .view-toggle button.active{background:var(--raised);color:var(--text);font-weight:650;box-shadow:0 1px 2px #11201b1f}.forecast-page .monthly-card .scroll-hint{padding:0 22px 10px}.forecast-page .forecast-scroll{max-height:560px;overscroll-behavior:contain}.forecast-page .monthly-table{min-width:1100px;border-collapse:separate;border-spacing:0;font-size:12px}.forecast-page .monthly-table.focus{min-width:600px;max-width:820px}.forecast-page .monthly-table.focus td,.forecast-page .monthly-table.focus thead tr:nth-child(2) th:not(:first-child){width:12%}.forecast-page .monthly-table th,.forecast-page .monthly-table td{padding:8px 5px;border-bottom:0;background:var(--raised);color:var(--text);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap}.forecast-page .monthly-table tr>:first-child{position:sticky;left:0;z-index:1}.forecast-page .monthly-table thead th{position:sticky;top:0;z-index:2}.forecast-page .monthly-table thead tr>:first-child{z-index:3}.forecast-page .monthly-table .month-groups th{height:30px;padding:6px 4px;text-align:center;font-size:11.5px;font-weight:600;color:var(--muted)}.forecast-page .monthly-table .month-groups th:first-child{padding:0}.forecast-page .monthly-table .month-groups th.cur-month{padding:6px 2px;border-radius:8px 8px 0 0;background:var(--emerald-tint);color:var(--emerald-text);font-weight:700}.forecast-page .monthly-table thead tr:nth-child(2) th{top:30px;padding:10px 5px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--head-bg);color:var(--text-3);font-size:12px;font-weight:600}.forecast-page .monthly-table thead tr:nth-child(2) th:first-child{padding:10px 8px 10px 22px;color:var(--muted);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase}.forecast-page .monthly-table thead tr:nth-child(2) th.cur-month{background:var(--emerald-tint);color:var(--emerald-text);font-weight:700}.forecast-page .monthly-table tbody th,.forecast-page .monthly-table tbody td{border-top:1px solid var(--rule-soft)}.forecast-page .monthly-table tbody th{padding:8px 8px 8px 22px;text-align:left}.forecast-page .monthly-table td.cur-month{background:var(--row-selected)}.forecast-page .monthly-table td.zero{color:var(--muted)}.forecast-page .monthly-table .section-row th{position:static;padding:14px 22px 8px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:15px;font-weight:600}.forecast-page .monthly-table tbody tr:first-child th{border-top:0}.forecast-page .monthly-table .section-row th>span{position:sticky;left:22px;display:inline-block}.forecast-page .monthly-table .total-row>*{border-top:1.5px solid var(--text);background:var(--head-bg);font-weight:700}.forecast-page .monthly-table .total-row>td.cur-month{background:var(--active-bg)}.forecast-page .monthly-card .table-foot{padding:12px 22px}@media(max-width:1360px){.forecast-page .monthly-table tr>:first-child:not([colspan]){box-shadow:1px 0 var(--rule)}}@media(max-width:768px){.forecast-page .annual-chart{padding:18px 16px 14px}.forecast-page .monthly-card>.card-head{padding:16px}.forecast-page .view-toggle button{height:40px}.forecast-page .monthly-card .scroll-hint{padding:0 16px 10px}.forecast-page .monthly-table thead tr:nth-child(2) th:first-child,.forecast-page .monthly-table tbody th{padding-left:16px}.forecast-page .monthly-table .source-col{width:128px}.forecast-page .monthly-table thead tr:nth-child(2) th:first-child,.forecast-page .monthly-table tbody th:not([colspan]){white-space:normal}.forecast-page .monthly-table .section-row th{padding-left:16px;padding-right:16px}.forecast-page .monthly-table .section-row th>span{left:16px}.forecast-page .monthly-card .table-foot{padding:12px 16px}}.metrics .metrics-head{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.metrics .section-tabs{position:sticky;top:var(--header-h);z-index:5;display:flex;gap:26px;margin:-24px -32px 24px;padding:0 32px;background:var(--raised);border-bottom:1px solid var(--rule);border-image:linear-gradient(var(--raised) calc(100% - 1px),var(--rule) 0) fill 0 / 0 / 0 100vw 0 0;overflow-x:auto;scrollbar-width:thin}.metrics .section-tabs a{flex:none;display:inline-flex;align-items:center;height:50px;padding:0 2px;border-bottom:2.5px solid transparent;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}.metrics .section-tabs a:hover{color:var(--text)}.metrics .section-tabs a.active{color:var(--text);font-weight:650;border-bottom-color:var(--emerald)}.metrics .section-tabs a:focus-visible{outline-offset:-2px;border-radius:4px}.metrics>section{scroll-margin-top:136px}.metrics>section+section{margin-top:40px}.metrics>.retention-card{margin-top:24px}.metrics-panel{display:flex;flex-direction:column;gap:18px;min-width:0}.metrics .quality{margin:0}.metrics .section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0}.metrics .section-head h2{font-size:32px;line-height:1.1;letter-spacing:-.01em}.metrics .section-head>span{font-size:14px;color:var(--muted)}.metrics .scorecard-head{align-items:center;gap:10px 16px}.metrics .scorecard-head select{width:auto;height:40px;min-height:40px;padding:0 34px 0 14px;font-size:14px;font-weight:650}.metrics .kpi-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.metrics .panel-lede{max-width:780px;margin-top:-6px;font-size:13.5px;line-height:1.5;color:var(--text-3)}.metrics .section-note{font-size:12.5px;line-height:1.5;color:var(--muted)}.metrics .score-board{--tile-label: #e2eae6;--tile-rule: rgba(255, 255, 255, .1);--group-rule: rgba(214, 181, 106, .45);--lq-bg: rgba(157, 183, 245, .12);--lq-border: rgba(157, 183, 245, .55);--lq-text: #c5d5fa;--ttm-bg: rgba(143, 217, 180, .12);--ttm-border: rgba(143, 217, 180, .55);--ttm-text: #b4e8cd;--partial-bg: rgba(240, 201, 120, .16);--partial-border: rgba(240, 201, 120, .5);--partial-text: #f2d28f;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--ink);border-radius:var(--radius-hero);overflow:hidden;color:#fff}.metrics .score-group{display:flex;flex-direction:column;min-width:0;padding:22px 24px 10px}.metrics .score-group+.score-group{border-left:1px solid var(--ink-line)}.metrics .score-group h3{margin:0 0 6px;padding-bottom:12px;border-bottom:1px solid var(--group-rule);font-family:var(--sans);font-size:12px;font-weight:650;line-height:1.45;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.metrics .score-tile{display:flex;justify-content:space-between;gap:14px;padding:18px 0}.metrics .score-tile+.score-tile{border-top:1px solid var(--tile-rule)}.metrics .score-main{display:flex;flex-direction:column;min-width:0}.metrics .score-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--tile-label)}.metrics .score-main strong{margin-top:6px;font-family:var(--serif);font-size:42px;font-weight:600;line-height:1.05;color:#fff;white-space:nowrap}.metrics .score-main small{margin-top:6px;font-size:12.5px;line-height:1.45;color:var(--hero-dim)}.metrics .score-board .kpi-pills{flex:none;padding-top:2px}.metrics .score-board .kpi-pill{height:24px;padding:0 9px;border-radius:12px}.metrics .score-board .kpi-pill.lq{background:var(--lq-bg);border-color:var(--lq-border);color:var(--lq-text)}.metrics .score-board .kpi-pill.ttm{background:var(--ttm-bg);border-color:var(--ttm-border);color:var(--ttm-text)}.metrics .score-board .partial{background:var(--partial-bg);border-color:var(--partial-border);color:var(--partial-text)!important;font-size:11px!important}.metrics .retention-card,.metrics .mix-card,.metrics .kpi-cells{overflow:hidden}.metrics .retention-card .card-head{padding:18px 22px;border-bottom:1px solid var(--rule)}.metrics .retention-card .card-head-group{gap:10px}.metrics .retention-card .card-head h2{font-size:21px}.metrics .inline-select{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:var(--text-3)}.metrics .inline-select select{width:auto;height:36px;min-height:36px;padding:0 30px 0 12px;border-radius:9px;font-size:13.5px;font-weight:650;background-position:right 10px center;background-size:14px}.metrics .method-tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:14px;background:var(--rule-soft);color:var(--text-2);font-size:12.5px;font-weight:600;line-height:1.3}.metrics .metric-cells,.metrics .kpi-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule)}.metrics .metric-cells>div,.metrics .kpi-cells>.stat{display:flex;flex-direction:column;gap:6px;min-width:0;padding:20px 22px;border:0;border-radius:0;background:var(--raised)}.metrics .metric-cells .stat-name,.metrics .kpi-cells .stat-name{font-size:14px;font-weight:600;color:var(--text-2)}.metrics .metric-cells strong,.metrics .kpi-cells strong{font-size:36px;line-height:1.1}.metrics .metric-cells small,.metrics .kpi-cells small{font-size:12.5px;line-height:1.5;color:var(--muted)}.metrics .table-foot{padding:12px 22px;line-height:1.5}.metrics .detail-table{border-top:1px solid var(--rule)}.metrics .detail-table summary{padding:14px 22px;color:var(--emerald-text);font-weight:600;cursor:pointer}.metrics .detail-table summary:hover{background:var(--head-bg)}.metrics .detail-table summary:focus-visible{outline-offset:-2px}.metrics .detail-table .table-scroll{max-height:420px;overflow-y:auto;border-top:1px solid var(--rule)}.metrics .detail-table thead th{position:sticky;top:0;z-index:1}.metrics .revenue-mix{display:grid;gap:16px;padding:22px}.metrics .mix-row{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(170px,auto);align-items:center;gap:16px}.metrics .mix-name{font-size:14px;font-weight:600}.metrics .mix-row>.num{font-size:13.5px;font-weight:600}.metrics .realization-tables{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:18px}.metrics .realization-stack{display:flex;flex-direction:column;gap:18px;min-width:0}.metrics .realization-empty{padding:0 22px 22px;color:var(--muted)}.metrics .market-table{min-width:820px}.metrics .market-table td:first-child{white-space:nowrap}.metrics .delta-up{color:var(--emerald)}.metrics .delta-down{color:var(--danger)}@media(max-width:1200px){.metrics .metric-cells,.metrics .kpi-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics .score-main strong{font-size:36px}}@media(max-width:900px){.metrics .score-board{grid-template-columns:1fr}.metrics .score-group+.score-group{border-left:0;border-top:1px solid var(--ink-line)}.metrics .realization-tables{grid-template-columns:1fr}}@media(max-width:768px){.metrics .section-tabs{top:var(--header-h);gap:22px;margin:-16px -16px 16px;padding:0 16px}.metrics>section+section{margin-top:32px}.metrics>.retention-card{margin-top:20px}.metrics .section-head h2{font-size:26px}.metrics-panel,.metrics .realization-stack,.metrics .realization-tables{gap:16px}.metrics .quality{align-items:flex-start}.metrics .quality svg{margin-top:2px}.metrics .quality>span{flex:1 1 calc(100% - 34px)}.metrics .quality .text-link{margin-left:34px}.metrics .score-group{padding:18px 18px 6px}.metrics .score-main strong{font-size:34px}.metrics .metric-cells,.metrics .kpi-cells{grid-template-columns:1fr}.metrics .metric-cells>div,.metrics .kpi-cells>.stat{padding:16px 18px}.metrics .metric-cells strong,.metrics .kpi-cells strong{font-size:30px}.metrics .retention-card .card-head,.metrics .revenue-mix{padding:16px 18px}.metrics .table-foot,.metrics .detail-table summary{padding-left:18px;padding-right:18px}.metrics .mix-row{grid-template-columns:80px minmax(0,1fr);gap:6px 14px}.metrics .mix-row>.num{grid-column:1 / -1;text-align:left}}.admin{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.admin>.page-head{margin:0}.admin>section{scroll-margin-top:136px}.admin-tabs{position:sticky;top:var(--header-h);z-index:5;display:flex;gap:26px;margin:-24px -32px 8px;padding:0 32px;background:var(--raised);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none}.admin-tabs a{flex:none;display:inline-flex;align-items:center;height:50px;padding:0 2px;border-bottom:2.5px solid transparent;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}.admin-tabs a:hover{color:var(--text)}.admin-tabs a.active{color:var(--text);font-weight:650;border-bottom-color:var(--emerald)}.admin-tabs a:focus-visible{outline-offset:-2px}.admin-card-body{padding:0 22px 22px}.admin-intro{max-width:80ch;font-size:13px;line-height:1.5;color:var(--muted)}.admin-card .form-grid{max-width:720px}.admin-card form>.field-error{margin:-4px 0 14px}.admin-card .error{margin:14px 0 0}.employee-add{display:grid;gap:6px;max-width:460px;margin-top:16px}.employee-add>label{font-size:13px;font-weight:600;color:var(--text)}.employee-add-row{display:flex;gap:8px}.employee-add-row input{flex:1;min-width:0}.employee-add-row .btn{min-height:42px}.employee-table,.employee-empty,.audit-table{border-top:1px solid var(--rule)}.employee-table th.num{width:120px}.employee-table th:last-child{width:1%}.employee-table td{padding-top:8px;padding-bottom:8px}.employee-name{font-weight:600}.employee-table .btn.text{min-height:34px}.admin-note{display:flex;align-items:flex-start;gap:12px}.admin-note-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--emerald-tint);color:var(--emerald-text)}.admin-note p{max-width:80ch;padding-top:7px;line-height:1.55;color:var(--text-2)}.audit-table{max-height:520px;overflow:auto}.audit-table thead th{position:sticky;top:0;z-index:1}.audit-table td{vertical-align:top}.audit-time,.audit-record{white-space:nowrap}.audit-record .mono{color:var(--text-3)}.audit-change summary{cursor:pointer;color:var(--emerald-text);font-weight:600}.audit-change pre{max-width:480px;max-height:300px;overflow:auto;margin:8px 0 0;padding:10px 12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--head-bg);font-family:var(--mono);font-size:11.5px;line-height:1.5;white-space:pre-wrap}.admin-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding:16px 22px;border-top:1px solid var(--rule-soft)}.admin-row:last-child{padding-bottom:20px}.admin-row h3{font-size:14px;font-weight:650}.admin-row p{margin-top:3px;font-size:13px;line-height:1.5;color:var(--muted)}.admin-row p b{color:var(--text-2);font-weight:650}.clear-dialog .confirm-body{padding:24px 26px 20px;gap:12px}.clear-dialog .confirm-type{margin:0}.clear-dialog .confirm-type input{min-height:42px;padding:0 12px;font-family:var(--mono);font-size:14px;letter-spacing:.06em}.clear-dialog .error{margin:0}.import-instructions{display:grid;justify-items:start;gap:8px;margin-bottom:14px;padding:14px 16px;border:1px solid var(--rule);border-radius:var(--radius-inner);font-size:13px;line-height:1.55;color:var(--text-2)}.import-instructions .text-link{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:13.5px}.upload-box{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px;padding:18px 20px;border:1.5px dashed var(--control-border);border-radius:var(--radius-inner);background:var(--head-bg)}.upload-tile{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-inner);background:var(--emerald-tint);color:var(--emerald-text)}.upload-text{flex:1 1 240px;min-width:0;display:grid;gap:2px}.upload-text b{font-size:14px;font-weight:650;overflow-wrap:anywhere}.upload-text small{font-size:12.5px;line-height:1.45}.upload-box label.btn{background:var(--raised)}.upload-box label.btn:focus-within{outline:2px solid var(--emerald);outline-offset:2px}.import-dialog .error{margin:14px 0 0}.import-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.import-count{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:13px;background:var(--neutral-bg);color:var(--neutral-fg);font-size:12.5px;font-weight:650;white-space:nowrap}.import-count:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--neutral-dot)}.import-count.new{background:var(--active-bg);color:var(--active-fg)}.import-count.new:before{background:var(--active-dot)}.import-count.update{background:var(--info-bg);color:var(--info-fg)}.import-count.update:before{background:var(--info-dot)}.import-count.invalid{background:var(--danger-bg);color:var(--danger-text)}.import-count.invalid:before{background:var(--danger-dot)}.import-fix{margin-left:4px;font-size:13px;font-weight:600;color:var(--danger-text)}.import-dialog .preview-scroll,.price-dialog .preview-scroll{max-height:340px;overflow:auto;border:1px solid var(--rule);border-radius:var(--radius-inner)}.import-dialog .preview-scroll thead th,.price-dialog .preview-scroll thead th{position:sticky;top:0;z-index:1}.import-table td{padding-top:10px;padding-bottom:10px;border-bottom-color:#11201b12}.import-table .row-new td{background:var(--row-selected)}.import-table .row-update td{background:var(--info-bg)}.import-table .row-error td{background:var(--danger-bg)}.import-kind{font-size:12.5px;font-weight:650}.row-new .import-kind{color:var(--active-fg)}.row-update .import-kind{color:var(--info-fg)}.row-error .import-kind,.row-error .import-note{color:var(--danger-text)}.row-error .import-note,.import-org{font-weight:600}.import-note .mono{color:var(--text-2)}.price-table td{padding-top:10px;padding-bottom:10px}.price-table tr.capped td{background:var(--forecast-row)}.price-table td:first-child{min-width:200px}.price-org{font-weight:600}.price-table small.mono{margin-top:3px;font-size:11.5px}.price-applied{font-weight:650}.price-cap{min-width:120px;margin-top:3px;white-space:normal;color:var(--forecast-text);font-weight:600}.price-date{white-space:nowrap}.price-notes{display:grid;gap:8px;margin-top:14px}.price-notes .hint{margin:0;font-size:12.5px;line-height:1.5}.price-capped{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border:1px solid var(--warn-note-border);border-radius:var(--radius-inner);background:var(--warn-note-bg);color:#4a3300;font-size:13px;line-height:1.5}.price-capped svg{flex:none;margin-top:2px;color:var(--warn-icon)}.price-dialog .error{margin:14px 0 0}.ask-chat{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--radius-inner);background:var(--raised);overflow:hidden}.ask-thread{display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:360px;overflow-y:auto;padding:16px}.ask-thread:has(>.ask-empty){min-height:0}.ask-empty{margin:auto;padding:20px 0 4px;display:grid;justify-items:center;gap:10px;max-width:400px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--muted)}.ask-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-inner);background:var(--emerald-tint);color:var(--emerald-text)}.ask-dialog .bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}.ask-dialog .bubble.user{align-self:flex-end;border-bottom-right-radius:4px;background:var(--emerald-tint);color:var(--emerald-text)}.ask-dialog .bubble.assistant{align-self:flex-start;border:1px solid var(--rule-soft);border-bottom-left-radius:4px;background:var(--head-bg);color:var(--text)}.ask-dialog .bubble>b{display:block;margin-bottom:2px;font-size:11.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.ask-dialog .bubble.user>b{color:var(--emerald-text)}.ask-dialog .bubble p{white-space:pre-wrap}.ask-dialog .bubble p+p,.ask-dialog .bubble ul{margin-top:6px}.ask-dialog .bubble ul{margin-bottom:0;padding-left:20px}.ask-dialog .suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 16px 16px}.ask-dialog .chip-button{min-height:32px;padding:5px 13px;border:1px solid var(--control-border);border-radius:16px;background:var(--raised);color:var(--text-2);font-size:13px;font-weight:550;text-align:left}.ask-dialog .chip-button:hover:not(:disabled){border-color:var(--emerald);background:var(--emerald-tint);color:var(--emerald-text)}.ask-chat>.error{margin:0 16px 12px}.ask-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--rule);background:var(--head-bg)}.ask-input input{flex:1;min-width:0}.ask-input .btn{min-height:42px}.chat-dialog textarea{min-height:132px;line-height:1.5}.chat-dialog .error{margin:0}@media(max-width:768px){.admin-tabs{top:var(--header-h);gap:20px;margin:-16px -16px 4px;padding:0 16px}.admin-tabs a{min-height:44px}.admin>section{scroll-margin-top:132px}.admin-card .card-head,.admin-card-body,.admin-row{padding-left:16px;padding-right:16px}.employee-add{max-width:none}.employee-table th.num{width:auto}.price-table td:first-child{min-width:160px}.upload-box{padding:16px}.upload-box label.btn{width:100%}.ask-dialog .bubble{max-width:92%}.ask-thread{padding:12px}.ask-dialog .suggestions{justify-content:flex-start;padding:0 12px 12px}}@media(max-width:1360px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1200px){.account-who{display:none}}@media(max-width:1100px)and (min-width:769px){.sidebar{width:72px;padding:22px 12px}.brand{padding:0;justify-content:center}.brand>div,.sidebar button span,.nav-group{display:none}.sidebar nav>div+div{margin-top:0}.sidebar button{justify-content:center;padding:0}.sidebar button small{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;font-size:10px}.workspace{margin-left:72px}.saving,.toast{left:calc(50% + 36px)}}@media(max-width:768px){:root{--header-h: 65px}.sidebar{display:none;width:min(300px,86vw)}.sidebar.expanded{display:flex;box-shadow:var(--shadow-xl)}.navigation-backdrop{display:block;position:fixed;inset:0;z-index:15;border:0;background:#0916118c}.workspace{margin-left:0}.hamburger{display:inline-flex!important}.header{padding:10px 16px;gap:10px}.global-search{display:none}main{padding:16px 16px 32px}.page-title h1{font-size:26px}.stats-five,.stats-three,.stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel,.form-grid,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.search{width:100%}.saving,.toast{left:50%}.scroll-hint{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
