@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg:#fff;--bg-2:#f5f3ee;--bg-3:#ecebe4;--line:#e4e0d8;--line-2:#d6d2c9;--fg:#0e0d0b;--fg-2:#4d4945;--fg-3:#8a857c;--accent:#ff5a1f;--accent-2:#e84a14;--success:#1e7a4d;--success-soft:#e8f1e9;--warning:#a96400;--warning-soft:#f7ece0;--danger:#b1342e;--danger-soft:#f3e1de;--info:#2a5a8f;--info-soft:#e5edf5;--font-display:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--maxw:1440px;--pad-x:40px;--shadow-card:0 1px 0 #0e0d0b05, 0 16px 32px -24px #0e0d0b29;--shadow-pop:0 1px 0 #0e0d0b05, 0 24px 48px -20px #0e0d0b38}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "kern";letter-spacing:-.01em;min-height:100%}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.wrap{max-width:var(--maxw);padding-left:var(--pad-x);padding-right:var(--pad-x);margin:0 auto}.wrap-narrow{max-width:1100px;padding-left:var(--pad-x);padding-right:var(--pad-x);margin:0 auto}.wrap-wide{max-width:1640px;padding-left:var(--pad-x);padding-right:var(--pad-x);margin:0 auto}.display{font-family:var(--font-display);letter-spacing:-.035em;font-weight:500;line-height:.95}.display em{font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400}.h-xl{font-size:84px}.h-l{font-size:64px}.h-m{font-size:44px}.h-s{font-size:32px}.h-xs{font-size:22px}.h-xxs{font-size:17px}.body{color:var(--fg-2);font-size:15px;line-height:1.55}.body-l{color:var(--fg-2);font-size:17px;line-height:1.55}.body-s{color:var(--fg-2);font-size:13.5px;line-height:1.55}.mono{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-size:11px}.mono-sm{letter-spacing:.14em;font-size:10px}.mono-fg{color:var(--fg)}.mono-accent{color:var(--accent)}.mono-light{color:var(--fg-2)}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);align-items:center;font-size:11px;display:inline-flex}.eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;transform:translateY(-1px)}.btn{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;white-space:nowrap;border-radius:0;align-items:center;gap:10px;padding:13px 20px;font-size:11px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--accent);color:var(--fg);border-color:var(--accent)}.btn-ghost{color:var(--fg);background:0 0}.btn-ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-accent{background:var(--accent);color:var(--fg);border-color:var(--accent)}.btn-accent:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-line{background:var(--bg);color:var(--fg);border-color:var(--line-2)}.btn-line:hover{background:var(--bg-2);border-color:var(--fg);color:var(--fg)}.btn-sm{padding:9px 14px;font-size:10.5px}.btn-lg{padding:17px 26px;font-size:12px}.btn-block{justify-content:center;width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn .arrow{background:currentColor;width:14px;height:1px;position:relative}.btn .arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(45deg)}.icon-btn{border:1px solid var(--line-2);width:36px;height:36px;color:var(--fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:border-color .12s,background .12s;display:inline-flex}.icon-btn:hover{border-color:var(--fg);background:var(--bg-2)}.icon-btn svg{width:16px;height:16px}.icon-btn-sm{width:30px;height:30px}.icon-btn-sm svg{width:14px;height:14px}.card{background:var(--bg);border:1px solid var(--line)}.card-soft{background:var(--bg-2);border:1px solid var(--line)}.surface{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.hl,.hl-t{border-top:1px solid var(--line)}.hl-b{border-bottom:1px solid var(--line)}.hl-r{border-right:1px solid var(--line)}.hl-l{border-left:1px solid var(--line)}.badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-2);background:var(--bg);color:var(--fg-2);white-space:nowrap;border-radius:0;align-items:center;gap:6px;padding:5px 9px;font-size:10.5px;display:inline-flex}.badge .dot{background:var(--fg-3);border-radius:50%;width:6px;height:6px;display:inline-block}.badge-draft{background:var(--bg-2);color:var(--fg-2);border-color:var(--line-2)}.badge-draft .dot{background:var(--fg-3)}.badge-ordered{background:var(--info-soft);color:var(--info);border-color:var(--info-soft)}.badge-ordered .dot{background:var(--info)}.badge-production{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-soft)}.badge-production .dot{background:var(--warning)}.badge-shipped{background:var(--success-soft);color:var(--success);border-color:var(--success-soft)}.badge-shipped .dot{background:var(--success)}.badge-delivered{background:var(--bg);color:var(--fg-2);border-color:var(--line-2)}.badge-delivered .dot{background:var(--success)}.badge-pending{background:var(--bg-2);color:var(--fg-2);border-color:var(--line-2)}.badge-pending .dot{background:var(--fg-3)}.badge-review{background:var(--info-soft);color:var(--info);border-color:var(--info-soft)}.badge-review .dot{background:var(--info)}.badge-open{background:var(--success-soft);color:var(--success);border-color:var(--success-soft)}.badge-open .dot{background:var(--success)}.badge-closed{background:var(--bg-3);color:var(--fg-2);border-color:var(--line-2)}.badge-closed .dot{background:var(--fg-3)}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.badge-danger .dot{background:var(--danger)}.badge-accent{color:var(--accent-2);background:#fce3d6;border-color:#fce3d6}.badge-accent .dot{background:var(--accent)}.badge-bos{color:#a8480d;background:#fde6d3;border-color:#fde6d3;font-weight:600}.badge-bos .dot{background:var(--accent)}.badge-ods{color:#1a4a7d;background:#d6e5f5;border-color:#d6e5f5;font-weight:600}.badge-ods .dot{background:#2a6fdb}.badge-takeover{color:#a8480d;background:#fde6d3;border-color:#fde6d3}.badge-takeover .dot{background:var(--accent)}.badge-fromscratch{color:#6c2b9e;background:#ece0f5;border-color:#ece0f5}.badge-fromscratch .dot{background:#8e44d2}.badge-reviewonly{color:#1a4a7d;background:#d6e5f5;border-color:#d6e5f5}.badge-reviewonly .dot{background:#2a6fdb}.countdown-card{background:var(--bg);border:1px solid var(--line);flex-direction:column;gap:8px;min-width:320px;padding:22px 26px;display:flex}.countdown-card.is-urgent{border-color:var(--accent);background:#fff7f1}.countdown-card .cd-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);font-size:10px}.countdown-card .cd-value{font-family:var(--font-display);letter-spacing:-.035em;color:var(--fg);font-size:40px;font-weight:500;line-height:1}.countdown-card .cd-value .cd-unit{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.06em;margin:0 4px 0 2px;font-size:14px}.countdown-card.is-urgent .cd-value{color:var(--accent-2)}.countdown-card .cd-foot{font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-2);border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-size:11px}.portal-nav{z-index:50;padding:0 var(--pad-x);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffeb;grid-template-columns:220px 1fr auto;align-items:center;height:64px;display:grid;position:sticky;top:0}.portal-logo{font-family:var(--font-display);letter-spacing:.32em;color:var(--fg);align-items:center;gap:12px;font-size:17px;font-weight:600;display:inline-flex}.portal-logo .pill{font-family:var(--font-mono);letter-spacing:.16em;background:var(--fg);color:var(--bg);padding:3px 7px;font-size:9.5px}.portal-nav-tabs{justify-self:center;gap:4px;list-style:none;display:flex}.portal-nav-tab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);cursor:pointer;background:0 0;border:none;padding:22px 14px;font-size:11px;transition:color .12s;position:relative}.portal-nav-tab:hover{color:var(--fg-2)}.portal-nav-tab.is-active{color:var(--fg)}.portal-nav-tab.is-active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.portal-nav-right{align-items:center;gap:10px;display:flex}.portal-nav-mobile-toggle{display:none}.role-pill{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;background:var(--bg-2);border:1px solid var(--line);color:var(--fg-2);padding:6px 10px;font-size:10px}.who-pill{border:1px solid var(--line);background:var(--bg);color:var(--fg);align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12.5px;display:inline-flex}.who-pill .avatar{background:var(--fg);width:26px;height:26px;color:var(--bg);font-family:var(--font-mono);letter-spacing:.06em;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.page-head{border-bottom:1px solid var(--line);padding:36px 0 28px}.page-head .crumbs{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);align-items:center;gap:6px;margin-bottom:10px;font-size:11px;display:flex}.page-head .crumbs a{color:var(--fg-3)}.page-head .crumbs a:hover{color:var(--fg)}.page-head h1{font-family:var(--font-display);letter-spacing:-.035em;margin-top:6px;font-size:44px;font-weight:500;line-height:.98}.page-head p{max-width:640px;color:var(--fg-2);margin-top:14px;font-size:14.5px;line-height:1.55}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section{border-bottom:1px solid var(--line);padding:72px 0}.section-tight{border-bottom:1px solid var(--line);padding:40px 0}.subtabs{border-bottom:1px solid var(--line);gap:2px;display:flex}.subtab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);cursor:pointer;background:0 0;border:none;padding:14px 18px;font-size:11px;position:relative}.subtab:hover{color:var(--fg-2)}.subtab.is-active{color:var(--fg)}.subtab.is-active:after{content:"";background:var(--fg);height:2px;position:absolute;bottom:-1px;left:0;right:0}.subtab .count{color:var(--fg-3);letter-spacing:.06em;margin-left:6px;font-size:10.5px}.subtab.is-active .count{color:var(--accent)}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.toolbar-filters{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--fg-2);cursor:pointer;white-space:nowrap;background:0 0;padding:8px 12px;font-size:11px;transition:color .12s,border-color .12s,background .12s}.chip:hover{color:var(--fg);border-color:var(--fg-3)}.chip.is-active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.select-line{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);border:1px solid var(--line-2);cursor:pointer;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%235a564f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1.5 1.5 6 6 10.5 1.5'/></svg>") right 14px center/10px 7px no-repeat;padding:8px 36px 8px 12px;font-size:11px}.input-line{color:var(--fg);background:var(--bg);border:1px solid var(--line-2);outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .12s}.input-line:focus{border-color:var(--fg)}.kpi-row{border:1px solid var(--line);background:var(--bg);grid-template-columns:repeat(4,1fr);display:grid}.kpi{border-right:1px solid var(--line);flex-direction:column;gap:6px;min-height:124px;padding:22px 24px;display:flex}.kpi:last-child{border-right:none}.kpi .kpi-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.kpi .kpi-value{font-family:var(--font-display);letter-spacing:-.035em;font-size:40px;font-weight:500;line-height:1}.kpi .kpi-meta{color:var(--fg-2);align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.kpi .kpi-trend{color:var(--success);font-family:var(--font-mono);letter-spacing:.12em;font-size:10.5px}.kpi .kpi-trend.is-down{color:var(--danger)}.dtable{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--bg)}.dtable .dt-head,.dtable .dt-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 16px;display:grid}.dtable .dt-row:last-child{border-bottom:none}.dtable .dt-head{background:var(--bg-2);padding:12px 16px}.dtable .dt-head span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.dtable .dt-row{cursor:default;transition:background .12s}.dtable .dt-row.is-clickable{cursor:pointer}.dtable .dt-row.is-clickable:hover{background:var(--bg-2)}.dtable .dt-cell-id{font-family:var(--font-mono);color:var(--fg-2);letter-spacing:.06em;font-size:11px}.dtable .dt-cell-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-size:15px;font-weight:500}.dtable .dt-cell-num{font-family:var(--font-mono);color:var(--fg);font-size:13px}.dtable .dt-cell-muted{color:var(--fg-3);font-size:13px}.dtable .dt-cell-meta{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.06em;font-size:11px}.dtable .dt-cell-thumb{background:var(--bg-2);border:1px solid var(--line);width:44px;height:44px}.tile{background:var(--bg);border:1px solid var(--line);cursor:pointer;flex-direction:column;transition:border-color .16s,transform .2s;display:flex}.tile:hover{border-color:var(--fg-3)}.tile-img{aspect-ratio:4/5;background:var(--bg-2);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.tile-img img{object-fit:cover;width:100%;height:100%;transition:transform .48s cubic-bezier(.2,.7,.2,1)}.tile:hover .tile-img img{transform:scale(1.04)}.tile-meta{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.tile-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-size:16px;font-weight:500}.tile-sub{font-family:var(--font-mono);letter-spacing:.14em;color:var(--fg-3);text-transform:uppercase;font-size:10.5px}.tile-row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.empty{text-align:center;border:1px dashed var(--line-2);background:repeating-linear-gradient(135deg,#f8f6f1 0 12px,#f5f3ee 12px 24px);padding:80px 24px}.empty h3{font-family:var(--font-display);letter-spacing:-.025em;margin:6px 0 10px;font-size:26px;font-weight:500}.empty p{max-width:440px;color:var(--fg-2);margin:0 auto 22px;font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.field-input{color:var(--fg);background:var(--bg);border:1px solid var(--line);outline:none;width:100%;padding:13px 14px;font-family:inherit;font-size:15px;transition:border-color .16s,box-shadow .16s}.field-input:hover{border-color:var(--line-2)}.field-input:focus{border-color:var(--fg);box-shadow:0 0 0 3px #0a0a0a08}.field-input::placeholder{color:var(--fg-3)}.field-help{color:var(--fg-3);font-size:12px}.field-error{color:var(--danger);font-size:12px}textarea.field-input{resize:vertical;min-height:100px}select.field-input{background:var(--bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%235a564f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1.5 1.5 6 6 10.5 1.5'/></svg>") no-repeat right 14px center / 10px 7px;appearance:none;padding-right:36px}.layout-with-rail{grid-template-columns:240px 1fr;gap:0;min-height:calc(100vh - 64px);display:grid}.rail{border-right:1px solid var(--line);background:var(--bg-2);padding:24px 0}.rail-section{padding:0 22px 12px}.rail-section+.rail-section{border-top:1px solid var(--line);padding-top:22px}.rail-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px;font-size:10px}.rail-link{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);justify-content:space-between;align-items:center;padding:9px 22px;font-size:11px;transition:background .12s,color .12s;display:flex;position:relative}.rail-link:hover{color:var(--fg);background:var(--bg-3)}.rail-link.is-active{color:var(--fg);background:var(--bg)}.rail-link.is-active:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.rail-link .count{font-family:var(--font-mono);color:var(--fg-3);font-size:10px}.rail-foot{border-top:1px solid var(--line);margin-top:auto;padding:22px}.stepper{grid-template-columns:repeat(var(--stepper-cols,5), 1fr);border:1px solid var(--line);background:var(--bg);display:grid}.stepper-step{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:18px 20px;display:flex;position:relative}.stepper-step:last-child{border-right:none}.stepper-step .step-num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--fg-3);font-size:10.5px}.stepper-step .step-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-3);font-size:16px;font-weight:500}.stepper-step.is-done .step-name{color:var(--fg-2)}.stepper-step.is-done .step-num{color:var(--accent)}.stepper-step.is-active{background:var(--bg-2)}.stepper-step.is-active .step-name{color:var(--fg)}.stepper-step.is-active:after{content:"";background:var(--accent);height:2px;position:absolute;top:-1px;left:0;right:0}.stepper-step.is-done:after{content:"";background:var(--fg-3);height:2px;position:absolute;top:-1px;left:0;right:0}.modal-backdrop{opacity:0;pointer-events:none;z-index:90;background:#0e0d0b6b;transition:opacity .2s;position:fixed;inset:0}.modal-backdrop.is-open{opacity:1;pointer-events:auto}.modal{z-index:91;background:var(--bg);border:1px solid var(--line);width:min(580px,100vw - 32px);max-height:88vh;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;flex-direction:column;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-48%)}.modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-family:var(--font-display);letter-spacing:-.025em;font-size:22px;font-weight:500}.modal-body{padding:22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:var(--bg-2);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.toast-stack{z-index:95;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--fg);color:var(--bg);border-left:3px solid var(--accent);min-width:280px;box-shadow:var(--shadow-pop);align-items:center;gap:14px;padding:14px 18px;font-size:13px;animation:.2s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast .mono{color:#ffffffa6}.timeline{margin:0;padding:0;list-style:none}.timeline>li{flex-direction:column;gap:4px;padding:0 0 22px 28px;display:flex;position:relative}.timeline>li:before{content:"";background:var(--fg);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:6px}.timeline>li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:0;left:9.5px}.timeline>li.is-pending:before{background:var(--bg);border:1px dashed var(--fg-3)}.timeline>li.is-pending .tl-title{color:var(--fg-3)}.timeline .tl-time{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-size:10.5px}.timeline .tl-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:15px;font-weight:500}.timeline .tl-desc{color:var(--fg-2);font-size:13px}.designer-grid{background:var(--bg);grid-template-columns:248px 1fr 320px;height:calc(100vh - 64px);display:grid}.designer-tools{border-right:1px solid var(--line);background:var(--bg-2);flex-direction:column;display:flex;overflow-y:auto}.designer-stage{background:radial-gradient(circle at 50% 50%, var(--bg-3) 0%, var(--bg-2) 60%, var(--bg-2) 100%);border-right:1px solid var(--line);flex-direction:column;display:flex;position:relative;overflow:hidden}.designer-stage-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb3;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.designer-stage-body{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;position:relative}.designer-stage-foot{border-top:1px solid var(--line);background:#ffffffb3;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.designer-inspector{background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.designer-section{border-bottom:1px solid var(--line);padding:20px 20px 18px}.designer-section-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px;font-size:10.5px}.tool-pill{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:0;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:11px;display:flex;position:relative}.tool-pill:hover{background:var(--bg-3);color:var(--fg)}.tool-pill.is-active{background:var(--bg);color:var(--fg);border-color:var(--line)}.tool-pill.is-active:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.swatch-row{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;transition:transform .12s;position:relative}.swatch:hover{transform:scale(1.05)}.swatch.is-active{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.range-row{flex-direction:column;gap:8px;display:flex}.range-row .range-head{font-family:var(--font-mono);letter-spacing:.12em;color:var(--fg-3);justify-content:space-between;font-size:10.5px;display:flex}.range-row input[type=range]{-webkit-appearance:none;background:var(--line-2);outline:none;width:100%;height:1px}.range-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);cursor:pointer;border-radius:50%;width:14px;height:14px}.range-row input[type=range]::-moz-range-thumb{background:var(--fg);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.stage-pin{background:var(--bg);border:1px solid var(--fg);width:22px;height:22px;font-family:var(--font-mono);color:var(--fg);cursor:pointer;z-index:2;justify-content:center;align-items:center;font-size:10px;transition:background .12s,color .12s;display:flex;position:absolute;transform:translate(-50%,-50%)}.stage-pin:hover,.stage-pin.is-active{background:var(--accent);color:var(--fg);border-color:var(--accent)}.hero-card{background:var(--fg);color:var(--bg);border:1px solid var(--line);flex-direction:column;justify-content:flex-end;min-height:380px;display:flex;position:relative;overflow:hidden}.hero-card img{object-fit:cover;opacity:.85;filter:contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.hero-card:after{content:"";background:linear-gradient(#0000 0% 30%,#000000a6 100%);position:absolute;inset:0}.hero-card .hero-card-content{z-index:2;max-width:540px;padding:40px;position:relative}.progress{background:var(--bg-3);height:4px;position:relative;overflow:hidden}.progress-fill{background:var(--accent);height:100%}.bars{align-items:flex-end;gap:4px;height:120px;display:flex}.bars .bar{background:var(--bg-3);flex:1;transition:background .12s;position:relative}.bars .bar:hover{background:var(--accent)}.bars .bar.is-hl{background:var(--fg)}.banner{background:var(--bg-2);border-left:3px solid var(--accent);color:var(--fg-2);align-items:center;gap:14px;padding:14px 20px;font-size:13.5px;display:flex}.banner-info{border-left-color:var(--info);background:var(--info-soft);color:var(--info)}.banner-warning{border-left-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.banner-success{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.banner-danger{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.view-switch{border:1px solid var(--line-2);background:var(--bg);display:inline-flex}.view-switch button{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:10.5px}.view-switch button.is-active{background:var(--fg);color:var(--bg)}.view-switch button+button{border-left:1px solid var(--line-2)}.drawer-backdrop{opacity:0;pointer-events:none;z-index:90;background:#0e0d0b6b;transition:opacity .2s;position:fixed;inset:0}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{background:var(--bg);border-left:1px solid var(--line);z-index:91;flex-direction:column;width:min(520px,92vw);transition:transform .26s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.is-open{transform:translate(0)}@media (max-width:1200px){:root{--pad-x:24px}.portal-nav{grid-template-columns:180px 1fr auto}.portal-nav-tabs{gap:0}.portal-nav-tab{letter-spacing:.08em;padding:22px 8px;font-size:10.5px}.portal-logo{letter-spacing:.24em;gap:8px;font-size:15px}.portal-logo .pill{font-size:8.5px}.designer-grid{grid-template-columns:200px 1fr 280px}}@media (max-width:980px){:root{--pad-x:16px}.portal-nav{grid-template-columns:auto 1fr auto;height:56px;padding:0 16px}.portal-nav-tabs{display:none}.portal-nav-mobile-toggle{display:inline-flex}.portal-mobile-drawer{display:block}.portal-nav-right .role-pill,.portal-nav-right .who-pill,.portal-nav-right .mono{display:none}.portal-nav-right{gap:6px}.h-xl{font-size:56px}.h-l{font-size:44px}.h-m{font-size:32px}.h-s{font-size:24px}.page-head h1{font-size:32px}.layout-with-rail{grid-template-columns:1fr}.rail{border-right:none;border-bottom:1px solid var(--line);gap:4px;padding:12px 0;display:flex;overflow-x:auto}.rail-section{flex-shrink:0;padding:0 16px}.rail-section+.rail-section{border-top:none;border-left:1px solid var(--line);padding-top:0}.rail-title{display:none}.rail-link{white-space:nowrap;padding:8px 14px}.rail-link.is-active:before{display:none}.rail-link.is-active{background:var(--fg);color:var(--bg)}.kpi-row{border:none;grid-template-columns:1fr 1fr}.kpi{border:1px solid var(--line);margin-bottom:-1px;margin-right:-1px}.stepper{grid-template-columns:1fr}.stepper-step{border-right:none;border-bottom:1px solid var(--line)}.designer-grid{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;height:auto;min-height:calc(100vh - 56px)}.designer-tools{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.designer-tools .designer-section{border-bottom:none;border-right:1px solid var(--line);flex-shrink:0;min-width:200px}.designer-inspector{border-top:1px solid var(--line);max-height:40vh}.designer-stage{border-right:none;min-height:50vh}.toolbar{padding:12px 0}}@media (max-width:640px){.h-xl{font-size:40px}.h-l{font-size:32px}.h-m,.page-head h1{font-size:26px}.kpi-row{grid-template-columns:1fr}.kpi .kpi-value{font-size:32px}}.auth-frame{background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:calc(100vh - 64px);display:grid}.auth-signal{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:56px 56px 40px;display:flex;position:relative}.auth-signal:before{content:"";background-image:linear-gradient(to right, var(--bg-3) 1px, transparent 1px), linear-gradient(to bottom, var(--bg-3) 1px, transparent 1px);opacity:.35;pointer-events:none;background-position:0 0;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 30%,#000 0%,#0000 75%);mask-image:radial-gradient(circle at 30%,#000 0%,#0000 75%)}.auth-signal-top,.auth-signal-foot{justify-content:space-between;display:flex;position:relative}.auth-signal-mid{margin-top:80px;margin-bottom:80px;position:relative}.auth-meta{letter-spacing:.14em;font-size:10px}.auth-motto{letter-spacing:-.04em;color:var(--fg);font-size:64px;font-weight:500;line-height:.95}.auth-motto em{color:var(--accent);font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400}.auth-tick-row{align-items:flex-end;gap:3px;height:18px;display:flex}.auth-tick{background:var(--fg-3);width:2px;height:100%;display:block}.auth-form-col{background:var(--bg);flex-direction:column;display:flex}.auth-form-head{border-bottom:1px solid var(--line);justify-content:flex-end;padding:28px 40px;display:flex}.auth-mark{letter-spacing:.32em;color:var(--fg);font-size:18px;font-weight:500}.auth-form-body{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.auth-form-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 40px;display:flex}.auth-eyebrow{letter-spacing:.18em;color:var(--accent);align-items:center;gap:8px;margin-bottom:18px;font-size:10px;display:flex}.auth-eyebrow:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.auth-title{letter-spacing:-.04em;margin-bottom:40px;font-size:56px;font-weight:500;line-height:.95}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field-row{justify-content:space-between;align-items:baseline;display:flex}.auth-field-label{letter-spacing:.18em;color:var(--fg-3);font-size:10px}.auth-row-link,.auth-row-meta{letter-spacing:.14em;color:var(--fg-3);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px}.auth-row-link:hover{color:var(--fg)}.auth-input{font-family:var(--font-display);letter-spacing:-.01em;border:none;border-bottom:1px solid var(--line-2);color:var(--fg);background:0 0;outline:none;width:100%;padding:6px 0 8px;font-size:18px;transition:border-color .16s}.auth-input:hover{border-bottom-color:var(--fg-3)}.auth-input:focus{border-bottom-color:var(--fg)}.auth-input::placeholder{color:var(--fg-3)}.auth-meter{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:-8px;display:grid}.auth-meter-bar{height:2px;transition:background .2s}.auth-err{letter-spacing:.14em;color:var(--danger);font-size:10px}.auth-submit{margin-top:8px}.auth-form-tail{justify-content:center;margin-top:4px;display:flex}.auth-link{letter-spacing:.14em;color:var(--fg-2);border-bottom:1px solid #0000;font-size:10px;transition:border-color .16s,color .16s}.auth-link:hover{color:var(--fg);border-bottom-color:var(--fg)}.auth-link-inline{color:var(--fg-2);border-bottom:1px solid var(--line-2);cursor:pointer;transition:border-color .16s,color .16s}.auth-link-inline:hover{color:var(--fg);border-bottom-color:var(--fg)}.auth-fineprint{letter-spacing:.12em;color:var(--fg-3);text-align:center;margin-top:12px;font-size:10px;line-height:1.7}.auth-body{color:var(--fg-2);font-size:15px;line-height:1.55}@media (max-width:880px){.auth-frame{grid-template-columns:1fr}.auth-signal{display:none}.auth-form-head{justify-content:flex-start;padding:20px 24px}.auth-form-body{padding:32px 24px}.auth-form-foot{padding:18px 24px}.auth-title{font-size:42px}}.row{display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between;display:flex}.center{justify-content:center;align-items:center;display:flex}.grow{flex:1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.gap-40{gap:40px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.text-fg{color:var(--fg)}.text-fg2{color:var(--fg-2)}.text-fg3{color:var(--fg-3)}.text-accent{color:var(--accent)}.text-right{text-align:right}.flex-wrap{flex-wrap:wrap}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.w-full{width:100%}.divider{background:var(--line);height:1px}
