/* Owner dashboard + seller panel: a black Dr Reps sidebar beside a light, Apple-style workspace. Builds on site.css. */
body.dash{
  color-scheme:light;
  --bg:#f5f5f7;--surface:#fff;--surface-2:#f5f5f7;--surface-3:#e9e9ee;--field:#fff;
  --line:rgba(0,0,0,.07);--line-2:rgba(0,0,0,.14);
  --text:#1d1d1f;--text-2:#6e6e73;--text-3:#a1a1a6;--plum:#6c2580;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",system-ui,Roboto,sans-serif;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.1);
  --shadow-hi:0 2px 6px rgba(0,0,0,.05),0 22px 44px -18px rgba(0,0,0,.18);
  background:var(--bg);color:var(--text);font:400 15px/1.5 var(--sys);letter-spacing:-.005em
}
.dash ::selection{background:var(--lilac);color:#111}
.dash a{color:inherit}

/* buttons */
.dash .btn{height:40px;padding:0 18px;font:600 14px var(--sys);border-radius:999px}
.dash .btn-primary,.dash .btn:not(.btn-glass):not(.btn-danger){background:#1d1d1f;color:#fff;border-color:#1d1d1f}
.dash .btn-primary:hover,.dash .btn:not(.btn-glass):not(.btn-danger):hover{background:#000;border-color:#000}
.dash .btn-glass{background:#fff;color:var(--text);border-color:var(--line-2);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.dash .btn-glass:hover{background:#fafafa;border-color:rgba(0,0,0,.24)}
.dash .btn-danger{background:#fff0f0;color:#d70015;border-color:#ffd4d4}
.dash .btn-danger:hover{background:#ffe3e3}
.dash .btn-lg{height:48px;padding:0 26px;font-size:15px}
.dash .btn-sm{height:32px;padding:0 13px;font-size:13px}
.dash .btn svg{width:17px;height:17px}
.dash .icon-btn:hover{background:rgba(0,0,0,.06)}
.dash .link{color:var(--plum);font-weight:600}

/* fields */
.dash input:not([type=checkbox]):not([type=radio]):not([type=file]),.dash select,.dash textarea{border-radius:10px;border-color:rgba(0,0,0,.16);padding:10px 13px;font:15px var(--sys)}
.dash input:focus,.dash select:focus,.dash textarea:focus{border-color:var(--plum);box-shadow:0 0 0 4px rgba(199,161,206,.35)}
.dash input:disabled{background:var(--surface-2);color:var(--text-2)}
.dash .field>span{font-size:13px;font-weight:600;color:var(--text)}
.dash .field small{font-weight:400}

/* sidebar */
.side{position:fixed;inset:0 auto 0 0;width:252px;display:flex;flex-direction:column;gap:22px;padding:24px 14px 18px;z-index:30;color:#fff;
  background:radial-gradient(130% 50% at 0% 0%,rgba(199,161,206,.2),transparent 60%),radial-gradient(90% 40% at 100% 100%,rgba(108,37,128,.28),transparent 70%),#0b0b0c}
.side-brand{display:grid;gap:6px;padding:4px 12px 8px}
.side-brand .wordmark{width:118px}
.side-brand small{font:600 10px var(--font);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.side-nav{display:grid;gap:2px}
.side-nav a,.side-foot a,.side-foot button{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:rgba(255,255,255,.64);font:500 14px var(--sys);border:0;background:none;width:100%;cursor:pointer;transition:background .2s,color .2s;text-align:left}
.side-nav svg,.side-foot svg{width:19px;height:19px}
.side-nav a:hover,.side-foot a:hover,.side-foot button:hover{background:rgba(255,255,255,.07);color:#fff}
.side-nav a.on{background:rgba(255,255,255,.11);color:#fff}
.side-nav a.on svg{color:var(--lilac)}
.side-nav a.on::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--lilac)}
.side-nav em{margin-left:auto;min-width:22px;text-align:center;font:700 11px/20px var(--font);font-style:normal;background:var(--lilac);color:#111;border-radius:999px;padding:0 7px}
.side-foot{margin-top:auto;display:grid;gap:2px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.side-foot form{margin:0}
.topbar{display:none}
.dash-main{margin-left:252px;padding:36px clamp(20px,3.4vw,52px) 96px;max-width:1360px}

/* page head */
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.phead h1{font:700 clamp(28px,3vw,36px)/1.1 var(--font);letter-spacing:-.01em;margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.phead p{margin:8px 0 0;color:var(--text-2);font-size:15px}
.phead p a{color:var(--plum);font-weight:600}
.ph-actions{display:flex;gap:10px;flex-wrap:wrap}
.ph-actions form{margin:0}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--plum);font-size:14px;font-weight:600;margin-bottom:14px}
.back svg{width:16px;height:16px}

/* cards */
.card{background:var(--surface);border:0;border-radius:18px;padding:22px 24px;box-shadow:var(--shadow)}
.card.flush{padding:0;overflow:hidden}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.card-head.pad{padding:20px 24px 4px;margin:0}
.card-head h2{font:650 17px var(--sys);letter-spacing:-.01em;margin:0}
.card-head a{display:inline-flex;align-items:center;gap:4px;color:var(--plum);font-size:14px;font-weight:600}
.card-head a svg{width:16px;height:16px}
.card-head .muted{font-size:13px}
.flash{display:flex;align-items:center;gap:8px;background:#e7f8ee;color:#0f7a3c;border-radius:12px;padding:12px 16px;margin-bottom:20px;font-size:14px;font-weight:500;animation:rise .5s var(--ease)}
.flash svg{width:18px;height:18px}
.error{color:#d70015;font-size:14px;margin:0}
.dash code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.88em;background:#f3e8f6;padding:2px 7px;border-radius:6px;color:var(--plum)}
.muted{color:var(--text-2)}

/* overview */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border-radius:18px;padding:18px 20px;display:grid;gap:4px;box-shadow:var(--shadow)}
.kpi span{font-size:13px;font-weight:500;color:var(--text-2)}
.kpi strong{font:600 30px/1.15 var(--font);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.kpi small{font-size:13px;color:var(--text-3)}
.kpi small a{color:var(--plum);font-weight:600}
.kpis .kpi:first-child{color:#fff;background:radial-gradient(120% 120% at 100% 0%,rgba(199,161,206,.38),transparent 55%),#111}
.kpis .kpi:first-child span{color:rgba(255,255,255,.7)}
.kpis .kpi:first-child strong{color:var(--lilac)}
.kpis .kpi:first-child small,.kpis .kpi:first-child small a{color:#fff}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.setup{margin-bottom:18px;background:linear-gradient(120deg,#fbf7fc,#fff 60%)}
.setup h2{font:650 17px var(--sys);margin:0 0 12px}
.setup ol{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.setup a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:14px;font-weight:500}
.setup a:hover{border-color:var(--plum);color:var(--plum)}
.setup li.is-done a{color:var(--text-3);border-style:dashed;background:transparent}
.setup li.is-done svg{width:16px;height:16px;color:#34c759}
.bars{width:100%;height:160px;display:block}
.bars rect{fill:var(--lilac)}
.bars rect:hover{fill:var(--plum)}
.rank{list-style:none;margin:0;padding:0}
.rank li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.rank li:last-child{border-bottom:0}
.rank b{font-variant-numeric:tabular-nums}
.rank b small{font-weight:400;color:var(--text-3)}

/* lists and status */
.list{display:grid;grid-template-columns:minmax(0,1fr)}
.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line);transition:background .15s}
.card.flush .row{padding:14px 24px}
.list .row:last-child{border-bottom:0}
a.row:hover{background:#fafafb}
.row-main{display:grid;min-width:0}
.row-main b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-main small{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-meta{display:flex;align-items:center;gap:8px;flex:none}
.row-meta>small{color:var(--text-3);font-size:12px;min-width:56px;text-align:right}
.st{display:inline-block;font:600 12px/1.5 var(--sys);font-style:normal;padding:2px 10px;border-radius:999px;background:#f2f2f4;color:var(--text-2);white-space:nowrap;letter-spacing:0}
.st-new{background:#f3e8f6;color:var(--plum)}
.st-searching{background:#e8f1ff;color:#0a64d6}
.st-quoted{background:#fff4e5;color:#b25e00}
.st-won{background:#e7f8ee;color:#0f7a3c}
.st-lost{background:#f2f2f4;color:var(--text-3)}
.st-refunded{background:#f4eaf7;color:#6c2580}
.chip-sm{display:inline-block;font-size:12px;font-weight:500;font-style:normal;padding:2px 9px;border-radius:999px;background:#f2f2f4;color:var(--text-2);white-space:nowrap}
.chip-sm.ok{background:#e7f8ee;color:#0f7a3c}
.empty-line{padding:36px 24px;text-align:center;color:var(--text-2);margin:0}
.empty-card{text-align:center;padding:60px 24px}
.empty-card h2{margin:0 0 8px;font:650 20px var(--sys)}
.empty-card .btn{margin-top:14px}

/* toolbars: Apple segmented controls */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.tabs,.seg{display:inline-flex;gap:2px;padding:3px;background:#e7e7ec;border-radius:10px;overflow-x:auto;scrollbar-width:none;max-width:100%;border:0}
.tab,.seg button{flex:none;display:inline-flex;gap:6px;align-items:center;padding:6px 14px;border-radius:8px;font:500 14px var(--sys);color:var(--text);border:0;background:none;cursor:pointer;transition:background .2s,box-shadow .2s}
.tab small{color:var(--text-3);font-size:12px;font-weight:600}
.tab.on,.seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.seg button svg{width:16px;height:16px}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.dash .filters{display:flex;grid-template-columns:none;justify-content:flex-start;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.dash .filters input,.dash .filters select{height:40px;padding-block:0;width:auto;min-width:180px;flex:1}
.dash .filters.bar{margin-bottom:16px}
.w-sm{max-width:140px;min-width:100px!important}

/* request detail */
.detail{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;align-items:start}
.stack{display:grid;gap:18px;align-content:start}
.items .item{display:flex;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.items .item:last-child{border-bottom:0}
.item-img{width:56px;height:56px;flex:none;border-radius:12px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;color:var(--text-3)}
.item-img img{width:100%;height:100%;object-fit:cover}
.item-main{display:grid;min-width:0}
.item-main a:hover{color:var(--plum)}
.item-main small{color:var(--text-2);font-size:13px}
.quote{margin:14px 0 0;padding:4px 0 4px 14px;border-left:3px solid var(--lilac);color:var(--text-2);font-style:italic}
.calc{display:flex;flex-wrap:wrap;gap:8px 26px;padding:14px 16px;background:var(--surface-2);border-radius:12px;font-size:14px;color:var(--text-2)}
.calc b{color:var(--text);font:600 16px var(--font);margin-left:4px}
.calc span:first-child b{color:var(--plum)}
.check{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--text);cursor:pointer}
.check input{width:18px;height:18px}
.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline li{display:flex;justify-content:space-between;gap:12px;padding:10px 0 10px 20px;border-bottom:1px solid var(--line);font-size:14px;position:relative}
.timeline li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;background:var(--lilac);box-shadow:0 0 0 3px #f3e8f6}
.timeline li:last-child{border-bottom:0}
.timeline small{color:var(--text-3);flex:none}
.big{font:650 22px var(--sys);margin:0}
.contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.code-card .code-big{margin:4px 0 12px;padding:18px;border-radius:14px;text-align:center;font:600 34px/1 var(--font);letter-spacing:.14em;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,rgba(199,161,206,.45),transparent 55%),#111}
.code-card>.muted{font-size:13px;margin:0 0 14px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.facts dt{font-size:12px;color:var(--text-2)}
.facts dd{margin:2px 0 0;font-weight:600;font-variant-numeric:tabular-nums}
.facts dd.hl{color:var(--plum);font:600 18px var(--font)}

/* tables */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{font-size:12px;font-weight:600;color:var(--text-2);text-align:left;padding:13px 20px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfbfd}
.table td{padding:13px 20px;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover{background:#fafafb}
.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.table .num a{color:var(--plum);font-weight:600}
.cell-link{display:grid}
.cell-link small{color:var(--text-2);font-size:13px}
.cell-link:hover b{color:var(--plum)}
.who{display:flex;align-items:center;gap:10px}
.row-actions{text-align:right;white-space:nowrap}
.row-actions>*{margin-left:14px}
.row-actions a{color:var(--plum);font-size:13px;font-weight:600}
.row-actions form{display:inline}
tr.dim{opacity:.5}
.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.av{width:36px;height:36px;flex:none;border-radius:50%;overflow:hidden;background:#f3e8f6;color:var(--plum);display:inline-grid;place-items:center;font:700 15px var(--font)}
.av img{width:100%;height:100%;object-fit:cover}
.av.sm{width:30px;height:30px;font-size:13px}
.av.lg{width:96px;height:96px;font-size:36px;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--lilac)}

/* products */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .25s,transform .3s var(--ease)}
.pcard:hover{box-shadow:var(--shadow-hi);transform:translateY(-2px)}
.pcard-img{aspect-ratio:4/5;background:#f2f2f4;display:grid;place-items:center;color:var(--text-3);overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover}
.pcard-body{display:grid;gap:2px;padding:12px 14px 14px;min-width:0}
.pcard-body b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard-body small{font-size:12px;color:var(--text-2)}
.flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.import{margin-bottom:18px}
.import summary{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;cursor:pointer;list-style:none}
.import summary::-webkit-details-marker{display:none}
.import summary::after{content:"+";margin-left:auto;font-size:22px;line-height:1;color:var(--text-2);transition:transform .3s var(--ease)}
.import[open] summary::after{transform:rotate(45deg)}
.import[open] summary{margin-bottom:16px}
.import .muted{font-size:14px}

/* photo studio */
.editor{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
.studio-opts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.studio-opts select{height:36px;padding-block:0;width:auto;font-size:14px}
.switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2);cursor:pointer}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch span{width:44px;height:26px;border-radius:999px;background:#e5e5ea;position:relative;transition:background .25s}
.switch span::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .25s var(--ease)}
.switch input:checked+span{background:#34c759}
.switch input:checked+span::after{transform:translateX(18px)}
.switch input:focus-visible+span{outline:2px solid var(--lilac);outline-offset:2px}
.drop{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;padding:32px 20px;border:1.5px dashed rgba(0,0,0,.18);border-radius:16px;cursor:pointer;transition:all .2s;background:#fbfbfd}
.drop:hover,.drop.over{border-color:var(--plum);background:#fbf7fc}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop-icon{width:52px;height:52px;border-radius:50%;background:#f3e8f6;display:grid;place-items:center;color:var(--plum);margin-bottom:6px}
.drop small{color:var(--text-2);max-width:46ch;font-size:13px}
.studio-status{min-height:20px;font-size:13px;color:var(--text-2);margin:12px 0 0}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:12px}
.shot{position:relative;margin:0;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#f2f2f4}
.shot.cover{box-shadow:0 0 0 2px var(--plum)}
.shot>img{width:100%;height:100%;object-fit:cover}
.shot .badges{position:absolute;top:8px;left:8px;bottom:auto;display:flex;gap:4px}
.shot .badges em{font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.shot .badges em.l{color:var(--plum)}
.shot .tools{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:4px;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .2s}
.shot:hover .tools,.shot:focus-within .tools{opacity:1}
@media (hover:none){.shot .tools{opacity:1}}
.shot .tools button{width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#111;display:grid;place-items:center;cursor:pointer}
.shot .tools button:hover{background:var(--lilac)}
.shot .tools svg{width:16px;height:16px}
.shot .busy{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:rgba(255,255,255,.8);font-size:12px;color:var(--text-2);text-align:center;padding:10px}
.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid rgba(0,0,0,.1);border-top-color:var(--plum);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.compare{position:absolute;inset:0;opacity:0;transition:opacity .2s}
.shot:hover .compare.on{opacity:1}

/* sellers, passwords, sharing, settings */
.danger-zone{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.danger-zone form{margin:0}
.reveal-pw{margin-bottom:18px;background:linear-gradient(120deg,#f6effa,#fff 65%)}
.reveal-pw h2{display:flex;align-items:center;gap:8px;font:650 18px var(--sys);margin:0 0 4px}
.reveal-pw h2 svg{color:#34c759}
.pw-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}
.pw-row input{flex:1;min-width:220px}
.dash .pw{font-size:22px;letter-spacing:.08em;padding:9px 16px}
.share{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap;margin-bottom:18px}
.share h2{font:650 17px var(--sys);margin:0}
.share p{margin:4px 0 0;font-size:14px}
.share .pw-row{flex:1;min-width:300px;margin:0}
.avatar-edit{display:flex;align-items:center;gap:18px}
.dash .narrow-form{max-width:760px;margin-bottom:18px}
.seller-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:18px}
.sc{display:grid;gap:14px}
.sc .who b{flex:1}
.sc dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.sc dt{font-size:12px;color:var(--text-2)}
.sc dd{margin:2px 0 0;font:600 16px var(--font)}
.sc dd.hl{color:var(--plum)}
.share-list{display:grid;gap:10px}
.share-item{display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px}
.share-item .pcard-img{width:56px;height:70px;border-radius:10px;flex:none}
.share-item .pcard-body{padding:0;flex:1}
.share-actions{display:flex;gap:6px;flex:none}
.settings{display:grid;gap:18px;margin-bottom:18px}
.save-bar{position:sticky;bottom:16px;z-index:5;display:flex;justify-content:flex-end;padding:8px;border-radius:999px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--shadow-hi)}
#scenes{margin-bottom:18px}
#scenes>p{font-size:14px;margin:0 0 14px}
.scenes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px}
.scene{position:relative;margin:0;border-radius:14px;overflow:hidden}
.scene img{aspect-ratio:1;width:100%;object-fit:cover}
.scene figcaption{position:absolute;inset:auto 0 0 0;padding:20px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:13px;font-weight:600;text-transform:capitalize}
.scene figcaption small{display:block;font-weight:400;font-size:11px;color:rgba(255,255,255,.75);text-transform:none}
.scene form{position:absolute;top:6px;right:6px;margin:0}
.scene .icon-btn{width:32px;height:32px;background:rgba(255,255,255,.85);color:#111}
.status-list{list-style:none;margin:0 0 16px;padding:0}
.status-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.status-list small{margin-left:auto;color:var(--text-2);text-align:right}
.dash .dot{width:9px;height:9px;border-radius:50%;background:#ff9f0a;flex:none;animation:none}
.status-list li.ok .dot{background:#34c759}

/* login */
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(60% 45% at 50% 0%,rgba(199,161,206,.35),transparent),#f5f5f7}
.login{width:min(420px,calc(100vw - 32px));padding:40px 0}
.login-brand{display:flex;justify-content:center;margin-bottom:28px}
.login-brand .wordmark{width:170px;background:#111}
.login-card{display:grid;gap:16px;border:0;border-radius:22px;box-shadow:var(--shadow-hi);padding:30px}
.login-card .h3{margin:0;font:700 24px var(--font)}

@media (max-width:1100px){.detail,.editor,.grid-2{grid-template-columns:minmax(0,1fr)}}
/* phones and small tablets: a top bar and an iOS-style tab bar */
@media (max-width:900px){
  .topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:4px;padding:10px 12px 10px 18px;background:rgba(245,245,247,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
  .topbar form{margin:0}
  .topbar-brand{display:flex;align-items:baseline;gap:8px;margin-right:auto}
  .topbar-brand .wordmark{width:92px;background:#111}
  .topbar-brand small{font:600 10px var(--font);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2)}
  .side{inset:auto 0 0 0;width:auto;height:auto;flex-direction:row;gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:rgba(12,12,13,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
  .side-brand,.side-foot{display:none}
  .side-nav{display:flex;flex:1;min-width:0;gap:0;overflow-x:auto;scrollbar-width:none}
  .side-nav::-webkit-scrollbar{display:none}
  .side-nav a{flex:1 0 64px;flex-direction:column;gap:3px;padding:6px 4px;font-size:10px;font-weight:600;text-align:center;justify-content:center;border-radius:10px}
  .side-nav a svg{width:22px;height:22px}
  .side-nav a.on{background:none;color:var(--lilac)}
  .side-nav a.on::before{display:none}
  .side-nav em{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;font-size:10px;line-height:17px;padding:0 5px}
  .dash-main{margin-left:0;padding:22px 16px calc(100px + env(safe-area-inset-bottom))}
  .phead h1{font-size:28px}
}
@media (max-width:640px){
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpis .kpi:first-child{grid-column:1/-1}
  .kpi{padding:14px 16px}
  .kpi strong{font-size:24px}
  .card{padding:18px}
  .card.flush .row,.card-head.pad{padding-inline:18px}
  .row{flex-wrap:wrap}
  .row-meta{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .row-meta>small{text-align:left}
  .table th,.table td{padding:12px}
  .facts{grid-template-columns:1fr}
}

/* device preview: a dark stage so the frames read like product shots */
.preview{display:grid;gap:14px}
.pv-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pv-bar select{width:auto;height:38px;padding-block:0;min-width:220px}
.pv-stage{display:flex;justify-content:center;align-items:flex-start;overflow:hidden;padding:30px 16px;border-radius:22px;background:radial-gradient(60% 55% at 50% 30%,rgba(199,161,206,.22),transparent 70%),#0d0d0e;box-shadow:var(--shadow)}
.device{flex:none;display:flex;flex-direction:column;transform-origin:top center;box-shadow:0 50px 90px -30px rgba(0,0,0,.85)}
.device iframe{display:block;border:0;background:#fff}
.dv-top{display:flex;align-items:center;flex:none;color:#f5f5f7;position:relative}
.dots{display:flex;gap:8px}
.dots i{width:12px;height:12px;border-radius:50%;background:#ff5f57}
.dots i:nth-child(2){background:#febc2e}
.dots i:nth-child(3){background:#28c840}
.dv-url{flex:1;max-width:560px;height:28px;margin:0 auto;border-radius:8px;background:#2c2c2e;color:#a1a1a6;font-size:13px;display:grid;place-items:center;overflow:hidden;white-space:nowrap;padding:0 12px}
.dv-time{font-weight:600}
.dv-home{flex:none;position:relative}
.device.desktop{width:1280px;border-radius:14px;overflow:hidden;border:1px solid #2c2c2e;background:#1c1c1e}
.device.desktop .dv-top{height:44px;gap:16px;padding:0 16px}
.device.desktop iframe{width:1280px;height:780px}
.device.desktop .dv-time,.device.desktop .dv-icons,.device.desktop .dv-home{display:none}
.device:not(.desktop) .dots,.device:not(.desktop) .dv-url{display:none}
.device.iphone{width:419px;padding:13px;border-radius:66px;background:#1b1b1d;box-shadow:inset 0 0 0 2px #3a3a3c,inset 0 0 0 6px #0a0a0a,0 50px 90px -30px rgba(0,0,0,.85)}
.device.iphone .dv-top{height:54px;justify-content:space-between;padding:0 32px 0 38px;background:#fff;color:#111;border-radius:53px 53px 0 0;font-size:16px}
.device.iphone .dv-top::after{content:"";position:absolute;left:50%;top:11px;width:124px;height:36px;border-radius:20px;background:#000;transform:translateX(-50%)}
.device.iphone iframe{width:393px;height:764px}
.device.iphone .dv-home{height:34px;background:#fff;border-radius:0 0 53px 53px}
.device.iphone .dv-home::after{content:"";position:absolute;left:50%;bottom:9px;width:134px;height:5px;border-radius:3px;background:#111;transform:translateX(-50%)}
.device.android{width:434px;padding:11px;border-radius:46px;background:#202124;box-shadow:inset 0 0 0 2px #3c4043,0 50px 90px -30px rgba(0,0,0,.85)}
.device.android .dv-top{height:34px;justify-content:space-between;padding:0 24px;background:#fff;color:#111;border-radius:36px 36px 0 0;font-size:13px}
.device.android .dv-top::after{content:"";position:absolute;left:50%;top:9px;width:14px;height:14px;border-radius:50%;background:#000;box-shadow:0 0 0 2px #151515;transform:translateX(-50%)}
.device.android iframe{width:412px;height:857px}
.device.android .dv-home{height:24px;background:#fff;border-radius:0 0 36px 36px}
.device.android .dv-home::after{content:"";position:absolute;left:50%;bottom:9px;width:108px;height:4px;border-radius:2px;background:#111;transform:translateX(-50%)}

/* home banner slots */
.camp{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.camp-slot{display:grid;gap:8px;align-content:start}
.camp-img{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#f2f2f4;display:grid;place-items:center;color:var(--text-3);font-size:13px;border:1.5px dashed rgba(0,0,0,.14)}
.camp-img img{width:100%;height:100%;object-fit:cover}
.camp-img.busy{opacity:.5}
.camp-btns{display:flex;gap:12px;align-items:center}
.dash .camp-slot input{font-size:14px;padding:9px 12px}
