@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--orange:#e0612a;--orange-dark:#b84a1c;--orange-bright:#f47a48;--orange-soft:#fff1e8;--navy:#0e1b33;--navy-deep:#08111f;--navy-soft:#1b2a44;--paper:#fff;--warm:#faf7f2;--line:#0e1b331a;--line-soft:#0e1b330f;--line-on-dark:#ffffff1a;--text:#0e1b33;--text-dim:#0e1b33a8;--text-faint:#0e1b3366;--text-on-orange:#fff8f2;--text-on-navy:#f4ecde;--text-on-navy-dim:#f4ecdea8;--success-50:#ecfdf5;--success-700:#15803d;--warn-50:#fffbeb;--warn-700:#b45309;--danger-50:#fef2f2;--danger-700:#b91c1c;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--shadow-1:0 1px 2px #0e1b330f;--shadow-2:0 4px 14px #0e1b3314;--shadow-3:0 12px 32px #0e1b331f;--font:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--warm);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font);letter-spacing:-.015em;color:var(--text);margin:0;font-weight:600}h1{font-size:28px;line-height:1.2}h2{font-size:18px;line-height:1.35}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:14px;font-weight:500;line-height:1.4}p{margin:0}a{color:var(--orange);text-decoration:none}a:hover{color:var(--orange-dark);text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--text-dim)}.error{color:var(--danger-700);font-size:13px}:root{--orange:#e0612a;--orange-dark:#c4531f;--accent:#e0612a;--accent-dark:#c4531f;--radius-lg:14px;--radius-sm:10px;--radius-md:14px;--shadow-sm:0 1px 2px #0e1b330f, 0 1px 1px #0e1b330a;--shadow-md:0 4px 12px #0e1b3314, 0 1px 3px #0e1b330f;--shadow-lift:0 8px 20px #0e1b331f, 0 2px 6px #0e1b3314;--status-ok:#15803d;--status-warn:#b45309;--status-over:#b42318;--status-scoped:#7c3aed;--status-quote:#64748b;--status-info:#e0612a;--status-slate:#64748b}:root,[data-theme=modern]{--warm:#faf7f0;--canvas:#fff;--line:#e5e0d5;--line-soft:#efeae0;--text:#2a2620;--text-dim:#8a8275;--side-bg:#1e40af;--side-text:#ffffffc7;--side-active-bg:#ffffff1a;--side-active-text:#fff;--side-muted:#ffffff73;--side-gradient-end:#0e1b33;--pattern-rgb:224,97,42;--pattern-on-white-rgb:30,64,175;--pattern-stripe-a:.035;--pattern-glow-a:.22;--pattern-dot-a:.05;--pattern-wash-a:.05}[data-theme=warm]{--warm:#faf7f0;--canvas:#f3f0e9;--line:#e5e0d5;--line-soft:#efeae0;--text:#2a2620;--text-dim:#8a8275;--side-bg:#fbf9f4;--side-text:#574f44;--side-active-bg:#f2ece0;--side-active-text:#2a2620;--side-muted:#a89e8c;--side-gradient-end:#fbf9f4;--pattern-rgb:224,97,42;--pattern-on-white-rgb:224,97,42;--pattern-stripe-a:0;--pattern-glow-a:0;--pattern-dot-a:0;--pattern-wash-a:0}[data-theme=cool]{--warm:#eef2f6;--canvas:#f8fafc;--line:#dce3ec;--line-soft:#e8edf3;--text:#1e293b;--text-dim:#64748b;--side-bg:#164e63;--side-text:#ffffffc7;--side-active-bg:#ffffff1a;--side-active-text:#fff;--side-muted:#ffffff73;--side-gradient-end:#0f2027;--pattern-rgb:34,211,238;--pattern-on-white-rgb:21,94,117;--pattern-stripe-a:.035;--pattern-glow-a:.18;--pattern-dot-a:.05;--pattern-wash-a:.05}body{background:var(--canvas,#f3f0e9)}.admin-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}@media (width<=800px){.admin-shell{grid-template-columns:64px 1fr}}.sidebar{background:repeating-linear-gradient(135deg, rgba(255,255,255,var(--pattern-stripe-a)) 0px, rgba(255,255,255,var(--pattern-stripe-a)) 1px, transparent 1px, transparent 22px), radial-gradient(480px 280px at 15% 0%, rgba(var(--pattern-rgb), var(--pattern-glow-a)), transparent 60%), linear-gradient(165deg, var(--side-bg) 0%, var(--side-gradient-end) 115%);color:var(--side-text);padding:var(--space-4) 0;border-right:1px solid #ffffff14;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:2px 0 12px #0e1b3326}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar-brand{padding:0 var(--space-4) var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid #ffffff14;align-items:center;gap:10px;display:flex}.sidebar-title{color:#fff}.sidebar-mark{border-radius:var(--radius-sm);background:var(--orange);width:32px;height:32px;color:var(--paper);justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.sidebar-title{letter-spacing:-.02em;font-weight:700}.sidebar-sub{color:var(--side-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}@media (width<=800px){.sidebar-title,.sidebar-sub{display:none}}.side-search{color:var(--side-muted);cursor:pointer;width:calc(100% - 24px);font-size:12.5px;font-family:var(--font);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;margin:0 12px 6px;padding:7px 10px;display:flex}.side-search:hover{background:#ffffff17;border-color:#ffffff40}.side-search-label{text-align:left;flex:1}.sidebar-scroll{flex:1;overflow-y:auto}.sidebar-section{text-transform:uppercase;letter-spacing:.07em;width:100%;color:var(--side-muted);padding:var(--space-3) var(--space-4) var(--space-2);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;font-size:10.5px;font-weight:600;display:flex}.sidebar-section:hover{color:#fff}.sec-chevron{font-size:9px;transition:transform .12s;display:inline-block}.sec-chevron.on{transform:rotate(90deg)}@media (width<=800px){.sidebar-section{display:none}}.sidebar-link{padding:8px var(--space-4);color:var(--side-text);border-left:3px solid #0000;align-items:center;gap:11px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.sidebar-link-active{background:var(--side-active-bg);color:var(--side-active-text);border-left-color:var(--orange);font-weight:500}.sidebar-link-glyph{width:18px;color:var(--side-muted);justify-content:center;display:inline-flex}.sidebar-link-active .sidebar-link-glyph{color:var(--orange)}.nav-group{margin-top:6px}.nav-group-head{align-items:stretch;display:flex}.nav-group-chevron{cursor:pointer;color:var(--side-muted);background:0 0;border:none;justify-content:center;align-items:center;width:22px;padding:0;font-size:10px;display:inline-flex}.nav-group-chevron:hover{color:#fff}.nav-group-label{padding:7px var(--space-4) 7px 2px;color:var(--side-text);letter-spacing:.01em;text-transform:uppercase;flex:1;align-items:center;gap:9px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.nav-group-label:hover{color:#fff;text-decoration:none}.nav-group-label .sidebar-link-glyph{color:var(--side-muted)}.nav-group-head-active .nav-group-label{color:var(--side-active-text)}.nav-group-head-active .nav-group-label .sidebar-link-glyph{color:var(--orange)}.nav-group-items{padding-bottom:4px}.sidebar-subitem{padding-left:calc(var(--space-4) + 22px);font-size:12.5px}@media (width<=800px){.nav-group-label span:not(.sidebar-link-glyph){display:none}.sidebar-subitem{padding-left:var(--space-4)}}.sidebar-bottom{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);color:var(--side-muted);margin-top:auto;font-size:11px}@media (width<=800px){.sidebar-link span:not(.sidebar-link-glyph),.sidebar-bottom{display:none}}.main{background-color:var(--canvas);background-image:radial-gradient(circle at 1px 1px, rgba(var(--pattern-on-white-rgb), var(--pattern-dot-a)) 1px, transparent 0), radial-gradient(900px 260px at 85% -10%, rgba(var(--pattern-rgb), var(--pattern-wash-a)), transparent 60%);color:var(--text);background-size:22px 22px,auto;overflow:auto}.main-header{background:var(--paper);border-bottom:1px solid var(--line);border-image:linear-gradient(90deg, var(--side-bg,#1e40af), var(--orange,#e0612a)) 1;z-index:5;padding:11px 24px 12px;position:sticky;top:0}.head-row1{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.head-row2{justify-content:space-between;align-items:center;gap:16px;display:flex}.crumbs{color:var(--text-dim);font-size:12px}.crumbs b{color:var(--text);font-weight:600}.crumb-sep{opacity:.5;margin:0 2px}.main-title{letter-spacing:-.02em;color:var(--navy);margin:0;font-size:21px;font-weight:600}.main-content{padding:22px 24px 60px}.user-chip{background:var(--warm);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text);align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:13px;display:inline-flex}.user-chip-avatar{background:var(--navy);width:24px;height:24px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.btn-primary{background:var(--orange);color:var(--paper);border:1px solid var(--orange);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;box-shadow:var(--shadow-sm);padding:10px 18px;font-size:14px;font-weight:500;transition:transform .12s ease-out,box-shadow .12s ease-out,background .12s ease-out}.btn-primary:hover{background:var(--orange-dark);border-color:var(--orange-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background:var(--paper);color:var(--navy);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:500;transition:border-color .12s ease-out,box-shadow .12s ease-out}.btn-secondary:hover{border-color:var(--navy);box-shadow:var(--shadow-sm)}.btn-link{color:var(--text-dim);font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 6px;font-size:13px}.btn-link:hover{color:var(--navy);background:var(--warm)}.signin-gate{background:var(--navy);min-height:100vh;color:var(--text-on-navy);padding:var(--space-7) var(--space-5);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.signin-gate h1{color:var(--paper);letter-spacing:-.025em;margin:0 0 var(--space-3);font-size:clamp(32px,4vw,44px);font-weight:700}.signin-gate p{color:var(--text-on-navy-dim);max-width:440px}.signin-gate .btn-primary{margin-top:var(--space-3)}.empty-state{padding:var(--space-7);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-dim);background:var(--paper)}.access-denied{background:var(--navy);min-height:100vh;color:var(--text-on-navy);text-align:center;padding:var(--space-7);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.access-denied h1{color:var(--paper)}.access-denied p{color:var(--text-on-navy-dim);max-width:460px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-header h3{margin:0}.field{margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:500}input[type=text],input[type=email],input[type=number],input[type=password],select{font-family:var(--font);color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;font-size:14px;transition:border-color .12s}input:focus,select:focus{border-color:var(--navy);outline:2px solid var(--orange);outline-offset:-1px}.customer-form{gap:var(--space-3);grid-template-columns:1.5fr 2fr 1fr auto;align-items:end;display:grid}@media (width<=800px){.customer-form{grid-template-columns:1fr}}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.data-table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:10px;font-weight:500}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--warm)}.cell-name{color:var(--text);font-weight:500}.cell-meta{color:var(--text-dim);font-size:12px}.cell-meta.mono,.mono{font-family:var(--font-mono)}.btn-link.danger{color:var(--danger-700)}.btn-link.danger:hover{background:var(--danger-50)}.tabs{background:var(--warm);border-radius:var(--radius-sm);margin-bottom:var(--space-3);gap:2px;max-width:220px;padding:2px;display:flex}.tab{font-family:var(--font);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:6px 10px;font-size:13px;font-weight:500}.tab-active{background:var(--paper);color:var(--navy);box-shadow:var(--shadow-1)}.pill{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;padding:2px 10px;font-size:11px;font-weight:500;display:inline-block}.pill-live{background:var(--success-50);color:var(--success-700)}.pill-expired{background:var(--warn-50);color:var(--warn-700)}.pill-revoked{background:var(--danger-50);color:var(--danger-700)}.pill-figma{color:#6d28d9;background:#f5f3ff}.pill-version{background:var(--warm);color:var(--text-dim);font-family:var(--font-mono)}.stat-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--shadow-sm)}.stat-num{color:var(--navy);letter-spacing:-.01em;font-size:22px;font-weight:700}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-top:2px;font-size:11px}.status{font-family:var(--font-mono);color:var(--text-dim);background:var(--warm);border-radius:var(--radius-sm);word-break:break-all;padding:12px;font-size:12px}.empty-state{padding:var(--space-7);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-dim)}textarea{font-family:var(--font);border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical;width:100%;padding:9px 12px;font-size:14px}.content-editor{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5)}.editor-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=1000px){.editor-grid{grid-template-columns:1fr}}.editor-grid h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:var(--space-3);font-size:11px}.content-preview,.content-body{background:var(--warm);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-5);font-family:var(--font);color:var(--text);font-size:15px;line-height:1.65}.content-preview h1,.content-body h1{margin-bottom:12px;font-size:28px}.content-preview h2,.content-body h2{margin-top:24px;margin-bottom:10px;font-size:22px}.content-preview h3,.content-body h3{text-transform:none;letter-spacing:-.005em;color:var(--text);margin-top:18px;margin-bottom:6px;font-size:16px}.content-preview p,.content-body p{color:var(--text);max-width:none;margin:0 0 12px}.content-preview ul,.content-preview ol,.content-body ul,.content-body ol{margin:0 0 12px;padding-left:20px}.content-preview code,.content-body code{font-family:var(--font-mono);background:var(--paper);border-radius:4px;padding:1px 6px;font-size:13px}.content-preview pre,.content-body pre{background:var(--navy-deep);color:var(--text-on-navy);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:12px 14px;font-size:12px;overflow-x:auto}.content-preview pre code,.content-body pre code{color:inherit;background:0 0;padding:0}.content-preview blockquote,.content-body blockquote{border-left:3px solid var(--orange);color:var(--text-dim);margin:0 0 12px;padding-left:16px}.content-preview a,.content-body a{color:var(--orange)}.chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--paper);color:var(--text-dim);font-size:12px;font-family:var(--font);cursor:pointer;padding:5px 12px;transition:border-color .12s ease-out,box-shadow .12s ease-out}.chip:hover{border-color:var(--navy);box-shadow:var(--shadow-sm)}.chip-on{background:var(--navy);color:var(--paper);border-color:var(--navy);box-shadow:var(--shadow-sm)}.theme-switcher{background:var(--warm);border:1px solid var(--line);border-radius:var(--radius-pill,999px);gap:2px;padding:2px;display:inline-flex}.theme-chip{border-radius:var(--radius-pill,999px);color:var(--text-dim);font-size:11px;font-weight:500;font-family:var(--font);cursor:pointer;background:0 0;border:none;padding:4px 10px;transition:background .12s ease-out,color .12s ease-out}.theme-chip:hover{color:var(--text)}.theme-chip-on{background:var(--side-bg);color:#fff}.theme-chip-on:hover{color:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes growIn{0%{opacity:0;transform:translateY(-4px)scaleY(.96)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}.anim-fade-up{animation:.42s cubic-bezier(.22,1,.36,1) both fadeUp}.anim-grow-in{transform-origin:top;animation:.26s cubic-bezier(.22,1,.36,1) both growIn}.anim-lift{will-change:transform;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s}.anim-lift:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0e1b331a}.anim-bar{transition:width .9s cubic-bezier(.22,1,.36,1)}.anim-bar-sheen{background-image:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);background-size:220% 100%;animation:2.6s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){.anim-fade-up,.anim-grow-in,.anim-bar-sheen{animation:none!important}.anim-lift,.anim-bar{transition:none!important}.anim-fade-up,.anim-grow-in{opacity:1!important;transform:none!important}}.cmd-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#0e1b3352;justify-content:center;align-items:flex-start;padding-top:13vh;animation:.12s cmdfade;display:flex;position:fixed;inset:0}@keyframes cmdfade{0%{opacity:0}}.cmd{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(580px,92vw);box-shadow:var(--shadow-3,0 16px 48px #0e1b332e);animation:.14s cubic-bezier(.22,1,.36,1) cmdpop;overflow:hidden}@keyframes cmdpop{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.cmd-input{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmd-input input{font-family:var(--font);color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:16px}.cmd-list{max-height:46vh;padding:6px;overflow-y:auto}.cmd-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:11px;padding:9px 11px;display:flex}.cmd-item.on{background:var(--warm)}.cmd-ico{background:var(--warm);width:28px;height:28px;color:var(--text-dim);border-radius:7px;flex:none;place-items:center;font-size:13px;display:grid}.cmd-label{flex:1;font-size:14px}.cmd-group{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.cmd-empty{text-align:center;color:var(--text-dim);padding:24px;font-size:14px}.cmd-foot{border-top:1px solid var(--line);color:var(--text-dim);gap:16px;padding:9px 16px;font-size:11px;display:flex}.cmd-foot span:last-child{margin-left:auto}kbd{font-family:var(--font-mono);border:1px solid var(--line);color:inherit;background:#0000000d;border-radius:4px;padding:1px 5px;font-size:10px}.do-tabs{border-bottom:1px solid var(--line);margin-bottom:var(--space-4);flex-wrap:wrap;gap:2px;display:flex}.do-tab{cursor:pointer;font-family:var(--font);color:var(--text-dim);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 16px;font-size:13px}.do-tab:hover{color:var(--text)}.do-tab-on{color:var(--navy);border-bottom-color:var(--accent);font-weight:500}.do-log-row td{background:var(--warm,#fbf9f4)}.do-log-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.do-log-form label{color:var(--text-dim);flex-direction:column;gap:3px;font-size:11px;display:flex}.do-log-form input,.do-log-form select{padding:4px 6px;font-size:12px}.do-log-error{color:#b42318;margin-top:6px;font-size:12px}.do-logno{color:var(--text-dim);margin-left:6px;font-size:11px;font-weight:400}.do-tab-count{color:#b42318;background:#fef3f2;border-radius:9px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600}.monthly-charts{gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.monthly-chart{display:contents}.monthly-chart-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);min-width:280px;padding:var(--space-4);box-shadow:var(--shadow-sm);flex:320px}.monthly-chart-title{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.monthly-chart-legend{gap:14px;margin-bottom:8px;display:flex}.monthly-chart-legend span{color:var(--text-dim);align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.monthly-chart-legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.do-stats{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;gap:10px;display:flex}.do-stats .stat-tile{background:linear-gradient(155deg, #fff 0%, var(--warm,#faf7f0) 100%);border:1px solid var(--line);border-radius:12px;flex:0 auto;min-width:116px;transition:transform .15s ease-out,box-shadow .15s ease-out;position:relative;overflow:hidden;box-shadow:0 1px 2px #0e1b330d,0 1px 1px #0e1b3308}.do-stats .stat-tile:before{content:"";background:var(--navy,#0e1b33);opacity:.55;height:3px;position:absolute;top:0;left:0;right:0}.do-stats .stat-num{font-size:24px}.do-stats .stat-tile-clickable{cursor:pointer}.do-stats .stat-tile-clickable:hover,.do-stats .stat-tile-clickable:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 8px 20px #0e1b331f,0 2px 6px #0e1b3314}.do-stats .stat-tile-clickable:focus-visible{box-shadow:0 0 0 2px var(--navy,#0e1b33), 0 8px 20px #0e1b331f}.do-stat-over .stat-num{color:#b4231a}.do-stat-over{background:linear-gradient(155deg,#fff 0%,#fef2f1 100%)!important}.do-stat-over:before{opacity:.7!important;background:#b4231a!important}.do-stat-ok .stat-num{color:var(--status-ok)}.do-stat-ok{background:linear-gradient(155deg,#fff 0%,#f0fbf4 100%)!important}.do-stat-ok:before{background:var(--status-ok)!important;opacity:.7!important}.do-stat-support{background:linear-gradient(155deg,#fff 0%,#eef4ff 100%)!important}.do-stat-support:before{opacity:.7!important;background:#1d4ed8!important}.do-stat-support .stat-num{color:#1d4ed8}.do-stat-pot{background:linear-gradient(155deg,#fff 0%,#fff6ec 100%)!important}.do-stat-pot:before{background:var(--orange,#e0612a)!important;opacity:.75!important}.do-stat-pot .stat-num{color:var(--orange-dark,#c4531f)}.do-note{color:var(--text-dim);margin:0 0 var(--space-3);max-width:74ch;font-size:13px;line-height:1.55}.do-note strong{color:var(--text);font-weight:500}.do-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.do-target{color:var(--text-dim)}.do-scroll{overflow-x:auto}.do-row-muted td{opacity:.5}.do-clickable{cursor:pointer}.do-sla{white-space:nowrap;font-size:11px;font-weight:500}.do-sla-met{color:var(--status-ok)}.do-sla-missed{color:#b4231a}.do-sla-open{color:#a6631b}.do-sla-none{color:var(--text-dim)}.do-doc-approved{color:var(--status-ok)}.do-doc-draft{color:#a6631b}.do-doc-missing{color:#b4231a}.do-via{color:var(--text-dim);font-size:11px}.do-cell-main{flex-direction:column;gap:1px;min-width:240px;display:flex}.do-key{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.do-desc{color:var(--text-dim);font-size:12px;line-height:1.4}.do-comment{color:var(--text-dim);opacity:.85;font-size:11px;font-style:italic}.do-dates{font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap;font-size:12px}.do-dates b{color:var(--text);font-weight:500}.do-arrow{opacity:.4;padding:0 3px}.do-badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;padding:1px 8px;font-size:10px;font-weight:500;display:inline-block}.do-badge-met{color:#15803d;background:#e8f3ec;border-color:#c5e3d0}.do-badge-missed{color:#b4231a;background:#fbeae8;border-color:#f0ccc7}.do-badge-open{color:#a6631b;background:#fbf1e3;border-color:#eedcc2}.do-badge-none{background:var(--warm);color:var(--text-dim);border-color:var(--line)}.do-pri{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12px}.data-table tfoot td{border-bottom:none;border-top:2px solid var(--line);background:var(--warm)}.do-total td{color:var(--text);font-weight:600}.do-total td.cell-meta{font-weight:400}.do-total-quiet td{color:var(--text-dim);border-top:1px solid var(--line);font-weight:500}.do-row-unbooked td{background:color-mix(in srgb, var(--warm) 60%, transparent)}.do-row-unbooked .do-key{color:var(--text-dim)}.do-unbooked{letter-spacing:.03em;color:#b42318;background:#fef3f2;border:1px solid #fee4e2;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:500}.do-row-notime .do-key{color:var(--text-dim)}.do-notime{letter-spacing:.03em;color:#475467;background:#f2f4f7;border:1px solid #eaecf0;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:500}.wt-pill{white-space:nowrap;border-radius:11px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.wt-pass{color:#1f7a5c;background:#e8f3ee}.wt-fail{color:#b3372b;background:#f8e9e7}.wt-blocked{color:#b4761a;background:#fbf1e0}.wt-notrun{color:#6b7480;background:#eef0f2}.wt-strip{background:var(--line);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:1px;margin-bottom:8px;display:grid;overflow:hidden}.wt-cell{background:var(--bg);padding:12px 14px}.wt-n{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.1}.wt-l{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-top:4px;font-size:10.5px}.wt-n-ready,.wt-n-built{color:#1f7a5c}.wt-n-in_progress{color:#b4761a}.wt-n-blocked{color:#b3372b}.wt-n-assess,.wt-n-not_started{color:#6b7480}.wt-port{white-space:nowrap;border-radius:11px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.wt-port-ready,.wt-port-built{color:#1f7a5c;background:#e8f3ee}.wt-port-in_progress{color:#b4761a;background:#fbf1e0}.wt-port-blocked{color:#b3372b;background:#f8e9e7}.wt-port-assess,.wt-port-not_started,.wt-port-keep,.wt-port-unknown{color:#6b7480;background:#eef0f2}.wt-j17{color:#1f7a5c;font-weight:500}.wt-j8{color:#b3372b;font-weight:500}.wt-section td{background:var(--warm);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);padding-top:14px;font-size:11px;font-weight:600}.wt-complete{margin-bottom:12px}.wt-bar{background:var(--line);border-radius:5px;height:10px;position:relative;overflow:hidden}.wt-bar-worked{background:#e6c68a;position:absolute;inset:0 auto 0 0}.wt-bar-delivered{background:#1f7a5c;position:absolute;inset:0 auto 0 0}.wt-complete-legend{flex-wrap:wrap;gap:24px;margin-top:6px;font-size:13px;display:flex}.wt-complete-legend b{font-variant-numeric:tabular-nums}.wt-sub{color:var(--text-dim);background:0 0;border:1px solid #0000;font-size:11.5px}.wt-sub:hover:not(:disabled),.wt-sub:focus{border-color:var(--line);background:var(--bg)}.stat-hint{color:var(--color-grey-500,#6b7280);max-width:24ch;margin-top:4px;font-size:10.5px;line-height:1.35}.recon{color:var(--text,#263c34);padding:20px}.recon-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.recon h2{font-size:27px}.recon p{line-height:1.6}.recon-notice{color:#674c19;background:#fff3d7;border-radius:8px;padding:16px}.recon-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.recon-controls input,.recon-controls select,.recon-controls button{border:1px solid #b8c8bf;border-radius:5px;padding:9px}.recon-cards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.recon-cards>div{border:1px solid #d5dfd7;border-radius:8px;padding:18px}.recon-cards strong{font-size:30px;display:block}.recon-group{border:1px solid #d5dfd7;border-radius:8px;margin:16px 0;padding:14px}.recon summary{cursor:pointer;font-weight:600}.recon-scroll{overflow:auto}.recon table{border-collapse:collapse;width:100%;margin-top:15px}.recon td,.recon th{text-align:left;vertical-align:top;border-bottom:1px solid #dce4dc;padding:12px}.recon th{font-size:12px}.recon td small,.recon-muted{color:#617269}.recon-issue{color:#805a1e;margin:3px 0;font-size:12px}.recon button{cursor:pointer}.recon td details{min-width:130px}.recon td details[open]{min-width:260px}.recon-file{align-items:center;gap:8px;display:flex}.recon-comparison{background:#f8faf8;border:1px solid #d5dfd7;border-radius:8px;margin:18px 0;padding:16px}.recon-comparison h3{margin-top:0}@media (width<=800px){.recon-cards{grid-template-columns:repeat(2,1fr)}.recon-head{display:block}.recon{padding:10px}}.hr-edit-modal{color:#17243b;background:#fff;border:1px solid #d9dee7;border-radius:14px;width:min(720px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #0005}.hr-edit-modal::backdrop{background:#0e1b3380}.hr-edit-modal form{flex-direction:column;max-height:calc(100dvh - 34px);margin:0;display:flex}.hr-edit-modal header,.hr-edit-modal footer{background:#f8fafc;flex:none;padding:16px 22px}.hr-edit-modal header{border-bottom:1px solid #d9dee7;justify-content:space-between;align-items:flex-start;display:flex}.hr-edit-modal header h2{margin:0 0 5px;font-size:21px}.hr-edit-modal header p{overflow-wrap:anywhere;margin:0}.hr-edit-modal header button{min-width:36px;min-height:36px}.hr-edit-body{overscroll-behavior:contain;min-height:0;padding:18px 22px;overflow-y:auto}.hr-edit-modal fieldset{border:1px solid #d9dee7;border-radius:8px;min-width:0;margin:16px 0;padding:14px}.hr-edit-modal legend{padding:0 6px;font-weight:600}.hr-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.hr-edit-modal label{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.hr-edit-modal input,.hr-edit-modal select,.hr-edit-modal textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;border:1px solid #bcc5d3;border-radius:6px;padding:9px}.hr-edit-modal footer{border-top:1px solid #d9dee7}.hr-edit-modal footer>div{justify-content:flex-end;gap:10px;display:flex}.hr-edit-modal footer p{margin:0 0 8px}@media (width<=540px){.hr-edit-grid{grid-template-columns:1fr}.hr-edit-modal header,.hr-edit-modal footer,.hr-edit-body{padding:12px}}
