/* Shared dark theme for the SGS app pages (onboarding / dashboard / admin). */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --bg:#0a0a0d;--bg-2:#13111a;--card:rgba(255,255,255,.035);--card-2:rgba(255,255,255,.06);
  --border:rgba(214,179,94,.16);--border-2:rgba(214,179,94,.36);
  --text:#f5f1e6;--muted:#a89f88;--muted-2:#6f6a58;
  --g:linear-gradient(120deg,#fbeca4,#e3c04f 48%,#b8860b);
  --g-strong:linear-gradient(120deg,#f6e08a,#d4af37 50%,#a9781f);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}
h1,h2,h3,h4{font-family:'Sora','Inter',sans-serif;letter-spacing:-.02em;line-height:1.1}
a{color:inherit;text-decoration:none}
.gt{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:radial-gradient(46% 42% at 50% -6%,rgba(212,175,55,.16),transparent 62%),radial-gradient(38% 38% at 86% 6%,rgba(184,134,11,.11),transparent 60%)}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.appbar{position:sticky;top:0;z-index:30;background:rgba(6,7,15,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.appbar-in{display:flex;align-items:center;gap:12px;height:62px}
.appbar img{width:54px;height:54px;border-radius:12px}
.appbar .brand{font-family:'Sora';font-weight:700;font-size:17px}
.appbar .brand small{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-family:'Inter';margin-top:-2px}
.spacer{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;border:none;cursor:pointer;border-radius:11px;padding:11px 20px;color:#fff;transition:transform .2s,border-color .2s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--g-strong);color:#1c1605}
.btn-ghost{background:var(--card);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--border-2);background:var(--card-2)}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px}
.card-p{padding:24px}
.muted{color:var(--muted)}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#cdd2e6}
.field input,.field select,.field textarea{width:100%;background:#0a0c18;border:1px solid var(--border);border-radius:11px;padding:12px 14px;color:#fff;font-family:'Inter';font-size:14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.18)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chip{padding:8px 13px;border-radius:10px;font-size:13.5px;font-weight:500;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;transition:.2s}
.chip:hover{border-color:rgba(139,92,246,.4);color:#fff}
.chip.on{background:var(--g-strong);color:#fff;border-color:transparent}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.badge{display:inline-block;padding:4px 11px;border-radius:100px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--card)}
.b-submitted{color:#60a5fa}.b-in_review{color:#fbbf24}.b-in_design{color:#a78bfa}.b-in_development{color:#fb923c}.b-completed{color:#34d399}
.error{background:rgba(244,63,94,.12);border:1px solid rgba(244,63,94,.3);color:#fda4af;padding:11px 14px;border-radius:11px;font-size:13.5px;margin-bottom:14px}
.steps{display:flex;gap:8px;margin:22px 0}
.steps .s{flex:1}
.steps .bar{height:5px;border-radius:4px;background:var(--card-2)}
.steps .bar.on{background:var(--g-strong)}
.steps .lbl{font-size:11px;margin-top:6px;color:var(--muted-2)}
.steps .lbl.on{color:#fff;font-weight:600}
.row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.row:last-child{border-bottom:0}
.row .k{font-size:12px;color:var(--muted-2);width:160px;flex-shrink:0}
.row .v{font-size:14px;flex:1}
.swatch{width:22px;height:22px;border-radius:6px;border:1px solid var(--border);display:inline-block;vertical-align:middle}
.sel-card{text-align:left;padding:15px;border-radius:14px;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:.2s}
.sel-card:hover{border-color:var(--border-2)}
.sel-card.on{border-color:transparent;box-shadow:0 0 0 1.5px #d4af37,0 10px 32px -14px rgba(212,175,55,.6)}
.brief-sec{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:18px 0 4px;font-weight:600}
.brief-plan{display:grid;gap:9px;padding:14px 16px;border:1px solid var(--border-2);border-radius:13px;background:linear-gradient(135deg,rgba(214,175,55,.10),rgba(184,134,11,.035));margin-bottom:8px}
.brief-plan .bp-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.brief-plan .bp-row span{color:var(--muted)}
.brief-plan .bp-row strong{font-family:'Sora',sans-serif;font-weight:700;text-align:right}
.title-xl{font-size:26px;font-weight:800}
.muted-sm{font-size:13px;color:var(--muted)}
/* conversation: edit/delete links, image attachments, upload previews */
.lnk{background:none;border:none;color:#93a5ff;cursor:pointer;font-size:12px;padding:0;font-family:inherit}
.lnk:hover{text-decoration:underline}.lnk.danger{color:#fda4af}.lnk:disabled{opacity:.5;cursor:default}
.attach-btn{cursor:pointer}
.msg-imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.msg-imgs a{display:block;line-height:0}
.msg-imgs img{max-width:170px;max-height:130px;border-radius:9px;border:1px solid var(--border);object-fit:cover}
.up-prev{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.up-prev .pv{position:relative;line-height:0}
.up-prev .pv img{width:74px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
.up-prev .pv button{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:none;background:#ef4444;color:#fff;cursor:pointer;font-size:13px;line-height:1;padding:0}
/* chat thread (client dashboard + admin conversation) */
.chat{display:flex;flex-direction:column;gap:14px;margin:4px 0 16px}
.bubble{display:flex;gap:10px;max-width:84%}
.bubble.me{align-self:flex-end;flex-direction:row-reverse}
.bubble .av{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#5b6cf0,#8b5cf6)}
.bubble.me .av{background:var(--g-strong);color:#1c1605}
.bubble .body{background:var(--card-2);border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:10px 13px;min-width:0}
.bubble.me .body{border-radius:14px 14px 4px 14px;background:linear-gradient(135deg,rgba(214,175,55,.14),rgba(184,134,11,.08));border-color:var(--border-2)}
.bubble .meta{display:flex;gap:8px;align-items:baseline;margin-bottom:3px}
.bubble .who{font-size:12px;font-weight:700}
.bubble .when{font-size:11px;color:var(--muted-2)}
.bubble .txt{font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.bubble .tools{display:flex;gap:12px;margin-top:7px}
.chat-empty{text-align:center;color:var(--muted);padding:22px 0}
.composer{border-top:1px solid var(--border);padding-top:14px;margin-top:4px}
/* numbered stepper (onboarding) */
.stepper{display:flex;margin:26px 0 24px}
.stepper .st{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}
.stepper .st .dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--card-2);color:var(--muted-2);border:1px solid var(--border);z-index:1;transition:.25s}
.stepper .st.done .dot,.stepper .st.cur .dot{background:var(--g-strong);color:#1c1605;border-color:transparent}
.stepper .st.cur .dot{box-shadow:0 0 0 4px rgba(212,175,55,.18)}
.stepper .st .slbl{font-size:11px;color:var(--muted-2);text-align:center}
.stepper .st.cur .slbl,.stepper .st.done .slbl{color:#fff;font-weight:600}
.stepper .st::before{content:"";position:absolute;top:15px;right:50%;width:100%;height:2px;background:var(--border)}
.stepper .st:first-child::before{display:none}
.stepper .st.done::before,.stepper .st.cur::before{background:var(--g-strong)}
@media(max-width:620px){.stepper .slbl{display:none}}
.stepper.compact{margin:16px 0 4px}
/* collapsible card (brief) */
details.card>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Sora';font-weight:700;font-size:16px}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::after{content:"\25be";color:var(--muted);transition:transform .2s}
details.card[open]>summary{margin-bottom:14px}
details.card[open]>summary::after{transform:rotate(180deg)}
