:root{color-scheme:light;--navy:var(--ink);--navy-dark:var(--ink-2);--navy-light:var(--slate);--accent:var(--ink);--accent-light:var(--paper-2);--success:var(--hunter);--success-bg:var(--hunter-bg);--warn:var(--gold);--warn-bg:var(--gold-bg);--danger:var(--wine);--danger-bg:var(--wine-bg);--neutral:var(--mute);--bg:var(--bone);--surface:var(--paper);--surface-alt:var(--paper-2);--ceremony-bg:#fdf6ec;--ceremony-bg-2:#f5e8d4;--success-strong:#15803d;--warn-strong:#b45309;--danger-strong:#b91c1c;--border:var(--line);--text:var(--ink);--text-light:var(--slate-2);--sidebar-w:250px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:20px;--z-sticky:50;--z-bottom-nav:90;--z-sidebar:100;--z-dropdown:200;--z-modal:500;--z-toast:1000;--z-tooltip:9000;--z-ctx-menu:9100;--z-popup:9200;--z-panel:9500;--z-login:9999;--z-top:10000;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--ink:#1a1a1a;--ink-2:#2a2926;--slate:#4a4944;--slate-2:#5c5a53;--mute:#6f6d67;--bone:#f4f1ec;--paper:#ffffff;--paper-2:#faf7f2;--line:#e6e1d7;--line-strong:#c4bfb3;--gold:#a3761f;--gold-bg:#fbf3dc;--wine:#8a1f1f;--wine-bg:#fbe9e9;--hunter:#2e5a24;--hunter-bg:#e6efde;--info:#1f4e79;--info-bg:#e4ecf4;--fs-body:15px;--fs-small:13px;--fs-micro:11px;--fs-h1:28px;--fs-h2:22px;--fs-h3:17px;--fs-kpi:36px;--fs-kpi-big:40px;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:20px;--gap-6:28px;--row-h:40px;--shadow-card:0 1px 0 rgba(11,11,11,0.04),0 1px 2px rgba(11,11,11,0.04);--surface-0:#efece5;--surface-1:#f4f1ec;--surface-2:#ffffff;--surface-3:#faf7f2;--surface-4:#f5f1e9;--scrim:rgba(0,0,0,0.45);--gold-text:#8a6420;--on-gold:#1f1700;--offline:#b45309;--chart-1:#3b82f6;--chart-2:#8b5cf6;--chart-3:#ec4899;--chart-4:#f59e0b;--chart-5:#10b981;--chart-6:#0ea5e9;--chart-7:#d946ef;--chart-8:#14b8a6;--chart-9:#f97316;--chart-10:#6b7280;--chart-grid:#d4cfc4;--chart-axis:#8f8a7e;--chart-label:#5c5a53;--chart-ref:#b91c1c;--disabled-fg:#a8a49a;--disabled-bg:#efece5;--hover-gold:#b8862b;--sidebar-bg:#ece8e0;--sidebar-fg:#1a1a1a;--sidebar-fg-rgb:26,26,26;--sidebar-line:#d5cfc2;}*{box-sizing:border-box;margin:0;padding:0;}*:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px;}*:focus:not(:focus-visible){outline:none;}input,select,textarea{color:var(--text);}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;}a{text-decoration:none;color:inherit;cursor:pointer;}.skip-link{position:absolute;top:-40px;left:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:var(--z-top);font-size:14px;font-weight:600;border-radius:0 0 var(--radius-sm) 0;transition:top 0.2s;}.skip-link:focus{top:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.layout{display:flex;min-height:100vh;}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-fg);border-right:1px solid var(--sidebar-line);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:var(--z-sidebar);scrollbar-width:thin;scrollbar-color:rgba(var(--sidebar-fg-rgb),0.3) transparent;}.sidebar-logo{padding:18px 16px 14px;border-bottom:1px solid var(--sidebar-line);}.sidebar-logo .brand{font-size:17px;font-weight:700;letter-spacing:0.5px;}.sidebar-logo .sub{font-size:10px;color:rgba(var(--sidebar-fg-rgb),0.62);margin-top:2px;text-transform:uppercase;letter-spacing:1px;}.nav-section{padding:10px 0 4px;}.nav-label{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(var(--sidebar-fg-rgb),0.62);padding:0 14px 5px;}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:8px 14px 3px;color:rgba(var(--sidebar-fg-rgb),0.65);}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;transition:background 0.12s;font-size:12.5px;color:rgba(var(--sidebar-fg-rgb),0.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:36px;}.nav-item:hover{background:rgba(var(--sidebar-fg-rgb),0.05);color:var(--sidebar-fg);}.nav-item:focus-visible{background:rgba(var(--sidebar-fg-rgb),0.12);color:var(--sidebar-fg);outline:3px solid var(--gold);outline-offset:-3px;}.nav-item.active{background:rgba(var(--sidebar-fg-rgb),0.08);color:var(--sidebar-fg);font-weight:600;position:relative;}.nav-item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);}.nav-item .dot{width:6px;height:6px;border-radius:50%;background:rgba(var(--sidebar-fg-rgb),0.4);flex-shrink:0;}.nav-item.active .dot{background:var(--sidebar-fg);}.nav-divider{height:1px;background:rgba(var(--sidebar-fg-rgb),0.08);margin:4px 0;}.sidebar-actions{padding:8px 10px;display:flex;flex-direction:column;gap:5px;}.sidebar-btn{width:100%;padding:9px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;border:1px solid rgba(var(--sidebar-fg-rgb),0.2);background:rgba(var(--sidebar-fg-rgb),0.05);color:rgba(var(--sidebar-fg-rgb),0.85);text-align:left;transition:all 0.15s;display:flex;align-items:center;gap:6px;min-height:40px;}.sidebar-btn:hover{background:rgba(var(--sidebar-fg-rgb),0.12);color:var(--sidebar-fg);border-color:rgba(var(--sidebar-fg-rgb),0.35);}.supplier-search{padding:6px 10px;}.supplier-search input{width:100%;background:rgba(var(--sidebar-fg-rgb),0.06);border:1px solid rgba(var(--sidebar-fg-rgb),0.18);border-radius:6px;padding:6px 10px;color:var(--sidebar-fg);font-size:12px;}.supplier-search input::placeholder{color:rgba(var(--sidebar-fg-rgb),0.6);}.supplier-search input:focus{border-color:var(--accent);background:rgba(255,255,255,0.15);}.search-group-label{color:rgba(255,255,255,0.45) !important;font-size:10px !important;text-transform:uppercase;letter-spacing:0.6px;padding:10px 14px 2px !important;margin:0;}.search-sub{margin-left:auto;font-size:10px;color:rgba(255,255,255,0.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;}.main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:var(--z-sticky);flex-wrap:nowrap;}.topbar-title-group{flex:0 0 auto;min-width:0;}.topbar-title{font-size:14px;font-weight:600;}.topbar-subtitle{font-size:11px;color:var(--text-light);line-height:1.3;display:none;}.topbar-subtitle:not(:empty){display:block;}.year-selector{display:flex;gap:5px;flex-wrap:wrap;align-items:center;flex:1 1 0;min-width:0;}.year-pills-desktop{display:flex;gap:5px;flex-wrap:wrap;align-items:center;}.year-pill{padding:3px 9px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text-light);transition:all 0.12s;user-select:none;}.year-pill:focus-visible{outline:3px solid var(--gold);outline-offset:1px;}.mode-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:20px;border:1px solid var(--border);background:var(--bg);flex-shrink:0;}.mode-switch-btn{appearance:none;border:none;background:transparent;color:var(--text-light);font-size:12px;font-weight:600;padding:4px 12px;min-height:28px;border-radius:20px;cursor:pointer;transition:all 0.12s;font-family:inherit;}.mode-switch-btn:hover:not(.selected){color:var(--text);}.mode-switch-btn.selected{background:var(--navy);color:#fff;}.mode-switch-btn:focus-visible{outline:3px solid var(--gold);outline-offset:1px;}@media (max-width:768px){.mode-switch-btn{padding:4px 10px;font-size:11.5px;}}.year-pill.selected{background:var(--navy);border-color:var(--navy);color:#fff;}.year-pill:hover:not(.selected){border-color:var(--gold);color:var(--gold-text);}.year-filter-btn{display:none;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all 0.12s;white-space:nowrap;}.year-filter-btn:hover,.year-filter-btn:focus-visible{border-color:var(--accent);color:var(--accent);}.year-filter-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}.year-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:var(--navy);color:#fff;font-size:10px;font-weight:700;padding:0 5px;}.year-sheet-overlay{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;}.year-sheet-overlay.open{opacity:1;pointer-events:all;}.year-sheet{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:420px;max-height:70vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.28s ease;}.year-sheet-overlay.open .year-sheet{transform:translateY(0);}.year-sheet-handle{text-align:center;padding:10px 0 4px;cursor:pointer;}.year-sheet-handle span{display:inline-block;width:36px;height:4px;border-radius:2px;background:var(--border);}.year-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:4px 20px 12px;}.year-sheet-header h3{font-size:16px;font-weight:600;margin:0;}.year-sheet-close{background:none;border:none;font-size:22px;color:var(--text-light);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}.year-sheet-close:hover,.year-sheet-close:focus-visible{background:var(--bg);color:var(--text);}.year-sheet-list{padding:0 16px;overflow-y:auto;flex:1;}.year-sheet-option{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:6px;transition:background 0.1s;}.year-sheet-option:last-child{border-bottom:none;}.year-sheet-option:hover,.year-sheet-option:focus-visible{background:var(--accent-light);}.year-sheet-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}.year-sheet-option input{position:absolute;opacity:0;pointer-events:none;}.year-sheet-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;color:transparent;transition:all 0.12s;flex-shrink:0;}.year-sheet-option.selected .year-sheet-check{background:var(--navy);border-color:var(--navy);color:#fff;}.year-sheet-label{font-size:15px;font-weight:500;}.year-sheet-footer{padding:12px 20px 20px;border-top:1px solid var(--border);}.year-sheet-done{width:100%;padding:12px;font-size:14px;border-radius:8px;}.topbar-actions{display:flex;gap:6px;flex-shrink:0;}.btn{padding:6px 13px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;cursor:pointer;border:none;transition:all 0.15s;display:inline-flex;align-items:center;gap:5px;min-height:36px;}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-light);}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--gold);color:var(--gold-text);}.btn-primary{background:var(--navy);color:#fff;}.btn-primary:hover,.btn-primary:focus-visible{background:var(--navy-light);}.btn-success{background:var(--success);color:var(--bone);}.btn-success:hover,.btn-success:focus-visible{background:var(--success-strong);}.btn-sm{padding:4px 9px;font-size:11.5px;}.btn-warn{background:var(--warn);color:var(--bone);}.btn-warn:hover{background:var(--warn-strong);}.btn-print{background:var(--info-bg);color:var(--info);border:1px solid var(--info);}.btn-print:hover,.btn-print:focus-visible{background:var(--info);color:var(--bone);}.btn-print svg{flex:0 0 auto;}.content{padding:20px 24px;flex:1;}.page-header{margin-bottom:16px;}.page-header h1{font-size:20px;font-weight:700;}.page-header p{font-size:12.5px;color:var(--text-light);margin-top:3px;}.ck-eyebrow{font-size:var(--fs-micro);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--slate-2);}.ck-spread{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-3);}.ck-row{display:flex;align-items:center;gap:var(--gap-3);}.ck-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}.ck-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--gap-4);}.ck-section{margin-bottom:var(--gap-5);}.ck-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;min-height:var(--row-h);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:var(--fs-small);font-weight:500;cursor:pointer;transition:background 140ms ease,border-color 140ms ease;}.ck-btn:hover{background:var(--paper-2);border-color:var(--ink);}.ck-btn:disabled,.login-btn:disabled,.nos-btn:disabled,.undo-redo-bar button:disabled{background:var(--disabled-bg);border-color:var(--line);color:var(--disabled-fg);cursor:not-allowed;box-shadow:none;}.ck-btn-sm{min-height:28px;padding:4px 10px;font-size:var(--fs-micro);}.ck-btn-gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold);}.ck-btn-gold:hover{background:var(--hover-gold);border-color:var(--hover-gold);}.ck-kpi-grid{display:grid;gap:var(--gap-3);}.ck-kpi-grid.cols-3{grid-template-columns:repeat(3,1fr);}.ck-kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--gap-3) var(--gap-4);display:flex;flex-direction:column;gap:4px;min-height:84px;}.ck-kpi-label{font-size:var(--fs-micro);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate-2);}.ck-kpi-value{font-size:var(--fs-kpi);line-height:1.05;font-weight:700;letter-spacing:-0.02em;color:var(--ink);font-variant-numeric:tabular-nums;}.ck-kpi-value.big{font-size:var(--fs-kpi-big);}.ck-kpi-sub{font-size:var(--fs-small);color:var(--slate-2);}.ck-kpi.alert{background:var(--gold-bg);border-color:var(--gold);}.ck-kpi.alert .ck-kpi-value,.ck-kpi.alert .ck-kpi-label{color:var(--gold-text);}.ck-diff{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--fs-small);}.ck-diff.up{color:var(--hunter);background:var(--hunter-bg);}.ck-diff.down{color:var(--wine);background:var(--wine-bg);}.ck-diff.zero{color:var(--slate);background:transparent;}.ck-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--fs-micro);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;}.ck-pill.gold{background:var(--gold-bg);color:var(--gold-text);}.ck-pill.wine{background:var(--wine-bg);color:var(--wine);}.ck-pill.hunter{background:var(--hunter-bg);color:var(--hunter);}.ck-pill.info{background:var(--info-bg);color:var(--info);}.ck-pill.gray{background:var(--bone);color:var(--slate);border:1px solid var(--line);}.ck-attention{display:grid;gap:var(--gap-2);}.ck-attention-item{display:grid;grid-template-columns:40px 1fr auto;gap:var(--gap-3);align-items:center;padding:var(--gap-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);}.ck-attention-item.gold{border-left:4px solid var(--gold);}.ck-attention-item.wine{border-left:4px solid var(--wine);}.ck-attention-item.info{border-left:4px solid var(--info);}.ck-attention-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;}.ck-attention-item.gold .ck-attention-icon{background:var(--gold-bg);color:var(--gold-text);}.ck-attention-item.wine .ck-attention-icon{background:var(--wine-bg);color:var(--wine);}.ck-attention-item.info .ck-attention-icon{background:var(--info-bg);color:var(--info);}.ck-attention-headline{font-weight:600;font-size:var(--fs-body);color:var(--ink);margin-bottom:2px;}.ck-attention-detail{font-size:var(--fs-small);color:var(--slate-2);}.ck-attention-detail strong{color:var(--ink);font-weight:600;}.ck-saison-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-3);}.ck-spark{width:100%;height:28px;margin-top:8px;}.ck-hbar{display:grid;grid-template-columns:140px 1fr 90px auto;align-items:center;gap:var(--gap-3);padding:8px 4px;font-size:var(--fs-small);border-bottom:1px solid var(--line);}.ck-hbar:last-child{border-bottom:none;}.ck-hbar-name{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.ck-hbar-track{position:relative;height:16px;background:var(--bone);border-radius:3px;overflow:hidden;}.ck-hbar-fill{position:absolute;inset:0 auto 0 0;background:var(--info);border-radius:3px;}.ck-hbar-fill.alert{background:var(--gold);}.ck-hbar-eur{text-align:right;font-variant-numeric:tabular-nums;color:var(--slate);}.ck-hbar-pct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;min-width:42px;}.sup-compare-toggle{margin:0 0 14px;}.sup-compare-toggle label{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);color:var(--slate);cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper);min-height:36px;}.sup-compare-toggle input{width:16px;height:16px;accent-color:var(--gold);cursor:pointer;}.ck-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;}.ck-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--slate);}.ck-legend-swatch{width:12px;height:12px;border-radius:3px;}.ck-details{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);overflow:hidden;}.ck-details-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-3);padding:var(--gap-3) var(--gap-4);min-height:var(--row-h);cursor:pointer;list-style:none;user-select:none;}.ck-details-summary::-webkit-details-marker{display:none;}.ck-details-summary:hover{background:var(--paper-2);}.ck-details-icon{width:34px;height:34px;border-radius:var(--radius-md);background:var(--info-bg);color:var(--info);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.ck-details-title{display:block;font-size:var(--fs-body);font-weight:600;color:var(--ink);}.ck-details-sub{display:block;font-size:var(--fs-small);color:var(--slate-2);font-weight:400;margin-top:1px;}.ck-details-chev{color:var(--slate-2);transition:transform 160ms ease;flex-shrink:0;}.ck-details[open] .ck-details-chev{transform:rotate(180deg);}.ck-details-body{padding:var(--gap-4);border-top:1px solid var(--line);}@media (max-width:768px){.ck-kpi-grid.cols-3,.ck-saison-grid{grid-template-columns:1fr;}.ck-attention-item{grid-template-columns:40px 1fr;}.ck-attention-item>.ck-btn{grid-column:1 / -1;justify-self:start;}.ck-hbar{grid-template-columns:110px 1fr auto;}.ck-hbar-eur{display:none;}}.stats-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;}.stat-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px;flex:1;min-width:120px;}.stat-box .label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var(--text-light);margin-bottom:5px;}.stat-box .value{font-size:21px;font-weight:700;}.stat-box .sub{font-size:11px;color:var(--text-light);margin-top:1px;}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px;margin-bottom:20px;}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;cursor:pointer;transition:all 0.15s;}.card:hover,.card:focus-visible{border-color:var(--accent);box-shadow:0 2px 12px rgba(184,134,43,0.12);}.card-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:10px;}.card-title.fs{color:var(--hunter);}.card-title.hw{color:var(--wine);}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:6px;}.stat-label{font-size:12px;color:var(--text-light);}.stat-value{font-size:12.5px;font-weight:600;min-width:80px;text-align:right;}.progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;flex:1;margin:0 6px;}.progress-fill{height:100%;border-radius:2px;transition:width 0.3s;}.fill-ok{background:var(--accent);}.fill-over{background:var(--warn);}.fill-danger{background:var(--danger);}.fill-sym{font-size:11px;margin-right:2px;}.fill-sym.fill-ok{color:var(--accent);}.fill-sym.fill-over{color:var(--gold-text);}.fill-sym.fill-danger{color:var(--danger);}.catplan-row .stat-label{font-style:italic;font-size:11px;}.catplan-limit{font-weight:600;}.catplan-limit.editable{cursor:pointer;border-bottom:1px dashed var(--border);padding-bottom:1px;}.catplan-limit.editable:hover,.catplan-limit.editable:focus-visible{color:var(--accent);border-bottom-color:var(--accent);outline:none;}.catplan-limit.over{color:var(--danger);}.catplan-over{color:var(--danger) !important;}.tbl tr.catplan-total-row td{font-size:12px;color:var(--text-light);background:var(--surface);}.monthly-dashboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:20px;}.dashboard-header{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--paper-2);}.dashboard-header h3{font-size:13.5px;font-weight:600;margin:0;}.dashboard-content{padding:16px;min-height:240px;display:flex;flex-direction:column;}.chart-container{display:flex;align-items:flex-end;justify-content:space-around;height:200px;gap:6px;}.bar-group{display:flex;flex-direction:column;align-items:center;flex:1;min-width:28px;}.stacked-bar{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:160px;border-radius:3px 3px 0 0;position:relative;overflow:visible;}.bar-segment{width:100%;transition:opacity 0.2s;position:relative;}.bar-label{font-size:9px;font-weight:600;margin-top:4px;color:var(--text-light);text-align:center;}.bar-value{font-size:9px;color:var(--text-light);margin-top:2px;}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;}.legend-color{width:12px;height:12px;border-radius:2px;}.no-data-msg{text-align:center;color:var(--text-light);padding:20px;}.table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:20px;}.table-header{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--paper-2);}.table-header h3{font-size:13.5px;font-weight:600;}.tbl{width:100%;border-collapse:collapse;font-size:12.5px;}.tbl th{padding:7px 9px;text-align:right;font-size:10.5px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid var(--border);background:var(--paper-2);white-space:nowrap;}.tbl th.left{text-align:left;}.tbl th.yh{text-align:center;background:var(--paper-2);border-left:2px solid var(--border);}.tbl td{padding:6px 9px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;}.tbl td.left{text-align:left;}.tbl td.yl{border-left:2px solid var(--line);}.tbl tr:last-child td{border-bottom:none;}.tbl tr:hover td:not(.no-hover){background:var(--paper-2);}.tbl tr.total-row td{font-weight:700;background:var(--paper-2);border-top:1.5px solid var(--line-strong);}.tbl tr.total-row:hover td{background:var(--line);}.tbl tr.grand-total td{font-weight:700;background:var(--navy);color:#fff;border-top:2px solid var(--navy-dark);font-size:13px;}.tbl tr.grand-total:hover td{background:var(--navy-light);}.tbl tr.cat-row td{font-weight:700;color:#fff;background:var(--navy-dark);border-top:2.5px solid var(--navy);font-size:13.5px;padding:10px 12px;letter-spacing:0.5px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,0.2);}.tbl tr.cat-row:hover td{background:var(--navy);}.tbl tr.cat-row .del-btn{color:rgba(255,255,255,0.5);}.tbl tr.cat-row .del-btn:hover{color:var(--bone);background:var(--danger);}.tbl tr.cat-row[draggable='true']{cursor:grab;}.tbl tr.cat-row[draggable='true']:active{cursor:grabbing;}.tbl tr.cat-row .cat-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:-4px;margin-right:10px;border-radius:5px;cursor:pointer;color:#fff;background:rgba(255,255,255,0.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.35);font-size:12px;font-weight:900;line-height:1;vertical-align:middle;text-shadow:none;user-select:none;transition:background 0.15s,color 0.15s;}.tbl tr.cat-row .cat-collapse-toggle:hover,.tbl tr.cat-row .cat-collapse-toggle:focus-visible{background:var(--paper);color:var(--ink);outline:none;}.tbl tr.cat-row .cat-drag-handle{display:inline-block;cursor:grab;opacity:0.5;margin-right:6px;font-size:14px;vertical-align:middle;user-select:none;transition:opacity 0.15s;}.tbl tr.cat-row:hover .cat-drag-handle{opacity:0.9;}.tbl tr.cat-row.cat-dragging{opacity:0.4;background:var(--navy-light) !important;}.tbl tr.cat-row.cat-dragging td{background:var(--navy-light) !important;}.tbl tr.cat-row.cat-drop-above td{box-shadow:inset 0 3px 0 0 var(--accent) !important;}.tbl tr.cat-row.cat-drop-below td{box-shadow:inset 0 -3px 0 0 var(--accent) !important;}.tbl tr.add-row td{background:var(--paper-2);border-top:none;}.tbl tr.add-row:hover td{background:var(--line);}.diff-pos{color:var(--gold-text);font-weight:600;}.diff-neg{color:var(--neutral);}.diff-zero{color:var(--text-light);}.sortable{cursor:pointer;user-select:none;position:relative;}.sortable:hover{color:var(--gold-text);background:var(--paper-2) !important;}.sortable:focus-visible{outline:3px solid var(--gold);outline-offset:-2px;color:var(--gold-text);background:var(--paper-2) !important;}.sort-arrow{font-size:9px;margin-left:2px;opacity:0.5;}.sort-active .sort-arrow{opacity:1;color:var(--accent);}.ec{cursor:text;position:relative;min-width:52px;}.ec:hover,.ec:focus-visible{background:var(--accent-light) !important;outline:2px solid var(--accent);outline-offset:-1px;}.ec:hover::after,.ec:focus-visible::after{content:'\270E';position:absolute;top:2px;right:3px;font-size:9px;color:var(--accent);opacity:0.6;}.ec.modified{color:var(--ink);font-weight:600;}.ec-prod{cursor:text;min-width:90px;}.ec-prod:hover,.ec-prod:focus-visible{background:var(--accent-light) !important;outline:2px solid var(--accent);outline-offset:-1px;}.ec-prod.ec-prod-blank{color:transparent;}.ec-prod.ec-prod-blank::before{content:'·';color:var(--border);font-weight:400;opacity:0.4;}.ec-prod.ec-prod-blank:hover::before,.ec-prod.ec-prod-blank:focus-visible::before{content:'+';color:var(--accent);opacity:1;}.ec-kat{cursor:text;font-weight:700 !important;color:#fff !important;}.ec-kat:hover,.ec-kat:focus-visible{background:var(--navy-light) !important;outline:2px solid rgba(255,255,255,0.6);outline-offset:-1px;}.wg-date-cell{text-align:center !important;font-weight:400;white-space:nowrap;background:var(--navy-dark) !important;padding:8px 4px !important;}.wg-date-badge{display:inline-block;font-size:11px;font-weight:400;padding:1px 7px;margin-left:4px;border-radius:3px;background:rgba(255,255,255,0.15);cursor:pointer;color:rgba(255,255,255,0.85);text-transform:none;letter-spacing:0;transition:background 0.12s;vertical-align:middle;}.wg-date-badge.modified{background:rgba(251,191,36,0.35);color:#fff;}.wg-date-badge:hover{background:rgba(255,255,255,0.3);}.prod-date-badge{display:inline-block;font-size:10px;font-weight:500;line-height:1.4;padding:0 5px;margin-left:4px;border-radius:3px;cursor:pointer;white-space:nowrap;vertical-align:middle;}.prod-date-badge.set{background:rgba(251,191,36,0.22);color:var(--gold-text);border:1px solid rgba(251,191,36,0.5);}.prod-date-badge.set:hover{background:rgba(251,191,36,0.4);}.prod-date-badge.ghost{opacity:0;background:var(--accent-light);color:var(--text-light);border:1px dashed var(--border);transition:opacity 0.12s;}.drag-product:hover .prod-date-badge.ghost{opacity:0.5;}.prod-date-badge.ghost:hover{opacity:1;}.wg-plan-badge{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;margin-left:4px;margin-right:6px;border-radius:3px;background:rgba(255,255,255,0.12);color:#fff;text-transform:none;letter-spacing:0;vertical-align:middle;}.wg-plan-badge.over{background:rgba(239,68,68,0.85);color:#fff;}.tbl tr.cat-row .catplan-limit{color:#fff;}.tbl tr.cat-row .catplan-limit.editable{border-bottom-color:rgba(255,255,255,0.5);}.tbl tr.cat-row .catplan-limit.over{color:#fee2e2;}.edit-inp{width:100%;text-align:right;border:1.5px solid var(--accent);border-radius:4px;padding:2px 5px;font-size:12.5px;background:var(--paper);box-shadow:0 0 0 3px rgba(184,134,43,0.15);}.edit-inp-text{width:100%;text-align:left;border:1.5px solid var(--accent);border-radius:4px;padding:2px 5px;font-size:12.5px;background:var(--paper);box-shadow:0 0 0 3px rgba(184,134,43,0.15);}.add-prod-btn{background:none;border:1px dashed var(--border);border-radius:5px;padding:8px 10px;font-size:11.5px;color:var(--text-light);cursor:pointer;transition:all 0.12s;width:100%;min-height:36px;}.add-prod-btn:hover,.add-prod-btn:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-light);}.del-cell{text-align:center;width:48px;padding:0 4px !important;}.del-btn{background:none;border:none;color:var(--text-light);font-size:16px;cursor:pointer;padding:6px 10px;border-radius:4px;opacity:0.4;transition:all 0.15s;line-height:1;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}.del-btn:hover{opacity:1;color:var(--danger);background:var(--danger-bg);}.del-btn:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px;}.sup-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;}.inline-rename-input{font-size:19px;font-weight:700;font-family:inherit;border:1px solid var(--ink);border-radius:6px;padding:2px 8px;background:var(--surface);color:var(--text);width:280px;max-width:60vw;}.sup-avatar{width:38px;height:38px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}.season-tabs{display:flex;gap:2px;background:var(--bg);border-radius:8px;padding:3px;width:fit-content;}.season-tab{padding:5px 15px;border-radius:6px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text-light);transition:all 0.12s;min-height:36px;display:flex;align-items:center;justify-content:center;}.season-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}.season-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.1);font-weight:600;}.sup-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}.undo-redo-bar{display:flex;gap:4px;}.undo-redo-bar button{padding:4px 10px;border-radius:5px;font-size:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-light);transition:all 0.12s;}.undo-redo-bar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}.sup-action-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:16px;flex-wrap:wrap;}.modal-overlay{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.18s;}.modal-overlay.open{opacity:1;pointer-events:all;}.modal{background:var(--paper);border-radius:var(--radius-xl);padding:22px;width:400px;max-width:92vw;box-shadow:0 20px 60px rgba(0,0,0,0.2);transform:scale(0.96);transition:transform 0.18s;}.modal-overlay.open .modal{transform:scale(1);}.modal h2{font-size:16px;font-weight:700;margin-bottom:5px;}.modal .modal-sub{font-size:12.5px;color:var(--text-light);margin-bottom:16px;}.form-row{margin-bottom:12px;}.form-row label{display:block;font-size:11.5px;font-weight:600;color:var(--text-light);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.5px;}.form-row input,.form-row select{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:7px;font-size:13.5px;transition:border 0.15s;}.form-row input:focus,.form-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(184,134,43,0.1);}.form-row select[multiple]{height:88px;}.form-row .hint{font-size:11px;color:var(--text-light);margin-top:4px;}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;}.prod-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:var(--z-dropdown);max-height:180px;overflow-y:auto;margin-top:2px;}.prod-dropdown-item{padding:7px 11px;font-size:13px;cursor:pointer;transition:background 0.08s;color:var(--text);}.prod-dropdown-item:hover,.prod-dropdown-item.highlighted{background:var(--accent-light);color:var(--accent);}.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;z-index:var(--z-toast);opacity:0;transform:translateY(8px);transition:all 0.2s;pointer-events:none;}.toast.show{opacity:1;transform:translateY(0);}.tbl-scroll{overflow-x:auto;}.mobile-year-tabs{display:none;}.badge-new{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;background:var(--hunter-bg);color:var(--hunter);border:1px solid var(--hunter);margin-left:4px;}.badge-warn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;background:var(--gold);color:var(--on-gold);margin-left:auto;flex-shrink:0;title:attr(data-title);}.missing-banner{background:var(--warn-bg);border:1px solid var(--gold);border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--gold-text);}.missing-banner .warn-icon{font-size:16px;flex-shrink:0;line-height:1;}.missing-banner .warn-text{flex:1;}.missing-banner .warn-title{font-weight:600;margin-bottom:2px;}.missing-banner ul{margin:4px 0 0 16px;padding:0;font-size:12px;color:var(--gold-text);}.missing-banner li{margin-bottom:1px;}.empty{text-align:center;padding:40px;color:var(--text-light);}.save-indicator.saved{color:var(--success-strong);}.save-indicator.saving .dot{background:var(--info);animation:pulse 1s infinite;}.save-indicator.saving{color:var(--info);}.save-indicator.offline .dot{background:var(--offline);}.save-indicator.offline{color:var(--offline);}.save-indicator.error .dot{background:var(--danger);}.save-indicator.error{color:var(--danger-strong);}.save-indicator.conflict .dot{background:var(--danger);animation:pulse 1s infinite;}.save-indicator.conflict{color:var(--danger-strong);font-weight:600;}.datenstand-indicator{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:0.8rem;white-space:nowrap;border:1px solid transparent;}.datenstand-indicator.is-ok{color:var(--text-muted);}.datenstand-indicator.is-stale{color:var(--warning-strong,#8a6d00);background:var(--warning-soft,rgba(255,196,0,0.14));border-color:var(--warning,#f0b400);font-weight:600;}.datenstand-indicator.is-error{color:var(--danger-strong);background:var(--danger-soft,rgba(220,38,38,0.12));border-color:var(--danger);font-weight:600;}.conflict-overlay{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-top);display:flex;align-items:center;justify-content:center;}.conflict-dialog{background:var(--paper);border-radius:var(--radius-xl);padding:28px 32px;max-width:480px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.3);text-align:center;}.conflict-dialog h3{margin:0 0 8px;font-size:18px;color:var(--wine);}.conflict-dialog p{margin:0 0 20px;color:var(--text-light);font-size:14px;line-height:1.5;}.conflict-dialog .conflict-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}.conflict-dialog button{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:background 0.2s;}.conflict-dialog .btn-reload{background:var(--ink);color:var(--bone);}.conflict-dialog .btn-reload:hover{background:var(--ink-2);}.conflict-dialog .btn-force{background:var(--wine-bg);color:var(--wine);border:1px solid var(--wine);}.conflict-dialog .btn-force:hover{filter:brightness(0.96);}.confirm-overlay{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.18s;}.confirm-overlay.open{opacity:1;}.confirm-dialog{background:var(--paper);border-radius:var(--radius-xl);padding:24px 28px;max-width:420px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.25);transform:scale(0.96);transition:transform 0.18s;}.confirm-overlay.open .confirm-dialog{transform:scale(1);}.confirm-dialog p{margin:0 0 20px;color:var(--text);font-size:14px;line-height:1.5;}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;}.confirm-actions button{padding:9px 20px;border:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;cursor:pointer;transition:background 0.15s;}.confirm-actions .btn-confirm-cancel{background:var(--bg);color:var(--text);border:1px solid var(--border);}.confirm-actions .btn-confirm-cancel:hover{background:var(--border);}.confirm-actions .btn-confirm-ok{background:var(--danger);color:var(--bone);}.confirm-actions .btn-confirm-ok:hover{background:var(--danger-strong);}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--text);flex-shrink:0;min-width:44px;min-height:44px;align-items:center;justify-content:center;}.hamburger:hover,.hamburger:focus-visible{background:var(--bg);}.hamburger svg{width:22px;height:22px;display:block;}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:calc(var(--z-sidebar) - 1);opacity:0;transition:opacity 0.25s;touch-action:none;}.sidebar-overlay.open{opacity:1;}body.sidebar-open{overflow:hidden;overscroll-behavior:none;}.sidebar.open{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-bottom-nav);padding:6px 0 env(safe-area-inset-bottom,6px);box-shadow:0 -2px 10px rgba(0,0,0,0.08);}.mobile-bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;max-width:480px;margin:0 auto;}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:none;background:none;cursor:pointer;color:var(--text-light);font-size:10px;font-weight:500;border-radius:8px;transition:all 0.15s;min-width:64px;min-height:48px;-webkit-tap-highlight-color:transparent;}.mobile-nav-btn.active{color:var(--accent);font-weight:600;}.mobile-nav-btn svg{width:22px;height:22px;}.mobile-nav-btn:active{background:var(--accent-light);}.touch-tooltip{position:fixed;background:var(--navy);color:#fff;padding:8px 12px;border-radius:var(--radius-md);font-size:12px;z-index:calc(var(--z-toast)+100);pointer-events:none;max-width:200px;box-shadow:0 4px 12px rgba(0,0,0,0.2);}@media (max-width:1024px){:root{--sidebar-w:220px;}.topbar{flex-wrap:wrap;row-gap:6px;}.content{padding:16px;}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}.stats-bar{gap:10px;}.stat-box{min-width:100px;padding:10px 14px;}.stat-box .value{font-size:18px;}.tbl{font-size:12px;}.tbl th,.tbl td{padding:5px 7px;}}@media (max-width:768px){.hamburger{display:flex;align-items:center;}.sidebar{transform:translateX(-100%);transition:transform 0.3s ease;width:280px;z-index:var(--z-dropdown);}.sidebar.open{transform:translateX(0);}.sidebar-overlay.open{display:block;}.main{margin-left:0 !important;}.topbar{padding:8px 12px;gap:6px;}.topbar-title-group{min-width:0;flex:0 1 auto;overflow:hidden;}.topbar-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.topbar-subtitle{display:none !important;}.year-pills-desktop{display:none;}.year-filter-btn{display:inline-flex;}.topbar-actions{gap:4px;}.topbar-actions .btn{padding:5px 10px;font-size:11.5px;}.topbar-actions .btn-ghost[onclick='exportJSON()']{display:none;}.content{padding:12px;}.page-header h1{font-size:16px;}.page-header p{font-size:11.5px;}.stats-bar{flex-direction:column;gap:8px;}.stat-box{min-width:unset;padding:12px 16px;display:flex;align-items:center;gap:12px;}.stat-box .label{margin-bottom:0;flex-shrink:0;min-width:80px;}.stat-box .value{font-size:20px;flex:1;text-align:right;}.stat-box .sub{display:none;}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;}.chart-container{height:160px;gap:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;}.bar-group{min-width:24px;}.stacked-bar{height:120px;}.bar-label{font-size:8px;}.bar-value{font-size:8px;}.legend{gap:8px;flex-wrap:wrap;}.legend-item{font-size:10px;}.tbl-scroll{-webkit-overflow-scrolling:touch;}.tbl{font-size:11.5px;}.tbl th{padding:5px 6px;font-size:10px;}.tbl td{padding:5px 6px;}.ec{min-width:44px;}.edit-inp{width:60px;font-size:12px;}.sup-header{flex-wrap:wrap;gap:8px;}.season-tabs{width:100%;}.season-tab{flex:1;text-align:center;padding:8px 12px;}.sup-toolbar{flex-direction:column;align-items:stretch;gap:6px;}.undo-redo-bar{justify-content:center;}.mobile-year-tabs{display:flex;gap:2px;background:var(--bg);border-radius:8px;padding:3px;margin-bottom:10px;}.mobile-year-tabs .season-tab{flex:1;text-align:center;padding:8px 12px;}.modal{width:95vw;padding:16px;}body{padding-bottom:72px;}.save-indicator span:not(.sr-only){display:none;}.save-indicator{padding:4px 6px;}.user-name{display:none;}}@media (max-width:480px){.content{padding:8px;}.page-header h1{font-size:15px;}.topbar{padding:6px 8px;}.stat-box{padding:10px 12px;}.stat-box .value{font-size:18px;}.cards-grid{grid-template-columns:1fr;gap:8px;}.card{padding:10px;}.chart-container{height:140px;}.stacked-bar{height:100px;}.monthly-dashboard .dashboard-content{padding:10px;}.year-filter-btn{padding:4px 8px;font-size:11px;}.modal{border-radius:8px;padding:14px;}.btn{padding:8px 14px;font-size:12px;}.sidebar-btn{padding:10px 12px;font-size:13px;}.tbl{font-size:11px;}.tbl th{font-size:9.5px;padding:4px 5px;}.tbl td{padding:4px 5px;}.mobile-nav-btn{padding:10px 8px;min-height:52px;}.mobile-nav-btn svg{width:24px;height:24px;}}.home-view{max-width:1040px;margin:0 auto;padding:var(--gap-6) 24px;}.home-header{margin-bottom:var(--gap-5);}.home-header h1{font-size:var(--fs-h1);font-weight:700;color:var(--ink);letter-spacing:-0.02em;margin:0 0 6px;}.home-header p{font-size:var(--fs-body);color:var(--slate-2);margin:0;}.home-grid{display:grid;gap:var(--gap-3);list-style:none;padding:0;margin:0;}.home-grid.cols-2{grid-template-columns:repeat(2,1fr);}.home-grid.cols-3{grid-template-columns:repeat(3,1fr);}.home-empty{grid-column:1 / -1;color:var(--slate-2);font-size:var(--fs-body);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--gap-4);}.home-foot{text-align:center;font-size:var(--fs-small);color:var(--slate-2);margin-top:var(--gap-5);}@media (max-width:768px){.home-grid.cols-2,.home-grid.cols-3{grid-template-columns:1fr;}}.ck-mod-card{display:flex;gap:var(--gap-4);align-items:flex-start;padding:var(--gap-4);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;text-decoration:none;color:inherit;transition:transform 140ms ease,border-color 140ms ease,box-shadow 140ms ease;min-height:110px;}.ck-mod-card:hover{border-color:var(--ink);box-shadow:var(--shadow-card);transform:translateY(-1px);}.ck-mod-card.empty{opacity:0.78;}.ck-mod-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bone);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.ck-mod-card.empty .ck-mod-icon{background:var(--paper-2);color:var(--mute);}.ck-mod-body{flex:1;min-width:0;}.ck-mod-name{font-weight:600;font-size:var(--fs-h3);margin:0 0 4px;letter-spacing:-0.005em;}.ck-mod-desc{font-size:var(--fs-small);color:var(--slate-2);margin:0 0 8px;line-height:1.45;}.ck-mod-meta{font-size:var(--fs-micro);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--slate-2);}.ck-mod-card.empty .ck-mod-meta{color:var(--mute);}.ck-mod-card kbd{font-family:'Saira',monospace;font-size:var(--fs-micro);font-weight:700;padding:2px 6px;background:var(--bone);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--slate);}.ck-mod-arrow{margin-left:auto;align-self:center;flex-shrink:0;font-size:20px;color:var(--gold);opacity:0.7;transition:opacity 0.15s;}.ck-mod-card:hover .ck-mod-arrow{opacity:1;}.ck-user{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:var(--fs-small);min-height:36px;}.ck-user-avatar{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bone);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-micro);}.portal-topbar-brand{display:flex;align-items:center;}.portal-brand{display:flex;align-items:center;gap:16px;}.portal-brand-logo svg{height:30px;width:auto;margin:0;display:block;fill:var(--ink) !important;}.portal-brand-divider{width:1px;height:30px;background:var(--line);}.portal-brand-text{display:flex;flex-direction:column;line-height:1.2;}.portal-brand-title{font-size:var(--fs-h3);font-weight:600;color:var(--ink);}.portal-brand-sub{font-size:var(--fs-small);color:var(--slate-2);}@media (max-width:768px){.portal-brand-divider,.portal-brand-text{display:none;}}.module-nav-hidden{display:none;}.portal-home .sidebar{display:none;}.portal-home .main{margin-left:0;}.portal-home .mobile-nav-btn:not(#mob-nav-home){opacity:0.35;pointer-events:none;}.login-overlay{position:fixed;inset:0;z-index:var(--z-login);background:var(--bg);display:flex;align-items:center;justify-content:center;}.login-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 4px 24px rgba(0,0,0,0.1);padding:40px 36px;width:100%;max-width:380px;margin:16px;}.login-logo{text-align:center;margin-bottom:28px;}.login-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--text-light);margin-top:6px;}.login-error{color:var(--danger);font-size:13px;min-height:20px;margin-bottom:4px;text-align:center;font-weight:500;}.login-error:not(:empty)::before{content:'⚠ ';}.login-error.login-success{color:var(--success-strong);}.login-error.login-success:not(:empty)::before{content:'✓ ';}.login-field{margin-bottom:16px;}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.5px;}.login-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border 0.15s;background:var(--bg);}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(184,134,43,0.1);}.login-btn{width:100%;padding:11px;border:none;border-radius:6px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.15s;margin-top:8px;}.login-btn:hover{background:var(--navy-light);}.user-menu{position:relative;margin-left:4px;}.user-menu-btn{display:flex;align-items:center;gap:6px;padding:4px 8px !important;}.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}.user-name{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.user-dropdown{display:none;position:absolute;right:0;top:100%;margin-top:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(0,0,0,0.12);min-width:180px;z-index:var(--z-dropdown);overflow:hidden;}.user-dropdown.open{display:block;}.user-dropdown-info{padding:12px 14px;font-size:13px;}.user-dropdown-divider{height:1px;background:var(--border);}.user-dropdown-item{display:block;width:100%;padding:9px 14px;border:none;background:none;font-size:13px;text-align:left;cursor:pointer;color:var(--text);transition:background 0.1s;min-height:40px;}.user-dropdown-item:hover,.user-dropdown-item:focus-visible{background:var(--accent-light);}.user-dropdown-logout{color:var(--danger);}.user-dropdown-logout:hover{background:var(--danger-bg);}.audit-view{padding:20px;max-width:1100px;}.audit-view h2{font-size:18px;font-weight:600;margin-bottom:16px;}.audit-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:16px;}.audit-filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}.audit-filter-group{display:flex;flex-direction:column;gap:4px;}.audit-filter-group--btn{flex-direction:row;align-items:flex-end;gap:8px;margin-top:4px;}.audit-filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-light);}.audit-filter-select,.audit-filter-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg);color:var(--text);transition:border-color 0.15s;}.audit-filter-select:focus,.audit-filter-input:focus{border-color:var(--accent);}.audit-filter-input{width:160px;}.audit-table{width:100%;border-collapse:collapse;font-size:13px;}.audit-table thead{background:var(--bg);}.audit-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-light);border-bottom:2px solid var(--border);}.audit-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;}.audit-table tr:hover{background:var(--accent-light);}.audit-ts{white-space:nowrap;color:var(--text-light);font-size:12px;}.audit-rev{text-align:center;color:var(--text-light);font-size:12px;}.audit-user{font-weight:500;}.audit-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;}.audit-action-save{background:var(--success-bg);color:var(--success);}.audit-action-restore{background:var(--warn-bg);color:var(--gold-text);}.audit-action-login{background:var(--accent-light);color:var(--accent);}.audit-action-logout{background:var(--bg);color:var(--neutral);}.audit-action-password_change{background:var(--info-bg);color:var(--info);}.audit-details{max-width:600px;font-size:12px;color:var(--text-light);word-break:break-word;}.btn-audit-toggle{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent);border-radius:4px;cursor:pointer;}.btn-audit-toggle:hover{background:var(--accent);color:var(--bone);}.audit-detail-records{margin-top:8px;}.audit-detail-table{width:100%;border-collapse:collapse;font-size:11px;background:var(--bg);border-radius:4px;}.audit-detail-table th{padding:4px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;color:var(--text-light);border-bottom:1px solid var(--border);text-align:left;}.audit-detail-table td{padding:4px 6px;border-bottom:1px solid var(--border);}.audit-old-val{color:var(--wine);text-decoration:line-through;}.audit-new-val{color:var(--hunter);font-weight:500;}.audit-load-more{text-align:center;padding:16px 0;}.tbl td.ec{position:relative;}.comment-tri{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 8px 8px 0;border-color:transparent var(--danger) transparent transparent;pointer-events:none;z-index:1;}.tbl td.ec .comment-icon{display:none;position:absolute;top:2px;right:2px;font-size:11px;line-height:1;cursor:pointer;z-index:2;opacity:0.75;transition:opacity 0.1s;}.tbl td.ec:hover .comment-icon{display:inline;}.tbl td.ec:hover .comment-icon:hover{opacity:1;}.comment-tooltip{position:fixed;background:var(--ink);color:var(--bone);border-radius:7px;padding:8px 11px;font-size:12.5px;max-width:280px;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 16px rgba(0,0,0,0.3);z-index:var(--z-tooltip);pointer-events:none;line-height:1.5;opacity:0;transition:opacity 0.15s;}.comment-tooltip.show{opacity:1;}.ctx-menu{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 6px 24px rgba(0,0,0,0.18);z-index:var(--z-ctx-menu);min-width:200px;padding:4px 0;font-size:13px;}.ctx-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--text);min-height:40px;}.ctx-menu-item:hover,.ctx-menu-item:focus-visible{background:var(--accent-light);color:var(--accent);}.ctx-menu-item.danger{color:var(--danger);}.ctx-menu-item.danger:hover{background:var(--danger-bg);}.ctx-menu-sep{height:1px;background:var(--border);margin:3px 0;}.comment-popup{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,0.22);z-index:var(--z-popup);padding:14px;min-width:260px;max-width:340px;}.comment-popup-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:var(--text-light);margin-bottom:8px;}.comment-popup textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;color:var(--text);background:var(--bg);line-height:1.5;transition:border-color 0.15s;}.comment-popup textarea:focus{border-color:var(--accent);}.comment-popup-actions{display:flex;gap:6px;margin-top:10px;justify-content:flex-end;}.comment-popup-actions .btn-delete{background:transparent;border:1px solid var(--border);color:var(--danger);padding:5px 10px;border-radius:6px;font-size:12px;cursor:pointer;margin-right:auto;}.comment-popup-actions .btn-delete:hover{background:var(--danger-bg);}.audit-count{font-size:12px;color:var(--text-light);padding:10px 0;text-align:right;}.help-fab{position:fixed;bottom:80px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.2);z-index:calc(var(--z-tooltip) - 1000);display:flex;align-items:center;justify-content:center;transition:all 0.2s;}.help-fab:hover{background:var(--navy-light);transform:scale(1.08);}.help-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:var(--surface);border-left:1px solid var(--border);box-shadow:-4px 0 24px rgba(0,0,0,0.12);z-index:var(--z-panel);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.3s ease;}.help-panel.open{transform:translateX(0);}.help-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--navy);color:#fff;}.help-panel-header h2{font-size:16px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px;}.help-panel-close{background:none;border:none;color:rgba(255,255,255,0.7);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;}.help-panel-close:hover,.help-panel-close:focus-visible{color:#fff;background:rgba(255,255,255,0.15);}.help-panel-inner{display:flex;flex:1;overflow:hidden;}.help-nav{width:140px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);overflow-y:auto;padding:8px 0;}.help-nav-item{display:flex;align-items:center;gap:6px;padding:9px 12px;cursor:pointer;font-size:12.5px;color:var(--text-light);transition:all 0.12s;border-left:3px solid transparent;}.help-nav-item:hover{background:var(--accent-light);color:var(--text);}.help-nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:600;border-left-color:var(--accent);}.help-nav-icon{font-size:14px;flex-shrink:0;}.help-body{flex:1;overflow-y:auto;padding:20px;font-size:13px;line-height:1.7;}.help-body h3{font-size:15px;font-weight:700;color:var(--ink);margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border);}.help-body h3:first-child{margin-top:0;}.help-body h4{font-size:13px;font-weight:600;margin:12px 0 6px;color:var(--text);}.help-body p{margin:0 0 10px;}.help-body ul,.help-body ol{margin:0 0 12px;padding-left:20px;}.help-body li{margin-bottom:4px;}.help-body strong{color:var(--ink);}.help-body em{color:var(--accent);font-style:normal;font-weight:500;}.help-hint{background:var(--accent-light);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:12px 0;font-size:12.5px;line-height:1.6;}.help-hint strong{color:var(--accent);}.faq-item{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden;}.faq-q{padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;background:var(--bg);display:flex;align-items:center;gap:8px;transition:background 0.12s;user-select:none;}.faq-q::before{content:'▸';font-size:11px;color:var(--text-light);transition:transform 0.2s;flex-shrink:0;}.faq-item.open .faq-q::before{transform:rotate(90deg);}.faq-q:hover{background:var(--paper-2);}.faq-a{display:none;padding:10px 14px;font-size:12.5px;border-top:1px solid var(--border);line-height:1.7;}.faq-item.open .faq-a{display:block;}.help-panel-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:calc(var(--z-panel) - 100);}.help-panel-overlay.open{display:block;}.help-sidebar-btn{margin-top:auto;padding:10px 14px;border-top:1px solid var(--sidebar-line);}.help-sidebar-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:12px;color:rgba(var(--sidebar-fg-rgb),0.65);cursor:pointer;transition:all 0.15s;border:1px solid rgba(var(--sidebar-fg-rgb),0.1);background:rgba(var(--sidebar-fg-rgb),0.04);}.help-sidebar-link:hover{background:rgba(var(--sidebar-fg-rgb),0.1);color:var(--sidebar-fg);border-color:rgba(var(--sidebar-fg-rgb),0.25);}.help-sidebar-link .kbd{font-size:10px;background:rgba(var(--sidebar-fg-rgb),0.12);padding:1px 5px;border-radius:3px;margin-left:auto;}@media (max-width:768px){.help-fab{display:none !important;}.help-panel{width:100vw;max-width:100vw;}.help-nav{width:110px;}.help-body{padding:14px;}}.tbl tr.drag-product[draggable='true']{cursor:grab;}.tbl tr.drag-product[draggable='true']:active{cursor:grabbing;}.tbl tr.drag-product.dragging{opacity:0.35;background:var(--line-strong) !important;}.tbl tr.drag-product.dragging td{background:var(--line-strong) !important;}.tbl tr.cat-row.drop-target-over td{background:var(--success) !important;color:var(--paper);box-shadow:inset 0 0 0 2px var(--success-strong);transition:background 0.12s,box-shadow 0.12s;}.tbl tr.cat-row.drop-target-over .del-btn{color:rgba(255,255,255,0.7);}.drag-source-badge{display:inline-block;font-size:10px;padding:1px 7px;border-radius:8px;background:rgba(255,255,255,0.25);margin-left:8px;font-weight:400;letter-spacing:0;text-transform:none;}.drop-hint{display:none;font-size:10px;color:var(--success-strong);font-weight:600;margin-left:8px;letter-spacing:0;text-transform:none;}.tbl tr.cat-row.drop-target-over .drop-hint{display:inline;}@media print{.sidebar,.topbar,.year-selector,.year-filter-btn,.sidebar-actions,.sidebar-btn,.supplier-search,.help-fab,.help-panel,.help-panel-overlay,.year-sheet-overlay,.sup-toolbar .season-tabs,.del-cell,.del-btn,.skip-link,.missing-banner,.cat-drag-handle,.drop-hint,.mobile-nav,.sidebar-overlay,.toast,.module-search,.sup-action-footer,.sup-compare-toggle,button{display:none !important;}.layout{display:block;}.main{margin-left:0 !important;}.sidebar{width:0;}body{background:#fff;font-size:11px;color:#000;}.main{min-height:auto;}.page-header h1{font-size:16px;}.page-header p{font-size:11px;}#print-header{display:block !important;font-size:13px;font-weight:600;border-bottom:2px solid #000;padding-bottom:6px;margin-bottom:12px;}#print-header .print-sub{font-weight:400;font-size:10px;color:#444;}.tbl thead{display:table-header-group;}.tbl tr{page-break-inside:avoid;}.table-wrapper{overflow:visible !important;}.tbl-scroll{overflow:visible !important;}.tbl{font-size:10px;width:100%;border-collapse:collapse;}.tbl th,.tbl td{padding:2px 4px !important;border:1px solid #ccc !important;}.tbl thead th{background:#e5e7eb !important;color:#000 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}.cat-row td{background:#f3f4f6 !important;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact;}.stats-bar{display:flex;flex-wrap:wrap;gap:8px;}.stat-box{border:1px solid #ccc;padding:6px 10px;flex:1;min-width:100px;}canvas{max-width:100% !important;height:auto !important;}.tbl tr{page-break-inside:avoid;}.sup-header{page-break-after:avoid;}*{box-shadow:none !important;}.surface,.card,.stat-box{background:#fff !important;}}.ai-confidence{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background:var(--bg);border:1px solid var(--border);position:relative;overflow:hidden;min-width:52px;}.ai-confidence-bar{position:absolute;left:0;top:0;bottom:0;opacity:0.15;border-radius:10px;transition:width 0.3s;}.ai-confidence-label{position:relative;z-index:1;}.ai-confidence-high{border-color:var(--success);color:var(--success-strong);}.ai-confidence-high .ai-confidence-bar{background:var(--success);}.ai-confidence-medium{border-color:var(--gold);color:var(--gold-text);}.ai-confidence-medium .ai-confidence-bar{background:var(--gold);}.ai-confidence-low{border-color:var(--danger);color:var(--danger-strong);}.ai-confidence-low .ai-confidence-bar{background:var(--danger);}.ai-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;background:var(--accent-light);color:var(--accent);border:1px solid var(--line);letter-spacing:0.3px;vertical-align:middle;}.ai-badge-subtle{font-size:11px;color:var(--text-light);font-weight:500;margin-left:4px;}.ai-sug-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;transition:border-color 0.15s,opacity 0.2s;}.ai-sug-card:hover{border-color:var(--accent);}.ai-sug-accepted{border-color:var(--success);background:var(--success-bg);}.ai-sug-dismissed{opacity:0.55;border-color:var(--border);}.ai-sug-overridden{border-color:var(--gold);background:var(--warn-bg);}.ai-sug-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}.ai-sug-type{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-light);}.ai-sug-type svg{flex-shrink:0;}.ai-sug-body{margin-bottom:8px;}.ai-sug-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;}.ai-sug-current,.ai-sug-proposed{font-size:12.5px;color:var(--text-light);margin-bottom:2px;}.ai-sug-val-label{color:var(--neutral);font-size:11px;}.ai-sug-val{font-weight:500;color:var(--text);}.ai-sug-val-new{color:var(--accent);font-weight:600;}.ai-sug-reason{background:var(--accent-light);border-radius:6px;padding:6px 10px;font-size:11.5px;color:var(--text);line-height:1.5;display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;}.ai-sug-reason-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:var(--bone);font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px;}.ai-sug-actions{display:flex;gap:6px;align-items:center;}.ai-sug-status-label{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px;}.ai-sug-status-label.accepted{background:var(--hunter-bg);color:var(--hunter);}.ai-sug-status-label.dismissed{background:var(--bg);color:var(--neutral);}.ai-sug-status-label.overridden{background:var(--gold-bg);color:var(--gold-text);}.ai-sug-list{margin:8px 0;}.ai-sug-summary{font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:8px;padding:4px 0;}.ai-loading{border-radius:10px;padding:14px 16px;margin:12px 0;}.ai-loading-loading{background:var(--accent-light);border:1px solid var(--line);}.ai-loading-ready{background:var(--success-bg);border:1px solid var(--success);}.ai-loading-error{background:var(--danger-bg);border:1px solid var(--danger);}.ai-loading-header{display:flex;align-items:center;gap:8px;}.ai-loading-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}.ai-loading-loading .ai-loading-dot{background:var(--accent);animation:pulse 1s infinite;}.ai-loading-ready .ai-loading-dot{background:var(--success);}.ai-loading-error .ai-loading-dot{background:var(--danger);}.ai-loading-label{font-size:13px;font-weight:600;}.ai-loading-loading .ai-loading-label{color:var(--accent);}.ai-loading-ready .ai-loading-label{color:var(--success);}.ai-loading-error .ai-loading-label{color:var(--danger);}.ai-loading-dots span{animation:aiDots 1.4s infinite;opacity:0;}.ai-loading-dots span:nth-child(2){animation-delay:0.2s;}.ai-loading-dots span:nth-child(3){animation-delay:0.4s;}@keyframes aiDots{0%,80%,100%{opacity:0;}40%{opacity:1;}}.ai-loading-msg{font-size:12px;color:var(--text-light);margin-top:4px;margin-left:16px;}.ai-loading-progress{height:3px;background:var(--border);border-radius:2px;margin-top:8px;overflow:hidden;}.ai-loading-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width 0.3s;}.ai-hint-tri{position:absolute;top:0;left:0;width:0;height:0;border-style:solid;border-width:8px 8px 0 0;border-color:var(--accent) transparent transparent transparent;pointer-events:none;z-index:1;}.ai-hint-indicator{display:inline-block;width:8px;height:8px;color:var(--accent);font-size:12px;line-height:1;cursor:help;}.ai-summary-banner{background:var(--accent-light);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:12px 0;}.ai-summary-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px;}.ai-summary-stats{display:flex;flex-wrap:wrap;gap:8px;}.ai-summary-stat{font-size:11.5px;padding:2px 8px;border-radius:8px;background:var(--bg);color:var(--text-light);font-weight:500;}.ai-summary-stat.accepted{background:var(--hunter-bg);color:var(--hunter);}.ai-summary-stat.dismissed{background:var(--bg);color:var(--neutral);}.ai-summary-stat.overridden{background:var(--gold-bg);color:var(--gold-text);}@media (max-width:768px){.ai-sug-card{padding:10px 12px;}.ai-sug-header{flex-wrap:wrap;gap:6px;}.ai-sug-actions{flex-wrap:wrap;}.ai-loading{padding:12px;}.ai-summary-stats{flex-direction:column;gap:4px;}}@media (max-width:480px){.ai-sug-card{padding:8px 10px;}.ai-sug-reason{padding:5px 8px;font-size:11px;}}@media print{.ai-sug-card,.ai-loading,.ai-summary-banner{display:none !important;}}.nos-view{padding:24px;max-width:1280px;margin:0 auto;}.nos-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap;}.nos-header h1{margin:0;font-size:24px;}.nos-header p{margin:4px 0 0;color:var(--slate-2);font-size:14px;}.nos-header-actions{display:flex;gap:8px;align-items:center;}.nos-toolbar{display:flex;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:16px;}.nos-status{color:var(--slate-2);font-size:13px;margin-left:8px;}.nos-input{padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;font-size:14px;min-width:200px;}.nos-btn{background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;padding:7px 14px;font-size:14px;cursor:pointer;}.nos-btn:hover{background:var(--paper-2);}.nos-btn-primary{background:var(--ink);color:var(--bone);border-color:var(--ink);}.nos-btn-primary:hover:not(:disabled){background:var(--ink-2);}.nos-save-pending{animation:nos-pulse 1.4s ease-in-out infinite;}@keyframes nos-pulse{0%,100%{box-shadow:0 0 0 0 rgba(184,134,43,0.4);}50%{box-shadow:0 0 0 4px rgba(184,134,43,0);}}.nos-btn-icon{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--wine);font-size:14px;padding:2px 7px;cursor:pointer;}.nos-btn-icon:hover{background:var(--wine-bg);border-color:var(--wine);}.nos-empty,.nos-empty-row{text-align:center;color:var(--slate-2);padding:24px;font-size:14px;}.nos-supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}.nos-supplier-grid.nos-grid-fokus{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}.nos-grid-fokus .nos-supplier-card{min-height:130px;flex-direction:row;align-items:center;}.nos-supplier-grid.nos-grid-pro{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}.nos-grid-pro .nos-supplier-card{min-height:64px;padding:10px 14px;}.nos-supplier-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;position:relative;transition:border-color 0.15s,transform 0.15s;}.nos-supplier-card-body{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0;}.nos-supplier-card-arrow{flex:0 0 auto;font-size:20px;color:var(--gold);margin-left:8px;}.nos-supplier-card:hover,.nos-supplier-card:focus-visible{border-color:var(--gold);outline:none;}.nos-supplier-card.empty{background:var(--paper-2);border-style:dashed;}.nos-supplier-card.empty .nos-supplier-name{color:var(--mute);}.nos-supplier-empty-label{color:var(--mute);font-style:italic;}.nos-supplier-name{font-weight:600;}.nos-supplier-meta{color:var(--slate-2);font-size:13px;}.nos-supplier-actions{position:absolute;top:6px;right:6px;opacity:0;transition:opacity 0.15s;}.nos-supplier-card:hover .nos-supplier-actions{opacity:1;}.nos-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;}.nos-table{width:100%;border-collapse:collapse;background:var(--paper);font-size:14px;}.nos-table th,.nos-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;}.nos-table th{background:var(--paper-2);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--slate-2);}.nos-table td.num,.nos-table th.num{text-align:right;}.nos-table tr:last-child td{border-bottom:none;}.nos-cell{border:1px solid transparent;background:transparent;width:100%;font:inherit;padding:4px 6px;border-radius:4px;}.nos-cell:hover{border-color:var(--line-strong);}.nos-cell:focus{border-color:var(--gold);outline:none;background:var(--paper);box-shadow:0 0 0 2px rgba(184,134,43,0.2);}.nos-cell.num{text-align:right;}.nos-farbe-cell{position:relative;white-space:nowrap;}.nos-cell-farbe-text{padding-right:52px;}.nos-farbe-picker{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:1px solid var(--line-strong);border-radius:50%;cursor:pointer;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;}.nos-farbe-picker::-webkit-color-swatch-wrapper{padding:0;}.nos-farbe-picker::-webkit-color-swatch{border:none;border-radius:50%;}.nos-farbe-picker::-moz-color-swatch{border:none;border-radius:50%;}.nos-farbe-reset{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:16px;height:16px;padding:0;border:none;background:var(--line);color:var(--slate-2);border-radius:50%;font-size:10px;line-height:16px;text-align:center;cursor:pointer;opacity:0.6;}.nos-farbe-reset:hover{opacity:1;background:var(--line-strong);}.nos-row-actions{width:36px;text-align:center;}.nos-section-title{margin:20px 0 10px;font-size:15px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:0.4px;}.nos-ceremony-badge{display:inline-block;background:var(--ceremony-bg-2);color:var(--gold-text);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500;margin-left:6px;}.nos-row-ceremony{background:var(--ceremony-bg);}.nos-row-ceremony:hover{background:var(--ceremony-bg-2);}.nos-ceremony-cell{width:70px;text-align:center;}.nos-ceremony-toggle{display:inline-flex;cursor:pointer;user-select:none;}.nos-ceremony-toggle input{cursor:pointer;transform:scale(1.15);}.nos-link{background:transparent;border:none;color:var(--gold-text);cursor:pointer;padding:0;font:inherit;text-align:left;}.nos-link:hover{text-decoration:underline;}.nos-ceremony-card{display:flex;align-items:center;gap:16px;padding:18px 22px;margin:0 0 20px;background:linear-gradient(135deg,var(--ceremony-bg) 0%,var(--ceremony-bg-2) 100%);border:1px solid var(--gold);border-radius:10px;cursor:pointer;transition:transform 0.12s,box-shadow 0.12s;}.nos-ceremony-card:hover,.nos-ceremony-card:focus-visible{transform:translateY(-1px);box-shadow:0 4px 12px rgba(138,90,26,0.15);outline:none;}.nos-ceremony-card-icon{font-size:32px;flex:0 0 auto;}.nos-ceremony-card-body{flex:1 1 auto;}.nos-ceremony-card-title{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:4px;}.nos-ceremony-card-stats{display:flex;gap:18px;color:var(--slate);font-size:13px;flex-wrap:wrap;}.nos-ceremony-card-stats strong{font-size:16px;color:var(--ink);margin-right:3px;}.nos-ceremony-card-arrow{font-size:22px;color:var(--gold);flex:0 0 auto;}.nos-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 16px;}.nos-stat-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 16px;}.nos-stat-value{font-size:22px;font-weight:600;color:var(--ink);}.nos-stat-label{font-size:12px;color:var(--slate-2);margin-top:2px;text-transform:uppercase;letter-spacing:0.4px;}.nos-supplier-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;}.nos-supplier-stat{display:inline-flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer;font:inherit;text-align:left;transition:border-color 0.12s;}.nos-supplier-stat:hover{border-color:var(--gold);}.nos-supplier-stat-name{font-weight:600;font-size:13px;}.nos-supplier-stat-count{font-size:12px;color:var(--slate-2);}.nos-supplier-stat-soll{font-size:11px;color:var(--gold-text);}.nos-search{position:relative;margin:0 0 16px;}.nos-search-input{width:100%;max-width:480px;}.nos-search-results{position:absolute;top:100%;left:0;right:0;max-width:580px;background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,0.08);max-height:380px;overflow-y:auto;z-index:50;margin-top:4px;}.nos-search-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 14px;border:none;background:transparent;text-align:left;cursor:pointer;border-bottom:1px solid var(--line);font:inherit;}.nos-search-item:last-child{border-bottom:none;}.nos-search-item:hover{background:var(--paper-2);}.nos-search-item-main{font-size:14px;color:var(--ink);}.nos-search-item-supplier{font-size:12px;color:var(--slate);font-weight:500;}.nos-search-item-meta{font-size:11px;color:var(--slate-2);}.nos-search-mark{background:var(--gold-bg);padding:0 1px;border-radius:2px;}.nos-search-empty{padding:14px;color:var(--slate-2);font-size:13px;}.nos-date-cell{white-space:nowrap;}.nos-cell-date{font-family:inherit;font-size:13px;padding:5px 7px;}.nos-aktiv-cell{width:96px;text-align:center;}.nos-status-radio-group{display:inline-flex;gap:10px;align-items:center;justify-content:center;}.nos-status-radio{display:inline-flex;align-items:center;cursor:pointer;padding:2px;border-radius:50%;}.nos-status-radio input[type="radio"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}.nos-status-radio:focus-within{outline:3px solid var(--gold);outline-offset:2px;}.nos-status-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}.nos-status-dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,0.12);background:var(--line-strong);opacity:0.35;transition:opacity 120ms ease,box-shadow 120ms ease,transform 120ms ease;}.nos-status-dot.green{background:radial-gradient(circle at 35% 30%,#4cd964 0%,#1aa334 70%,#117a26 100%);border-color:#117a26;}.nos-status-dot.red{background:radial-gradient(circle at 35% 30%,#ff6b6b 0%,#d23030 70%,#9a1f1f 100%);border-color:#9a1f1f;}.nos-status-radio:hover .nos-status-dot{opacity:0.7;}.nos-status-radio input[type="radio"]:checked+.nos-status-dot{opacity:1;transform:scale(1.05);}.nos-status-radio input[type="radio"]:checked+.nos-status-dot.green{box-shadow:0 0 0 2px rgba(26,163,52,0.25),0 0 8px rgba(26,163,52,0.55);}.nos-status-radio input[type="radio"]:checked+.nos-status-dot.red{box-shadow:0 0 0 2px rgba(210,48,48,0.25),0 0 8px rgba(210,48,48,0.55);}.nos-status-legend{display:flex;align-items:center;gap:14px;padding:6px 10px;margin:0 0 10px 0;font-size:12px;color:var(--slate);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;width:fit-content;}.nos-status-legend-title{font-weight:600;color:var(--ink);}.nos-status-legend-item{display:inline-flex;align-items:center;gap:6px;}.nos-status-legend-item .nos-status-dot{opacity:1;}@keyframes nos-row-flash{0%{background:var(--gold-bg);}100%{background:transparent;}}.nos-row-flash{animation:nos-row-flash 2s ease-out;}.admin-dashboard{padding:0 4px;}.admin-dashboard h2{margin-bottom:20px;}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;}.admin-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center;}.admin-stat-value{font-size:32px;font-weight:700;color:var(--text);line-height:1.2;}.admin-stat-label{font-size:13px;color:var(--text-light);margin-top:4px;}.admin-stat-sub{font-size:11px;color:var(--text-light);margin-top:6px;}.admin-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}.admin-recent-activity h3{font-size:15px;font-weight:600;margin-bottom:12px;}.admin-activity-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;}.admin-activity-item{display:flex;gap:12px;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border);align-items:center;}.admin-activity-item:last-child{border-bottom:none;}.admin-activity-time{color:var(--text-light);font-size:12px;min-width:130px;}.admin-activity-user{font-weight:600;min-width:100px;}.admin-activity-action{color:var(--text-light);}.admin-users-view{padding:0 4px;}.admin-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px;}.admin-view-header h2{margin:0;}.admin-user-table{width:100%;border-collapse:collapse;font-size:13px;}.admin-user-table thead tr{border-bottom:2px solid var(--border);text-align:left;}.admin-user-table th,.admin-user-table td{padding:10px 8px;}.admin-user-table tbody tr{border-bottom:1px solid var(--border);}.admin-user-table tbody tr:hover{background:rgba(0,0,0,0.02);}.admin-user-inactive{opacity:0.5;}.admin-badge-admin{background:var(--info-bg);color:var(--info);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;}.admin-action-btn{font-size:11px !important;padding:3px 8px !important;margin:2px !important;}.admin-csv-btn{display:inline-flex;align-items:center;gap:6px;}.admin-branding-view{padding:0 4px;}.admin-branding-form{max-width:560px;}.admin-backups-view{padding:0 4px;}.admin-backup-module{margin-bottom:28px;}.admin-backup-module h3{font-size:15px;margin-bottom:10px;}.admin-backup-table{width:100%;border-collapse:collapse;font-size:13px;}.admin-backup-table thead tr{border-bottom:2px solid var(--border);text-align:left;}.admin-backup-table th,.admin-backup-table td{padding:8px;}.admin-backup-table tbody tr{border-bottom:1px solid var(--border);}.admin-backup-table tbody tr:hover{background:rgba(0,0,0,0.02);}@media (max-width:768px){.admin-stats-grid{grid-template-columns:1fr 1fr;}.admin-user-table{font-size:12px;}.admin-user-table th:nth-child(4),.admin-user-table td:nth-child(4){display:none;}.admin-activity-time{min-width:auto;}.admin-view-header{flex-direction:column;align-items:flex-start;}}.module-skeleton{padding:4px 0;}.skeleton-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;}.skeleton-header h2{margin:0;}.skeleton-loading-hint{color:var(--text-light);font-size:13px;}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--paper-2) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-xs,4px);}@keyframes skeleton-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;}}.skeleton-kpi-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px;}.skeleton-card{flex:1 1 140px;min-width:140px;max-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm,8px);padding:14px;}.skeleton-line{height:10px;margin-bottom:10px;}.skeleton-value{height:22px;width:40%;}.skeleton-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm,8px);padding:14px;display:flex;flex-direction:column;gap:10px;}.skeleton-row{height:14px;}.skeleton-row:nth-child(2n){width:92%;}.skeleton-row:nth-child(3n){width:85%;}.error-state{padding:4px 0;}.error-state h2{margin:0 0 16px;}.error-state-box{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:var(--radius-sm,8px);padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:24px auto;}.error-state-icon{font-size:28px;color:var(--danger);line-height:1;}.error-state-message{font-weight:600;}.error-state-detail{color:var(--text-light);font-size:13px;}.conflict-detail-list{margin:10px 0;padding:10px 14px 10px 28px;background:var(--accent-light,#eff6ff);border-radius:var(--radius-sm,6px);font-size:13px;color:var(--text);}.conflict-detail-list li{margin:3px 0;}.conflict-hint{font-size:12.5px;color:var(--text-light);line-height:1.5;}@media (max-width:768px){.tbl th.left,.tbl td.left{position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:2px 0 4px -2px rgba(0,0,0,0.15);}.tbl th.left{z-index:3;background:var(--paper-2);}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0;}.kpi-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}.kpi-card{border:1px solid var(--border);border-radius:var(--radius-md,8px);padding:14px;background:var(--surface);}.kpi-label{font-size:11px;color:var(--text-light);text-transform:uppercase;}.kpi-value{font-size:24px;font-weight:600;margin-top:4px;}.kpi-grid.compact .kpi-value{font-size:22px;}.simple-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px;}.simple-tbl thead tr{border-bottom:2px solid var(--border);text-align:left;}.simple-tbl th{padding:8px 6px;}.simple-tbl tbody tr{border-bottom:1px solid var(--border);}.simple-tbl tbody tr.clickable{cursor:pointer;}.simple-tbl tbody tr.clickable:hover{background:var(--accent-light,#eff6ff);}.simple-tbl td{padding:10px 6px;}.simple-tbl .num{text-align:right;}.simple-tbl .ctr{text-align:center;}.simple-tbl .strong{font-weight:600;}.admin-system-info{margin-top:18px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-light);font-size:12px;}.pp-input{padding:6px 8px;border:1px solid var(--border,#d1d5db);border-radius:6px;font-size:14px;background:var(--surface,#fff);color:inherit;}.pp-flabel{font-size:12px;color:var(--text-light,#6b7280);font-weight:600;}.pp-hint{font-size:13px;color:var(--text-light,#6b7280);margin:8px 0;}.pp-stamm-search{margin:8px 0 10px;}.pp-stamm-search .pp-input{width:100%;max-width:460px;}.pp-link{font-size:12px;color:var(--info);text-decoration:none;}.pp-link:hover{text-decoration:underline;}.pp-slider-wrap input[type='range']{accent-color:var(--info);}.pp-bars{display:flex;flex-direction:column;gap:6px;}.pp-bar-row{display:flex;align-items:center;gap:8px;font-size:13px;}.pp-bar-label{width:70px;flex:none;color:var(--text-light,#6b7280);}.pp-bar-track{flex:1;height:14px;background:var(--surface-alt,#f1f5f9);border-radius:7px;overflow:hidden;}.pp-bar-fill{display:block;height:100%;background:var(--info);border-radius:7px;}.pp-bar-val{width:80px;flex:none;text-align:right;font-variant-numeric:tabular-nums;}.pp-bar-row.pp-bar-active{font-weight:600;}.pp-bar-row.pp-bar-active .pp-bar-label{color:var(--info);}.pp-bar-row.pp-bar-active .pp-bar-fill{background:var(--info);box-shadow:0 0 0 1px var(--info) inset;}.pp-active-month{display:inline-block;padding:6px 10px;border-radius:6px;background:var(--info-bg);color:var(--info);font-weight:600;font-variant-numeric:tabular-nums;}@media print{.pp-no-print,.pp-slider-wrap,#module-nav,.sidebar,.topbar-actions{display:none !important;}.card{break-inside:avoid;box-shadow:none;}}.pp-table-scroll{overflow-x:auto;}.pp-create-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}.pp-create-grid>div{display:flex;flex-direction:column;}.pp-clickable{cursor:pointer;}.pp-clickable:hover{background:var(--surface-alt,#eef2f7);}.pp-masked{display:inline-block;filter:blur(4.5px);-webkit-filter:blur(4.5px);user-select:none;pointer-events:none;color:var(--text-light,#6b7280);}.pp-dev-bar{height:9px;border-radius:3px;background:var(--info,#1f4e79);min-width:2px;margin:1px 0;}.pp-dev-bar--prev{background:var(--gold,#a3761f);}.pp-dev-legend{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle;margin:0 3px 0 8px;}.pp-view input[type="file"],.card input[type="file"]{font-size:12.5px;color:var(--text-light,#64748b);max-width:100%;}.pp-view input[type="file"]::file-selector-button,.card input[type="file"]::file-selector-button{padding:6px 13px;margin-right:10px;border:none;border-radius:var(--radius-sm,6px);background:var(--navy,#1e3a5f);color:#fff;font-size:12.5px;font-weight:500;min-height:32px;cursor:pointer;transition:background 0.15s;}.pp-view input[type="file"]:hover::file-selector-button,.card input[type="file"]:hover::file-selector-button{background:var(--navy-dark,#152c4a);}.card input[type="file"]::-webkit-file-upload-button{padding:6px 13px;margin-right:10px;border:none;border-radius:var(--radius-sm,6px);background:var(--navy,#1e3a5f);color:#fff;font-size:12.5px;font-weight:500;cursor:pointer;}.pp-matrix-scroll{overflow:auto;max-height:calc(100vh - 140px);border:1px solid var(--border,#e5e7eb);border-radius:8px;}table.pp-matrix{border-collapse:collapse;width:100%;font-size:13px;}table.pp-matrix th,table.pp-matrix td{border:1px solid var(--border,#e5e7eb);padding:4px 6px;text-align:center;vertical-align:middle;}table.pp-matrix thead th{background:var(--surface-alt,#f1f5f9);position:sticky;top:0;z-index:2;}.pp-m-namecol{position:sticky;left:0;z-index:1;background:var(--surface,#fff);text-align:left !important;min-width:180px;white-space:nowrap;}thead .pp-m-namecol{z-index:3;}.pp-m-abt{display:block;font-size:11px;color:var(--text-light,#6b7280);}.pp-m-tier{min-width:92px;}.pp-m-tierlabel{font-size:10px;line-height:1.15;font-weight:500;color:var(--text-light,#6b7280);}.pp-m-pw{font-weight:700;margin-top:2px;}.pp-m-sumcol{font-weight:700;background:var(--surface-alt,#f8fafc);font-variant-numeric:tabular-nums;}.pp-step{display:inline-flex;align-items:center;gap:2px;}.pp-step-btn{width:22px;height:24px;padding:0;border:1px solid var(--border,#d1d5db);border-radius:4px;background:var(--surface,#fff);cursor:pointer;font-size:15px;line-height:1;}.pp-step-btn:hover{background:var(--surface-alt,#eef2f7);}.pp-m-input{width:44px;text-align:center;padding:3px 2px;border:1px solid var(--border,#d1d5db);border-radius:4px;-moz-appearance:textfield;}.pp-m-input:focus{outline:2px solid var(--info);outline-offset:-1px;}.module-search{display:flex;align-items:center;gap:8px;margin:14px 0 10px;}.module-search-input{flex:0 1 320px;padding:7px 11px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:inherit;transition:border-color 0.15s;}.module-search-input:focus{border-color:var(--accent);}.module-search-clear{border:none;background:none;font-size:16px;color:var(--text-light);cursor:pointer;padding:2px 6px;border-radius:4px;}.module-search-clear:hover{color:var(--text);background:var(--bg);}.module-search-count{font-size:12px;color:var(--text-light);}@media (hover:none){.btn:active,.nav-item:active,.sidebar-btn:active,.clickable:active,.ck-mod-card:active,.season-tab:active,.year-pill:active,.user-dropdown-item:active{background-color:rgba(26,39,68,0.08);}.btn:active,.ck-mod-card:active{transform:scale(0.98);}.tbl td.ec:active,.tbl td.ec-kat:active,.tbl td.ec-prod:active{background-color:rgba(26,39,68,0.1);}}#print-header{display:none;}.empty-state-box{border:1px dashed var(--border);border-radius:8px;padding:24px;background:var(--gold-bg);margin-top:16px;}.empty-state-title{font-weight:600;margin-bottom:6px;}.empty-state-text{font-size:13px;color:var(--text-light);}.empty-state-action{margin-top:10px;}html[data-theme='dark']{--ink:#f3f0ea;--ink-2:#e5e1d7;--slate:#b8b4aa;--slate-2:#a8a49a;--mute:#807c72;--bone:#16161a;--paper:#1f1f22;--paper-2:#25252a;--line:#34343a;--line-strong:#4a4a50;--gold:#e6bd56;--gold-bg:#3a2e12;--wine:#e37777;--wine-bg:#3a1a1a;--hunter:#9cc18a;--hunter-bg:#1f2a18;--info:#84b5e1;--info-bg:#1a2a3a;--navy:#101014;--navy-dark:#0b0b0e;--navy-light:#3a3a42;--ceremony-bg:#2b2416;--ceremony-bg-2:#383017;--success-strong:#b7d6a6;--warn-strong:#eecb74;--danger-strong:#ee9b9b;--mute:#938f85;--surface-0:#131316;--surface-1:#16161a;--surface-2:#1f1f22;--surface-3:#25252a;--surface-4:#2c2c32;--scrim:rgba(0,0,0,0.65);--gold-text:#e6bd56;--on-gold:#1f1700;--offline:#eecb74;--chart-1:#82aef7;--chart-2:#b39df8;--chart-3:#f191c1;--chart-4:#f5bd5e;--chart-5:#5fd3a8;--chart-6:#6cc6f0;--chart-7:#e78df5;--chart-8:#64d0c3;--chart-9:#fb9a5e;--chart-10:#9aa1ad;--chart-grid:#2e2e34;--chart-axis:#4a4a50;--chart-label:#a8a49a;--chart-ref:#ee9b9b;--disabled-fg:#5c5c62;--disabled-bg:#25252a;--hover-gold:#d9ad3f;--sidebar-bg:#101014;--sidebar-fg:#ffffff;--sidebar-fg-rgb:255,255,255;--sidebar-line:#26262c;--shadow-card:0 0 0 1px rgba(255,255,255,0.06);color-scheme:dark;}@media print{html[data-theme='dark']{--ink:#1a1a1a;--ink-2:#2a2926;--slate:#4a4944;--slate-2:#5c5a53;--mute:#6f6d67;--bone:#ffffff;--paper:#ffffff;--paper-2:#faf7f2;--line:#e6e1d7;--line-strong:#c4bfb3;--gold:#b8862b;--gold-bg:#fbf3dc;--wine:#8a1f1f;--wine-bg:#fbe9e9;--hunter:#2e5a24;--hunter-bg:#e6efde;--info:#1f4e79;--info-bg:#e4ecf4;color-scheme:light;}}[data-tip]{cursor:help;}th[data-tip]>.tip-mark,[data-tip]>.tip-mark{border-bottom:1px dotted currentColor;}[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(6px);background:var(--ink);color:var(--bone);padding:6px 10px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.4;white-space:normal;width:max-content;max-width:230px;text-align:left;z-index:var(--z-tooltip);pointer-events:none;}[data-tip]{position:relative;}