.gwchat{position:fixed;right:22px;bottom:18px;z-index:44;font:inherit}.gwchat-launcher{border:1px solid #17633d;border-radius:999px;background:#17633d;color:#fff;padding:12px 17px;display:flex;align-items:center;gap:9px;font:inherit;font-weight:650;box-shadow:0 8px 30px #0a352040;cursor:pointer}.gwchat-launcher:hover,.gwchat-launcher:focus-visible{background:#10512f}.gwchat-launcher svg{width:22px;height:22px}.gwchat-panel{position:absolute;bottom:60px;right:0;width:min(420px,calc(100vw - 24px));height:min(620px,calc(100dvh - 100px));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 18px 60px #00000040;overflow:hidden}.gwchat-head{display:flex;align-items:center;gap:6px;padding:13px 14px;background:#12532e;color:#fff}.gwchat-head div{min-width:0;flex:1}.gwchat-head strong,.gwchat-head small{display:block}.gwchat-head small{opacity:.8;font-size:11px}.gwchat-head button{border:0;background:transparent;color:#fff;font-size:23px;width:30px;height:30px;line-height:1;cursor:pointer}.gwchat-head button:hover,.gwchat-head button:focus-visible{background:#fff2;border-radius:8px}.gwchat-messages{flex:1;min-height:0;overflow-y:auto;padding:14px;overscroll-behavior:contain}.gwchat-welcome{display:flex;flex-direction:column;gap:8px}.gwchat-welcome p{margin:0 0 8px;color:var(--muted)}.gwchat-welcome button{width:100%;text-align:left;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:11px;cursor:pointer}.gwchat-welcome button:hover{border-color:var(--brand)}.gwchat-message{margin:0 0 13px;padding:10px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}.gwchat-message.user{background:var(--brand-soft);margin-left:32px}.gwchat-message.assistant{background:var(--surface-2);border:1px solid var(--border);margin-right:12px}.gwchat-role{font-size:11px;font-weight:700;color:var(--brand);margin-bottom:4px}.gwchat-message p{margin:0;line-height:1.45}.gwchat-message small{display:block;margin-top:7px;color:var(--muted)}.gwchat-message details{margin-top:8px;color:var(--muted);font-size:12px}.gwchat-message summary{cursor:pointer}.gwchat-message ul{margin:6px 0 0;padding-left:18px}.gwchat-working{color:var(--muted);padding:8px 3px}.gwchat-form{border-top:1px solid var(--border);padding:11px;display:grid;grid-template-columns:1fr auto;gap:8px}.gwchat-form textarea{min-width:0;width:100%;min-height:48px;max-height:120px;resize:vertical;padding:9px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.gwchat-form>button{align-self:end;border:0;border-radius:9px;background:#17633d;color:#fff;padding:11px 14px;font:inherit;font-weight:650;cursor:pointer}.gwchat-form>button:disabled{opacity:.5;cursor:default}.gwchat-form>small{grid-column:1 / -1;color:var(--muted);line-height:1.2;font-size:11px}.gwchat-error{grid-column:1 / -1;color:#b42318}.gwchat-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (max-width: 600px){.gwchat{right:10px;bottom:10px}.gwchat-panel{width:calc(100vw - 20px);height:min(660px,calc(100dvh - 80px))}.gwchat-launcher span{display:none}.gwchat-launcher{padding:13px}}:root{--bg: #f4f6f3;--surface: #ffffff;--surface-2: #f8faf7;--border: #e2e8e0;--text: #15201a;--muted: #5d6b62;--brand: #166534;--brand-strong: #14532d;--brand-soft: #dcfce7;--accent: #b45309;--up: #15803d;--down: #b91c1c;--warn: #b45309;--info: #1d4ed8;--shadow: 0 1px 2px rgba(16, 24, 20, .05), 0 4px 16px rgba(16, 24, 20, .04);--radius: 12px;--sidebar: #0f2e1d;--sidebar-text: #cfe3d6;color-scheme:light}:root[data-theme=dark]{--bg: #0c1210;--surface: #131b17;--surface-2: #18221d;--border: #25312b;--text: #e6ede8;--muted: #93a39a;--brand: #4ade80;--brand-strong: #22c55e;--brand-soft: #173524;--accent: #f59e0b;--up: #4ade80;--down: #f87171;--warn: #fbbf24;--info: #93c5fd;--shadow: none;--sidebar: #0a1510;--sidebar-text: #b8cdbf;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.up{color:var(--up)}.down{color:var(--down)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:16px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100%;transition:grid-template-columns .2s ease}.shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:14px 10px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;min-width:0;height:100dvh;overflow:hidden}.sidebar .brand,.sidebar .side-foot{flex-shrink:0}.sidebar .nav{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}.sidebar .spacer{min-height:0}.brand{display:flex;gap:10px;align-items:center;padding:4px 8px 16px;color:#fff;min-width:0}.brand small{display:block;color:var(--sidebar-text);font-size:11px;font-weight:400}.brand b{font-size:15px;letter-spacing:.2px}.brand>div{min-width:0;overflow:hidden;white-space:nowrap}.sidebar-toggle{margin-left:auto;flex:none;border:0;border-radius:7px;padding:6px;color:var(--sidebar-text);background:transparent;cursor:pointer}.sidebar-toggle:hover{color:#fff;background:#ffffff14}.sidebar-toggle svg{width:18px;height:18px;display:block}.nav-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;opacity:.55;padding:14px 10px 4px}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--sidebar-text);font-weight:500}.nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav a:hover{background:#ffffff0f;color:#fff}.nav a.active{background:#86efac24;color:#fff}.nav svg{width:17px;height:17px;flex:none}.nav-sub-dot{width:7px;height:7px;margin-left:3px;border:1px solid currentColor;border-radius:50%;flex:none;opacity:.7}.sidebar.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .brand>div,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-text,.sidebar.collapsed .side-foot{display:none}.sidebar.collapsed .sidebar-toggle{margin-left:0}.sidebar.collapsed .nav a{justify-content:center;padding-left:8px;padding-right:8px;position:relative}.sidebar.collapsed .nav a.sub{padding-left:8px}.sidebar.collapsed .nav-sub-dot{margin-left:0}.sidebar.collapsed .badge-count{position:absolute;top:1px;right:3px;padding:0 4px}.badge-count{margin-left:auto;background:#f59e0b;color:#111;font-size:11px;font-weight:700;border-radius:99px;padding:0 7px}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:9px 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.content{padding:16px 18px 32px;max-width:1440px;width:100%}.page-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head p{margin:2px 0 0;color:var(--muted)}.menu-btn,.sidebar-backdrop{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid>*{min-width:0}.g-kpi{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.g-2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-3-1{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.g-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.kpi .label{color:var(--muted);font-size:12px;font-weight:500}.kpi .value{font-size:26px;font-weight:650;margin:2px 0;letter-spacing:-.3px}.kpi .sub{font-size:12px;color:var(--muted)}.chart-box{position:relative;height:300px}.chart-box.tall{height:360px}.chart-box.short{height:220px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 12px;border-radius:8px;font:inherit;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--brand)}:root[data-theme=dark] .btn.primary{color:#06140c}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--down)}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{position:relative;border:0;background:transparent;color:var(--text);cursor:pointer;padding:6px;border-radius:8px}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:20px;height:20px;display:block}.icon-btn .dot{position:absolute;top:1px;right:0;min-width:17px;height:17px;border-radius:9px;background:var(--down);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 4px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 10px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 35%,transparent);border-color:var(--brand)}textarea{resize:vertical;min-height:80px}label.field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--muted)}label.field>input,label.field>select,label.field>textarea{color:var(--text);font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.check{display:inline-flex;align-items:center;gap:6px;font-size:13px}.seg{display:inline-flex;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.seg button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:6px 14px;border-radius:7px;cursor:pointer}.seg button.on{background:var(--brand-strong);color:#fff;box-shadow:var(--shadow)}:root[data-theme=dark] .seg button.on{color:#06140c}.seg.lg button{padding:8px 20px;font-size:15px}.seg button small{display:block;font-size:10px;font-weight:500;opacity:.8}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--muted);font-weight:500}.chip.on{color:var(--text);border-color:currentColor}.chip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);position:sticky;top:0;font-weight:600}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}td.r,th.r{text-align:right}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}.heat td.cell{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border)}.pill.HG{background:#e0f2fe;color:#075985;border-color:#bae6fd}.pill.LG{background:#fef3c7;color:#92400e;border-color:#fde68a}.pill.MG{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.pill.HIGH,.pill.REJECTED,.pill.DISABLED{background:#fee2e2;color:#991b1b;border-color:#fecaca}.pill.MEDIUM,.pill.PENDING,.pill.IN_PROGRESS{background:#fef3c7;color:#92400e;border-color:#fde68a}.pill.LOW,.pill.OPEN{background:#e0f2fe;color:#075985;border-color:#bae6fd}.pill.DONE,.pill.APPROVED{background:#dcfce7;color:#166534;border-color:#bbf7d0}.pill.special{background:#7c2d12;color:#fff;border-color:#7c2d12}:root[data-theme=dark] .pill:not(.special){filter:saturate(.8) brightness(.9)}.alert{padding:10px 12px;border-radius:8px;border:1px solid;font-size:13px}.alert.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}.alert.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.empty{padding:30px;text-align:center;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding:5vh 16px;overflow:auto}.modal{background:var(--surface);border-radius:14px;width:min(680px,100%);box-shadow:0 20px 60px #00000040}.modal.wide{width:min(900px,100%)}.modal-head{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.dropdown{position:absolute;right:0;top:calc(100% + 6px);width:360px;max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #0000002e;z-index:40}.notif{padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.notif.unread{background:color-mix(in srgb,var(--brand) 7%,transparent)}.notif:hover{background:var(--surface-2)}.list-item{padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer}.list-item:hover{background:var(--surface-2)}.list-item.sel{background:color-mix(in srgb,var(--brand) 9%,transparent)}.comment{padding:10px 12px;background:var(--surface-2);border-radius:10px}.auth-wrap{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.auth-hero{background:radial-gradient(circle at 20% 20%,#1f7a44,#0f2e1d 70%);color:#eafff1;padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-hero h1{font-size:34px;color:#fff;max-width:460px}.auth-form{display:grid;place-items:center;padding:32px}.auth-form .card{width:min(400px,100%);padding:28px}@media (max-width: 1100px){.g-3-1,.g-actions,.g-3{grid-template-columns:1fr}}@media (max-width: 860px){.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;z-index:60;width:250px;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000059;border:0}.sidebar.collapsed{width:250px}.sidebar.collapsed .brand{justify-content:flex-start;padding-left:8px;padding-right:8px}.sidebar.collapsed .brand>div,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-text,.sidebar.collapsed .side-foot{display:block}.sidebar.collapsed .nav a{justify-content:flex-start;padding-left:10px;padding-right:10px}.sidebar.collapsed .sidebar-toggle{margin-left:auto}.menu-btn{display:inline-flex}.content{padding:16px}.topbar{padding:10px 16px}.g-2{grid-template-columns:minmax(0,1fr)}.auth-wrap{grid-template-columns:1fr}.auth-hero{display:none}.dropdown{position:fixed;left:16px;right:16px;top:56px;width:auto}.who,.hide-sm{display:none!important}.page-head>*{max-width:100%}.seg.lg button{padding:7px 12px}.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi .value{font-size:20px}.card{padding:12px}.page-head h1{font-size:20px}}.seg.sm button{padding:4px 10px;font-size:12px}.chip.solid.on{background:var(--brand-strong);color:#fff;border-color:var(--brand-strong)}:root[data-theme=dark] .chip.solid.on{color:#06140c}label.field.inline{flex-direction:row;align-items:center;gap:8px}.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow:visible}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 11px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.tabs button:hover{color:var(--text)}.chart-title{text-align:center;font-size:15px;letter-spacing:.02em;margin-bottom:6px}.stat-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:2px 0 6px;font-size:13px;color:var(--info)}.stat-strip b{color:var(--text)}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.grid-table th,.grid-table td{padding:4px 6px;font-size:12px;border:1px solid var(--border)}.grid-table th{text-transform:none;letter-spacing:0}.grid-table td.c,.grid-table th.c{text-align:center}.rank-table tr.group-end td,.rank-table tr.group-end th{border-bottom:2px solid var(--muted)}.rank-table th.sel{color:var(--brand)}.mix-table th,.mix-table td{padding:5px 8px;font-size:12.5px}.mix-table .group-row td{font-weight:700;background:color-mix(in srgb,var(--brand) 7%,transparent);cursor:pointer}.mix-table .total-row td{font-weight:700;background:color-mix(in srgb,#facc15 22%,transparent)}.mix-table td.indent{padding-left:26px}.mix-table .total-col{border-left:2px solid var(--border)}.mix-table td.b{font-weight:700}.mix-table td.info{color:var(--info)}.twisty{font-size:14px}.bar-cell{display:inline-flex;align-items:center;gap:6px;min-width:90px;justify-content:flex-end}.bar-cell i{display:inline-block;height:8px;border-radius:4px;opacity:.75;max-width:60px}.seg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.seg-card{color:#fff!important;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);display:block}.seg-card:hover{filter:brightness(1.08)}.seg-card .big{font-size:26px;font-weight:700;margin:6px 0 2px;letter-spacing:-.3px}.seg-card small{opacity:.8}.seg-card .op{opacity:.85;margin-top:4px}.seg-card .chg{font-weight:700;margin-left:4px}.pre{white-space:pre-wrap;margin:6px 0 0;font-size:12px;font-family:ui-monospace,monospace}.comment.restricted{border-left:3px solid var(--warn)}.composer{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.composer textarea{border:0;padding:4px}.attach-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attach{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:4px 8px 4px 4px;cursor:pointer;font:inherit;color:var(--text);max-width:260px}.attach img{width:48px;height:48px;object-fit:cover;border-radius:6px}.attach svg{width:18px;height:18px;margin-left:4px}.attach span{display:flex;flex-direction:column;text-align:left;font-size:12px;overflow:hidden}.attach small{color:var(--muted)}.btn svg{width:14px;height:14px}.pill.SAMPLE,.pill.SEED{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.gw-head{display:grid;grid-template-columns:auto minmax(250px,1fr) minmax(420px,560px);align-items:center;gap:12px;margin-bottom:10px;padding:9px 12px}.gw-segments,.gw-title{min-width:0}.grade-type-filter{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}.grade-type-filter .seg,.grade-type-filter .seg button.on{box-shadow:none}.gw-head .seg.lg{flex-wrap:nowrap}.gw-head .seg.lg button{padding:7px 16px}.gw-title h1{font-size:19px}.gw-title .row{gap:6px;margin-top:2px}.gw-head-tools{display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;gap:8px;min-width:0}.gw-head-tools .field{margin:0;white-space:nowrap}.gw-head-tools .field:nth-child(2) select{width:100%}.gw-head-tools select{padding:6px 9px}.gw-head-tools .btn{padding:6px 10px}.seasonality-section{margin-top:2px}.seasonality-section>*{min-width:0}.season-toolbar{gap:10px}.season-toolbar h2{margin:0}.season-kpis .value{font-size:22px}.season-kpis .value small{font-size:14px;font-weight:500}.season-context{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.season-kpi{position:relative;overflow:hidden;border-top:3px solid var(--season-color);padding:12px 14px}.season-kpi:after{content:"";position:absolute;width:64px;height:64px;right:-20px;bottom:-28px;border:10px solid color-mix(in srgb,var(--season-color) 10%,transparent);border-radius:50%;pointer-events:none}.season-kpi.blue{--season-color: #2563eb}.season-kpi.green{--season-color: #16a34a}.season-kpi.amber{--season-color: #d97706}.season-kpi.purple{--season-color: #7c3aed}.season-caption{margin:0 0 12px}.season-block{display:block;font-weight:400}.season-table{min-width:640px}.season-table th,.season-table td{vertical-align:middle}.season-winner{max-width:170px;white-space:normal}.season-heatmap{min-width:810px}.season-heatmap td{padding:3px}.heat-cell{display:flex;flex-direction:column;align-items:center;padding:7px 4px;border-radius:6px;color:var(--text)}.heat-cell small{color:var(--muted);font-size:10px}.season-details>summary{cursor:pointer;font-weight:600}.season-detail-head{margin-top:12px}.season-scroll{max-height:400px;overflow:auto}.season-note-cell{white-space:normal;min-width:180px;max-width:270px}.season-rank{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:66px;padding:4px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2)}.season-rank small{margin-top:1px;color:var(--muted);font-variant-numeric:tabular-nums}.season-rank.rank-1{background:color-mix(in srgb,var(--up) 13%,var(--surface));border-color:color-mix(in srgb,var(--up) 45%,var(--border));color:var(--up)}.season-rank.rank-2{background:color-mix(in srgb,var(--info) 12%,var(--surface));border-color:color-mix(in srgb,var(--info) 38%,var(--border));color:var(--info)}.season-rank.rank-3{background:color-mix(in srgb,var(--warn) 12%,var(--surface));border-color:color-mix(in srgb,var(--warn) 42%,var(--border));color:var(--warn)}.season-rank.rank-4{background:color-mix(in srgb,var(--down) 9%,var(--surface));border-color:color-mix(in srgb,var(--down) 25%,var(--border));color:var(--down)}.season-rank.rank-5{background:color-mix(in srgb,var(--down) 18%,var(--surface));border-color:color-mix(in srgb,var(--down) 50%,var(--border));color:var(--down)}.season-notes{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;letter-spacing:.01em;padding:2px 8px;border-radius:99px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge.ok{background:color-mix(in srgb,var(--up) 12%,transparent);border-color:color-mix(in srgb,var(--up) 35%,transparent);color:var(--up)}.badge.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent);color:var(--warn)}.badge.err{background:color-mix(in srgb,var(--down) 12%,transparent);border-color:color-mix(in srgb,var(--down) 35%,transparent);color:var(--down)}.badge.info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 35%,transparent);color:var(--info)}.banner{border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--text);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:13px}.tab-sep{width:1px;align-self:stretch;margin:6px 8px;background:var(--border)}.tabs button.deep{color:var(--muted);font-weight:500}.tabs button.deep.on{color:var(--brand)}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px}.btn.primary{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}.btn.primary:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:none}input.grow{flex:1;min-width:160px}.list{list-style:none;margin:0;padding:0}.list .list-item{display:flex;align-items:center;gap:10px;cursor:default}.list .list-item.link{cursor:pointer}.list .list-item:last-child{border-bottom:0}.dot-level{width:9px;height:9px;border-radius:99px;flex:none;background:var(--muted)}.dot-level.high{background:var(--down)}.dot-level.medium{background:var(--warn)}.dot-level.info{background:var(--info)}.src-card .label{color:var(--muted);font-size:12px;font-weight:500}.src-card .value{font-size:18px;font-weight:650;margin:3px 0}.src-card .sub{font-size:12px}.key-signals{padding:0;overflow:hidden;position:relative}.key-signals:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#2563eb 0,#2563eb 40%,#d97706 40%,#d97706 60%,#7c3aed 60%,#7c3aed 80%,#15803d 80%,#15803d)}.key-signals-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px 8px}.signal-grid{padding:0 12px;gap:8px}.signal-card{--grade-accent: var(--brand);position:relative;min-height:142px;overflow:hidden;border-color:color-mix(in srgb,var(--grade-accent) 48%,var(--border));border-left:3px solid var(--grade-accent)}.signal-card:before,.grade-card:before{content:"";position:absolute;z-index:0;pointer-events:none;width:110px;height:110px;right:-55px;bottom:-58px;border-radius:50%;background:color-mix(in srgb,var(--grade-accent) 11%,transparent)}.signal-card:after,.grade-card:after{content:"";position:absolute;z-index:0;pointer-events:none;width:76px;height:76px;right:-33px;bottom:-42px;border-radius:50%;border:13px solid color-mix(in srgb,var(--grade-accent) 8%,transparent)}.signal-card>*,.grade-card>*{position:relative;z-index:1}.card.hero{background:color-mix(in srgb,var(--grade-accent) 7%,var(--surface));color:var(--text)}.card.hero .label,.card.hero .sub,.card.hero .muted{color:var(--muted)!important}.card.hero .hero-grade{font-size:30px;font-weight:700;letter-spacing:-.5px;margin-top:2px}.card.hero .value{font-size:22px;font-weight:650;margin-top:3px;color:color-mix(in srgb,var(--grade-accent) 82%,var(--text))}.card.hero .up{color:var(--up)}.card.hero .down{color:var(--down)}.signal-icon{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--grade-accent);border:1px solid color-mix(in srgb,var(--grade-accent) 22%,var(--border));background:color-mix(in srgb,var(--grade-accent) 6%,var(--surface))}.signal-caption{margin-top:6px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.grade-pill{display:inline-flex;align-self:flex-start;width:fit-content;margin:5px 0 2px;padding:1px 6px;border-radius:5px;color:var(--grade-accent);background:color-mix(in srgb,var(--grade-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--grade-accent) 24%,transparent);font-size:10px;font-weight:750}.signal-card.kpi .value .up,.signal-card.kpi .value .down{font-size:22px}.key-signals .stat-strip{border-top:1px solid var(--border);margin:8px 0 0;padding:8px 14px;justify-content:space-between}.grade-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.grade-card{--grade-accent: var(--brand);position:relative;overflow:hidden;text-align:left;background:color-mix(in srgb,var(--grade-accent) 3%,var(--surface-2));border:1px solid color-mix(in srgb,var(--grade-accent) 26%,var(--border));border-top:3px solid var(--grade-accent);border-radius:12px;padding:10px 12px 12px;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px}.grade-card:hover{border-color:var(--grade-accent);transform:translateY(-1px)}.grade-card.on{border-color:var(--grade-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--grade-accent) 25%,transparent)}.grade-card .value{font-size:20px;font-weight:650}.grade-card .badge{color:var(--grade-accent);border-color:color-mix(in srgb,var(--grade-accent) 24%,var(--border));background:color-mix(in srgb,var(--grade-accent) 9%,transparent)}.share-label{display:flex;justify-content:space-between;align-items:center;margin-top:4px;color:var(--muted);font-size:10px}.share-label b{color:var(--grade-accent)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sharebar{position:relative;display:block;height:16px;border-radius:4px;background:var(--surface-2);overflow:hidden;min-width:90px}.sharebar-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--grade-accent, var(--brand)) 72%,transparent)}.sharebar b{position:relative;font-size:11px;font-weight:600;padding-left:6px;line-height:16px}.grade-card .sharebar{height:5px;min-width:0;margin-top:1px}.grade-card .sharebar b{display:none}td .sharebar b{padding:0 6px}.card.kpi.elev{text-align:left;cursor:pointer;font:inherit;color:inherit}.card.kpi.elev.on{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 22%,transparent)}.matrix tbody tr{cursor:pointer}.matrix tbody tr.on{background:color-mix(in srgb,var(--brand) 10%,transparent)}.detail-card .facts{margin:0 0 14px;display:grid;gap:0}.facts>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed var(--border)}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:0;font-weight:600;font-size:13px}.chart-title{font-size:12px;font-weight:600;color:var(--muted);margin:4px 0 2px}.doc-card{align-items:flex-start;border:1px solid var(--border);border-radius:10px}.nav a.sub{padding-left:38px;font-size:13px;font-weight:450}.side-foot{padding:8px 10px 0;opacity:.65;line-height:1.5}.seg.commodity{margin-left:6px}@media print{.sidebar,.topbar,.toolbar,.tabs,.banner,.gw-head-tools{display:none!important}.content{padding:0}.card{break-inside:avoid;box-shadow:none}}@media (max-width: 1280px){.gw-head{grid-template-columns:auto minmax(0,1fr)}.gw-head-tools{grid-column:1 / -1;grid-template-columns:auto minmax(220px,1fr) auto}}@media (max-width: 900px){.hide-sm{display:none}.gw-head{grid-template-columns:1fr;gap:8px;padding:10px}.gw-head-tools{grid-column:auto;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) auto}.g-3-1{grid-template-columns:minmax(0,1fr)}}@media (max-width: 600px){.topbar{flex-wrap:wrap;gap:6px;padding:8px 10px}.season-details input[type=file]{min-width:0;max-width:100%}.gw-head .seg.lg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.gw-head .seg.lg button{padding:7px 8px}.gw-head-tools{grid-template-columns:1fr}.gw-head-tools .field.inline{justify-content:space-between}.gw-head-tools .field.inline select{flex:1}.gw-head-tools .btn{justify-content:center}}.stat-strip>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.stat-strip>div b{font-size:15px}.seg.commodity{flex-wrap:nowrap}.g-5{grid-template-columns:repeat(5,minmax(0,1fr))}.intelligence-view{gap:16px}.intelligence-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:end}.intelligence-hero h2{margin:2px 0 4px}.intelligence-hero p{margin:0}.intelligence-hero .full{grid-column:1 / -1}.eyebrow{color:var(--brand);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.intelligence-controls{justify-content:flex-end}.intelligence-kpis .kpi{min-height:126px}.intelligence-kpis .kpi .value{font-size:clamp(18px,1.7vw,25px);line-height:1.12}.brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.brief-item{border:1px solid var(--border);border-left:4px solid var(--info);border-radius:10px;padding:12px 14px;background:color-mix(in srgb,var(--surface) 94%,var(--info) 6%)}.brief-item.positive{border-left-color:var(--up)}.brief-item.watch{border-left-color:var(--warn)}.brief-item b{display:block;margin-bottom:4px}.brief-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.signal-score{display:inline-flex;min-width:48px;justify-content:center;padding:4px 8px;border-radius:999px;font-weight:750;border:1px solid var(--border)}.signal-score.good{color:var(--up);background:color-mix(in srgb,var(--up) 10%,transparent);border-color:color-mix(in srgb,var(--up) 28%,var(--border))}.signal-score.bad{color:var(--down);background:color-mix(in srgb,var(--down) 10%,transparent);border-color:color-mix(in srgb,var(--down) 28%,var(--border))}.signal-score.neutral{color:var(--text);background:var(--surface-2)}.quadrant-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:4px}.quadrant-legend span{border:1px solid var(--border);border-radius:8px;padding:7px 9px;text-align:center}.intelligence-table table{min-width:1120px}.relationship-score{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px;padding:10px 0 16px}.relationship-score span{color:var(--muted)}.relationship-score b{grid-row:1 / 3;grid-column:2;font-size:34px;color:var(--brand)}.relationship-score small{color:var(--muted)}.forecast-panel{min-width:0;padding:4px 2px}.anomaly-list{display:grid;gap:10px}.anomaly-item{border-bottom:1px solid var(--border);padding:4px 0 10px}.anomaly-item:last-child{border-bottom:0}.methodology-card summary{cursor:pointer;-webkit-user-select:none;user-select:none}.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.method-grid>div{border:1px solid var(--border);border-radius:10px;padding:12px}.method-grid b{text-transform:capitalize}.method-grid p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}@media (max-width: 1350px){.g-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.g-5,.intelligence-hero{grid-template-columns:1fr}.intelligence-controls{justify-content:flex-start}.quadrant-legend{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.quadrant-legend{grid-template-columns:1fr}}.grade-id{--grade-accent: var(--brand);display:inline-flex;align-items:center;gap:6px;width:fit-content;color:color-mix(in srgb,var(--grade-accent) 86%,var(--text));background:color-mix(in srgb,var(--grade-accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--grade-accent) 30%,var(--border));border-radius:999px;padding:2px 7px;font-weight:700}.grade-id i{width:8px;height:8px;border-radius:50%;background:var(--grade-accent);flex:0 0 auto}.grade-id.subtle{background:color-mix(in srgb,var(--grade-accent) 6%,transparent);border-color:transparent}.grade-row{--grade-accent: var(--brand);box-shadow:inset 3px 0 color-mix(in srgb,var(--grade-accent) 82%,transparent)}.grade-row>td:first-child{background:color-mix(in srgb,var(--grade-accent) 5%,transparent)}.grade-row:hover>td{background-color:color-mix(in srgb,var(--grade-accent) 7%,var(--surface))!important}.grade-chip{--grade-accent: var(--brand);border-color:color-mix(in srgb,var(--grade-accent) 28%,var(--border))!important}.grade-chip.on{color:color-mix(in srgb,var(--grade-accent) 86%,var(--text))!important;background:color-mix(in srgb,var(--grade-accent) 10%,var(--surface))!important;border-color:var(--grade-accent)!important}.grade-chip i{background:var(--grade-accent)!important}.grade-surface{--grade-accent: var(--brand);border-left:3px solid var(--grade-accent)!important;background:color-mix(in srgb,var(--grade-accent) 5%,var(--surface))}.sharebar{--grade-accent: var(--brand)}.sharebar-fill{background:color-mix(in srgb,var(--grade-accent) 72%,transparent)!important}
