/* Studio dashboard — builds on site.css tokens */
.dash{padding-block:24px 80px;display:flex;flex-direction:column;gap:18px}
header.site .dash-label{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.mode-pill{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.mode-pill.live{color:var(--ok);border-color:rgba(61,220,151,.35)}
.mode-pill.demo{color:var(--warn);border-color:rgba(255,181,71,.35)}
.head-actions{margin-left:auto;display:flex;gap:8px}
@media (max-width:760px){header.site .dash-label{display:none}.head-actions{margin-left:0}}

.auth-card{max-width:420px;margin:40px auto;display:flex;flex-direction:column;gap:6px}
.auth-card h2{font-size:22px}
.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.dash-tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:6px}
.dash-tabs::-webkit-scrollbar{display:none}
.dash-tabs button{border:0;background:transparent;padding:9px 16px;border-radius:999px;font-size:14px;color:var(--muted);white-space:nowrap}
.dash-tabs button[aria-selected="true"]{background:var(--grad);color:#14060F;font-weight:600}
.tab{display:flex;flex-direction:column;gap:18px}
.tab[hidden]{display:none}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.card-head p.muted{margin:4px 0 0;font-size:13px}
.input.slim{width:auto;padding:8px 12px;font-size:13px}
.card > p.muted{margin:4px 0 16px}

/* services */
.svc-group h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:18px 0 8px}
.svc-row{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--panel-2);overflow:hidden}
.svc-row.off{opacity:.6}
.svc-sum{display:flex;align-items:center;gap:12px;padding:12px 14px;flex-wrap:wrap}
.svc-sum .nm{flex:1;min-width:160px;text-align:left;border:0;background:transparent;padding:0;display:flex;flex-direction:column}
.svc-sum .nm b{font-family:var(--f-display);font-size:14px}
.svc-sum .nm span{font-size:12px;color:var(--muted)}
.svc-sum .price-chip{font-family:var(--f-mono);font-size:12px;color:var(--gold)}
.mv{display:flex;gap:4px}
.svc-edit{border-top:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}
.svc-edit .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.svc-edit .grid .c2{grid-column:span 2}
.svc-edit .grid .c4{grid-column:1/-1}
.svc-edit .field{margin:0}
@media (max-width:760px){.svc-edit .grid{grid-template-columns:1fr 1fr}.svc-edit .grid .c2{grid-column:1/-1}}
.tier-ed{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.tier-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--panel-2)}
.tier-card .field{margin:0}
.tier-card .field label{font-size:12px}
.tier-card .input{padding:8px 10px;font-size:13px}
.tier-card .pop{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.tier-add{border:1px dashed var(--line);border-radius:12px;background:transparent;min-height:120px;color:var(--muted)}
.tier-add:hover{border-color:var(--pink);color:var(--fg)}

/* extras */
.addon-row{display:grid;grid-template-columns:1.2fr 1.6fr 100px 1.6fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.addon-row .input{padding:8px 10px;font-size:13px}
.cat-chips{display:flex;gap:4px;flex-wrap:wrap}
.cat-chips label{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;cursor:pointer;color:var(--muted);user-select:none}
.cat-chips input{position:absolute;opacity:0;pointer-events:none}
.cat-chips input:checked + span{color:#14060F}
.cat-chips label:has(input:checked){background:var(--grad);border-color:transparent;color:#14060F;font-weight:600}
@media (max-width:900px){.addon-row{grid-template-columns:1fr 1fr}.addon-row .cat-chips{grid-column:1/-1}}

/* media */
.media-row{display:grid;grid-template-columns:44px minmax(0,1.4fr) 1fr 1fr auto auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.media-row.off{opacity:.6}
.media-row .input{padding:8px 10px;font-size:13px;min-width:0}
.media-row .pp{width:40px;height:40px;border-radius:50%;border:0;background:var(--grad);color:#14060F;display:grid;place-items:center}
.media-row .pp svg{width:14px;height:14px}
.media-row .thumb{width:44px;height:30px;border-radius:6px;object-fit:cover;background:var(--panel-2);border:1px solid var(--line)}
.media-row .sub{font-size:11px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-row .before{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.media-row .before label{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.media-row .before input{display:none}
@media (max-width:900px){.media-row{grid-template-columns:44px minmax(0,1fr) auto}.media-row > .wide{grid-column:2/-1}}
.vid-form .c3{grid-column:span 3}
@media (max-width:900px){.vid-form .c3{grid-column:span 2}}
.qitem{display:flex;gap:12px;align-items:center;font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--panel-2)}
.qitem .bar{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.qitem .bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .3s}
.empty-row{padding:20px;text-align:center;color:var(--dim);font-size:13px}

/* messages */
.count-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:999px;background:var(--flare);color:#fff;font-size:11px;font-weight:700}
.msg{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--panel-2);overflow:hidden}
.msg.new{border-color:rgba(255,63,164,.5)}
.msg-sum{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;cursor:pointer;width:100%;text-align:left;background:transparent;border:0}
.msg-sum .dotn{width:8px;height:8px;border-radius:50%;background:transparent}
.msg.new .dotn{background:var(--pink)}
.msg-sum b{font-weight:600}
.msg-sum .meta{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-sum time{font-family:var(--f-mono);font-size:11px;color:var(--dim);white-space:nowrap}
.msg-body{border-top:1px solid var(--line);padding:14px 16px;background:var(--panel)}
.msg-body .facts{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:10px}
.msg-body .facts b{color:var(--fg);font-weight:600}
.msg-body .text{white-space:pre-wrap;line-height:1.6;max-width:80ch;margin-bottom:14px}

/* bookings */
tr.bk-row{cursor:pointer}
tr.bk-row:hover td{background:var(--panel-2)}
tr.bk-detail td{white-space:normal;background:var(--panel-2);color:var(--muted);font-size:13px}
.bk-detail .brief{white-space:pre-wrap;color:var(--fg);max-width:80ch}
td select.input{padding:6px 8px;font-size:12px;width:auto}
.pill.pending{color:var(--warn);border-color:rgba(255,181,71,.35)}
.pill.paid{color:var(--ok);border-color:rgba(61,220,151,.35)}
.pill.in_progress{color:#8FB8FF;border-color:rgba(143,184,255,.35)}
.pill.delivered{color:var(--gold);border-color:rgba(255,225,90,.35)}
.pill.cancelled{color:var(--dim);border-color:var(--line)}
.del-confirm{color:var(--flare)!important;border-color:var(--flare)!important}
