/* Partner Studio skin: the StrategyDesk design packages (round 1 and rounds 2-3, "institutional"
   palette), ported onto the Studio's own markup. Loaded after app.css and scoped to body.sd, so the
   Ops Console keeps app.css alone. Self-hosted: Manrope (OFL, css/sd/OFL-Manrope.txt) for headings;
   Inter and JetBrains Mono come from tokens.css as before. No new origin in the CSP. */
@font-face{font-family:"Manrope";src:url("sd/manrope-var.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

body.sd{
  color-scheme:light;
  --sd-brand:#173B74;--sd-brand-hover:#143466;--sd-brand-contrast:#FFFFFF;--sd-brand-text:#173B74;--sd-accent:#1D4ED8;
  --sd-bg:#F4F6FA;--sd-surface:#FFFFFF;--sd-surface-2:#EEF2F8;--sd-border:#778398;--sd-divider:#D8DEE8;
  --sd-text:#142237;--sd-muted:#526176;--sd-profit:#087040;--sd-loss:#B4232B;--sd-warning:#885000;
  --sd-profit-soft:#E7F4EC;--sd-loss-soft:#FBEBEC;--sd-warning-soft:#FBF1E1;
  --sd-radius:8px;--sd-shadow:0 14px 45px -25px rgb(12 27 52 / 25%);
  --sd-heading:"Manrope",var(--font-sans),system-ui,sans-serif;
  --sd-body:var(--font-sans),system-ui,sans-serif;
  --sd-mono:var(--font-mono),ui-monospace,monospace;
  margin:0;background:var(--sd-bg);color:var(--sd-text);font:15px/1.5 var(--sd-body);-webkit-font-smoothing:antialiased
}
html.dark body.sd{
  color-scheme:dark;
  --sd-brand:#9EC4FF;--sd-brand-hover:#AACBFF;--sd-brand-contrast:#07111F;--sd-brand-text:#9EC4FF;--sd-accent:#A8C6FF;
  --sd-bg:#0D1727;--sd-surface:#152237;--sd-surface-2:#1C2C43;--sd-border:#8795AC;--sd-divider:#445064;
  --sd-text:#EDF2FA;--sd-muted:#B6C2D2;--sd-profit:#8BDFAC;--sd-loss:#FFA7AC;--sd-warning:#F0C176;
  --sd-profit-soft:#12301F;--sd-loss-soft:#3A1A1D;--sd-warning-soft:#33270F;
  --sd-shadow:0 14px 45px -25px rgb(0 0 0 / 60%)
}
.sd *,.sd *::before,.sd *::after{box-sizing:border-box}
.sd a{color:var(--sd-brand-text);text-underline-offset:3px}
.sd :focus-visible{outline:3px solid var(--sd-accent);outline-offset:3px}
.sd h1,.sd h2,.sd h3{font-family:var(--sd-heading);letter-spacing:-.03em;line-height:1.2;color:var(--sd-text)}
.sd h1{font-size:32px;font-weight:700;margin:0}
.sd h2{font-size:18px;font-weight:700;margin:26px 0 12px}
.sd h3{font-size:15px;font-weight:700;margin:16px 0 8px}
.sd p{line-height:1.65}
.sd .lead{color:var(--sd-muted);font-size:14px;line-height:1.75;max-width:62ch;margin:14px 0 22px}
.sd .muted,.sd .help{color:var(--sd-muted)}
.sd .help{font-size:12.5px;line-height:1.65}
.sd .error{font-size:13px;color:var(--sd-loss);font-weight:500}
.sd .num{font-family:var(--sd-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sd .eyebrow{font:600 11px/1.4 var(--sd-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sd-muted);margin:0 0 10px}
.sd .skip{position:absolute;left:12px;top:-80px;z-index:20;background:var(--sd-surface);color:var(--sd-text);padding:10px 14px;border-radius:var(--sd-radius);border:1px solid var(--sd-border)}
.sd .skip:focus{top:10px}
.sd .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.sd-head{min-height:72px;padding:16px 30px;border-bottom:1px solid var(--sd-divider);background:var(--sd-surface);display:flex;align-items:center;gap:22px;position:relative;z-index:5}
.sd-head .sd-logo{display:flex;align-items:center;flex:none}
.sd-lockup{display:block;width:174px;height:auto}
.sd-lockup.on-dark{display:none}
html.dark .sd-lockup.on-light{display:none}
html.dark .sd-lockup.on-dark{display:block}
.sd-head .head-label{font-size:12.5px;color:var(--sd-muted);padding-left:22px;border-left:1px solid var(--sd-divider)}
.sd-head .head-status{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--sd-muted);min-width:0}
.sd-head .head-status .badge{max-width:280px;overflow:hidden;text-overflow:ellipsis}
.sd-menu-button{display:none;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--sd-border);border-radius:var(--sd-radius);background:var(--sd-surface);color:var(--sd-text);font:600 14px var(--sd-body);cursor:pointer}

/* shell */
.sd-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 72px)}
.sd-nav{padding:24px 16px;border-right:1px solid var(--sd-divider);background:var(--sd-surface);display:flex;flex-direction:column;gap:4px}
.sd-nav .workspace-card{border:1px solid var(--sd-divider);background:var(--sd-surface-2);border-radius:var(--sd-radius);padding:12px 14px;margin-bottom:18px}
.sd-nav .workspace-card strong{display:block;font:700 14px/1.3 var(--sd-heading);overflow-wrap:anywhere}
.sd-nav .workspace-card small{display:block;color:var(--sd-muted);font-size:12px;margin-top:4px}
.sd-nav .eyebrow{font-size:10.5px;padding-left:10px;margin:8px 0 8px}
.sd-nav .group{display:grid;gap:2px;margin:0 0 14px;padding:0;list-style:none}
.sd-nav .group>li{display:block}
.sd-nav a.step,.sd-nav a.nav{display:flex;align-items:center;gap:11px;min-height:40px;padding:8px 10px;border-radius:var(--sd-radius);color:var(--sd-muted);text-decoration:none;font-size:13.5px;line-height:1.3}
.sd-nav a.step:hover,.sd-nav a.nav:hover{background:var(--sd-surface-2);color:var(--sd-text)}
.sd-nav a[aria-current]{background:var(--sd-surface-2);color:var(--sd-brand-text);font-weight:650}
.sd-nav .step-dot{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--sd-border);font:500 11px var(--sd-mono);color:var(--sd-muted);background:var(--sd-surface)}
.sd-nav a.step.done .step-dot{background:var(--sd-surface-2);border-color:var(--sd-profit);color:var(--sd-profit)}
.sd-nav a.step[aria-current] .step-dot{background:var(--sd-brand);border-color:var(--sd-brand);color:var(--sd-brand-contrast)}
.sd-nav .sub{display:grid;gap:2px;padding-left:22px}
.sd-nav .sub a.nav{min-height:36px;font-size:13px;padding:6px 10px}
.sd-nav .nav-note{margin:6px 0 14px;padding:12px 14px;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);font-size:12px;color:var(--sd-muted);line-height:1.65}
.sd-nav .nav-note strong{color:var(--sd-text)}
.sd-nav .foot{margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--sd-divider);font-size:12.5px;color:var(--sd-muted);line-height:1.6;overflow-wrap:anywhere}
.sd-nav .foot strong{display:block;color:var(--sd-text);font-size:13px}
.sd-nav .foot form{margin-top:10px}
.sd-body{min-width:0;display:flex;flex-direction:column}
.sd-progress{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 32px;border-bottom:1px solid var(--sd-divider);font-size:12.5px;color:var(--sd-muted);background:var(--sd-bg)}
.sd-progress .bar{flex:none;width:180px;height:6px;border-radius:6px;background:var(--sd-divider);overflow:hidden}
.sd-progress .bar i{display:block;height:100%;background:var(--sd-brand);border-radius:6px}
.sd-progress .bar i.w0{width:0}.sd-progress .bar i.w1{width:11.1%}.sd-progress .bar i.w2{width:22.2%}.sd-progress .bar i.w3{width:33.3%}.sd-progress .bar i.w4{width:44.4%}
.sd-progress .bar i.w5{width:55.5%}.sd-progress .bar i.w6{width:66.6%}.sd-progress .bar i.w7{width:77.7%}.sd-progress .bar i.w8{width:88.8%}.sd-progress .bar i.w9{width:100%}
.sd-progress .badge{margin-left:auto}

/* main column */
.sd-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:32px;max-width:1240px;width:100%}
.sd-layout.with-preview{grid-template-columns:minmax(0,1fr) minmax(300px,380px);max-width:1440px}
.sd-main{min-width:0}
.sd-main:focus{outline:none}
.wizard-heading{margin:0 0 6px}
.wizard-heading h1{font-size:32px;letter-spacing:-.04em}
.wizard-heading .step-of{font-size:13px;color:var(--sd-muted);margin-top:8px}
.banner{display:flex;gap:10px;align-items:flex-start;background:var(--sd-surface-2);border:1px solid var(--sd-divider);border-left:3px solid var(--sd-brand);color:var(--sd-text);padding:12px 16px;border-radius:var(--sd-radius);margin:0 0 20px;font-size:13.5px;line-height:1.6}
.sd .flash{border:1px solid var(--sd-profit);border-left-width:4px;background:var(--sd-profit-soft);color:var(--sd-text);padding:12px 16px;border-radius:var(--sd-radius);margin:0 0 18px;font-size:14px}
.sd .errors{border:1px solid var(--sd-loss);border-left-width:4px;background:var(--sd-loss-soft);color:var(--sd-text);padding:12px 16px;border-radius:var(--sd-radius);margin:0 0 18px;font-size:14px}

/* cards, notes, badges */
.sd .card{background:var(--sd-surface);border:1px solid var(--sd-divider);border-radius:var(--sd-radius);padding:24px;margin:0 0 16px;box-shadow:none}
.sd .card>h2:first-child,.sd .card>h2:first-child+*{margin-top:0}
.sd .card>p{font-size:14px}
.sd .note{padding:12px 16px;background:var(--sd-surface-2);border:1px solid var(--sd-divider);border-radius:var(--sd-radius);color:var(--sd-text);font-size:13.5px;line-height:1.65;margin:14px 0}
.sd .note.ok{border-color:var(--sd-profit);background:var(--sd-profit-soft)}
.sd .note.warn{border-color:var(--sd-warning);background:var(--sd-warning-soft)}
.sd .locked-note{border-left:3px solid var(--sd-brand);padding:12px 16px;font-size:13px;color:var(--sd-muted);background:var(--sd-surface-2);margin:18px 0;line-height:1.7;border-radius:0 var(--sd-radius) var(--sd-radius) 0}
.sd .locked-note strong{display:block;color:var(--sd-text);margin-bottom:2px}
.sd .badge,.sd .tag{display:inline-flex;align-items:center;gap:5px;font:500 11.5px/1.2 var(--sd-body);border:1px solid var(--sd-divider);border-radius:20px;padding:4px 9px;color:var(--sd-muted);background:var(--sd-surface);white-space:nowrap;vertical-align:middle}
.sd .tag.ok,.sd .tag.P{color:var(--sd-profit);border-color:var(--sd-profit)}
.sd .tag.E{color:var(--sd-brand-text);border-color:var(--sd-brand)}
.sd .tag.L,.sd .tag.bad{color:var(--sd-loss);border-color:var(--sd-loss)}
.sd .tag.warn{color:var(--sd-warning);border-color:var(--sd-warning)}

/* forms */
.sd .field{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;min-width:0}
.sd label,.sd .fl{font-weight:500;font-size:13.5px;color:var(--sd-text)}
.sd fieldset.field{border:0;padding:0;margin:0 0 18px}
.sd fieldset.field legend{padding:0;margin-bottom:8px}
.sd fieldset.field>label{display:block;margin:10px 0 6px}
.sd fieldset.field>label:has(input[type=radio]),.sd fieldset.field>label:has(input[type=checkbox]){display:flex;flex-wrap:wrap;gap:4px 10px;align-items:flex-start;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);padding:12px 14px;margin:0 0 8px;background:var(--sd-surface);font-weight:500;min-height:48px;cursor:pointer}
.sd fieldset.field>label:has(input:checked){border-color:var(--sd-brand);background:var(--sd-surface-2);box-shadow:inset 0 0 0 1px var(--sd-brand)}
.sd fieldset.field>label .help{flex-basis:100%;padding-left:28px}
.sd fieldset.field>label input[type=radio],.sd fieldset.field>label input[type=checkbox]{margin:2px 0 0}
.sd fieldset.field>.help{display:block;margin:4px 0 8px}
.sd input[type=text],.sd input[type=email],.sd input[type=password],.sd input[type=number],.sd input[type=tel],.sd input[type=datetime-local],.sd input:not([type]),.sd select,.sd textarea{font:inherit;font-size:15px;color:var(--sd-text);background:var(--sd-surface);border:1px solid var(--sd-border);border-radius:var(--sd-radius);min-height:48px;padding:11px 13px;width:100%;min-width:0}
.sd textarea{min-height:240px;line-height:1.6;resize:vertical}
.sd input::placeholder,.sd textarea::placeholder{color:var(--sd-muted);opacity:1}
.sd input[type=file]{font-size:13px;padding:10px;width:100%;max-width:100%;border:1px dashed var(--sd-border);border-radius:var(--sd-radius);background:var(--sd-surface-2);color:var(--sd-text)}
.sd input[type=color]{width:56px;min-width:56px;height:44px;padding:4px;border:1px solid var(--sd-border);border-radius:var(--sd-radius);background:var(--sd-surface)}
.sd input[type=radio],.sd input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--sd-brand)}
.sd .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.sd .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sd .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:start}

/* buttons */
.sd .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid transparent;border-radius:var(--sd-radius);font:650 14px/1.2 var(--sd-body);padding:10px 18px;text-decoration:none;cursor:pointer;background:var(--sd-brand);color:var(--sd-brand-contrast);transition:background-color 140ms}
.sd .btn:hover{background:var(--sd-brand-hover)}
.sd .btn.ghost,.sd .btn.secondary{background:var(--sd-surface);color:var(--sd-text);border-color:var(--sd-border)}
.sd .btn.ghost:hover,.sd .btn.secondary:hover{background:var(--sd-surface-2)}
.sd .btn.danger{background:var(--sd-loss);color:#FFFFFF}
html.dark .sd .btn.danger{color:#07111F}
.sd .btn[disabled]{opacity:.55;cursor:not-allowed}
.sd .btn.full{width:100%}
.sd .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}
.sd .actions select{width:auto;min-width:200px}
.sd .actions input[type=text]{width:auto;min-width:140px}
.sd .text-link{font-weight:600;font-size:13.5px}

/* tables */
.sd .table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);background:var(--sd-surface)}
.sd table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--sd-surface)}
.sd .sd-main>table,.sd .card table{border:1px solid var(--sd-divider);border-radius:var(--sd-radius);border-collapse:separate;border-spacing:0;overflow:hidden;margin:0 0 16px}
.sd th,.sd td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--sd-divider);vertical-align:top}
.sd tbody tr:last-child td,.sd tbody tr:last-child th{border-bottom:0}
.sd th{color:var(--sd-muted);font:600 11px var(--sd-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--sd-surface-2)}
.sd td form{margin-top:8px}

/* tabs as a segmented control */
.sd .tabs{display:flex;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid var(--sd-border);border-radius:var(--sd-radius);background:var(--sd-surface);width:fit-content;max-width:100%;margin:0 0 20px}
.sd .tabs a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border-radius:5px;text-decoration:none;color:var(--sd-muted);font-size:13px;border:0}
.sd .tabs a[aria-current="page"]{background:var(--sd-brand);color:var(--sd-brand-contrast)}
.sd .tabs a[aria-current="page"] .tag{background:transparent;color:inherit;border-color:currentColor}

/* setup guide (home) and checklists */
.sd .checklist{list-style:none;padding:0;margin:0 0 16px;display:block;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);background:var(--sd-surface)}
.sd .checklist li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:0;border-bottom:1px solid var(--sd-divider);border-radius:0;background:transparent}
.sd .checklist li:last-child{border-bottom:0}
.sd .checklist a{text-decoration:none;color:var(--sd-text)}
.sd .checklist a:hover strong{text-decoration:underline}
.sd .dot{width:24px;height:24px;border-radius:50%;flex:none;margin-top:0;border:1px solid var(--sd-border);display:grid;place-items:center;background:var(--sd-surface)}
.sd .dot.y{background:var(--sd-brand);border-color:var(--sd-brand)}
.sd .dot.y::after{content:"";width:9px;height:5px;border-left:2px solid var(--sd-brand-contrast);border-bottom:2px solid var(--sd-brand-contrast);transform:rotate(-45deg) translate(1px,-1px)}
.sd .guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px 0}
.sd .guide-head h2{margin:0}
.sd .guide-bar{height:6px;border-radius:6px;background:var(--sd-divider);margin:14px 18px 6px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:none}
.sd .guide-bar i{display:block;height:6px;border-radius:6px;background:var(--sd-divider)}
.sd .guide-bar i.y{background:var(--sd-brand)}
.sd .setup-guide{border:1px solid var(--sd-divider);border-radius:var(--sd-radius);background:var(--sd-surface);margin:0 0 20px}
.sd .setup-guide .checklist{border:0;border-top:1px solid var(--sd-divider);border-radius:0;margin:12px 0 0;background:transparent}
.sd .dashboard-status{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--sd-surface);padding:20px 22px;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);margin:0 0 20px}
.sd .dashboard-status h2{margin:0;font-size:18px}
.sd .dashboard-status p{margin:4px 0 0;font-size:13px;color:var(--sd-muted)}

/* rows (features, wallet, versions) */
.sd .frow{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--sd-divider)}
.sd .frow:last-child{border-bottom:0}
.sd .frow .t{font-weight:600}
.sd .frow .d{font-size:13px;color:var(--sd-muted);margin-top:4px}
.sd .frow>div:last-child{flex:none;text-align:right}

/* choice cards (starting setup, layouts) */
.sd .choice{display:flex;flex-direction:column;gap:8px;border:1px solid var(--sd-border);border-radius:var(--sd-radius);padding:18px;background:var(--sd-surface);color:var(--sd-text);text-decoration:none;position:relative;min-height:130px;line-height:1.5}
.sd .choice:hover{border-color:var(--sd-brand)}
.sd .choice strong{font:700 15px/1.3 var(--sd-heading)}
.sd .choice span{font-size:13px}
.sd .choice br{display:none}
.sd .choice[aria-current="true"]{border:2px solid var(--sd-brand);padding:17px;background:var(--sd-surface-2)}
.sd .choice[aria-current="true"]::after{content:"\2713";position:absolute;right:14px;top:12px;color:var(--sd-brand-text);font-weight:700}
.sd .choice .tag{align-self:flex-start}
.sd .layouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.sd .layouts label.choice{flex-direction:row;align-items:flex-start;min-height:64px;font-weight:500;cursor:pointer}
.sd .layouts label.choice:has(input:checked){border:2px solid var(--sd-brand);padding:17px;background:var(--sd-surface-2)}

/* Studio templates: Layout and Theme steps (template, presentation, theme presets, live preview) */
.sd .tpl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,46%);gap:28px;align-items:start}
.sd .tpl-form{min-width:0}
.sd .persona-grid,.sd .preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sd label.choice.persona,.sd label.choice.preset{flex-direction:row;align-items:flex-start;gap:10px;min-height:0;cursor:pointer;font-weight:500}
.sd label.choice.persona strong,.sd label.choice.preset strong{display:block}
.sd label.choice.persona .help,.sd label.choice.preset .help{display:block;font-size:12.5px;margin-top:4px}
.sd label.choice.persona:has(input:checked),.sd label.choice.preset:has(input:checked){border:2px solid var(--sd-brand);padding:17px;background:var(--sd-surface-2)}
.sd label.choice.preset{flex-wrap:wrap}
.sd .ps-swatches{display:flex;width:100%;height:28px;border-radius:6px;overflow:hidden;border:1px solid var(--sd-divider)}
.sd .ps-swatches i{flex:1}
.sd .ps-swatches i.ps-a{flex:2}
.sd fieldset.pres-row{border:0;padding:0;margin:0 0 10px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px;align-items:center}
.sd fieldset.pres-row legend{float:left;font-size:13.5px;font-weight:600;padding:0}
.sd .pres-options{display:flex;flex-wrap:wrap;gap:6px}
.sd .pres-options label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sd-divider);border-radius:var(--sd-radius);padding:8px 12px;min-height:40px;font-weight:500;cursor:pointer;background:var(--sd-surface)}
.sd .pres-options label:has(input:checked){border-color:var(--sd-brand);box-shadow:inset 0 0 0 1px var(--sd-brand);background:var(--sd-surface-2)}
.sd .tpl-preview{position:sticky;top:16px;min-width:0}
.sd .tpl-preview .eyebrow{display:flex;justify-content:space-between;gap:10px;align-items:center}
.sd .tpl-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.sd .seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--sd-border);border-radius:var(--sd-radius);overflow:hidden;background:var(--sd-surface)}
.sd .seg button{min-height:34px;padding:6px 11px;border:0;border-right:1px solid var(--sd-divider);background:transparent;color:var(--sd-muted);font:600 12.5px var(--sd-body);cursor:pointer}
.sd .seg button:last-child{border-right:0}
.sd .seg button[aria-pressed="true"]{background:var(--sd-brand);color:var(--sd-brand-contrast)}
.sd .tpl-pages{margin:0 0 10px}
.sd .tpl-browser{border:1px solid var(--sd-border);border-radius:12px;overflow:hidden;box-shadow:var(--sd-shadow);background:var(--sd-surface)}
.sd .tpl-address{display:flex;gap:10px;align-items:center;padding:9px 14px;background:var(--sd-surface-2);border-bottom:1px solid var(--sd-divider);font-size:11px;color:var(--sd-muted);overflow-wrap:anywhere}
.sd .tpl-address::before{content:"";width:28px;height:6px;flex:none;background:radial-gradient(circle,var(--sd-border) 2.5px,transparent 3px) 0 0/10px 6px repeat-x}
.sd .tpl-viewport{height:640px;overflow:auto;background:var(--sd-surface-2);display:flex;justify-content:center}
.sd .tpl-viewport>div{flex:none;max-width:100%}
.sd .design-summary .kv{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 16px;margin:0 0 12px;font-size:14px}
.sd .design-summary dt{color:var(--sd-muted)}
.sd .design-summary dd{margin:0}

/* brand swatches */
.sd .swatches{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.sd .swatches button{min-height:0;cursor:pointer}
.sd .swatches label{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.sd fieldset.field:has(input[name=radius]),.sd fieldset.field:has(input[name=neutral_temperature]),.sd fieldset.field:has(input[name=default_mode]){display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.sd fieldset.field:has(input[name=radius])>legend,.sd fieldset.field:has(input[name=neutral_temperature])>legend,.sd fieldset.field:has(input[name=default_mode])>legend{width:100%}
.sd fieldset.field:has(input[name=radius])>label,.sd fieldset.field:has(input[name=neutral_temperature])>label,.sd fieldset.field:has(input[name=default_mode])>label{margin:0;flex:1 1 90px;align-items:center;min-height:44px;padding:10px 14px}

/* client site previews (brand screen and the shell's preview pane) */
.sd .site{border:1px solid var(--sd-border);border-radius:12px;box-shadow:var(--sd-shadow)}
.sd .site .bar{display:flex;gap:10px;align-items:center;padding:11px 14px;background:var(--sd-surface-2);font:11px var(--sd-mono);color:var(--sd-muted);border-bottom:1px solid var(--sd-divider)}
.sd .site .bar::before{content:"";width:28px;height:6px;flex:none;background:radial-gradient(circle,var(--sd-border) 2.5px,transparent 3px) 0 0/10px 6px repeat-x}
.sd .preview-pane{position:sticky;top:20px;align-self:start;min-width:0}
.sd .preview-pane .eyebrow{display:flex;justify-content:space-between;gap:10px}
.sd .pv{--pv-brand:#173B74;--pv-on:#FFFFFF;--pv-tint:#EEF2F8;border:1px solid var(--sd-border);border-radius:12px;overflow:hidden;background:#FFFFFF;color:#142237;box-shadow:var(--sd-shadow)}
.sd .pv .pv-address{display:flex;gap:10px;align-items:center;padding:11px 14px;background:#EEF2F8;border-bottom:1px solid #D8DEE8;font:11px var(--sd-mono);color:#526176;overflow-wrap:anywhere}
.sd .pv .pv-address::before{content:"";width:28px;height:6px;flex:none;background:radial-gradient(circle,#A3ADBD 2.5px,transparent 3px) 0 0/10px 6px repeat-x}
.sd .pv .pv-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #E4E8EF;font-size:12px}
.sd .pv .pv-nav strong{display:flex;align-items:center;gap:8px;font:700 13px var(--sd-heading);min-width:0;overflow-wrap:anywhere}
.sd .pv .pv-nav strong::before{content:"";width:18px;height:18px;flex:none;border-radius:4px;background:var(--pv-brand)}
.sd .pv .pv-btn{display:inline-block;background:var(--pv-brand);color:var(--pv-on);border-radius:6px;padding:6px 10px;font-weight:650;font-size:11.5px;white-space:nowrap}
.sd .pv .pv-hero{padding:22px 16px 18px;background:linear-gradient(180deg,var(--pv-tint),#FFFFFF)}
.sd .pv .pv-hero b{display:block;font:700 19px/1.2 var(--sd-heading);letter-spacing:-.03em}
.sd .pv .pv-hero .pv-sub{display:block;font-size:11.5px;color:#526176;margin:8px 0 12px}
.sd .pv .pv-card{margin:0 16px 16px;border:1px solid #E4E8EF;border-radius:8px;padding:12px;font-size:12px}
.sd .pv .pv-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #EEF2F8}
.sd .pv .pv-row:first-of-type{border-top:0}
.sd .pv .up{color:#087040;font-family:var(--sd-mono)}.sd .pv .dn{color:#B4232B;font-family:var(--sd-mono)}
.sd .pv .pv-badge{display:inline-block;border:1px solid #D8DEE8;border-radius:20px;padding:2px 7px;font-size:10.5px;color:#526176}
.sd .pv-note{font-size:12px;color:var(--sd-muted);margin-top:10px;line-height:1.6}

/* wizard actions */
.wizard-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:30px 0 8px;padding-top:22px;border-top:1px solid var(--sd-divider)}
.wizard-actions .next{margin-left:auto}

/* page editor preview */
.sd .page-preview h3{font:700 15px/1.3 var(--sd-heading);margin:14px 0 6px}
.sd .page-preview h4{font:600 14px/1.3 var(--sd-heading);margin:12px 0 4px}
.sd .page-preview p,.sd .page-preview li{max-width:70ch;font-size:14px}
.sd .page-preview ul,.sd .page-preview ol{padding-left:20px}
.sd .t-notices{border-top:1px solid var(--sd-divider);margin-top:14px;padding-top:10px;font-size:12.5px;color:var(--sd-muted)}
.sd .codes{columns:2;font-family:var(--sd-mono);font-size:15px;line-height:2}

/* sign-up host and sign-in screens */
.sd-auth{display:grid;grid-template-columns:minmax(0,520px);justify-content:center;gap:40px;padding:48px 24px 64px}
.sd-auth.with-aside{grid-template-columns:minmax(0,500px) minmax(0,420px)}
.sd-auth .auth-main{min-width:0}
.sd-auth .auth-main>h1{font-size:34px;letter-spacing:-.04em;margin:0}
.sd-auth .auth-main>.lead{margin:12px 0 24px}
.sd-auth .auth-main>p:not(.lead):not(.eyebrow){font-size:14px}
.sd-auth .card .btn[type=submit]{width:100%}
.sd-auth .card .actions .btn[type=submit]{width:auto}
.sd-auth .auth-divider{display:flex;align-items:center;gap:12px;color:var(--sd-muted);font-size:12px;margin:18px 0}
.sd-auth .auth-divider::before,.sd-auth .auth-divider::after{content:"";flex:1;border-top:1px solid var(--sd-divider)}
.sd-auth .auth-aside{min-width:0}
.sd-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 18px}
.sd-steps li{flex:1;height:5px;border-radius:5px;background:var(--sd-divider)}
.sd-steps li.y{background:var(--sd-brand)}

/* pending business copy: visible outside production only (App\View\PendingCopy) */
.sd .pending{border:1px dashed var(--sd-warning);border-radius:var(--sd-radius);padding:20px;background:var(--sd-surface)}
.sd .pending-flag{display:block;font:600 11px var(--sd-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sd-warning);margin-bottom:10px}
.sd mark.placeholder{background:var(--sd-warning-soft);color:var(--sd-text);border:1px dashed var(--sd-warning);border-radius:4px;padding:0 4px;font-family:var(--sd-mono);font-size:.9em}
.sd .plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.sd .plans>div{border:1px solid var(--sd-divider);border-radius:var(--sd-radius);padding:12px;font-size:12.5px;min-width:0;overflow-wrap:anywhere}
.sd .plans strong{display:block;font:700 13px var(--sd-heading);margin-bottom:6px}
.sd .faq details{border-top:1px solid var(--sd-divider);padding:4px 0}
.sd .faq summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;font-size:13.5px;cursor:pointer;list-style:none}
.sd .faq summary::-webkit-details-marker{display:none}
.sd .faq summary::after{content:"+";font-size:18px;font-weight:400;color:var(--sd-muted)}
.sd .faq details[open] summary::after{content:"\2212"}
.sd .faq details p{font-size:13px;color:var(--sd-muted);margin:0 0 12px}

/* responsive */
@media (max-width:1200px){
  .sd-layout.with-preview{grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:28px 24px}
  .sd-layout{padding:28px 24px}
  .sd-progress{padding-inline:24px}
}
@media (max-width:1080px){
  .sd .tpl-split{grid-template-columns:minmax(0,1fr)}
  .sd .tpl-preview{position:static}
  .sd .tpl-viewport{height:560px}
  .sd-layout.with-preview{grid-template-columns:minmax(0,1fr)}
  .sd .preview-pane{display:none}
  .sd-auth.with-aside{grid-template-columns:minmax(0,560px)}
}
@media (max-width:1020px){
  .sd-head{padding:14px 20px;min-height:68px;gap:14px}
  .sd-head .head-label{display:none}
  .sd-menu-button{display:inline-flex}
  .sd-shell{grid-template-columns:minmax(0,1fr)}
  html.js .sd-nav{display:none}
  html.js .sd-shell.nav-open .sd-nav{display:flex}
  .sd-nav{border-right:0;border-bottom:1px solid var(--sd-divider);padding:16px}
  .sd-nav .foot{margin-top:8px}
  .sd .split{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .sd .persona-grid,.sd .preset-grid{grid-template-columns:minmax(0,1fr)}
  .sd fieldset.pres-row{grid-template-columns:minmax(0,1fr)}
  .sd .design-summary .kv{grid-template-columns:minmax(0,1fr)}
  .sd .tpl-viewport{height:520px}
  .sd-lockup{width:148px}
  .sd-head .head-status>.badge{display:none}
  .sd-progress{padding:12px 16px;gap:10px 14px;font-size:12px}
  .sd-progress .bar{width:100px}
  .sd-progress .badge{margin-left:0}
  .sd-layout,.sd-layout.with-preview{padding:22px 16px 40px;gap:20px}
  .sd h1,.wizard-heading h1,.sd-auth .auth-main>h1{font-size:27px}
  .sd .card{padding:18px}
  .sd .grid2{grid-template-columns:minmax(0,1fr)}
  .sd .plans{grid-template-columns:minmax(0,1fr)}
  .sd input,.sd select,.sd textarea{font-size:16px}
  .sd .sd-main>table,.sd .card table,.sd table{display:block;overflow-x:auto;max-width:100%}
  .sd .frow{flex-direction:column;gap:10px}
  .sd .frow>div:last-child{text-align:left}
  .sd .actions select,.sd .actions input[type=text]{width:100%;min-width:0}
  .wizard-actions .btn{flex:1 1 140px}
  .wizard-actions .next{margin-left:0}
  .sd-auth{padding:28px 16px 48px}
  .sd .tabs{width:100%}
  .sd .codes{columns:1}
}
@media (prefers-reduced-motion:reduce){.sd *{transition:none!important}}
