:root{--bg: #eef2f6;--surface: #ffffff;--surface-2: #f4f7fa;--line: #dbe2ea;--line-strong: #c3ccd7;--ink: #1b2533;--muted: #5d6b7e;--blue: #2457c5;--blue-soft: #e7eefb;--on-blue: #ffffff;--signal: #f2b233;--signal-soft: #fff4d6;--signal-line: #ecc666;--good: #1e8e5a;--bad: #c8372d;--shadow: 0 1px 2px rgba(27, 37, 51, .06), 0 6px 20px rgba(27, 37, 51, .06);--radius: 10px;font-family:Golos Text,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"tnum" 1;color-scheme:light}:root[data-theme=dark]{--bg: #121a26;--surface: #1a2433;--surface-2: #212d3f;--line: #2e3b4f;--line-strong: #3d4d65;--ink: #e6ecf4;--muted: #98a6b9;--blue: #6e9cf5;--blue-soft: #233453;--on-blue: #0d1626;--signal-soft: #3a3220;--signal-line: #6e5a2a;--good: #4fc38a;--bad: #ff7a70;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}html{font-size:var(--root-size, 16px)}body{background:var(--bg);color:var(--ink);font-size:.9375rem;line-height:1.5}h1{font-size:1.6rem;line-height:1.2;font-weight:700;margin:0 0 18px;letter-spacing:-.01em}h2{font-size:1.1rem;font-weight:600;margin:0}a{color:var(--blue)}.muted{color:var(--muted)}.spacer{flex:1}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.between{justify-content:space-between}button,select,input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px}input,textarea,select{width:100%}select{width:auto}.filters select,.form-grid select{width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button{cursor:pointer;white-space:nowrap;font-weight:500;transition:background-color .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--blue)}button:disabled{opacity:.45;cursor:default}button.primary,.button.primary{background:var(--blue);color:var(--on-blue);border-color:var(--blue);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.danger{color:var(--bad)}button.link{background:none;border:0;color:var(--blue);padding:0;text-align:left}.button{display:inline-flex;align-items:center;text-decoration:none;border-radius:8px;padding:8px 14px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:500}label{display:block;font-size:.85rem;font-weight:500;color:var(--muted)}label input,label select,label textarea{margin-top:6px}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex:none;background:var(--surface);border-right:1px solid var(--line);padding:20px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;margin:0 4px 28px}.brand strong{display:block;font-size:1.02rem;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:.8rem}.brand-mark{width:36px;height:36px;border-radius:10px;flex:none;background:linear-gradient(var(--blue),var(--blue)) center 11px / 20px 3px no-repeat,linear-gradient(var(--blue),var(--blue)) center 22px / 20px 3px no-repeat,var(--blue-soft)}.route{display:grid}.route a{position:relative;display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:500}.route a:hover{background:var(--surface-2)}.route a:before{content:"";position:absolute;left:25px;top:0;bottom:0;width:2px;background:var(--line)}.route a:first-child:before{top:50%}.route a:last-child:before{bottom:50%}.route a:only-child:before{display:none}.stop{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-strong);flex:none;display:grid;place-items:center;color:var(--muted);transition:background-color .12s,color .12s,border-color .12s}.route a:hover .stop{border-color:var(--blue);color:var(--blue)}.nav-label{min-width:0}.route a.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.route a.active .stop{background:var(--signal);border-color:var(--signal);color:#1b2533;box-shadow:0 0 0 4px var(--signal-soft)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.content{padding:28px clamp(16px,2vw,36px) 40px;width:100%;min-width:0}.icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}.icon:hover:not(:disabled){background:var(--surface-2);border-color:var(--line);color:var(--ink)}.menu-btn{display:none}.badge{position:absolute;top:4px;right:4px;background:var(--bad);color:#fff;border-radius:9px;font-size:.68rem;line-height:16px;min-width:16px;padding:0 4px;font-weight:700}.lang{border-color:transparent;background:transparent;color:var(--muted)}.user-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;border-color:var(--line);max-width:220px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--on-blue);display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none}.user-name{overflow:hidden;text-overflow:ellipsis}.popover-host{position:relative}.popover{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:180px;display:grid;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.popover a{text-decoration:none;color:var(--ink)}.wide-pop{width:min(340px,85vw);max-height:60vh;overflow:auto}.popover p{margin:0;font-size:.9rem}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}.page-head h1{margin:0}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:3px}.segmented button{border:0;background:none;color:var(--muted)}.segmented button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.filters label{flex:1 1 160px;max-width:260px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%}th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}thead th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--surface-2)}tbody th{font-weight:500}tbody tr:last-child>*{border-bottom:0}tbody tr:hover>td{background:var(--surface-2)}table.compact td{padding:5px}table.compact input[type=number]{width:70px;padding:6px}table.compact input:not([type=number]){min-width:160px}.actions{display:flex;gap:6px}.actions button{padding:5px 10px;font-size:.85rem}.empty{padding:48px 16px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.table-wrap .empty{border:0}.error{color:var(--bad);margin:10px 0}.success{color:var(--good);margin:0}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;color:var(--muted);font-size:.9rem}.page-no{padding:0 6px;color:var(--ink);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:32px 12px;background:#1b253361;overflow:auto}.modal{width:100%;min-width:0;max-width:480px;background:var(--surface);border-radius:14px;box-shadow:0 20px 50px #1b253340}.modal.wide{max-width:980px}.modal-head,.modal-foot{display:flex;align-items:center;gap:8px;padding:16px 20px}.modal-head{justify-content:space-between;border-bottom:1px solid var(--line)}.modal-foot{justify-content:flex-end;border-top:1px solid var(--line)}.modal-body{padding:20px;display:grid;gap:14px;min-width:0}.modal-body form{display:grid;gap:14px;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.wagons{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:12px;min-width:0}.wagons legend{padding:0 6px;font-weight:600}.wagon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.wagon-grid label{text-align:center}.wagon-grid input{padding:7px 2px;text-align:center}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:4px}.stat strong{font-size:1.15rem}.section-link{text-decoration:none;color:var(--ink);border-left:4px solid var(--blue)}.section-link:hover{border-color:var(--line-strong);border-left-color:var(--signal)}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.stack{display:grid;gap:14px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:0}.facts.single{grid-template-columns:1fr}.facts dt{color:var(--muted);font-size:.85rem}.facts dd{margin:2px 0 0;font-weight:600}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(90deg,transparent calc(50% - 1px),var(--line) calc(50% - 1px),var(--line) calc(50% + 1px),transparent calc(50% + 1px)),var(--bg)}.login{width:100%;max-width:400px;display:grid;gap:16px;padding:32px;box-shadow:var(--shadow)}.login h1{margin:0}.login p{margin:-8px 0 4px}.login .select{justify-self:end}.login .select-trigger{border-color:transparent;color:var(--muted)}.workbook{min-width:0}.workbook-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.sheet-list{position:sticky;top:84px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;max-height:calc(100vh - 110px);display:flex;flex-direction:column;gap:8px}.sheet-list input{margin:0}.sheet-list ul{list-style:none;margin:0;padding:0;overflow-y:auto;display:grid;gap:2px}.sheet-list li button{width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;white-space:normal;line-height:1.3;font-weight:400;color:var(--ink)}.sheet-list li button:hover{background:var(--surface-2)}.sheet-list li button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.sheet-list li button .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);margin-left:8px;vertical-align:middle}.sheet-list .group{font-size:.8rem;color:var(--muted);padding:8px 10px 2px}.sheet-select{display:none}.sheet-panel{min-width:0;display:grid;gap:14px}.sheet-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.sheet-head h2{font-size:1.25rem}.hint{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--signal-soft);border:1px solid var(--signal-line);border-radius:var(--radius);font-size:.9rem}.hint .swatch{width:12px;height:12px;border-radius:3px;background:var(--signal);flex:none}.sheet-title{margin:-6px 0 0;color:var(--muted);font-size:.95rem;max-width:80ch}.cell-detail{font-size:.88rem;color:var(--muted);min-height:1.4em}.cell-detail code{color:var(--ink);background:var(--surface-2);padding:2px 6px;border-radius:4px;font-family:inherit}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:10px;box-shadow:var(--shadow);z-index:50}.data-scroll{overflow:auto;max-height:calc(100vh - 250px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table.data{width:max-content;min-width:100%;font-size:.88rem}.data th,.data td{padding:8px 12px;border-bottom:1px solid var(--line)}.data thead{position:sticky;top:0;z-index:2}.data thead th{background:var(--surface-2);color:var(--muted);font-weight:600;text-align:center;white-space:normal;min-width:64px;border-left:1px solid var(--line);vertical-align:bottom}.data thead th:first-child{border-left:0}.data tbody td.num{text-align:right}.data tbody td.label{position:sticky;left:0;z-index:1;background:var(--surface);font-weight:600;border-right:1px solid var(--line)}.data tbody tr:hover td.label{background:var(--surface-2)}.data tbody tr.total td{font-weight:700;background:var(--surface-2)}.data td.neg{color:var(--bad)}.data td.err{color:var(--bad);font-weight:600}.data td.editable{cursor:text}.data td.input{background:var(--signal-soft);box-shadow:inset 0 -2px 0 var(--signal-line)}.data tbody tr:hover td.input{background:var(--signal-soft)}.data td.input:hover{box-shadow:inset 0 0 0 2px var(--signal)}.data td.selected{box-shadow:inset 0 0 0 2px var(--blue)}.data td input{width:100%;min-width:70px;padding:4px 6px;border-radius:6px;text-align:right}@media (max-width: 1000px){.workbook-layout{grid-template-columns:1fr}.sheet-list{display:none}.sheet-select{display:block;width:100%}}@media (max-width: 800px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:35;transform:translate(-100%);transition:transform .18s;height:100vh}.sidebar.open{transform:none;box-shadow:var(--shadow)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#1b253361}.menu-btn{display:inline-flex}.topbar{padding:8px 12px}.user-name{display:none}.user-btn{padding:4px}.content{padding:20px 16px 32px}.filters label{max-width:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.page-sub{margin:4px 0 0;color:var(--muted)}.station-form{display:grid;gap:18px}.station-block h3{margin:0 0 10px;font-size:1.05rem}.field-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.field-group{margin:0;padding:14px 16px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.field-group.has-input{border-top:3px solid var(--signal)}.field-group legend{float:left;width:100%;padding:0;margin-bottom:10px;font-weight:600}.fields{clear:both;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.field{display:grid;gap:4px;min-width:0}.field-label{font-size:.8rem;color:var(--muted);font-weight:500;overflow-wrap:anywhere}.field.editable input{margin:0;text-align:right;background:var(--signal-soft);border-color:var(--signal-line);font-weight:600}.field.editable input:focus{background:var(--surface)}.field.readonly output{display:block;padding:8px 12px;border-radius:8px;background:var(--surface-2);text-align:right;font-weight:600}.field.readonly.neg output,.field.readonly.err output{color:var(--bad)}.dashboard{display:grid;gap:18px}.dashboard .page-head{margin-bottom:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tile{display:grid;gap:6px}.tile-label{color:var(--muted);font-size:.9rem;font-weight:500}.tile-value{font-size:2rem;line-height:1.1;font-weight:700;letter-spacing:-.02em;font-feature-settings:normal}.tile-value small{font-size:.95rem;font-weight:500;color:var(--muted)}.tile-delta{font-size:.88rem;font-weight:600}.tile-delta.up{color:var(--good)}.tile-delta.down{color:var(--bad)}.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{min-width:0}.panel.wide{grid-column:1 / -1}.panel h2{font-size:1.05rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-head .segmented button{padding:4px 12px}.panel-note{margin:2px 0 10px;color:var(--muted);font-size:.88rem}.chart{width:100%}.data-view summary{cursor:pointer;font-weight:600}.data-view .table-wrap{margin-top:12px;max-height:420px;overflow:auto}.data-view td.neg{color:var(--bad)}@media (max-width: 900px){.panels{grid-template-columns:1fr}}.choice-group{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0;min-width:0}.choice-group legend{padding:0 6px;font-weight:600;color:var(--ink)}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:10px}label.check{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.92rem;cursor:pointer}label.check input{width:18px;height:18px;margin:0;accent-color:var(--blue);flex:none}label.check:has(input:disabled){color:var(--muted);cursor:default}td.wrap{white-space:normal;max-width:320px;color:var(--muted);font-size:.88rem}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.pill.on{background:var(--blue-soft);color:var(--blue)}.pill.off{background:var(--surface-2);color:var(--muted)}.settings-section{display:grid;gap:14px}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.section-head p{margin:2px 0 0}.pill.super{background:var(--signal-soft);color:var(--ink);border:1px solid var(--signal-line)}.notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;background:var(--blue-soft);border-radius:var(--radius)}td code{font-size:.95rem;background:var(--surface-2);padding:2px 6px;border-radius:4px}label.inline{display:flex;align-items:center;gap:8px}label.inline input{margin:0;width:auto}button.link.small{font-size:.85rem;font-weight:500;margin-left:10px}.saved-mark{margin-left:8px;color:var(--good);font-weight:700}.field.editable.changed input{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}.notice-locked{margin:0;padding:10px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line-strong)}.locks{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);font-size:.9rem}.lock{display:inline-flex;align-items:center;gap:8px;padding:2px 10px;border-radius:999px;background:var(--surface-2)}.formula-editor{display:grid;gap:8px;font-size:.9rem;color:var(--muted)}.formula-editor code{color:var(--ink);background:var(--surface-2);padding:2px 6px;border-radius:4px}.formula-editor form input{flex:1 1 280px;width:auto}.small-note{margin:-6px 0 12px;font-size:.88rem}.months{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.has-errors{border-color:var(--bad)}.widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.widget{min-width:0;display:grid;gap:8px;align-content:start}.widget h2{font-size:1rem}.kpi{display:grid;gap:6px}.kpi strong{font-size:2rem;line-height:1.1}.kpi .up{color:var(--good);font-weight:600}.kpi .down{color:var(--bad);font-weight:600}.compact-table td{padding:6px 10px;font-size:.88rem}.compact-table td.num{text-align:right}.widget-editor .row input{flex:1 1 160px;width:auto}code.key{word-break:break-all;font-size:.9rem;background:var(--surface);padding:2px 6px;border-radius:4px}.api-help{background:var(--surface-2);padding:12px;border-radius:8px;overflow-x:auto;font-size:.85rem}@media (max-width: 900px){.widget-grid{grid-template-columns:1fr}.widget{grid-column:auto!important}}.home-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:fit-content;max-width:100%}.home-tabs button{border:0;background:none;color:var(--muted);padding:8px 14px;border-radius:8px}.home-tabs button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.home-tabs .add-tab{color:var(--blue)}.date-field{position:relative;display:grid;gap:6px;min-width:0}.date-field.inline{display:flex;align-items:center;gap:8px}.date-label{font-size:.85rem;font-weight:500;color:var(--muted)}.date-trigger{display:flex;align-items:center;gap:8px;width:100%;min-width:190px;text-align:left;font-weight:500}.date-trigger svg{color:var(--blue);flex:none}.date-trigger .placeholder{color:var(--muted);font-weight:400}.date-trigger.open{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.date-count{margin-left:auto;padding:1px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.78rem;font-weight:600}.calendar{position:fixed;z-index:60;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #1b253329;overflow:hidden}.cal-presets{display:grid;align-content:start;gap:2px;padding:12px 8px;min-width:150px;background:var(--surface-2);border-right:1px solid var(--line)}.cal-presets button{border:0;background:none;text-align:left;padding:7px 10px;border-radius:8px;color:var(--ink);font-weight:500}.cal-presets button:hover{background:var(--surface)}.cal-presets button.active{background:var(--blue);color:var(--on-blue)}.cal-main{padding:12px 14px 10px;width:292px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-head strong{font-size:.98rem}.cal-nav{width:32px;height:32px;padding:0;border:0;border-radius:8px;background:none;font-size:1.35rem;line-height:1;color:var(--muted)}.cal-nav:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-week span{text-align:center;font-size:.75rem;font-weight:600;color:var(--muted);padding:4px 0}.cal-week span:nth-child(n+6){color:var(--bad);opacity:.8}.cal-grid button{position:relative;height:38px;padding:0;border:0;border-radius:0;background:none;font-weight:500}.cal-grid button span{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;margin:0 auto;border-radius:50%}.cal-grid button:hover:not(:disabled) span{background:var(--blue-soft)}.cal-grid button.outside{color:var(--muted);opacity:.55}.cal-grid button.today span{box-shadow:inset 0 0 0 1.5px var(--blue)}.cal-grid button.between{background:var(--blue-soft)}.cal-grid button.edge.span:before{content:"";position:absolute;top:2px;bottom:2px;background:var(--blue-soft)}.cal-grid button.edge.span.start:before{left:50%;right:0}.cal-grid button.edge.span.end:before{left:0;right:50%}.cal-grid button.between{background:none}.cal-grid button.between:before{content:"";position:absolute;top:2px;right:0;bottom:2px;left:0;background:var(--blue-soft)}.cal-grid button.edge span,.cal-grid button.edge:hover span{background:var(--blue);color:var(--on-blue);font-weight:700}.cal-grid button:focus-visible{outline:none}.cal-grid button:focus-visible span{outline:2px solid var(--blue);outline-offset:1px}.cal-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-top:6px;padding-top:8px;border-top:1px solid var(--line);font-size:.82rem}@media (max-width: 560px){.calendar{flex-direction:column;position:fixed;left:12px;right:12px;top:auto;bottom:12px}.cal-presets{display:flex;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.cal-main{width:auto}}.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.status.open{background:var(--signal-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--signal-line)}.status.closed{background:var(--blue-soft);color:var(--blue)}table.journal-rows th{white-space:nowrap}table.journal-rows td{vertical-align:top}table.journal-rows td.col-number input{width:90px}table.journal-rows td.col-kind select,table.journal-rows td.col-choice select{width:auto;min-width:90px}table.journal-rows td.col-datetime input{min-width:0;width:200px}table.journal-rows td.col-date .date-trigger{min-width:160px}table.journal-rows input:user-invalid{border-color:var(--bad)}.date-field.inline .date-label{white-space:nowrap}.maket-summary{margin-bottom:18px}.maket-summary h2{margin-bottom:2px}.maket-summary .small-note{margin:0}td.num{text-align:right;font-variant-numeric:tabular-nums}td.neg{color:var(--bad)}tr.total th,tr.total td{font-weight:700;background:var(--surface-2)}.route a .sub-chevron{margin-left:auto;color:var(--muted);font-size:1.1rem;line-height:1;transition:transform .15s}.route a[aria-expanded=true] .sub-chevron{transform:rotate(180deg);color:var(--blue)}.subnav{width:272px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:10px;padding:18px 12px 12px;background:var(--surface-2);border-right:1px solid var(--line);animation:subnav-in .16s ease-out}@keyframes subnav-in{0%{opacity:0;transform:translate(-8px)}}@media (prefers-reduced-motion: reduce){.subnav{animation:none}}.subnav-head{display:flex;align-items:flex-start;gap:6px;padding:0 4px 0 8px}.subnav-head>div{flex:1;min-width:0}.subnav-head strong{display:block;font-size:.98rem;line-height:1.3}.subnav-head small{color:var(--muted);font-size:.8rem}.subnav-head .icon{width:32px;height:32px;font-size:1.3rem;flex:none}.sheet-list.in-menu{position:static;flex:1;min-height:0;max-height:none;border:0;padding:0;background:none}.sheet-list.in-menu input,.sheet-list.in-menu li button:hover{background:var(--surface)}@media (min-width: 1001px){.workbook-layout.menu-open{grid-template-columns:minmax(0,1fr)}.workbook-layout.menu-open>.sheet-list{display:none}}@media (max-width: 1000px){.subnav{display:none}}.modal.wide:has(.journal-rows){max-width:1240px}.period-bar{align-items:flex-end}.period-bar .segmented{align-self:flex-end}.period-bar .date-field{flex:0 1 240px}.period-note{flex:1 1 260px;margin:0 0 8px;font-size:.85rem}.sidebar{transition:width .18s,padding .18s}.sidebar-head{display:flex;align-items:flex-start;gap:6px;margin-bottom:24px}.sidebar-head .brand{flex:1;min-width:0;margin:0 0 0 4px}.brand-text{min-width:0}.fold-btn{width:34px;height:34px;flex:none}.sidebar.folded{width:76px;padding:20px 12px;overflow-x:hidden}.sidebar.folded .sidebar-head{flex-direction:column;align-items:center;gap:10px}.sidebar.folded .brand{margin:0;flex:none}.sidebar.folded .brand-text,.sidebar.folded .nav-label,.sidebar.folded .sub-chevron{display:none}.sidebar.folded .route a{justify-content:center;padding:6px 0}.sidebar.folded .route a:before{left:50%;margin-left:-1px}.sidebar.folded .route a.active{background:none}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}@media (max-width: 800px){.fold-btn{display:none}.sidebar.folded{width:248px;padding:20px 16px}.sidebar.folded .sidebar-head{flex-direction:row;align-items:flex-start}.sidebar.folded .brand-text,.sidebar.folded .nav-label,.sidebar.folded .sub-chevron{display:revert}.sidebar.folded .route a{justify-content:flex-start;padding:6px 10px}.sidebar.folded .route a:before{left:25px;margin-left:0}}.workbook-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.workbook-toolbar .filters{margin:0;flex:1 1 auto}.workbook-toolbar .actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}@media (min-width: 1001px){.workbook-layout{grid-template-columns:minmax(0,1fr)}.workbook-layout>.sheet-list{display:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.import-kind{display:grid;gap:6px;justify-items:start}.import-kind .small-note{margin:0}:root[data-accent=green]{--blue: #1d7a52;--blue-soft: #e3f3ea}:root[data-accent=violet]{--blue: #5b3fc4;--blue-soft: #ece8fb}:root[data-accent=teal]{--blue: #0b7a85;--blue-soft: #dff1f3}:root[data-accent=graphite]{--blue: #3a4556;--blue-soft: #e8ebef}:root[data-theme=dark][data-accent=green]{--blue: #4fc38a;--blue-soft: #1d3b2e}:root[data-theme=dark][data-accent=violet]{--blue: #a590f6;--blue-soft: #2e2752}:root[data-theme=dark][data-accent=teal]{--blue: #52c4ce;--blue-soft: #173a3e}:root[data-theme=dark][data-accent=graphite]{--blue: #c4cbd6;--blue-soft: #2a3340}:root[data-size=small]{--root-size: 15px}:root[data-size=large]{--root-size: 17.5px}:root[data-density=compact] .content{padding:18px 18px 28px}:root[data-density=compact] th,:root[data-density=compact] td{padding:7px 10px}:root[data-density=compact] .data th,:root[data-density=compact] .data td{padding:5px 8px}:root[data-density=compact] .route a{padding-top:3px;padding-bottom:3px}:root[data-density=compact] .stop{width:28px;height:28px}:root[data-density=compact] .card{padding:14px 16px}:root[data-nav-style=plain] .route a:before,:root[data-nav-style=pills] .route a:before{display:none}:root[data-nav-style=plain] .stop,:root[data-nav-style=pills] .stop{border:0;background:none;width:26px;height:32px;box-shadow:none}:root[data-nav-style=plain] .route a.active .stop{background:none;color:var(--blue);box-shadow:none}:root[data-nav-style=plain] .route a.active{box-shadow:inset 3px 0 0 var(--blue);border-radius:0 10px 10px 0}:root[data-nav-style=pills] .route{gap:4px}:root[data-nav-style=pills] .route a.active{background:var(--blue);color:var(--on-blue)}:root[data-nav-style=pills] .route a.active .stop{background:none;color:var(--on-blue);box-shadow:none}:root[data-nav-style=pills] .route a.active .sub-chevron{color:var(--on-blue)}:root[data-nav=right] .shell{flex-direction:row-reverse}:root[data-nav=right] .sidebar,:root[data-nav=right] .subnav{border-right:0;border-left:1px solid var(--line)}:root[data-nav-style=plain][data-nav=right] .route a.active{box-shadow:inset -3px 0 0 var(--blue);border-radius:10px 0 0 10px}@media (min-width: 801px){:root[data-nav=top] .shell{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr}:root[data-nav=top] .sidebar{grid-column:1 / -1;width:auto;height:auto;position:static;z-index:25;display:flex;align-items:center;gap:18px;padding:8px 18px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}:root[data-nav=top] .sidebar-head{margin:0;flex:none;flex-direction:row;align-items:center}:root[data-nav=top] .sidebar .brand-text,:root[data-nav=top] .sidebar .nav-label{display:revert}:root[data-nav=top] .fold-btn,:root[data-nav=top] .sub-chevron{display:none}:root[data-nav=top] .route{display:flex;flex-wrap:wrap;gap:2px 4px;flex:1;min-width:0}:root[data-nav=top] .route a{white-space:nowrap;padding:4px 10px 4px 6px;justify-content:flex-start}:root[data-nav=top] .route a:before{display:none}:root[data-nav=top] .stop{width:28px;height:28px}:root[data-nav=top] .subnav{grid-column:1;grid-row:2;top:0;height:100vh}:root[data-nav=top] .main{grid-column:1 / -1;grid-row:2}:root[data-nav=top] .subnav~.main{grid-column:2}:root[data-nav=top] .topbar{position:static}}@media (max-width: 800px){:root[data-nav=right] .sidebar{inset:0 0 0 auto;transform:translate(100%)}:root[data-nav=right] .sidebar.open{transform:none}}.look-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#1b253352;display:flex;justify-content:flex-end}.look-panel{width:min(440px,100%);height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:-12px 0 40px #1b25332e;outline:none;animation:look-in .18s ease-out}@keyframes look-in{0%{transform:translate(24px);opacity:0}}@media (prefers-reduced-motion: reduce){.look-panel{animation:none}}.look-head{display:flex;align-items:flex-start;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.look-head>div{flex:1}.look-head h2{font-size:1.2rem}.look-head p{margin:4px 0 0;font-size:.88rem}.look-head .icon{font-size:1.5rem}.look-body{flex:1;overflow-y:auto;padding:8px 22px 20px;display:grid;gap:4px;align-content:start}.look-group{border:0;margin:0;padding:14px 0 12px;border-bottom:1px solid var(--line);min-width:0}.look-group:last-child{border-bottom:0}.look-group legend{font-weight:600;padding:0;margin-bottom:10px}.look-note{margin:-4px 0 10px;font-size:.84rem}.look-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.look-options.density{grid-template-columns:repeat(2,minmax(0,1fr))}.look-option{display:grid;gap:8px;justify-items:center;padding:10px 8px 9px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;font-size:.86rem;font-weight:500;color:var(--ink);text-align:center;background:var(--surface)}.look-option:hover{border-color:var(--line-strong)}.look-option.chosen{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:600}.look-option:has(input:focus-visible),.swatch-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.look-foot{display:flex;justify-content:space-between;gap:10px;padding:14px 22px;border-top:1px solid var(--line)}.thumb{position:relative;display:block;width:100%;max-width:104px;height:58px;border-radius:7px;border:1px solid var(--line-strong);background:#eef2f6;overflow:hidden}.thumb i,.thumb b,.thumb em,.thumb s{position:absolute;display:block}.thumb.theme-light i,.thumb.theme-dark i,.thumb.theme-system i{left:0;top:0;bottom:0;width:26%;background:#fff;border-right:1px solid #dbe2ea}.thumb.theme-light b,.thumb.theme-dark b,.thumb.theme-system b{left:34%;right:8%;height:9px;top:12px;border-radius:3px;background:#fff}.thumb.theme-light b+b,.thumb.theme-dark b+b,.thumb.theme-system b+b{top:28px;height:18px}.thumb.theme-dark{background:#121a26;border-color:#2e3b4f}.thumb.theme-dark i{background:#1a2433;border-color:#2e3b4f}.thumb.theme-dark b{background:#212d3f}.thumb.theme-system{background:linear-gradient(135deg,#eef2f6 50%,#121a26 50%)}.thumb.theme-system i{background:linear-gradient(135deg,#fff 50%,#1a2433 50%)}.thumb.theme-system b{background:linear-gradient(135deg,#fff 50%,#212d3f 50%)}.thumb[class*=nav-] i{background:var(--blue);opacity:.85}.thumb[class*=nav-] b{background:#fff;border-radius:3px}.thumb.nav-left i{left:0;top:0;bottom:0;width:22%}.thumb.nav-left b{left:30%;right:8%;top:10px;bottom:10px}.thumb.nav-right i{right:0;top:0;bottom:0;width:22%}.thumb.nav-right b{left:8%;right:30%;top:10px;bottom:10px}.thumb.nav-top i{left:0;right:0;top:0;height:22%}.thumb.nav-top b{left:8%;right:8%;top:36%;bottom:10px}.thumb[class*=style-]{background:#fff}.thumb[class*=style-] em{left:14px;width:10px;height:10px;border-radius:50%;border:1.5px solid #9aa6b6}.thumb[class*=style-] em:after{content:"";position:absolute;left:16px;top:2px;width:46px;height:4px;border-radius:2px;background:#c3ccd7}.thumb[class*=style-] em:nth-child(1){top:9px}.thumb[class*=style-] em:nth-child(2){top:24px}.thumb[class*=style-] em:nth-child(3){top:39px}.thumb.style-route:before{content:"";position:absolute;left:19px;top:14px;bottom:14px;width:1.5px;background:#c3ccd7}.thumb.style-route em:nth-child(2){background:var(--signal);border-color:var(--signal)}.thumb.style-plain em{border-radius:2px}.thumb.style-plain em:nth-child(2){border-color:var(--blue);box-shadow:-5px 0 0 -2px var(--blue)}.thumb.style-pills em{border-radius:2px}.thumb.style-pills em:nth-child(2){border-color:#fff}.thumb.style-pills:before{content:"";position:absolute;left:7px;right:7px;top:19px;height:16px;border-radius:5px;background:var(--blue)}.thumb.style-pills em:nth-child(2):after{background:#fff}.thumb[class*=density-]{background:#fff}.thumb[class*=density-] s{left:10px;right:10px;height:1px;background:#c3ccd7}.thumb.density-comfortable s:nth-child(1){top:12px}.thumb.density-comfortable s:nth-child(2){top:24px}.thumb.density-comfortable s:nth-child(3){top:36px}.thumb.density-comfortable s:nth-child(4){top:48px}.thumb.density-compact s:nth-child(1){top:10px}.thumb.density-compact s:nth-child(2){top:17px}.thumb.density-compact s:nth-child(3){top:24px}.thumb.density-compact s:nth-child(4){top:31px}.thumb[class*=size-]{display:grid;place-items:center;background:#fff;color:#1b2533;font-weight:600}.thumb.size-small{font-size:.9rem}.thumb.size-normal{font-size:1.15rem}.thumb.size-large{font-size:1.5rem}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch-option{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;font-size:.86rem;font-weight:500}.swatch-option.chosen{border-color:var(--blue);background:var(--blue-soft)}.swatch-dot{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff8c}.swatch-dot.accent-blue{background:#2457c5}.swatch-dot.accent-green{background:#1d7a52}.swatch-dot.accent-violet{background:#5b3fc4}.swatch-dot.accent-teal{background:#0b7a85}.swatch-dot.accent-graphite{background:#3a4556}.file-field{display:grid;gap:6px;min-width:0}.file-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sample-link{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;font-weight:600;text-decoration:none;padding:2px 8px;border-radius:999px;background:var(--blue-soft)}.sample-link:hover{text-decoration:underline}.dropzone{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:64px;cursor:pointer;border:1.5px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);color:var(--good);transition:border-color .12s,background-color .12s}.dropzone:hover,.dropzone.over{border-color:var(--blue);background:var(--blue-soft)}.dropzone.has-file{border-style:solid;border-color:var(--good);background:var(--surface)}.dropzone:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.dropzone svg{flex:none}.dropzone-text{display:grid;min-width:0;color:var(--ink)}.dropzone-text strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-text small{color:var(--muted);font-size:.82rem}.file-clear{justify-self:start;font-size:.84rem}:root[data-nav=right] .route a .sub-chevron{transform:rotate(180deg)}:root[data-nav=right] .route a[aria-expanded=true] .sub-chevron{transform:none}:root[data-nav=right] .subnav-head .icon,:root[data-nav=right] .fold-btn svg{transform:scaleX(-1)}.select{position:relative;display:inline-block;min-width:0}label .select,.form-grid .select,.filters .select{display:block;margin-top:6px}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:120px;text-align:left;font-weight:500;color:var(--ink);background:var(--surface)}.select-trigger svg{flex:none;color:var(--muted);transition:transform .15s}.select.open .select-trigger{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.select.open .select-trigger svg{transform:rotate(180deg);color:var(--blue)}.select-trigger .placeholder{color:var(--muted);font-weight:400}.select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-list{position:fixed;z-index:80;margin:0;padding:5px;list-style:none;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #1b253329;animation:select-in .12s ease-out}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.select-list{animation:none}}.select-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:8px;cursor:pointer;white-space:nowrap;font-weight:500;color:var(--ink)}.select-list li.active{background:var(--surface-2)}.select-list li.chosen{color:var(--blue);font-weight:600}.select-list li.chosen.active{background:var(--blue-soft)}.select-list li.disabled{color:var(--muted);cursor:default;opacity:.6}.select-list li svg{flex:none}.select.lang .select-trigger{border-color:transparent;background:transparent;color:var(--muted);min-width:0}.select.lang .select-trigger:hover{color:var(--ink);background:var(--surface-2)}.pager .select{display:inline-block;margin:0 4px}.pager .select-trigger{min-width:70px;padding:5px 10px}table.compact .select-trigger{min-width:90px;padding:6px 10px}.role-create{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.role-create>label{flex:1 1 240px;max-width:360px}.role-colors{border:0;margin:0;padding:0;display:flex;gap:6px;align-items:center}.role-colors legend{font-size:.85rem;font-weight:500;color:var(--muted);margin-bottom:6px;padding:0}.color-dot{width:26px;height:26px;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff80}.color-dot.chosen{outline:2px solid var(--ink);outline-offset:2px}.color-dot:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.role-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.role-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 10px 16px;border:1px solid var(--line);border-left:4px solid var(--role);border-radius:10px;background:var(--surface)}.role-main{display:grid;gap:3px;min-width:0}.role-main .muted{font-size:.86rem}.role-sheets{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:.78rem;color:var(--muted)}.role-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.role-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.role-toolbar>label:first-child{flex:1 1 260px;max-width:420px}.role-help{margin:8px 0 10px}.role-count{margin-right:auto}.switch{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);cursor:pointer}.switch input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.modal.wide:has(.cell-grid){max-width:1240px}.cell-grid-wrap{overflow:auto;max-height:calc(100vh - 300px);border:1px solid var(--line);border-radius:10px;user-select:none;-webkit-user-select:none}.cell-grid-wrap.finger{touch-action:none}.cell-grid{border-collapse:separate;border-spacing:0;font-size:.8rem;width:max-content}.cell-grid th,.cell-grid td{padding:3px 7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;height:24px}.cell-grid thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);color:var(--muted);text-align:center;cursor:pointer;font-weight:600;min-width:44px}.cell-grid tbody th{position:sticky;left:0;z-index:1;background:var(--surface-2);color:var(--muted);text-align:right;cursor:pointer;font-weight:600}.cell-grid thead th.corner{left:0;z-index:3}.cell-grid thead th:hover,.cell-grid tbody th:hover{color:var(--blue);background:var(--blue-soft)}.cell-grid td{cursor:cell;background:var(--surface)}.cell-grid td.input{box-shadow:inset 0 -2px 0 var(--signal-line)}.cell-grid td.fx{cursor:not-allowed;color:var(--muted);background:repeating-linear-gradient(135deg,var(--surface-2) 0 4px,var(--surface) 4px 8px)}.cell-grid td.on{background:color-mix(in srgb,var(--pick) 22%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pick) 55%,transparent);color:var(--ink)}.cell-grid td.preview{outline:2px dashed var(--pick);outline-offset:-2px}.formula-editor{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:.9rem}.formula-editor.open{display:grid;gap:8px;border-color:#7048e8;box-shadow:0 0 0 3px color-mix(in srgb,#7048e8 18%,transparent)}.formula-editor.open input{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.95rem}.fx-badge{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 6px;border-radius:6px;background:#7048e8;color:#fff;font-weight:700;font-style:italic;margin-right:6px}.fx-address{font-weight:600}.fx-target{font-weight:500}.fx-help{margin:0;font-size:.84rem}.data td.site-formula,.data td.manual-cell{position:relative}.data td.site-formula:after,.data td.manual-cell:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 8px 8px 0}.data td.site-formula:after{border-color:transparent #7048e8 transparent transparent}.data td.manual-cell:after{border-color:transparent #e8590c transparent transparent}.data td.picking{background:color-mix(in srgb,#7048e8 18%,var(--surface));box-shadow:inset 0 0 0 1px #7048e8}.fx-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.82rem;margin:0}.fx-legend .mark{display:inline-block;width:0;height:0;border-style:solid;border-width:0 9px 9px 0}.fx-legend .mark.site{border-color:transparent #7048e8 transparent transparent}.fx-legend .mark.manual{border-color:transparent #e8590c transparent transparent;margin-left:8px}.update-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:12px;background:var(--ink);color:var(--surface);box-shadow:0 12px 30px #1b25334d}.update-bar button{padding:6px 12px}.select.sheet-select{display:none}@media (max-width: 1000px){.select.sheet-select{display:block;width:100%}}.modal.wide:has(.cell-grid) .cell-grid-wrap{max-height:calc(100vh - 360px)}.users-tabs{margin-bottom:16px}.settings-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:14px}.settings-tile{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .12s,box-shadow .12s}.settings-tile:hover{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.tile-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--blue-soft);color:var(--blue);flex:none}.tile-text{display:grid;gap:2px;min-width:0;flex:1}.tile-text strong{font-size:1.05rem}.tile-text small{color:var(--muted);font-size:.86rem}.tile-count{padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.tile-arrow{font-size:1.5rem;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;font-weight:500;text-decoration:none}.back-link:hover{text-decoration:underline}.password-field{position:relative;display:block}label .password-field{margin-top:6px}label .password-field input{margin-top:0}.password-field input{padding-right:44px}.password-field .eye{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:36px;height:34px;padding:0;display:grid;place-items:center;border:0;background:none;color:var(--muted);border-radius:6px}.password-field .eye:hover{color:var(--blue);background:var(--blue-soft)}.password-field .eye[aria-pressed=true]{color:var(--blue)}.password-field input::-ms-reveal{display:none}.source-card{position:fixed;z-index:65;max-height:min(70vh,560px);overflow-y:auto;padding:14px 16px 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #1b253333;animation:select-in .12s ease-out}.source-card header{display:flex;align-items:flex-start;gap:8px}.source-card header>div{flex:1;min-width:0;display:grid}.source-kicker{font-size:.78rem;color:var(--muted);font-weight:500}.source-card header strong{font-size:.98rem;line-height:1.3}.source-card header code{font-size:.8rem;background:var(--surface-2);padding:2px 6px;border-radius:5px;margin-top:2px}.source-card header .icon{width:30px;height:30px;font-size:1.3rem;margin:-4px -6px 0 0}.source-value{font-size:1.9rem;font-weight:700;letter-spacing:-.01em;margin:6px 0 2px;font-variant-numeric:tabular-nums}.source-origin{margin:0 0 10px;font-size:.88rem;color:var(--ink)}.source-origin em{color:#7048e8;font-style:normal}.source-origin.kind-input:before,.source-origin.kind-manual:before,.source-origin.kind-formula:before,.source-origin.kind-site_formula:before,.source-origin.kind-plan:before,.source-origin.kind-template:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}.source-origin.kind-input:before{background:var(--signal)}.source-origin.kind-manual:before{background:#e8590c}.source-origin.kind-formula:before,.source-origin.kind-site_formula:before{background:#7048e8}.source-origin.kind-plan:before{background:var(--good)}.source-origin.kind-template:before{background:var(--muted)}.source-formula{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:8px 10px;border-radius:10px;background:var(--surface-2);font-size:.88rem}.source-formula code{flex-basis:100%;font-size:.78rem;color:var(--muted);font-family:ui-monospace,Consolas,monospace}.source-sub{margin:12px 0 6px;font-size:.8rem;color:var(--muted)}.source-refs{list-style:none;margin:0;padding:0;display:grid;gap:4px}.source-refs button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:400;white-space:normal}.source-refs button:hover:not(:disabled){border-color:var(--blue);background:var(--blue-soft)}.ref-label{display:grid;gap:1px;min-width:0;font-size:.86rem}.ref-label .chip{justify-self:start;margin-bottom:2px}.ref-label small{color:var(--muted);font-size:.74rem}.ref-value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.ref-value small{font-weight:400;color:var(--muted)}.source-edit{margin-top:10px}.data td.source-ref{box-shadow:inset 0 0 0 2px #7048e8;background:color-mix(in srgb,#7048e8 10%,var(--surface))}.data td{cursor:pointer}.data td.flash,.field.flash{animation:cell-flash 1.4s ease-out}@keyframes cell-flash{0%,40%{background:color-mix(in srgb,#7048e8 35%,var(--surface))}}.field.readonly.explains{cursor:pointer}.field.readonly.explains:hover{border-color:#7048e8}@media (prefers-reduced-motion: reduce){.data td.flash,.field.flash{animation:none;outline:2px solid #7048e8}}.edit-hint{margin:-6px 0 0;font-size:.82rem}.data td:focus{outline:none}.source-sheet{margin-top:6px}.explainable{cursor:pointer}.tile.explainable:hover{border-color:#7048e8;box-shadow:0 0 0 3px color-mix(in srgb,#7048e8 14%,transparent)}.compact-table td.explainable:hover{background:color-mix(in srgb,#7048e8 10%,var(--surface))}.kpi.explainable{border-radius:10px}.kpi.explainable:hover strong{color:#7048e8}.tab-item{position:relative;display:inline-flex;align-items:center;border-radius:8px}.tab-item.active{background:var(--blue-soft)}.tab-item.active>button[role=tab]{background:none}.home-tabs .tab-item .tab-more{padding:4px 8px;margin-left:-6px;color:var(--muted);font-weight:700;letter-spacing:1px;opacity:.55}.home-tabs .tab-item:hover .tab-more,.home-tabs .tab-item.active .tab-more,.home-tabs .tab-more[aria-expanded=true]{opacity:1}.home-tabs .tab-more:hover{color:var(--blue);background:var(--surface)}.tab-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:190px;display:grid;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #1b253329}.home-tabs .tab-menu button{text-align:left;padding:8px 10px;border-radius:8px;color:var(--ink);font-weight:500}.home-tabs .tab-menu button:hover{background:var(--surface-2)}.home-tabs .tab-menu button.danger{color:var(--bad)}.tab-rename input{width:200px;padding:6px 10px;margin:0}.settings-group{margin:26px 0 12px;font-size:1rem;color:var(--muted)}button.settings-tile{width:100%;text-align:left;font:inherit;cursor:pointer}.settings-row{align-items:flex-end}.settings-row .grow{flex:1 1 280px}.settings-month{max-width:320px}.muted-row td{opacity:.6}input.short{width:80px}.sheet-name{display:grid;gap:2px}.sheet-name small{font-size:.8rem}.sheet-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.sheet-tools .segmented button{padding:6px 14px}.zoom-tools .zoom-value{min-width:64px;font-variant-numeric:tabular-nums;color:var(--blue);font-weight:600}.zoom-tools .zoom-value.fit{color:var(--good)}.day-banner{margin:0;padding:9px 14px;border-radius:var(--radius);background:var(--blue-soft);color:var(--ink);font-size:.9rem;border:1px solid color-mix(in srgb,var(--blue) 18%,transparent)}.day-banner b{color:var(--blue)}.day-banner.report{background:var(--surface-2);border-color:var(--line)}.data td .pill-input{width:100%;min-width:72px;margin:0;padding:4px 8px;text-align:right;border-radius:7px;background:var(--signal-soft);border:1px solid var(--signal-line);font-weight:600;font-size:inherit}.data td .pill-input:focus{background:var(--surface);border-color:var(--blue)}.data td .pill-input.changed{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.data.excel{font-family:Calibri,Segoe UI,Arial,sans-serif;border-collapse:collapse}.data.excel th,.data.excel td{border:1px solid #c8ced6;padding:3px 7px}.data.excel thead th{background:#fff;color:var(--ink);font-weight:700;position:static}.data.excel thead tr.col-letters th,.data.excel .row-no{background:#eef1f5;color:#5d6b7e;font-weight:500;font-size:.78rem;text-align:center;position:sticky;z-index:2}.data.excel thead tr.col-letters th{top:0}.data.excel .row-no{left:0;min-width:34px}.data.excel tbody td.label{position:static}.data.excel tbody tr.total td{background:#fff}:root[data-theme=dark] .data.excel thead th,:root[data-theme=dark] .data.excel tbody tr.total td{background:var(--surface)}:root[data-theme=dark] .data.excel thead tr.col-letters th,:root[data-theme=dark] .data.excel .row-no{background:var(--surface-2);color:var(--muted)}:root[data-theme=dark] .data.excel th,:root[data-theme=dark] .data.excel td{border-color:var(--line-strong)}.row-form{display:grid;gap:12px}.row-search{padding:10px 14px}.row-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:12px}.row-card header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.row-card h3{margin:0;font-size:1.02rem}.row-card header small{color:var(--muted);font-size:.78rem}.row-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.row-field{display:grid;gap:1px;color:var(--ink);font-weight:600;font-size:.82rem}.row-field small{color:var(--muted);font-weight:400;font-size:.72rem;opacity:.8}.row-field input{margin-top:4px;padding:9px 12px;text-align:right;font-weight:600;background:var(--signal-soft);border-color:var(--signal-line);border-radius:10px}.row-field input:read-only{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.row-field input.changed{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.row-calc{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px dashed var(--line)}.calc-chip{padding:3px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:.78rem;font-weight:400;color:var(--muted)}.calc-chip b{color:var(--ink)}.calc-chip.neg b{color:var(--bad)}.calc-chip:hover{border-color:#7048e8}table.data.zoomed{min-width:0}table.translations td{vertical-align:top;white-space:normal}table.translations .tr-source{max-width:320px;font-weight:500}table.translations .tr-source .chip{margin-left:6px}table.translations textarea{width:100%;min-width:180px;padding:6px 8px;resize:vertical;font:inherit}.team-open{display:flex;align-items:center;gap:12px;width:100%;margin-top:18px;padding:6px 10px;border:1px dashed var(--line-strong);border-radius:10px;background:none;color:var(--ink);font-weight:500;text-align:left}.team-open:hover{border-color:var(--blue);color:var(--blue)}.sidebar.folded .team-open{justify-content:center;padding:6px 0;border-style:solid}.team-overlay{--bg1: #0b1530;--bg2: #101d40;--card: rgba(255, 255, 255, .045);--edge: rgba(148, 163, 214, .18);--ink-1: #eef2ff;--ink-2: #a8b3d6;--ink-3: #7c88b0;--accent: #3b82f6;position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;overflow-y:auto;padding:34px clamp(16px,2.5vw,40px) 30px;background:radial-gradient(1200px 600px at 50% -10%,#1b2e6b 0%,transparent 60%),linear-gradient(180deg,var(--bg2),var(--bg1));color:var(--ink-1);outline:none;animation:team-in .2s ease-out}@keyframes team-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.team-overlay{animation:none}}.team-overlay button{color:inherit}.team-close{border:0;background:none;color:var(--ink-2);font-size:1.6rem;line-height:1;padding:4px 10px;border-radius:8px}.team-close:hover{color:#fff;background:#ffffff14}.team-close.top{position:absolute;top:14px;right:18px}.team-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px) minmax(0,1fr);gap:28px;align-items:start}.team-eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--ink-3);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.team-eyebrow:before{content:"";width:40px;height:2px;background:var(--accent)}.team-intro h2{margin:16px 0 12px;font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.05;font-weight:800;letter-spacing:-.02em;background:linear-gradient(100deg,#dbe7ff,#93c5fd 45%,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}.team-intro p{margin:0;color:var(--ink-2);max-width:34ch;line-height:1.55}.team-leader{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;padding:76px 22px 22px;margin-top:66px;background:var(--card);border:1px solid var(--edge);border-radius:18px}.team-leader-photo{position:absolute;top:-66px;left:50%;transform:translate(-50%)}.team-leader-photo .team-photo{width:124px;height:124px;border:4px solid var(--c, var(--accent));box-shadow:0 0 0 6px #3b82f62e}.team-badge{position:absolute;right:2px;bottom:6px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--c, var(--accent));color:#fff;border:2px solid var(--bg2)}.team-leader h3{margin:0;font-size:1.15rem;line-height:1.3}.team-leader p,.team-card p{margin:0;color:var(--ink-2);font-size:.88rem;line-height:1.55}.team-role{max-width:100%;padding:2px 12px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere;background:color-mix(in srgb,var(--c, var(--accent)) 24%,transparent);color:color-mix(in srgb,var(--c, var(--accent)) 55%,#fff)}.team-leader .team-role{background:var(--c, var(--accent));color:#fff}.team-goals{list-style:none;margin:0;padding:0;display:grid;gap:22px;justify-self:end}.team-goals li{display:flex;gap:14px;align-items:center}.team-goal-icon{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--card);border:1px solid var(--edge);color:#93c5fd}.team-goals strong{display:block;font-size:.95rem}.team-goals small{color:var(--ink-3);font-size:.8rem}.team-tree{position:relative;margin-top:0;padding-top:44px}.team-trunk{position:absolute;top:0;left:50%;width:1px;height:22px;background:#3b5bdb}.team-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px;position:relative}.team-row:before{content:"";position:absolute;top:-22px;height:1px;background:#3b5bdb;left:calc((100% - (var(--n) - 1) * 14px) / var(--n) / 2);right:calc((100% - (var(--n) - 1) * 14px) / var(--n) / 2)}.team-card{position:relative;display:grid;justify-items:center;align-content:start;gap:8px;text-align:center;padding:10px 10px 18px;background:var(--card);border:1px solid var(--edge);border-radius:16px;transition:border-color .15s,box-shadow .15s,transform .15s}.team-card:before{content:"";position:absolute;top:-22px;left:50%;width:1px;height:22px;background:#3b5bdb}.team-card:after{content:"";position:absolute;top:-27px;left:calc(50% - 4px);width:7px;height:7px;border-radius:50%;border:1.5px solid #60a5fa;background:var(--bg2)}.team-card:hover{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 18px 40px -12px color-mix(in srgb,var(--c) 60%,transparent);transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.team-card{transition:none}.team-card:hover{transform:none}}.team-card-photo{position:relative;width:100%;margin-bottom:14px}.team-card-photo .team-photo{width:100%;aspect-ratio:1;border-radius:10px}.team-icon{position:absolute;left:50%;bottom:-16px;transform:translate(-50%);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--c);color:#fff;border:3px solid var(--bg2)}.team-card h3{margin:4px 0 0;font-size:.92rem;line-height:1.3}.team-photo{display:block;object-fit:cover;background:#1e293b}.team-photo.round{border-radius:50%}.team-photo.empty{display:grid;place-items:center;font-size:1.8rem;font-weight:800;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--c, #3b82f6) 85%,#000),color-mix(in srgb,var(--c, #3b82f6) 45%,#0b1530))}.team-edit{position:absolute;top:8px;right:8px;width:30px;height:30px;padding:0;border:1px solid var(--edge);border-radius:8px;background:#0b1530b3;color:var(--ink-1);opacity:0;transition:opacity .15s}.team-card:hover .team-edit,.team-leader:hover .team-edit,.team-edit:focus-visible{opacity:1}.team-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--edge)}.team-primary{padding:11px 22px;border:0;border-radius:12px;background:linear-gradient(180deg,#4f8cff,#2563eb);color:#fff;font-weight:700;box-shadow:0 10px 28px -10px #2563eb}.team-primary:hover:not(:disabled){filter:brightness(1.08)}.team-ghost{padding:10px 18px;border-radius:12px;border:1px solid var(--edge);background:none}.team-danger{padding:10px 18px;border-radius:12px;border:1px solid rgba(239,68,68,.5);background:none;color:#fca5a5!important}.team-select{min-width:300px}.team-select .select-trigger{background:var(--card);border-color:var(--edge);color:var(--ink-1);padding:11px 14px;border-radius:12px}.team-error{color:#fca5a5}.team-link{border:0;background:none;color:#93c5fd;padding:0;font-size:.85rem}.team-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#03071499}.team-form{width:min(720px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#111d3d;border:1px solid var(--edge);border-radius:18px;color:var(--ink-1);box-shadow:0 30px 80px #00000080}.team-form header,.team-form footer{display:flex;align-items:center;gap:10px;padding:16px 20px}.team-form header{justify-content:space-between;border-bottom:1px solid var(--edge)}.team-form header h3{margin:0}.team-form footer{border-top:1px solid var(--edge)}.team-form-body{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;padding:20px}.team-form-photo{display:grid;justify-items:center;align-content:start;gap:10px}.team-form-photo .team-photo{width:140px;height:140px}.team-upload{padding:8px 14px;border-radius:10px;border:1px solid var(--edge);cursor:pointer;font-weight:600;color:#bfdbfe}.team-upload:hover{border-color:#60a5fa}.team-upload:has(input:focus-visible){outline:2px solid #60a5fa;outline-offset:2px}.team-form-fields{display:grid;gap:12px}.team-form label{color:var(--ink-2);font-size:.82rem;font-weight:600}.team-form input:not([type=radio]):not([type=checkbox]),.team-form textarea{margin-top:6px;background:#ffffff0f;border:1px solid var(--edge);color:var(--ink-1);border-radius:10px}.team-form input:focus,.team-form textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.team-choice{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.team-choice legend{color:var(--ink-2);font-size:.82rem;font-weight:600;margin-bottom:6px;padding:0}.team-choice label{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--edge);cursor:pointer;color:var(--ink-1)}.team-choice label.chosen{border-color:#60a5fa;background:#60a5fa2e}.team-choice.colors label{border-radius:50%;width:28px;height:28px}.team-choice.colors label.chosen{outline:2px solid #fff;outline-offset:2px}.team-choice label:has(input:focus-visible){outline:2px solid #60a5fa;outline-offset:2px}.team-form-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.team-check{display:flex;align-items:center;gap:8px;color:var(--ink-1)!important}.team-check input{width:18px;height:18px;margin:0;accent-color:#3b82f6}.team-order input{width:90px}@media (max-width: 1100px){.team-top{grid-template-columns:1fr}.team-goals{justify-self:start;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.team-leader{margin-top:70px;max-width:420px;justify-self:center;width:100%}.team-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.team-row:before,.team-card:before,.team-card:after,.team-trunk{display:none}.team-tree{padding-top:24px}}@media (max-width: 560px){.team-form-body{grid-template-columns:1fr}.team-select{min-width:0;width:100%}}.designer{display:grid;gap:12px}.designer-head{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px 20px;align-items:end}.designer-title input{font-size:1.05rem;font-weight:600}.designer-roles{grid-column:1 / -1;border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.designer-roles legend{float:left;margin-right:8px;color:var(--muted);font-size:.85rem;font-weight:600;padding:0}.chip-check{padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:.85rem}.chip-check.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:600}.chip-check:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.designer-actions{justify-content:flex-end}.designer-head .error{grid-column:1 / -1}.designer-palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.designer-palette button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem}.designer-palette svg{color:var(--blue)}.designer-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.inspector{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;display:grid;gap:12px}.inspector h3{margin:0;font-size:1rem}.inspector-body{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.type-gallery{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.type-gallery legend{color:var(--muted);font-size:.85rem;font-weight:600;margin-bottom:6px;padding:0}.type-gallery button{display:grid;justify-items:center;gap:4px;min-width:0;padding:8px 4px;font-size:.72rem;line-height:1.2;color:var(--muted);text-align:center;white-space:normal;overflow-wrap:anywhere}.type-gallery button svg{color:var(--ink)}.type-gallery button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:600}.type-gallery button.active svg{color:var(--blue)}.series-list{border:0;padding:0;margin:0;display:grid;gap:6px}.series-list legend{color:var(--muted);font-size:.85rem;font-weight:600;margin-bottom:6px;padding:0}.series-row{display:grid;grid-template-columns:34px minmax(0,1fr) 96px 30px;gap:6px;align-items:center}.series-row input[type=color]{width:34px;height:34px;padding:2px;border-radius:8px;cursor:pointer}.series-list .link{justify-self:start}.design-canvas{min-height:260px;padding:10px;border:1px dashed var(--line-strong);border-radius:14px;background-image:radial-gradient(circle,color-mix(in srgb,var(--muted) 30%,transparent) 1px,transparent 1px);background-size:20px 20px}.design-canvas.empty{display:grid;place-items:center}.design-block{position:relative;cursor:default;transition:box-shadow .15s,transform .15s,opacity .15s}.design-block:hover{box-shadow:0 0 0 1px var(--line-strong),var(--shadow)}.design-block.selected{box-shadow:0 0 0 2px var(--blue),var(--shadow)}.design-block.lifted{opacity:.55;transform:scale(.98)}.design-canvas.moving,.design-canvas.moving *{cursor:grabbing!important}.block-bar{display:flex;align-items:center;gap:4px;margin:-6px -6px 0}.block-type{display:inline-flex;align-items:center;gap:4px;margin-right:auto;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}.block-type svg{width:16px;height:16px}.block-bar .icon{width:28px;height:28px;padding:0;opacity:.6}.design-block:hover .block-bar .icon,.design-block.selected .block-bar .icon,.block-bar .icon:focus-visible{opacity:1}.drag-handle{width:28px;height:28px;padding:0;border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:grab;touch-action:none;border-radius:6px}.drag-handle:hover,.drag-handle:focus-visible{background:var(--blue-soft);color:var(--blue)}.resize-handle{position:absolute;right:2px;bottom:2px;width:18px;height:18px;padding:0;border:0;border-radius:4px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--line-strong) 50%,var(--line-strong) 58%,transparent 58%,transparent 70%,var(--line-strong) 70%,var(--line-strong) 78%,transparent 78%)}.resize-handle:hover,.resize-handle:focus-visible{background-color:var(--blue-soft)}.design-block.selected .resize-handle{background-image:linear-gradient(135deg,transparent 50%,var(--blue) 50%,var(--blue) 58%,transparent 58%,transparent 70%,var(--blue) 70%,var(--blue) 78%,transparent 78%)}.widget-loading{border-radius:10px;background:linear-gradient(90deg,var(--surface-2) 0%,color-mix(in srgb,var(--surface-2) 40%,var(--surface)) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:widget-shimmer 1.4s linear infinite}@keyframes widget-shimmer{to{background-position:-200% 0}}.kpi-bar{display:block;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.kpi-bar i{display:block;height:100%;width:var(--pct);border-radius:inherit;background:var(--good);animation:kpi-grow .9s cubic-bezier(.2,.8,.2,1)}.kpi-bar.down i{background:var(--bad)}@keyframes kpi-grow{0%{width:0}}@media (prefers-reduced-motion: reduce){.widget-loading,.kpi-bar i{animation:none}.design-block{transition:none}}@media (max-width: 1100px){.designer-body{grid-template-columns:1fr}.inspector{position:static;max-height:none}.designer-head{grid-template-columns:1fr}}.fx-tools{display:flex;flex-wrap:wrap;gap:8px 14px}.fx-chips{display:flex;flex-wrap:wrap;gap:4px}.fx-chips button{padding:3px 9px;font-size:.78rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;border-radius:6px}.fx-chips button:hover{border-color:#7048e8;color:#7048e8}.fx-chips.ops button{min-width:30px;font-family:inherit;font-weight:700}.fx-other{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.fx-other legend{padding:0 4px;color:var(--muted);font-size:.8rem;font-weight:600}.fx-other .select{flex:1 1 220px;max-width:320px}.fx-other input{flex:0 1 150px;width:auto}.fx-other button{padding:5px 10px;font-size:.82rem}.fx-preview{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--good) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 35%,transparent);color:var(--ink)}.fx-preview.bad{background:color-mix(in srgb,var(--bad) 10%,var(--surface));border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.fx-preview strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.fx-refs{display:flex;flex-wrap:wrap;gap:4px}.fx-refs .chip{cursor:pointer}.fx-refs .chip:hover:not(:disabled){border-color:#7048e8;color:#7048e8}.names-window{display:grid;gap:12px}.names-search input{font-size:1rem}.names-body{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:16px;min-height:320px}.names-groups ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:calc(100vh - 360px);overflow-y:auto}.names-groups button{width:100%;display:grid;gap:2px;text-align:left;padding:8px 10px}.names-groups button.active{border-color:var(--blue);background:var(--blue-soft)}.names-groups button span{font-size:.78rem}.names-detail{min-width:0}.names-sheets{display:grid;gap:10px;max-height:calc(100vh - 440px);overflow-y:auto}.names-sheets fieldset{margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.names-sheets legend{padding:0 4px;font-weight:700;font-size:.88rem}.names-place{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0}.names-place .check{display:flex;align-items:center;gap:8px;min-width:0}.names-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.notice-ok{margin:0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--good) 12%,var(--surface));color:var(--good);font-weight:600}@media (max-width: 760px){.names-body{grid-template-columns:1fr}}.role-editor-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.role-side h3{margin:0 0 8px;font-size:.9rem;color:var(--muted)}.role-side ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:calc(100vh - 380px);overflow-y:auto}.role-side li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.role-side li.active{border-color:var(--role);box-shadow:inset 3px 0 0 var(--role);background:color-mix(in srgb,var(--role) 8%,var(--surface))}.role-dot{width:12px;height:12px;border-radius:50%;background:var(--role)}.role-side-name{display:grid;min-width:0}.role-side-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-side button.small{padding:3px 10px;font-size:.8rem}.role-editing{font-size:.75rem;font-weight:700;color:var(--role)}.cell-grid td.other{background:color-mix(in srgb,var(--other) 10%,var(--surface));box-shadow:inset 3px 0 color-mix(in srgb,var(--other) 70%,transparent)}@media (max-width: 860px){.role-editor-body{grid-template-columns:1fr}}.page-choice{display:inline-flex;align-items:center;gap:4px}.scope-button{padding:1px 9px;font-size:.76rem;white-space:nowrap;border-radius:999px;line-height:1.5;color:var(--muted)}.scope-button.set{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:700}.scope-overlay{z-index:95}.scope-window{max-width:620px}.scope-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.scope-tools input{flex:1 1 220px;width:auto}.scope-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;max-height:calc(100vh - 340px);overflow-y:auto;padding:2px}.scope-list .check.own{opacity:.75}.scope-count{margin-right:auto}.role-side-stations{margin-top:14px!important}.role-side-search{margin-bottom:8px}.role-side ul.role-side-scroll{max-height:calc(100vh - 520px);min-height:160px}
