:root{--bg:#f2f6fb;--panel:#fff;--panel-2:#f6f9fd;--sunk:#e8eef7;--line:#dbe4f0;--line-2:#c4d2e4;--ink:#0a1838;--ink-2:#44506b;--muted:#7a87a3;--navy:#021d5b;--accent:#0076bf;--accent-2:#2b95d6;--accent-soft:#e1f0fa;--on-accent:#fff;--rail:#021d5b;--rail-2:#0b2f7a;--rail-ink:#b9c9ef;--s-backlog:#8792a8;--s-todo:#4f6b9a;--s-prog:#0076bf;--s-verify:#7a4fe0;--s-done:#13a37e;--s-backlog-bg:#eef0f4;--s-todo-bg:#e7edf7;--s-prog-bg:#e1f0fa;--s-verify-bg:#efe8fd;--s-done-bg:#def5ec;--t-delivery:#0076bf;--t-approval:#7a4fe0;--t-activation:#e8622c;--t-hospitality:#0ea3ad;--t-obligation:#d6263b;--t-report:#5f8a3a;--h-venue:#6b5bd6;--h-mavs:#0053bc;--h-stars:#0a8a4a;--h-sofi:#0ea3ad;--bu-wbu:#0076bf;--bu-sbu:#e8622c;--bu-sebu:#13a37e;--bu-ebu:#7b5ce0;--bu-cbu:#d9a21b;--b-modelo:#b8862b;--b-corona:#f2c200;--b-pacifico:#00a3ad;--b-premier:#8fa9c8;--b-portfolio:#021d5b;--r1:#021d5b;--r2:#e8622c;--r3:#13a37e;--r4:#7a4fe0;--r5:#0076bf;--r6:#d6267a;--warn:#b26a00;--warn-bg:#fdf1dc;--bad:#d6263b;--bad-bg:#fde6e8;--red:#d6263b;--land:#e2eaf5;--land-line:#fff;--shadow:0 1px 2px rgba(2,29,91,.06),0 4px 14px rgba(2,29,91,.05);--shadow-lg:0 24px 60px rgba(2,29,91,.22);--glass:hsla(0,0%,100%,.78);--f-display:"Poppins",ui-sans-serif,system-ui,sans-serif;--f-body:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#07102a;--panel:#0e1a3a;--panel-2:#12224a;--sunk:#0b1631;--line:#1f2f5a;--line-2:#2c3f70;--ink:#e8eefc;--ink-2:#b3c0dd;--muted:#8494b8;--navy:#8fb3ff;--accent:#38a6f0;--accent-2:#6cc0f7;--accent-soft:#10305a;--on-accent:#04122e;--rail:#040b20;--rail-2:#0e2253;--rail-ink:#9fb2dc;--s-backlog:#9aa5bd;--s-todo:#8fa9d6;--s-prog:#38a6f0;--s-verify:#b39bff;--s-done:#3fd0a0;--s-backlog-bg:#1d2538;--s-todo-bg:#1b2740;--s-prog-bg:#10305a;--s-verify-bg:#2a2150;--s-done-bg:#0f3a2e;--t-delivery:#38a6f0;--t-approval:#b39bff;--t-activation:#ff8a5c;--t-hospitality:#3fd0dc;--t-obligation:#ff6b7a;--t-report:#a6c47a;--h-venue:#a597ff;--h-mavs:#6c9cff;--h-stars:#4fcf8a;--h-sofi:#3fd0dc;--bu-wbu:#38a6f0;--bu-sbu:#ff8a5c;--bu-sebu:#3fd0a0;--bu-ebu:#b39bff;--bu-cbu:#f0c040;--b-modelo:#e0b25a;--b-corona:#ffd84a;--b-pacifico:#3fd0dc;--b-premier:#b5c9e2;--b-portfolio:#8fb3ff;--r1:#6c8fd8;--r2:#ff8a5c;--r3:#3fd0a0;--r4:#b39bff;--r5:#38a6f0;--r6:#ff7ab8;--warn:#f0b44c;--warn-bg:#3a2a0e;--bad:#ff6b7a;--bad-bg:#3d1720;--red:#ff6b7a;--land:#15254d;--land-line:#07102a;--shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 24px 60px rgba(0,0,0,.55);--glass:rgba(14,26,58,.8);color-scheme:dark}}:root[data-theme=dark]{--bg:#07102a;--panel:#0e1a3a;--panel-2:#12224a;--sunk:#0b1631;--line:#1f2f5a;--line-2:#2c3f70;--ink:#e8eefc;--ink-2:#b3c0dd;--muted:#8494b8;--navy:#8fb3ff;--accent:#38a6f0;--accent-2:#6cc0f7;--accent-soft:#10305a;--on-accent:#04122e;--rail:#040b20;--rail-2:#0e2253;--rail-ink:#9fb2dc;--s-backlog:#9aa5bd;--s-todo:#8fa9d6;--s-prog:#38a6f0;--s-verify:#b39bff;--s-done:#3fd0a0;--s-backlog-bg:#1d2538;--s-todo-bg:#1b2740;--s-prog-bg:#10305a;--s-verify-bg:#2a2150;--s-done-bg:#0f3a2e;--t-delivery:#38a6f0;--t-approval:#b39bff;--t-activation:#ff8a5c;--t-hospitality:#3fd0dc;--t-obligation:#ff6b7a;--t-report:#a6c47a;--h-venue:#a597ff;--h-mavs:#6c9cff;--h-stars:#4fcf8a;--h-sofi:#3fd0dc;--bu-wbu:#38a6f0;--bu-sbu:#ff8a5c;--bu-sebu:#3fd0a0;--bu-ebu:#b39bff;--bu-cbu:#f0c040;--b-modelo:#e0b25a;--b-corona:#ffd84a;--b-pacifico:#3fd0dc;--b-premier:#b5c9e2;--b-portfolio:#8fb3ff;--r1:#6c8fd8;--r2:#ff8a5c;--r3:#3fd0a0;--r4:#b39bff;--r5:#38a6f0;--r6:#ff7ab8;--warn:#f0b44c;--warn-bg:#3a2a0e;--bad:#ff6b7a;--bad-bg:#3d1720;--red:#ff6b7a;--land:#15254d;--land-line:#07102a;--shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 24px 60px rgba(0,0,0,.55);--glass:rgba(14,26,58,.8);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--f-display);margin:0;letter-spacing:-.01em;text-wrap:balance}h1{font-size:1.55rem}h1,h2{font-weight:600}h2{font-size:1.05rem}h3{font-size:.95rem;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--f-mono);font-size:.82em;white-space:nowrap}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.small{font-size:13px}.xs{font-size:12px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.rail{background:var(--rail);color:var(--rail-ink);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px 12px 16px max(12px,env(safe-area-inset-left,0px));z-index:40}.brand-lock{display:flex;gap:10px;align-items:center;padding:4px 8px 8px;color:#fff}.brand-lock .mk{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#0076bf,#3fd0dc);display:grid;place-items:center;font:700 13px var(--f-display);color:#fff}.brand-lock b{display:block;font:600 15px/1.1 var(--f-display)}.brand-lock small{letter-spacing:.08em;color:var(--rail-ink)}.brand-lock small,.nav-sec{font-size:10.5px;text-transform:uppercase}.nav-sec{letter-spacing:.12em;color:#6f82b2;padding:8px 10px 4px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--rail-ink);font:500 13.5px var(--f-display);text-decoration:none}.nav a:hover{background:hsla(0,0%,100%,.06);color:#fff}.nav a.on{background:var(--rail-2);color:#fff;box-shadow:inset 3px 0 0 #3fb4ff}.nav a .ct{margin-left:auto;font:500 11px var(--f-mono);opacity:.7}.nav a .dot{width:8px;height:8px;border-radius:2px;flex:none}.nav svg{width:16px;height:16px;flex:none}.rail-foot{margin-top:auto;font-size:11.5px;color:#6f82b2;padding:0 10px;line-height:1.5}.rail-foot button{background:none;border:1px solid #2a3c6a;color:var(--rail-ink);border-radius:6px;padding:4px 8px;font-size:11.5px;cursor:pointer;margin-top:8px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);gap:12px;padding:10px max(24px,env(safe-area-inset-right,0px)) 10px 24px}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:6px;flex-wrap:wrap;font-size:13.5px;min-width:0}.crumbs a{color:var(--ink-2)}.crumbs .sep{color:var(--line-2)}.crumbs b{font-weight:600}.search{position:relative;margin-left:auto;width:min(360px,38vw)}.search input{width:100%;border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:8px 12px 8px 32px;font-size:14px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted)}.results{position:absolute;right:0;top:calc(100% + 6px);width:min(460px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);max-height:64vh;overflow:auto;padding:6px}.results .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 10px 2px}.results button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;cursor:pointer}.results button.hl,.results button:hover{background:var(--accent-soft)}.icon-btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;flex:none}.icon-btn svg{width:16px;height:16px}.menu-btn{display:none}.view{padding:22px max(24px,env(safe-area-inset-right,0px)) 56px 24px;display:flex;flex-direction:column;gap:18px;max-width:1480px;width:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}.ph{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.ph .sub{font-size:13px;color:var(--muted)}.ph .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pb{padding:16px 18px}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.g-12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{gap:8px;align-items:center;flex-wrap:wrap}.split{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.page-h{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.page-h .eyebrow{font:600 11.5px var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.page-h p{margin:6px 0 0;color:var(--ink-2);max-width:72ch}.page-h .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:var(--panel);border-radius:8px;padding:7px 13px;font:600 13px var(--f-display);cursor:pointer;color:var(--ink);white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:hover{color:var(--accent)}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08);color:var(--on-accent)}.btn.ghost{border-color:transparent;background:transparent}.btn svg{width:15px;height:15px}.seg{display:inline-flex;flex-wrap:wrap;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:2px;gap:2px}.seg button{border:0;background:transparent;padding:5px 11px;border-radius:6px;font:600 12.5px var(--f-display);cursor:pointer;color:var(--ink-2)}.seg button.on{background:var(--panel);color:var(--accent);box-shadow:var(--shadow)}.inp,.sel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 10px;font-size:13.5px;max-width:100%}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters,.tag{align-items:center}.tag{display:inline-flex;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:5px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}.tag.code{font:500 11px var(--f-mono)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.bad,.tag.warn{border-color:transparent}.tag.bad{background:var(--bad-bg);color:var(--bad)}.tag.ok{background:var(--s-done-bg);color:var(--s-done)}.tag.acc,.tag.ok{border-color:transparent}.tag.acc{background:var(--accent-soft);color:var(--accent)}.tag.solid{background:var(--accent);color:var(--on-accent);border-color:transparent}.status{display:inline-flex;align-items:center;font:700 10.5px var(--f-display);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap}.st-Backlog{background:var(--s-backlog-bg);color:var(--s-backlog)}.st-To-do{background:var(--s-todo-bg);color:var(--s-todo)}.st-In-progress{background:var(--s-prog-bg);color:var(--s-prog)}.st-To-be-verified{background:var(--s-verify-bg);color:var(--s-verify)}.st-Done{background:var(--s-done-bg);color:var(--s-done)}.ttype{width:18px;height:18px;border-radius:4px;display:inline-grid;place-items:center;color:#fff;flex:none}.ttype svg{width:11px;height:11px}.avatar{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font:700 10px var(--f-display);color:#fff;flex:none;letter-spacing:.02em}.avatar.sm{width:22px;height:22px;font-size:9px}.tier{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:6px;font:600 12px var(--f-display);background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2)}.tier.t1{background:var(--accent);color:var(--on-accent)}.tier.t1,.tier.t2{border-color:transparent}.tier.t2{background:var(--accent-soft);color:var(--accent)}.brand-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;white-space:nowrap}.brand-chip i{width:9px;height:9px;border-radius:2px;display:inline-block}.prog{height:6px;border-radius:3px;background:var(--sunk);overflow:hidden;display:flex}.prog span{height:100%}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}.kpi .l{font-size:12.5px;color:var(--muted);font-weight:600}.kpi .v{font:600 1.6rem/1.15 var(--f-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .s{font-size:12.5px;color:var(--ink-2)}.banner{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:10px;background:var(--warn-bg);font-size:14px;flex-wrap:wrap}.banner b{color:var(--warn)}.banner.info{background:var(--accent-soft)}.banner.info b{color:var(--accent)}.banner .btn{margin-left:auto}.empty{padding:28px;text-align:center;color:var(--muted)}.tw{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:14px}.t th{text-align:left;font:600 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);background:var(--panel-2);white-space:nowrap}.t th.sortable{cursor:pointer}.t td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.t tr.click{cursor:pointer}.t tr.click:hover td{background:var(--panel-2)}.t .r{text-align:right}.t .nm{font-weight:600}.ws-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:18px 20px}.ws-logo{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.tabs{display:flex;gap:2px;padding:0 14px;border-top:1px solid var(--line);overflow-x:auto}.tabs a{padding:11px 14px;font:500 14px var(--f-display);color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none;display:inline-flex;gap:7px;align-items:center}.tabs a.on,.tabs a:hover{color:var(--accent)}.tabs a.on{border-bottom-color:var(--accent)}.tabs a .ct{font:500 11px var(--f-mono);background:var(--panel-2);border-radius:999px;padding:1px 7px;color:var(--muted)}.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;align-items:start;padding-bottom:6px}.col{background:var(--sunk);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:200px;transition:background .15s}.col.over{background:var(--accent-soft);outline:2px dashed var(--accent)}.col-h{display:flex;align-items:center;gap:8px;padding:2px 4px 6px;font:700 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.col-h .n{margin-left:auto;font:600 12px var(--f-mono);color:var(--muted)}.col-h .bar{width:10px;height:10px;border-radius:3px}.card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 11px;display:flex;flex-direction:column;gap:8px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow);text-align:left;width:100%}.card:hover{border-color:var(--accent-2)}.card.drag{opacity:.4}.card .ttl{font-size:14px;font-weight:600;line-height:1.3;color:var(--ink)}.card .epic{font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:4px;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .meta{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.card .meta .key{font:500 11.5px var(--f-mono)}.card .meta .avatar{margin-left:auto}.card .due.late{color:var(--bad);font-weight:600}.card .blk{font-size:12px;color:var(--bad);background:var(--bad-bg);border-radius:5px;padding:3px 7px}.swim-h{font:600 13px var(--f-display);display:flex;align-items:center;gap:8px;padding:6px 2px}.scrim{position:fixed;inset:0;background:rgba(8,14,30,.35);z-index:60}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(720px,100vw);background:var(--panel);z-index:61;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.drawer-h{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.drawer-b{overflow-y:auto;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 230px;grid-gap:20px;gap:20px}.field{display:flex;flex-direction:column;gap:4px}.field>span{font:600 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.check{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.check:last-child{border-bottom:0}.check input{width:16px;height:16px;accent-color:var(--accent)}.workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:0;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-wrap:wrap}.workflow button{flex:1 1;border:0;border-right:1px solid var(--line);background:var(--panel-2);padding:8px 2px;font:600 10.5px var(--f-display);cursor:pointer;color:var(--ink-2);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow button:last-child{border-right:0}.workflow button.on{color:#fff}.comment{background:var(--panel-2);border-radius:8px;padding:8px 10px;font-size:14px}.epic-row{display:grid;grid-template-columns:22px 44px minmax(0,1.6fr) minmax(110px,.7fr) minmax(140px,1fr) 110px 130px;grid-gap:12px;gap:12px;align-items:center;padding:10px 18px;border-top:1px solid var(--line);cursor:pointer}.epic-row:hover{background:var(--panel-2)}.epic-row .nm{font-weight:600;line-height:1.25}.epic-kids{background:var(--panel-2);border-top:1px solid var(--line);padding:8px 18px 14px 96px}.kid{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13.5px;cursor:pointer}.kid:last-child{border-bottom:0}.kid:hover .tt{color:var(--accent)}.cat-h{display:flex;gap:10px;align-items:center;padding:12px 18px;background:var(--panel-2);border-top:1px solid var(--line);font:600 13.5px var(--f-display)}.tl{overflow-x:auto}.tl-grid{display:grid;min-width:900px}.tl-head{display:contents}.tl-cell{padding:6px 10px;font-size:13px}.tl-cell,.tl-month{border-bottom:1px solid var(--line)}.tl-month{font:600 11px var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding:8px 6px;background:var(--panel-2)}.tl-track{position:relative;border-bottom:1px solid var(--line);height:38px}.tl-bar{top:13px;height:12px;border-radius:6px;opacity:.25}.tl-bar,.tl-dot{position:absolute}.tl-dot{top:10px;width:18px;height:18px;border-radius:50%;border:2px solid var(--panel);transform:translateX(-50%);cursor:pointer;padding:0}.tl-dot:hover{transform:translateX(-50%) scale(1.25)}.tl-today{position:absolute;top:0;bottom:0;width:2px;background:var(--bad);z-index:2;pointer-events:none}.tl-today span{position:absolute;top:2px;left:4px;background:var(--panel-2);padding:0 3px;border-radius:3px;font:700 10px var(--f-display);color:var(--bad);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal .dow{font:600 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px;background:var(--panel-2)}.cal .day,.cal .dow{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal .day{min-height:104px;padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0}.cal .day.out{background:var(--panel-2)}.cal .day.out .d{opacity:.45}.cal .day.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal .d{font:600 12px var(--f-display);color:var(--ink-2)}.cal .ev{font-size:11.5px;border-radius:4px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:0;text-align:left;color:var(--ink)}.map-wrap{position:relative}.map-wrap svg{width:100%;height:auto;display:block}.map-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12.5px;padding:6px 9px;border-radius:6px;transform:translate(-50%,-120%);white-space:nowrap;z-index:5}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.ws-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px}.ws-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}.ws-card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}.bu-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.bu-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);position:relative;overflow:hidden}.bu-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--c)}.bu-tile:hover{border-color:var(--c);text-decoration:none}.bu-tile .n{font:600 2rem/1 var(--f-display)}.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:10px;gap:10px}.p-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:row;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.p-card:hover{border-color:var(--accent);text-decoration:none}.p-card .nm{font:600 14px/1.25 var(--f-display)}.hbar{display:grid;grid-template-columns:minmax(80px,140px) minmax(0,1fr) 40px;grid-gap:10px;gap:10px;align-items:center;font-size:13px;padding:4px 0}.hbar .tr{height:12px;display:flex;border-radius:4px;overflow:hidden;background:var(--sunk)}.hbar .v{text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2)}.clause{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--panel)}.term-bar{position:relative;height:54px}.term-bar .yr{position:absolute;top:14px;height:26px;border-radius:6px;display:grid;place-items:center;font:600 11.5px var(--f-display);color:var(--ink-2);background:var(--sunk);border:1px solid var(--line);overflow:hidden;white-space:nowrap}.term-bar .yr.cur{background:var(--accent);color:var(--on-accent);border-color:transparent}.term-bar .yr.past{opacity:.6}.rh-col{border-top:4px solid var(--c)}.model svg{width:100%;height:auto}.drop{border:2px dashed var(--line-2);border-radius:12px;padding:24px;text-align:center;background:var(--panel-2)}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.code-block{font:12.5px/1.5 var(--f-mono);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px;overflow-x:auto;white-space:pre;color:var(--ink-2)}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;z-index:80}@media (max-width:1200px){.bu-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1050px){.g-12,.g-21,.g3{grid-template-columns:minmax(0,1fr)}.epic-row{grid-template-columns:22px 44px minmax(0,1fr) 110px 110px}.epic-row .hide-md{display:none}}@media (max-width:820px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .2s}.rail.open{transform:none;box-shadow:var(--shadow-lg)}.menu-btn{display:grid}.topbar{flex-wrap:wrap;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.search{width:100%;order:3}.view{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.bu-tiles,.g2,.g4{grid-template-columns:minmax(0,1fr)}.ws-head{grid-template-columns:auto minmax(0,1fr)}.ws-head>:last-child{grid-column:1/-1}.drawer-b{grid-template-columns:minmax(0,1fr)}.board{grid-template-columns:repeat(5,240px)}.epic-row{grid-template-columns:22px 44px minmax(0,1fr) 100px}.epic-kids{padding-left:18px}.exec-row{min-width:900px}.epic-row .hide-sm{display:none}.cal .day{min-height:70px}.cal .ev{font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.red{color:var(--bad)}.label{font:600 10.5px var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.glass{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.logo{display:inline-grid;place-items:center;flex:none;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.logo img{width:82%;height:82%;object-fit:contain}.logo .mono-mark{font:700 10px var(--f-display);color:var(--navy);letter-spacing:.02em}.logo.round{border-radius:50%}.logo.bare{border:0;background:transparent}.nav .logo.bare{background:#fff;border-radius:4px}.p-card>div{min-width:0;display:flex;flex-direction:column;gap:4px}.p-card.live{box-shadow:inset 4px 0 0 var(--accent)}.hero-photo{position:relative;height:190px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--accent));display:block;box-shadow:var(--shadow)}.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.hero-photo:hover img{transform:scale(1.04)}.hero-photo .cap{position:absolute;left:12px;bottom:10px;font:500 11px var(--f-body);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}.epic-thumb{width:44px;height:44px;border-radius:8px;background:var(--accent-soft);color:var(--accent);overflow:hidden;display:grid;place-items:center}.epic-thumb img{width:100%;height:100%;object-fit:cover}.epic-row>.tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.photo-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.photo-strip figure{margin:0}.photo-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;background:var(--sunk)}.photo-strip figcaption{font-size:11px;color:var(--muted);margin-top:4px}.logo-strip{display:flex;gap:6px;flex-wrap:wrap}.exec-row{display:grid;grid-template-columns:230px repeat(5,minmax(0,1fr));background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;box-shadow:var(--shadow);overflow:hidden}.exec-row>div{padding:16px;border-left:1px solid var(--line);min-width:0}.exec-row>div:first-child{border-left:0}.exec-head{background:transparent;border:0;box-shadow:none;margin-bottom:0}.exec-head>div{padding:6px 16px;border-left:0}.exec-bu{position:relative}.exec-bu:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}.big{font:600 2.5rem/1 var(--f-display);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mid{font:600 1.5rem/1.1 var(--f-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.matrix{border-collapse:separate;border-spacing:4px;width:100%}.matrix th{font:700 11px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px;text-align:center}.matrix th:first-child{text-align:left}.matrix td{text-align:center;font:600 15px var(--f-display);height:52px;border-radius:8px;transition:transform .15s}.matrix td:hover{transform:scale(1.06)}.matrix td:first-child{text-align:left;font:600 14px var(--f-display);padding-right:12px}.bell{position:relative}.bell .dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--bad);color:#fff;font:700 10px/17px var(--f-display);text-align:center;padding:0 4px;animation:pop .4s ease}.notif{position:absolute;right:0;top:calc(100% + 8px);width:min(420px,92vw);max-height:70vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);z-index:50}.notif .ev{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13.5px;align-items:flex-start;cursor:pointer}.notif .ev:hover{background:var(--panel-2)}.notif .ev.unread{background:var(--accent-soft)}.ev-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none}.ev-ic svg{width:14px;height:14px}.flashes{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:10px;z-index:90;width:min(400px,calc(100vw - 32px))}.flash{background:var(--navy);color:#fff;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:flex-start;animation:slideIn .35s cubic-bezier(.2,.9,.3,1.2);border-left:4px solid var(--c,#3fb4ff)}:root[data-theme=dark] .flash{background:#13265a}.flash .k{font:700 10.5px var(--f-display);letter-spacing:.1em;text-transform:uppercase;opacity:.7}.flash button{background:none;border:0;color:#fff;opacity:.6;cursor:pointer;margin-left:auto}.flash a{color:#9fd6ff}.rule-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;position:relative;overflow:hidden}.rule-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c)}.rule-card.off{opacity:.55}.flow{display:flex;gap:0;flex-wrap:wrap;margin-top:10px}.flow .node{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:8px 12px;font-size:13px;max-width:260px}.flow .node b{display:block;font:700 10.5px var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:var(--c);margin-bottom:2px}.flow .arrow{display:grid;place-items:center;width:34px;color:var(--c);position:relative}.flow .arrow:before{content:"";position:absolute;left:4px;right:10px;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--c) 0 6px,transparent 6px 10px);background-size:20px 2px;animation:dash 1s linear infinite}.flow .arrow:after{content:"";position:absolute;right:4px;top:calc(50% - 5px);border:5px solid transparent;border-left:5px solid var(--c)}.switch{position:relative;width:42px;height:24px;border-radius:12px;background:var(--line-2);border:0;cursor:pointer;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch.on{background:var(--s-done)}.switch.on:after{transform:translateX(18px)}.try{display:flex;gap:12px;padding:12px 14px;border:1px dashed var(--line-2);border-radius:12px;background:var(--panel)}.quick-add,.try{align-items:center}.quick-add{display:grid;grid-template-columns:minmax(0,1fr) 140px 170px 150px auto;grid-gap:8px;gap:8px;padding:10px 0 4px}.auto-tag{display:inline-flex;align-items:center;gap:4px;font:700 10px var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--t-approval);background:var(--s-verify-bg);border-radius:4px;padding:1px 6px}.auto-tag svg{width:10px;height:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes pulse{0%{r:var(--r0);opacity:.9}to{r:calc(var(--r0) * 2.6);opacity:0}}@keyframes ring{0%{stroke-dasharray:0 999}}@keyframes slideIn{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}@keyframes drawer{0%{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}@keyframes dash{to{background-position:20px 0}}@keyframes glow{0%,to{box-shadow:0 0 0 0 rgba(0,118,191,0)}50%{box-shadow:0 0 0 6px rgba(0,118,191,.18)}}.view>*{animation:fadeUp .45s ease both}.view>:nth-child(2){animation-delay:.04s}.view>:nth-child(3){animation-delay:.08s}.view>:nth-child(4){animation-delay:.12s}.view>:nth-child(5){animation-delay:.16s}.view>:nth-child(6){animation-delay:.2s}.view>:nth-child(n+7){animation-delay:.24s}.hbar .tr,.prog{transform-origin:left center;animation:grow .7s cubic-bezier(.2,.8,.2,1) both}.ring-arc{animation:ring 1s cubic-bezier(.2,.8,.2,1) both}.map-dot{transform-box:fill-box;transform-origin:center;animation:pop .5s ease both}.map-dot:hover{filter:brightness(1.15)}.pulse{animation:pulse 2s ease-out infinite}.drawer{animation:drawer .25s ease}.card{transition:transform .15s,border-color .15s,box-shadow .15s}.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,29,91,.12)}.card.fresh{animation:pop .4s ease,glow 1.6s ease 2;border-color:var(--accent)}.bu-tile,.kpi,.p-card,.rule-card,.ws-card{transition:transform .15s,box-shadow .15s,border-color .15s}.kpi:hover,.p-card:hover,.rule-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,29,91,.1)}.tl-dot{animation:pop .4s ease both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}@media (max-width:820px){.quick-add{grid-template-columns:minmax(0,1fr)}.exec-scroll{overflow-x:auto}}.epic-thumb svg{width:20px;height:20px}.epic-row>.status{justify-self:start}.flow{flex-wrap:nowrap;align-items:stretch}.flow .node{flex:1 1;min-width:150px;max-width:none}.flow .arrow{flex:none}@media (max-width:1050px){.flow{flex-wrap:wrap}.flow .arrow{display:none}.flow .node{flex-basis:100%;margin-bottom:6px}}.exec-scroll{overflow-x:auto;max-width:100%;min-width:0}