:root{
  --ink:#0F172A; --ink-2:#1E293B; --amber:#F59E0B; --amber-dk:#D97706;
  --muted:#64748B; --line:#E2E8F0; --bg:#FFFFFF; --bg-soft:#F8FAFC;
  --radius:14px; --shadow:0 1px 3px rgba(15,23,42,.08),0 10px 30px rgba(15,23,42,.08);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg-soft);line-height:1.55}
a{color:var(--amber-dk);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.beta{display:inline-block;background:#FEF3C7;color:#7c4a03;border:1px solid #FCD34D;
  font-size:.74rem;font-weight:700;padding:2px 9px;border-radius:999px;vertical-align:middle}

/* header */
.hb-head{background:var(--ink);color:#fff;position:sticky;top:0;z-index:30}
.hb-head .wrap{display:flex;align-items:center;gap:18px;height:60px}
.hb-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.3rem;color:#fff}
.hb-logo b{color:var(--amber)}
.hb-logo .dot{width:26px;height:26px;border-radius:7px;background:var(--amber);display:inline-grid;place-items:center;color:var(--ink);font-size:1rem}
.hb-nav{margin-left:auto;display:flex;align-items:center;gap:8px}
.hb-nav a,.hb-nav button{color:#cbd5e1;font-weight:600;font-size:.92rem;background:none;border:0;cursor:pointer;padding:8px 12px;border-radius:9px;font-family:inherit}
.hb-nav a:hover,.hb-nav button:hover{color:#fff;background:rgba(255,255,255,.08);text-decoration:none}

/* generic */
main{padding:34px 0 60px}
h1{font-size:1.9rem;font-weight:800;margin:0 0 6px}
h2{font-size:1.25rem;font-weight:800;margin:0 0 4px}
.lead{color:var(--muted);font-size:1.05rem;margin:0 0 22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.btn{display:inline-block;border:0;border-radius:11px;font-weight:700;font-size:1rem;
  padding:13px 22px;cursor:pointer;font-family:inherit;transition:.15s}
.btn--primary{background:var(--amber);color:var(--ink)}
.btn--primary:hover{background:var(--amber-dk);color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(245,158,11,.35)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--ink-2);color:#fff;text-decoration:none}
.btn--ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn--lg{padding:15px 28px;font-size:1.06rem}
.muted{color:var(--muted)}
.err{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;padding:11px 14px;border-radius:10px;margin-bottom:16px;font-size:.94rem}

/* auth */
.auth{max-width:420px;margin:6vh auto}
.auth .card{padding:28px}
label{display:block;font-weight:700;font-size:.9rem;margin:14px 0 5px}
input,textarea,select{width:100%;font-family:inherit;font-size:1rem;padding:11px 13px;
  border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.18)}
textarea{min-height:84px;resize:vertical}
.field-hint{font-size:.83rem;color:var(--muted);margin-top:4px}
.auth-foot{text-align:center;margin-top:16px;color:var(--muted);font-size:.92rem}

/* dashboard */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:18px}
.proj{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}
.proj h3{margin:0 0 4px;font-size:1.05rem}
.badge{display:inline-block;font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px}
.badge.ready{background:#DCFCE7;color:#166534}
.badge.generating,.badge.queued{background:#FEF3C7;color:#92400E}
.badge.failed{background:#FEE2E2;color:#991B1B}
.empty{text-align:center;padding:50px 20px;color:var(--muted)}

/* intake wizard */
.lisa-intro{display:flex;gap:14px;align-items:flex-start;background:#FFFBEB;border:1px solid #FDE68A;
  border-radius:14px;padding:16px 18px;margin-bottom:22px}
.lisa-ava{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--amber);
  display:grid;place-items:center;font-size:1.4rem;font-weight:800}
.qblock{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:14px;background:#fff}
.qblock .q{font-weight:800;margin-bottom:2px}
.qblock .q .n{color:var(--amber-dk)}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:8px}
.checks label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;margin:0;
  border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer}
.checks input{width:auto}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}

/* project status */
.status-wrap{text-align:center;padding:30px 10px}
.spinner{width:46px;height:46px;border:5px solid #FDE68A;border-top-color:var(--amber);
  border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 18px}
@keyframes spin{to{transform:rotate(360deg)}}
.preview-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:12px;background:#fff}
