/* Application flow. Inherits the tokens set in main.css. */

.apply-page{ min-height:100vh; display:flex; flex-direction:column; }

.apply-head{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:18px var(--pad); border-bottom:1px solid var(--line-soft);
  position:sticky; top:0; z-index:20;
  background:rgba(10,6,2,.72); backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
}
.linkish{ background:none; border:0; cursor:pointer; font-family:var(--body); font-size:13.5px; color:var(--muted); transition:color .3s ease; }
.linkish:hover{ color:var(--gold-hi); }

.flow-wrap{ flex:1; display:flex; justify-content:center; padding:clamp(28px,5vw,60px) var(--pad) 110px; }
#flow{ width:100%; max-width:660px; }

.card{
  background:linear-gradient(170deg, rgba(70,52,20,.34), rgba(18,12,4,.7));
  border:1px solid var(--line); border-radius:22px;
  padding:clamp(26px,4vw,44px);
  opacity:0; transform:translateY(14px);
  transition:opacity .6s var(--expo), transform .6s var(--expo);
}
.card.in{ opacity:1; transform:none; }
.card h1{ font-size:clamp(24px,3.6vw,34px); line-height:1.1; margin-bottom:12px; }
.card-sub{ color:var(--muted); font-size:15px; margin-bottom:26px; max-width:46ch; }
.step-tag{ font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }

/* ---------- sign in ---------- */
.gbtn{
  display:flex; align-items:center; justify-content:center; gap:12px; width:100%;
  background:#fff; color:#1f1f1f; border:0; border-radius:100px; cursor:pointer;
  font-family:var(--body); font-size:15px; font-weight:600; padding:14px 20px;
  transition:transform .25s var(--expo), box-shadow .3s ease;
}
.gbtn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(0,0,0,.9); }
.gmark{ display:grid; place-items:center; }
.demo-note{ margin-top:16px; font-size:12px; color:var(--muted-dim); text-align:center; }

.sheet-back{
  position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:20px;
  background:rgba(4,3,1,.72); backdrop-filter:blur(6px);
}
.sheet{
  width:100%; max-width:420px; background:#fff; color:#202124; border-radius:22px;
  padding:28px 26px 18px; font-family:var(--body);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.9);
}
.sheet-demo{ font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#b25c00; background:#fff3e0; display:inline-block; padding:5px 10px; border-radius:6px; margin-bottom:16px; }
.sheet h2{ font-family:var(--body); font-size:22px; font-weight:400; color:#202124; margin-bottom:4px; }
.sheet-sub{ font-size:14px; color:#5f6368; margin-bottom:18px; }
.acct-list li{ border-top:1px solid #e8eaed; }
.acct-list button{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  background:none; border:0; padding:13px 6px; cursor:pointer; font-family:var(--body);
  border-radius:8px; transition:background .2s ease;
}
.acct-list button:hover{ background:#f1f3f4; }
.acct-av{
  width:36px; height:36px; border-radius:50%; flex:none; display:grid; place-items:center;
  background:linear-gradient(135deg,#6b4a12,#caa243); color:#141008; font-weight:700; font-size:13px;
}
.acct-av.plus{ background:#f1f3f4; color:#5f6368; font-size:20px; font-weight:400; }
.acct-txt{ display:flex; flex-direction:column; }
.acct-txt b{ font-size:14px; font-weight:600; color:#202124; }
.acct-txt i{ font-style:normal; font-size:12.5px; color:#5f6368; }
.sheet-cancel{ margin-top:14px; background:none; border:0; color:#1a73e8; font-family:var(--body); font-size:14px; font-weight:600; padding:10px 8px; cursor:pointer; border-radius:6px; }
.sheet-cancel:hover{ background:#f1f3f4; }

/* ---------- details ---------- */
.who{ display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.who-av{ width:42px; height:42px; border-radius:50%; flex:none; display:grid; place-items:center; background:linear-gradient(135deg,#6b4a12,#caa243); color:var(--stage-deep); font-family:var(--display); font-weight:700; font-size:15px; }
.who div{ display:flex; flex-direction:column; line-height:1.35; }
.who b{ font-size:14.5px; }
.who span{ font-size:12.5px; color:var(--muted); }
.who .pill{ margin-left:auto; }

form{ display:flex; flex-direction:column; gap:16px; }
.field{ display:flex; flex-direction:column; gap:7px; border:0; padding:0; margin:0; }
.field[hidden]{ display:none; }
.field span, .field legend{ font-size:11.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); padding:0; }
.field span em, .field legend em{ font-style:normal; text-transform:none; opacity:.7; }
.field input:not([type="checkbox"]):not([type="radio"]), .field select{
  width:100%; background:rgba(10,6,2,.6); border:1px solid var(--line); border-radius:12px;
  padding:13px 15px; color:var(--white); font-family:var(--body); font-size:15px;
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--gold); }
.field input[readonly]{ opacity:.6; }
.field legend{ margin-bottom:2px; font-size:13.5px; text-transform:none; letter-spacing:0; color:var(--white); line-height:1.4; }
.dob-row{ display:flex; gap:10px; }
.dob-row select{ flex:1; min-width:0; }
.screen-opts{ display:flex; gap:10px; flex-wrap:wrap; }
.screen-opt{ display:flex; align-items:flex-start; gap:9px; background:rgba(10,6,2,.6); border:1px solid var(--line); border-radius:10px; padding:11px 14px; cursor:pointer; transition:border-color .2s ease, color .2s ease; }
.screen-opt input{ accent-color:var(--gold); margin-top:2px; flex:none; }
.screen-opt span{ font-size:13.5px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--muted); }
.screen-opt:has(input:checked){ border-color:var(--gold); }
.screen-opt:has(input:checked) span{ color:var(--gold-hi); }
#prevEventsField .screen-opt{ flex:1 1 100%; align-items:center; }
.form-error{ font-size:13px; color:#e0806a; }

/* ---------- assessment ---------- */
.card-q .q-top{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.card-q .step-tag{ margin:0; white-space:nowrap; }
.q-bar{ flex:1; height:3px; border-radius:2px; background:rgba(243,211,138,.14); overflow:hidden; }
.q-bar i{ display:block; height:100%; background:linear-gradient(90deg,var(--gold-dim),var(--gold-hi)); transition:width .45s var(--expo); }
.q-text{ font-size:clamp(20px,3vw,27px); line-height:1.25; margin-bottom:24px; }
.opts{ display:flex; flex-direction:column; gap:10px; }
.opt{
  display:flex; align-items:flex-start; gap:14px; text-align:left; width:100%;
  background:rgba(10,6,2,.5); border:1px solid var(--line-soft); border-radius:14px;
  padding:16px 18px; cursor:pointer; color:var(--white);
  font-family:var(--body); font-size:15px; line-height:1.45;
  transition:border-color .25s ease, background .25s ease, transform .25s var(--expo);
}
.opt:hover{ border-color:rgba(243,211,138,.4); background:rgba(243,211,138,.06); transform:translateX(3px); }
.opt.picked{ border-color:var(--green); background:rgba(0,254,0,.1); }
.opt-key{
  flex:none; width:24px; height:24px; border-radius:7px; display:grid; place-items:center;
  background:rgba(243,211,138,.12); color:var(--gold-hi);
  font-family:var(--display); font-size:12px; font-weight:600;
}
.q-foot{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:20px; }
.q-hint{ font-size:12px; color:var(--muted-dim); text-align:right; }

/* ---------- result ---------- */
.card-result h1{ font-size:clamp(26px,4vw,38px); }
.arch-line{ color:var(--gold-hi); font-size:17px; margin-bottom:24px; }
.blend{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.blend div{ background:rgba(10,6,2,.55); border:1px solid var(--line-soft); border-radius:14px; padding:16px 18px; }
.blend-tag{ font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:8px; }
.blend b{ display:block; font-family:var(--display); font-size:18px; color:var(--gold-hi); }
.blend span{ font-size:12.5px; color:var(--muted); }
.arch-body{ color:var(--muted); font-size:15px; line-height:1.7; margin-bottom:30px; }
.arch-body p{ margin-bottom:14px; }
.arch-body p:last-child{ margin-bottom:0; }
.arch-body strong{ color:var(--gold-hi); font-weight:700; }
.mini-head{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.bars{ display:flex; flex-direction:column; gap:9px; margin-bottom:14px; }
.bars li{ display:grid; grid-template-columns:110px 1fr 44px; align-items:center; gap:12px; font-size:13.5px; }
.bar-name{ color:var(--muted); }
.bars li.top .bar-name{ color:var(--gold-hi); font-weight:600; }
.bar-track{ height:8px; border-radius:5px; background:rgba(243,211,138,.1); overflow:hidden; }
.bar-track i{ display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--gold-dim),var(--gold)); transition:width .8s var(--expo); }
.bars li.top .bar-track i{ background:linear-gradient(90deg,var(--gold),var(--gold-hi)); }
.bar-pct{ text-align:right; font-variant-numeric:tabular-nums; color:var(--gold-hi); font-weight:600; }
.disclaimer{ font-size:12px; color:var(--muted-dim); margin-bottom:28px; }

.verdict{ border-radius:18px; padding:26px; margin-bottom:22px; border:1px solid; }
.verdict.ok{ border-color:rgba(0,254,0,.3); background:linear-gradient(160deg, rgba(0,254,0,.09), rgba(10,6,2,.5)); }
.verdict.wait{ border-color:rgba(243,211,138,.26); background:linear-gradient(160deg, rgba(202,162,67,.12), rgba(10,6,2,.5)); }
.verdict-tag{ font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; }
.verdict.ok .verdict-tag{ color:var(--green); }
.verdict.wait .verdict-tag{ color:var(--gold); }
.verdict h2{ font-size:22px; margin-bottom:10px; }
.verdict p{ color:var(--muted); font-size:14.5px; }
.verdict .btn{ margin-top:18px; }
.fine{ font-size:12.5px; color:var(--muted-dim); margin-top:12px; }

.pass-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:14px; overflow:hidden; margin-top:18px; }
.pass-facts div{ background:rgba(10,6,2,.7); padding:14px 16px; }
.pass-facts dt{ font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dim); margin-bottom:5px; }
.pass-facts dd{ font-size:14.5px; font-weight:600; color:var(--gold-hi); }
.pass-facts dd em{ font-style:normal; font-size:11px; color:var(--muted-dim); }
.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px !important; letter-spacing:.02em; }
.blend-pending{ font-size:12.5px; color:var(--muted-dim); border-left:2px solid rgba(243,211,138,.25); padding-left:14px; }

/* ---------- dashboard ---------- */
.pill{ font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:6px 11px; border-radius:100px; }
.pill.ok{ color:var(--green); background:rgba(0,254,0,.1); border:1px solid rgba(0,254,0,.3); }
.pass-facts.wide{ margin-top:22px; }
.dash-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.btn-quiet{ border:1px solid rgba(224,128,106,.35); color:#e0806a; background:transparent; }
.btn-quiet:hover{ background:rgba(224,128,106,.08); }

/* ---------- demo bar ---------- */
.demobar{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:flex; flex-wrap:wrap; align-items:center; gap:16px;
  padding:10px var(--pad);
  background:rgba(10,6,2,.85); backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--line-soft);
  font-size:12px; color:var(--muted);
}
.demobar b{ color:var(--gold-hi); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:10.5px; }
.demobar select, .demobar button{
  background:rgba(243,211,138,.08); border:1px solid var(--line); color:var(--gold-hi);
  font-family:var(--body); font-size:12px; padding:5px 10px; border-radius:8px; cursor:pointer;
}
.demobar button:hover{ background:rgba(243,211,138,.16); }

@media (max-width:560px){
  .blend{ grid-template-columns:1fr; }
  .bars li{ grid-template-columns:90px 1fr 40px; font-size:12.5px; }
  .q-hint{ display:none; }
}
