:root{--wf-ink: #0b1b2b;--wf-muted: #4a5b6c;--wf-bg: #ffffff;--wf-surface: #f5f8fb;--wf-line: #d9e3ec;--wf-accent: #0369a1;--wf-accent-deep: #075985;--wf-accent-soft: #e5f1f8;--wf-spark: #e8602c;--wf-ok: #166534;--wf-ok-soft: #e3f4e8;--wf-attention: #8a4b00;--wf-attention-soft: #fdf0d9;--wf-pending: #9a3412;--wf-pending-soft: #ffedd5;--wf-critical: #8e1f0b;--wf-critical-soft: #fee9e8;--wf-neutral: #3d4c5b;--wf-neutral-soft: #eaeff4;--wf-c1: #0369a1;--wf-c2: #0f766e;--wf-c3: #b45309;--wf-c4: #475569;--wf-c5: #9d174d;--wf-c6: #4d7c0f;--wf-s1: 4px;--wf-s2: 8px;--wf-s3: 12px;--wf-s4: 16px;--wf-s5: 24px;--wf-s6: 32px;--wf-s7: 48px;--wf-radius: 12px;--wf-radius-sm: 8px;--wf-shadow: 0 1px 0 rgba(11, 27, 43, .07), 0 1px 3px rgba(11, 27, 43, .12);--wf-target: 44px;--wf-font: Inter, -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--wf-fs-xs: 12px;--wf-fs-sm: 13px;--wf-fs-md: 14px;--wf-fs-lg: 16px;--wf-fs-xl: 20px;--wf-fs-kpi: 24px;--wf-fs-2xl: 32px;--wf-lh-xs: 16px;--wf-lh-md: 20px;--wf-lh-lg: 24px;--wf-lh-kpi: 32px;--wf-fw-regular: 400;--wf-fw-strong: 600;--wf-ls-label: .02em;--wf-ls-tight: -.01em;--wf-num: tabular-nums}@media(max-width:640px){:root{--wf-fs-sm: 14px}}.wf-grid,.wf-grid-2{display:flex;flex-wrap:wrap;gap:var(--wf-s4);align-items:stretch}.wf-grid>*{flex:1 1 min(100%,260px);min-width:0}.wf-grid-2>*{flex:1 1 min(100%,340px);min-width:0}.wf-grid>s-clickable,.wf-grid-2>s-clickable{display:flex}.wf-grid>s-clickable>.wf-card,.wf-grid-2>s-clickable>.wf-card{flex:1 1 auto;height:auto}.wf-grid>.wf-card,.wf-grid-2>.wf-card{height:auto}.wf-card{display:flex;flex-direction:column;gap:var(--wf-s2);height:100%;box-sizing:border-box;padding:var(--wf-s4);background:var(--wf-bg);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow);color:var(--wf-ink);font:inherit;min-width:0}a.wf-card{text-decoration:none;min-height:var(--wf-target)}a.wf-card:hover{box-shadow:0 0 0 2px var(--wf-accent-soft),var(--wf-shadow)}a.wf-card:focus-visible,.wf-link:focus-visible{outline:2px solid var(--wf-accent);outline-offset:2px}.wf-kpi-label{display:flex;align-items:center;gap:var(--wf-s2);font-size:var(--wf-fs-sm);line-height:var(--wf-lh-md);color:var(--wf-muted);font-weight:var(--wf-fw-strong)}.wf-kpi-value{font-size:var(--wf-fs-kpi);line-height:var(--wf-lh-kpi);font-weight:var(--wf-fw-strong);font-variant-numeric:var(--wf-num);letter-spacing:var(--wf-ls-tight)}.wf-kpi-hint{margin-top:auto;font-size:var(--wf-fs-sm);line-height:var(--wf-lh-md);color:var(--wf-muted)}.wf-icon{width:20px;height:20px;flex:none;color:var(--wf-accent)}.wf-chart-title{margin:0;font-size:var(--wf-fs-md);line-height:var(--wf-lh-md);font-weight:var(--wf-fw-strong)}.wf-chart-sub{margin:0;font-size:var(--wf-fs-sm);line-height:var(--wf-lh-md);color:var(--wf-muted)}.wf-chart svg{display:block;width:100%;height:auto;overflow:visible}.wf-chart text{font:inherit;font-size:var(--wf-fs-xs);fill:var(--wf-muted)}.wf-table-wrap{overflow-x:auto;max-width:100%}.wf-table{width:100%;border-collapse:collapse;font-size:var(--wf-fs-sm);line-height:var(--wf-lh-md)}.wf-table th{text-align:left;font-weight:var(--wf-fw-strong);color:var(--wf-muted);padding:var(--wf-s2) var(--wf-s3);border-bottom:1px solid var(--wf-line);white-space:nowrap}.wf-table td{padding:var(--wf-s2) var(--wf-s3);border-bottom:1px solid var(--wf-neutral-soft);vertical-align:top}.wf-table .num,.wf-table th.num{text-align:right;font-variant-numeric:var(--wf-num);white-space:nowrap}.wf-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--wf-fs-xs);line-height:var(--wf-lh-md);font-weight:var(--wf-fw-strong);white-space:nowrap}.wf-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.wf-chip.ok{color:var(--wf-ok);background:var(--wf-ok-soft)}.wf-chip.attention{color:var(--wf-attention);background:var(--wf-attention-soft)}.wf-chip.pending{color:var(--wf-pending);background:var(--wf-pending-soft)}.wf-chip.critical{color:var(--wf-critical);background:var(--wf-critical-soft)}.wf-chip.info{color:var(--wf-accent-deep);background:var(--wf-accent-soft)}.wf-chip.neutral{color:var(--wf-neutral);background:var(--wf-neutral-soft)}.wf-link{color:var(--wf-accent-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font:inherit}.wf-link:hover{color:var(--wf-ink)}.wf-toolbar{display:flex;flex-wrap:wrap;gap:var(--wf-s2);align-items:center;justify-content:space-between}.wf-skel{display:block;border-radius:var(--wf-radius-sm);background:linear-gradient(90deg,var(--wf-neutral-soft),var(--wf-surface),var(--wf-neutral-soft));background-size:200% 100%;animation:wf-shimmer 1.4s ease-in-out infinite}@keyframes wf-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.wf-skel{animation:none}}.wf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wf-copy{flex:1 1 260px;min-width:0;min-height:var(--wf-target);box-sizing:border-box;padding:0 var(--wf-s3);font:inherit;font-size:var(--wf-fs-sm);color:var(--wf-ink);background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:var(--wf-radius-sm)}.wf-copy:focus-visible{outline:2px solid var(--wf-accent);outline-offset:1px}.wf-app-meter,.wf-app-tabs{width:100%;margin:0;padding:8px 22px 0;box-sizing:border-box}.wf-app-tabs{padding-top:0}.wf-ai-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--wf-s2)}.wf-ai-node{position:relative;flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:6px;padding:var(--wf-s4);padding-top:var(--wf-s5);background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:var(--wf-radius)}.wf-ai-node.wf-ai-accent{background:var(--wf-accent-soft);border-color:var(--wf-accent)}.wf-ai-dot{position:absolute;top:14px;left:var(--wf-s4);width:10px;height:10px;border-radius:50%;background:var(--wf-accent)}.wf-ai-arrow{align-self:center;color:var(--wf-muted);font-size:var(--wf-fs-xl);line-height:1}@media(max-width:640px){.wf-ai-arrow{transform:rotate(90deg)}}.wf-hub-tabs{display:flex;flex-wrap:wrap;gap:2px;width:100%;margin:0;padding:0 22px;box-sizing:border-box}.wf-hub-tabs a{display:inline-flex;align-items:center;min-height:var(--wf-target);padding:var(--wf-s2) var(--wf-s3);border-radius:var(--wf-radius-sm) var(--wf-radius-sm) 0 0;color:var(--wf-muted);font:inherit;font-size:var(--wf-fs-sm);font-weight:var(--wf-fw-regular);text-decoration:none;border-bottom:3px solid transparent}.wf-hub-tabs a:hover{color:var(--wf-ink);background:var(--wf-surface)}.wf-hub-tabs a.active,.wf-hub-tabs a[aria-current=page]{color:var(--wf-accent-deep);font-weight:var(--wf-fw-strong);border-bottom-color:var(--wf-accent);background:var(--wf-accent-soft)}.wf-hub-tabs a:focus-visible{outline:3px solid var(--wf-accent);outline-offset:2px}.wf-chart details{margin-top:16px}.wf-season-search{display:block;max-width:420px}.wf-season-search-input{margin-top:4px}.wf-season-bars{display:flex;gap:var(--wf-s1);align-items:flex-end;min-height:64px}.wf-season-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;flex:1;max-width:32px}.wf-season-bar>span{display:block;width:100%;background:var(--wf-accent-deep);border-radius:2px 2px 0 0}.wf-season-bar>em{font-style:normal;font-size:var(--wf-fs-xs);color:var(--wf-muted)}.wf-season-list{border:1px solid var(--wf-line);border-radius:var(--wf-radius);overflow:hidden}.wf-season-row+.wf-season-row{border-top:1px solid var(--wf-line)}.wf-season-row>summary{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) 130px 110px 44px;gap:var(--wf-s2);align-items:center;padding:10px var(--wf-s4);cursor:pointer}.wf-season-row>summary:hover{background:var(--wf-surface)}.wf-season-row>summary::marker{content:""}.wf-season-name{font-weight:var(--wf-fw-strong);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-season-sku,.wf-season-peak{color:var(--wf-muted);font-size:var(--wf-fs-sm)}.wf-season-mode{font-size:var(--wf-fs-xs);font-weight:var(--wf-fw-strong);color:var(--wf-accent-deep)}.wf-season-edit{color:var(--wf-accent-deep);font-size:var(--wf-fs-sm);text-align:right}.wf-season-form{padding:var(--wf-s4);background:var(--wf-surface);display:grid;gap:var(--wf-s3)}.wf-season-mode-pick{max-width:260px;display:grid;gap:4px}.wf-season-months{display:grid;grid-template-columns:repeat(12,minmax(52px,1fr));gap:6px}.wf-season-months label{display:grid;gap:2px;font-size:var(--wf-fs-xs);color:var(--wf-muted)}.wf-season-input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--wf-line);border-radius:8px;background:var(--wf-surface);color:var(--wf-ink);font:inherit;font-size:var(--wf-fs-sm);box-sizing:border-box}.wf-season-input:focus-visible{outline:2px solid var(--wf-accent);outline-offset:1px}@media(max-width:900px){.wf-season-row>summary{grid-template-columns:minmax(140px,2fr) 1fr 44px}.wf-season-sku,.wf-season-peak{display:none}.wf-season-months{grid-template-columns:repeat(6,minmax(48px,1fr))}}@media(max-width:520px){.wf-season-row>summary{grid-template-columns:1fr 44px}.wf-season-mode{display:none}.wf-season-months{grid-template-columns:repeat(4,minmax(48px,1fr))}}.wf-season-save{min-height:44px;padding:0 18px;border:0;border-radius:8px;background:var(--wf-accent);color:#fff;font:inherit;font-size:var(--wf-fs-sm);font-weight:var(--wf-fw-strong);cursor:pointer}.wf-season-save:disabled{opacity:.55;cursor:default}.wf-season-save:focus-visible{outline:2px solid var(--wf-ink);outline-offset:2px}.wf-season-input:disabled{opacity:.75}s-table,s-table-cell,s-table-header,s-badge,.wf-num,.wf-table td,.wf-table th{font-variant-numeric:var(--wf-num)}@media(max-width:640px){s-text:not([type=small]),s-paragraph,s-link,s-table-cell,s-choice,s-checkbox{font-size:var(--wf-fs-md);line-height:var(--wf-lh-md)}}.wf-working{max-width:64ch;font-size:var(--wf-fs-sm);line-height:var(--wf-lh-md);color:var(--wf-muted)}.wf-working p{margin:0 0 var(--wf-s1)}.wf-working summary{display:flex;align-items:center;min-height:var(--wf-target);color:var(--wf-accent-deep);cursor:pointer}.wf-working summary:focus-visible{outline:3px solid var(--wf-accent);outline-offset:2px}
