/* Standalone Business Dashboard page. The dashboard screens themselves are styled by
   business-dashboard.css (shared with the Studio); this file is only the page around them:
   the top bar, the business picker, the locked screen and the guided setup. */
[hidden]{display:none!important}
body.dashboard-page{--ink-0:#070B14;--ink-1:#0A101C;--ink-2:#0F1726;--ink-3:#152034;--line:#1D2940;--line-2:#2B3B59;--text:#EEF2FA;--muted:#93A1B8;--faint:#66758F;--brand:#8B7BFF;
  display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;background:var(--ink-0);color:var(--text)}

/* ---- top bar ---- */
.dash-top{position:relative;z-index:30;display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid var(--line);background:rgba(8,12,21,.92);min-width:0}
.dash-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--muted);flex:0 0 auto}
.dash-brand-full{height:18px;width:auto;display:block}
.dash-brand-mark{display:none;height:26px;width:26px}
.dash-brand span{font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding-left:12px;border-left:1px solid var(--line-2)}
.dash-links{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.dash-links .btn{text-decoration:none;white-space:nowrap;color:var(--text);border-radius:11px;border-color:var(--line-2);font-size:12px;padding:9px 13px}
.dash-links .btn:hover{background:var(--ink-3)}
#dashAddWebsite{border-style:dashed;color:#B7BEFF}
.dash-state a.btn,.dash-picker a{color:var(--text)}

.dash-project{position:relative;min-width:0}
.dash-project-btn{display:flex;align-items:center;gap:10px;max-width:340px;padding:8px 13px;border:1px solid var(--line-2);border-radius:12px;background:var(--ink-2);color:var(--text);cursor:pointer;text-align:left}
.dash-project-btn:hover,.dash-project-btn[aria-expanded="true"]{border-color:#41557D;background:var(--ink-3)}
.dash-project-btn span{font-size:8.5px;font-weight:800;letter-spacing:.14em;color:var(--faint)}
.dash-project-btn b{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dash-project-btn i{font-style:normal;font-size:10px;color:var(--muted)}
.dash-project-menu,.dash-account-menu{position:absolute;top:calc(100% + 8px);z-index:40;max-height:min(440px,70vh);overflow:auto;padding:6px;border:1px solid var(--line-2);border-radius:14px;background:#0E1626;box-shadow:0 24px 70px rgba(0,0,0,.6)}
.dash-project-menu{left:0;min-width:290px;max-width:min(380px,calc(100vw - 36px))}
.dash-project-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#DFE6F2;cursor:pointer;text-align:left;font-size:13px}
.dash-project-menu button:hover,.dash-project-menu button:focus-visible{background:var(--ink-3);outline:none}
.dash-project-menu button[aria-current="true"]{background:#182540;color:#fff}
.dash-project-menu small{display:block;color:var(--faint);font-size:11px;margin-top:2px}
.dash-project-menu a{display:block;margin:6px 4px 2px;padding:10px 8px;border-top:1px solid var(--line);color:#B7BEFF;font-size:12px;text-decoration:none}

.dash-account{position:relative}
.dash-account-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:linear-gradient(135deg,#2A2F6B,#17325C);color:#fff;font-size:13px;font-weight:750;cursor:pointer}
.dash-account-btn:hover,.dash-account-btn[aria-expanded="true"]{border-color:#6E7BE0}
.dash-account-menu{right:0;min-width:220px;display:grid;gap:1px}
.dash-account-email{padding:9px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:5px;color:var(--faint);font-size:11.5px;overflow-wrap:anywhere}
.dash-account-menu a,.dash-account-menu button{display:block;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#DFE6F2;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}
.dash-account-menu a:hover,.dash-account-menu button:hover,.dash-account-menu a:focus-visible,.dash-account-menu button:focus-visible{background:var(--ink-3);outline:none}
.dash-account-site{display:none;padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid var(--line)}
.dash-account-site:empty{display:none!important}

/* ---- loading, picker, locked ---- */
.dash-main{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.dash-state{margin:auto;padding:40px 24px;max-width:540px;text-align:center;color:var(--muted);font-size:14px;line-height:1.6}
.dash-state h1{margin:0 0 8px;font-size:24px;letter-spacing:-.02em;color:#fff}
.dash-state .btn{display:inline-block;margin-top:16px;text-decoration:none}
.dash-state .btn.primary,.dash-setup .btn.primary{border:0;border-radius:12px;background:linear-gradient(135deg,#9B8CFF,#5EA2FF);color:#0A0F1C;font-weight:750;font-size:13px;padding:12px 18px;box-shadow:0 10px 26px rgba(107,124,255,.28)}
.dash-state .btn.ghost,.dash-setup .btn.ghost{border-radius:12px;border-color:var(--line-2);color:var(--text);font-size:13px;padding:12px 18px}

.dash-locked{text-align:left;max-width:580px;margin:0 auto;padding:32px;border:1px solid var(--line-2);border-radius:22px;background:var(--ink-2)}

.dash-locked h1{margin:8px 0 12px}
.dash-locked p{margin:0 0 8px;font-size:14px;color:#B6C1D4}
.dash-locked-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.dash-locked-actions .btn{margin-top:0}
.dash-locked-error{min-height:1.4em;margin-top:12px!important;color:#FFB3B3!important;font-size:13px!important}
.dash-locked-export{margin-top:14px!important;padding-top:14px;border-top:1px solid var(--line);font-size:13px!important;color:var(--muted)!important}
.dash-locked-export a{color:#B7BEFF}

.dash-picker{width:min(1000px,100%);margin:0 auto;padding:52px 24px;overflow:auto}

.dash-picker h1{margin:8px 0 6px;font-size:30px;font-weight:780;letter-spacing:-.025em;color:#fff}
.dash-picker p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.dash-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:28px}
.dash-pick{position:relative;overflow:hidden;display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--ink-2);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s,background .15s}
.dash-pick::before{content:"";position:absolute;right:-46px;top:-58px;width:150px;height:104px;border-radius:50%;border:1px solid rgba(139,123,255,.35);transform:rotate(-24deg)}
.dash-pick:hover,.dash-pick:focus-visible{border-color:#5665B8;background:var(--ink-3);transform:translateY(-2px);outline:none}
.dash-pick b{font-size:16px;font-weight:720;overflow-wrap:anywhere}
.dash-pick small{color:var(--faint);font-size:11.5px}
.dash-pick-status{justify-self:start;border:1px solid var(--line-2);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:750;letter-spacing:.04em;color:#B4BECB}
.dash-pick-status[data-state="active"]{color:#89E5AF;border-color:rgba(137,229,175,.3)}
.dash-pick-status[data-state="preview"]{color:#B3B9FF;border-color:rgba(156,140,255,.4)}
.dash-pick-status[data-state="grace"]{color:#F2B56B;border-color:rgba(242,181,107,.35)}
.dash-pick-status[data-state="paused"]{color:#F29B9B;border-color:rgba(242,155,155,.35)}

.dash-workspace{flex:1;min-height:0;display:flex;flex-direction:column}
.dash-workspace .owner-dashboard-shell{flex:1;min-height:0}
.dashboard-page .toast{font-size:13px;padding:12px 18px;border-radius:12px}

/* ---- guided setup ---- */
.dash-setup{flex:1;min-height:0;overflow:auto;padding:28px 18px 48px;background:radial-gradient(900px 480px at 50% -10%,rgba(139,123,255,.14),transparent 65%)}
.setup-shell{width:min(720px,100%);margin:0 auto}
.setup-progress{display:flex;align-items:center;gap:7px;margin:6px 2px 18px;color:var(--faint);font-size:11.5px;font-weight:650;letter-spacing:.04em}
.setup-progress i{display:block;flex:1;height:5px;border-radius:999px;background:var(--line)}
.setup-progress i.done{background:#5665B8}
.setup-progress i.now{background:linear-gradient(90deg,#9B8CFF,#5EA2FF)}
.setup-progress span{flex:0 0 auto;margin-left:8px;white-space:nowrap}
.setup-card{padding:30px 30px 24px;border:1px solid var(--line-2);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),var(--ink-2);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.setup-card h1{margin:0;font-size:28px;line-height:1.15;font-weight:780;letter-spacing:-.025em;color:#fff;overflow-wrap:anywhere}
.setup-card h2{margin:0 0 12px;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.setup-lede{margin:10px 0 22px;color:var(--muted);font-size:14.5px;line-height:1.6}
.setup-fields{display:grid;gap:16px}
.setup-fields label>span,.setup-service label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12.5px;font-weight:650}
.setup-card input:not([type=checkbox]),.setup-card select{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line-2);border-radius:12px;background:var(--ink-1);color:var(--text);font:inherit;font-size:16px;outline:none}
.setup-card input:focus,.setup-card select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(139,123,255,.22)}
.setup-card label small{display:block;margin-top:7px;color:var(--faint);font-size:12px;line-height:1.5}
.setup-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.setup-kinds.one{grid-template-columns:1fr}
.setup-kind{display:grid;gap:5px;padding:15px 16px;border:1px solid var(--line-2);border-radius:15px;background:var(--ink-1);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.setup-kind:hover{border-color:#4A5C8C}
.setup-kind b{font-size:14.5px;font-weight:720}
.setup-kind small{color:var(--faint);font-size:12px;line-height:1.45}
.setup-kind[aria-checked="true"]{border-color:var(--brand);background:rgba(139,123,255,.12);box-shadow:0 0 0 1px var(--brand) inset}
.setup-kind:focus-visible,.setup-section:focus-within,.setup-link:focus-visible,.setup-add:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.setup-sections{display:grid;gap:9px}
.setup-section{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line-2);border-radius:15px;background:var(--ink-1);cursor:pointer;transition:border-color .15s,background .15s}
.setup-section input{position:absolute;opacity:0;pointer-events:none}
.setup-section-copy b{display:block;font-size:14.5px;font-weight:720;color:#fff}
.setup-section-copy small{display:block;margin-top:2px;color:var(--faint);font-size:12.5px;line-height:1.45}
.setup-tick{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);color:transparent}
.setup-section.on{border-color:color-mix(in srgb,var(--orb) 55%,var(--line-2));background:color-mix(in srgb,var(--orb) 7%,var(--ink-1))}
.setup-section.on .setup-orb{background:var(--orb);color:#0A0F1C}
.setup-section.on .setup-tick{border-color:var(--orb);background:var(--orb);color:#0A0F1C}
.setup-always{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:10px;margin-top:16px}
.setup-always>span{padding-top:6px;color:var(--faint);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.setup-always>div{display:flex;flex-wrap:wrap;gap:7px}
.setup-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid color-mix(in srgb,var(--orb,#93A1B8) 40%,var(--line-2));border-radius:999px;color:var(--orb,#93A1B8);font-size:12px;font-weight:650}
.setup-chip.soon{border-style:dashed;border-color:var(--line-2);color:var(--faint)}
.setup-block{margin-top:22px}.setup-block:first-of-type{margin-top:0}
.setup-services{display:grid;gap:10px}
.setup-service{display:grid;grid-template-columns:minmax(0,1fr) 96px 130px 40px;align-items:end;gap:10px}
.setup-remove{width:40px;height:48px;border:1px solid var(--line-2);border-radius:12px;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}
.setup-remove:hover:not(:disabled){border-color:rgba(255,138,138,.5);color:#FFB3B3}.setup-remove:disabled{opacity:.3;cursor:not-allowed}
.setup-add{margin-top:12px;padding:10px 14px;border:1px dashed var(--line-2);border-radius:12px;background:transparent;color:#B7BEFF;font-size:13px;font-weight:650;cursor:pointer}
.setup-hours{display:grid;gap:8px}
.setup-day{display:grid;grid-template-columns:minmax(120px,1fr) 150px auto 150px;align-items:center;gap:10px;min-height:48px;padding:0 4px}
.setup-day-name{display:flex;align-items:center;gap:10px;cursor:pointer}
.setup-day-name input{width:19px;height:19px;accent-color:var(--brand)}
.setup-day-name b{font-size:14px;font-weight:620}
.setup-day>span{color:var(--faint);font-size:12.5px}
.setup-day em{grid-column:2/-1;font-style:normal;color:var(--faint);font-size:13px}
.setup-error{min-height:20px;margin:14px 0 0;color:#FFB3B3;font-size:13.5px}
.setup-error:empty{min-height:0;margin:0}
.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.setup-actions .btn{cursor:pointer}
.setup-actions .btn[disabled]{opacity:.6;cursor:progress}
.setup-foot{display:flex;justify-content:center;gap:22px;margin:16px 0 0}
.setup-link{padding:6px;border:0;background:none;color:var(--faint);font:inherit;font-size:12.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.setup-link:hover{color:var(--text)}

@media(max-width:900px){
  .dash-links .btn{padding:8px 11px}
}
@media(max-width:650px){
  .dash-top{gap:10px;padding:9px 12px}
  .dash-brand-full,.dash-brand span{display:none}
  .dash-brand-mark{display:block}
  .dash-project{flex:1}
  .dash-project-btn{max-width:none;width:100%;min-height:42px}
  .dash-project-menu{min-width:0;width:min(340px,calc(100vw - 24px))}
  .dash-links{margin-left:0}
  .dash-site-link{display:none!important}
  .dash-account-site{display:block}
  .dash-account-btn{width:42px;height:42px}
  /* On a phone the menu is a bar along the bottom, within reach of a thumb. */
  .dashboard-page .owner-dashboard-shell{grid-template-rows:minmax(0,1fr) auto}
  .dashboard-page .owner-dashboard-shell .owner-nav{order:2;border-bottom:0;border-top:1px solid var(--line);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:#080D17}
  .dash-picker{padding:30px 14px}
  .dash-picker h1{font-size:25px}
  .dash-locked{padding:22px}
  .dash-setup{padding:14px 10px 40px}
  .setup-card{padding:22px 16px 18px;border-radius:20px}
  .setup-card h1{font-size:24px}
  .setup-kinds{grid-template-columns:1fr}
  .setup-always{grid-template-columns:1fr;gap:6px}
  .setup-service{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}
  .setup-service label:first-child{grid-column:1/-1}
  .setup-day{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);row-gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
  .setup-day-name{grid-column:1/-1}
  .setup-day em{grid-column:1/-1}
  .setup-actions .btn.primary{flex:1}
  .setup-foot{flex-direction:column;align-items:center;gap:4px}
}
@media(prefers-reduced-motion:reduce){.dashboard-page *{transition:none!important}}
