
:root {
  --bg:#FAFAF7; --panel:#FFFFFF; --ink:#111; --body:#3F3F46; --muted:#52525B; --faint:#71717A;
  --line:#E7E5E4; --line-strong:#D6D3D1; --accent:#312E81; --accent-mid:#4338CA; --accent-soft:#EEF2FF;
  --ok:#15803D; --ok-bg:#F0FDF4; --warn:#92400E; --warn-bg:#FFFBEB; --danger:#991B1B; --danger-bg:#FEF2F2;
  --font:"Inter",system-ui,-apple-system,sans-serif; --radius:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{margin:0;min-height:100vh;font-family:var(--font);background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;padding-bottom:4.5rem}
.banner{background:var(--accent-soft);border-bottom:1px solid #C7D2FE;color:var(--accent);font-size:.75rem;font-weight:600;text-align:center;padding:.45rem 1rem}
.chrome{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.biz{font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:-.02em}
.biz small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:.1rem}
.nav-pills{display:flex;flex-wrap:wrap;gap:.35rem}
.nav-pills a,.nav-pills button{font:inherit;font-size:.75rem;font-weight:600;padding:.4rem .65rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);text-decoration:none;cursor:pointer}
.nav-pills a.is-on,.nav-pills button.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}
.shell{max-width:640px;margin:0 auto;padding:1rem 1rem 2rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem;box-shadow:0 1px 2px rgba(17,17,17,.03)}
.card h1,.card h2,.card h3{color:var(--ink);letter-spacing:-.02em;margin:0 0 .5rem}
.card h1{font-size:1.5rem}
.card h2{font-size:1.15rem}
.muted{color:var(--muted);font-size:.875rem}
.faint{color:var(--faint);font-size:.75rem}
label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin:0 0 .3rem}
input,select,textarea{width:100%;font:inherit;font-size:.9375rem;padding:.65rem .75rem;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);margin-bottom:.75rem}
textarea{min-height:80px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;font-weight:600;font-size:.875rem;padding:.65rem 1rem;border-radius:10px;border:1px solid transparent;cursor:pointer;min-height:40px;text-decoration:none;color:inherit}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:#1E1B4B}
.btn-secondary{background:#fff;border-color:var(--line-strong);color:var(--ink)}
.btn-ok{background:var(--ok);color:#fff}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--muted)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}
.badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.18rem .45rem;border-radius:999px}
.badge-live{background:var(--ok-bg);color:var(--ok)}
.badge-coming{background:var(--warn-bg);color:var(--warn)}
.badge-mock{background:#F4F4F5;color:#52525B}
.badge-url{background:#DBEAFE;color:#1E40AF}
.badge-upload{background:#FCE7F3;color:#9D174D}
.item{display:grid;grid-template-columns:56px 1fr;gap:.75rem;align-items:start}
.thumb{width:56px;height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;text-align:center;line-height:1.2;color:#E0E7FF;background:var(--accent)}
.thumb.short{background:#1E3A5F}.thumb.review{background:#14532D;color:#BBF7D0}
.thumb.gbp{background:#1E293B;color:#93C5FD}.thumb.note{background:#3B0764;color:#E9D5FF}
.thumb.offer{background:#7C2D12;color:#FED7AA}
.kind{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}
.title{font-size:.95rem;font-weight:600;color:var(--ink);margin:.15rem 0 .3rem}
.body{font-size:.8125rem;color:var(--muted);line-height:1.45;margin:0}
.item-card.is-approved{opacity:.72;border-color:#BBF7D0}
.item-card.is-skipped{opacity:.45}
.status-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}
.status-bar i{font-style:normal;font-size:.72rem;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.25rem .55rem;color:var(--muted)}
.status-bar .ok{color:var(--ok)}.status-bar .run{color:var(--accent-mid);background:var(--accent-soft);border-color:#C7D2FE}
.run-banner{background:var(--ok-bg);border:1px solid #BBF7D0;color:#14532D;border-radius:10px;padding:.75rem 1rem;margin-bottom:.85rem;font-size:.875rem;font-weight:600}
.coming-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);opacity:.72}
.coming-row:last-child{border-bottom:0}
.coming-row button:disabled{pointer-events:none}
.field-hint{font-size:.75rem;color:var(--faint);margin:-.5rem 0 .75rem}
.toast{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:.8rem;font-weight:600;padding:.55rem 1rem;border-radius:999px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.is-on{opacity:1}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;border-top:1px solid var(--line);background:rgba(250,250,247,.96);backdrop-filter:blur(8px);z-index:30}
.bottom-nav a{flex:1;text-align:center;padding:.7rem .25rem;font-size:.68rem;font-weight:600;color:var(--muted);text-decoration:none}
.bottom-nav a.is-on{color:var(--accent-mid)}
@media(min-width:768px){.bottom-nav{display:none}}
.login-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.login-card{width:min(100%,400px)}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.5rem 0 1rem}
.photo-ph{aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#EEF2FF,#E0E7FF);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--accent);text-align:center;padding:.35rem}
.review-snip{font-size:.8125rem;border-left:3px solid var(--line-strong);padding:.4rem .75rem;margin:.4rem 0;color:var(--muted)}

/* Performance Brief */
.brief-out h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem;color:var(--ink)}
.brief-block{border-radius:10px;padding:.75rem .85rem;margin:.65rem 0}
.brief-block ul{margin:.25rem 0 0;padding-left:1.15rem}
.brief-block li{font-size:.8125rem;color:var(--body);line-height:1.45;margin:.25rem 0}
.brief-block p{margin:0;font-size:.8125rem;color:var(--body);line-height:1.45}
.brief-keep{background:var(--ok-bg);border:1px solid #BBF7D0}
.brief-cut{background:var(--danger-bg);border:1px solid #FECACA}
.brief-raise{background:var(--accent-soft);border:1px solid #C7D2FE}
.brief-presence{background:#FFFBEB;border:1px solid #FDE68A}


/* Overview / Home */
.home-hero h1{margin:0 0 .35rem}
.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0}
.home-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.65rem .4rem;text-align:center}
.home-stat .n{display:block;font-size:1.35rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.home-stat .l{display:block;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem}
.home-next{margin:.75rem 0 0;font-size:.9rem;color:var(--body);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.home-grid{display:grid;gap:.75rem;margin:.75rem 0}
@media(min-width:560px){.home-grid{grid-template-columns:1fr 1fr}}
.home-coming{opacity:.9;border-style:dashed}
.login-wrap .btn-ghost,.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}
.badge-live{background:var(--ok-bg,#F0FDF4);color:var(--ok,#15803D)}

/* Site pulse / Traffic / Reviews / Publish pack / services */
.pulse-check{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--line)}
.pulse-check:last-child{border-bottom:0}
.pulse-dot{width:10px;height:10px;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:var(--faint)}
.pulse-check.is-pass .pulse-dot{background:var(--ok)}
.pulse-check.is-fail .pulse-dot{background:var(--danger)}
.metrics-table-wrap{overflow-x:auto;margin:.75rem 0}
.metrics-table{width:100%;border-collapse:collapse;font-size:.8125rem}
.metrics-table th,.metrics-table td{text-align:left;padding:.5rem .55rem;border-bottom:1px solid var(--line);color:var(--body)}
.metrics-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700}
.services-grid{display:grid;gap:.5rem;margin-top:.5rem}
@media(min-width:560px){.services-grid{grid-template-columns:1fr 1fr}}
.service-tile{border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:#fff}
.service-tile strong{display:block;font-size:.85rem;color:var(--ink);margin-bottom:.25rem}
.card.is-approved{opacity:.85;border-color:#BBF7D0}
.card.is-skipped{opacity:.5}
.home-coming{opacity:1;border-style:solid}

/* Opt-in server sync indicator (hidden when no ?api= / zolara_api_base) */
.sync-status{margin-top:.35rem;font-size:.8rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.sync-status .faint{opacity:.75}


/* founder-run mobile harden */
.btn, .nav-pills a, .nav-pills button, .bottom-nav a { min-height: 44px; }
input, select, textarea { font-size: 16px; }
.badge-typed { background: #F4F4F5; color: #52525B; }
.badge-reused { background: #FEF3C7; color: #92400E; }
.badge-fail { background: #FEF2F2; color: #991B1B; }
.plate-thumb { width: 100%; max-height: 160px; object-fit: cover; border-radius: 8px; margin: .4rem 0; border: 1px solid var(--line); }
.shell { padding-bottom: 5.5rem; }
@media (max-width: 390px) {
  .home-stats { grid-template-columns: repeat(2, 1fr); }
  .item { grid-template-columns: 48px 1fr; }
  .btn-row .btn { flex: 1 1 calc(50% - .4rem); }
}
.toast { bottom: 4.75rem; }
@media (min-width: 768px) { .toast { bottom: 1rem; } }

/* Onboard stepped + First win · 2026-09-27 */
.ob-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem 5rem}
.ob-card,.first-win-card{width:min(100%,440px)}
.ob-progress{margin-bottom:1.15rem}
.ob-progress-label{font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:.35rem;letter-spacing:.02em}
.ob-progress-track{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.ob-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .2s}
.ob-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;align-items:center}
.ob-actions .btn-primary{margin-left:auto}
.ob-mode-list{display:flex;flex-direction:column;gap:.55rem;margin:.5rem 0 1rem}
.ob-mode{display:flex;gap:.65rem;align-items:flex-start;font-size:.875rem;font-weight:500;color:var(--body);border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;background:#fff;cursor:pointer}
.ob-mode input{width:auto;margin:0.15rem 0 0;flex:0 0 auto;accent-color:var(--accent)}
.eyebrow-fw{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-mid);margin:0 0 .35rem}
.first-win-card h1{font-size:1.55rem;line-height:1.25}
.fw-shop{color:var(--accent)}
.fw-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:1.25rem}
.fw-actions .btn{width:100%}
.btn-lg{padding:.85rem 1.15rem;font-size:.95rem;min-height:48px}
.home-status{font-size:1rem;font-weight:600;color:var(--ink);margin:.5rem 0 .75rem}
.home-primary{margin-top:1rem}
.home-primary .btn{width:100%}
.needed-list{margin:.35rem 0 0;padding-left:1.15rem}
.needed-list li{font-size:.875rem;color:var(--body);line-height:1.45;margin:.35rem 0}
.home-more{opacity:.85}
.nav-pills-sec{display:contents}
.nav-pills-sec a{opacity:.72;font-weight:500}
.nav-pills-sec a.is-on{opacity:1;font-weight:600}

/* Owner chat fab / dock */
.z-chat{position:fixed;right:1rem;bottom:4.75rem;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;max-width:min(100vw - 2rem,360px)}
@media(min-width:768px){.z-chat{bottom:1.25rem}}
.z-chat-fab{font:inherit;font-weight:700;font-size:.875rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(49,46,129,.25);min-height:44px}
.z-chat-panel{width:min(100vw - 2rem,360px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(17,17,17,.12);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,480px)}
.z-chat:not(.is-open) .z-chat-panel{display:none}
.z-chat-head{display:flex;align-items:center;justify-content:space-between;padding:.65rem .85rem;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--accent)}
.z-chat-head .btn{min-height:36px;padding:.25rem .55rem;font-size:1.1rem;line-height:1}
.z-chat-log{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.45rem;min-height:120px;max-height:220px}
.z-bubble{font-size:.8125rem;line-height:1.45;padding:.55rem .7rem;border-radius:10px;max-width:95%}
.z-bubble-user{align-self:flex-end;background:var(--accent);color:#fff}
.z-bubble-bot{align-self:flex-start;background:#F4F4F5;color:var(--body)}
.z-bubble-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin:.15rem 0 .35rem}
.z-bubble-actions .btn{font-size:.75rem;padding:.4rem .65rem;min-height:36px}
.z-chat-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .75rem .5rem}
.z-chip{font:inherit;font-size:.7rem;font-weight:600;padding:.35rem .55rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;min-height:32px}
.z-chat-form{display:flex;gap:.35rem;padding:.65rem .75rem;border-top:1px solid var(--line)}
.z-chat-form input{margin:0;flex:1}
.z-chat-form .btn{flex:0 0 auto}
.z-chat-foot{padding:0 .75rem .65rem;margin:0}

/* Early access / pilot */
.badge-pilot{background:#EEF2FF;color:#312E81;border:1px solid #C7D2FE}
.home-waiting{margin:.35rem 0 .75rem;line-height:1.45}
.backup-confirm{margin-top:.85rem;padding:.85rem;border:1px dashed var(--line-strong);border-radius:10px;background:#FAFAF7}
.backup-confirm[hidden]{display:none!important}
.sync-status{margin-top:.25rem;font-size:.7rem}
