/* ISBA Wizard — Electric theme: deep navy, royal blue, classy silver */
:root{
  --bg:#0A1020; --bg2:#0E1730; --card:#121C36; --card2:#162242;
  --royal:#3452E0; --royal-bright:#4D6BFF; --royal-deep:#22318F;
  --electric:#39C6FF; --magenta:#C650E8;
  --silver:#C9D2E3; --silver-bright:#EAF0FA; --silver-dim:#8B96AC;
  --line:#243352; --line-bright:#35497A;
  --ok:#35D08F; --warn:#FFB454; --bad:#FF6B5E;
  --ink:#EAF0FA; --muted:#8B96AC;
  --pine:var(--royal); --pine-dark:var(--royal-deep); --copper:var(--royal-bright); --copper-soft:var(--electric);
  --paper:var(--bg);
  --radius:12px;
  --glow: 0 0 0 1px rgba(77,107,255,.25), 0 0 24px rgba(52,82,224,.18);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:
  radial-gradient(1100px 500px at 85% -10%, rgba(52,82,224,.22), transparent 60%),
  radial-gradient(800px 400px at -10% 110%, rgba(57,198,255,.10), transparent 55%),
  var(--bg);
  color:var(--ink);font-size:15px;line-height:1.5;min-height:100vh}
h1,h2,h3,.brand{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;letter-spacing:.2px}
h1{font-size:26px;margin:0 0 14px;color:var(--silver-bright)}
h2{font-size:18px;margin:22px 0 10px;color:var(--silver)}
a{color:var(--electric);text-decoration-color:rgba(57,198,255,.4)}
.num{font-variant-numeric:tabular-nums}

/* nav */
.topbar{background:linear-gradient(180deg,#0D1631 0%,#0A1124 100%);border-bottom:1px solid var(--line);
  color:#fff;display:flex;align-items:center;gap:22px;padding:0 20px;height:56px;flex-wrap:wrap;
  box-shadow:0 1px 0 rgba(77,107,255,.15), 0 8px 30px rgba(0,0,0,.35)}
.topbar .brand{color:var(--silver-bright);font-size:19px;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand-mark{width:24px;height:24px;border-radius:6px;display:inline-block;position:relative;
  background:linear-gradient(135deg,var(--royal) 0%,var(--electric) 100%);
  box-shadow:0 0 14px rgba(77,107,255,.55)}
.brand-mark::after{content:"";position:absolute;inset:5px;border-radius:3px;border:1.5px solid rgba(234,240,250,.9)}
.topbar nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.topbar nav a{color:var(--silver);text-decoration:none;padding:8px 12px;border-radius:8px;font-size:14px}
.topbar nav a:hover{background:rgba(77,107,255,.14);color:#fff}
.topbar nav a.active{background:linear-gradient(135deg,rgba(52,82,224,.5),rgba(57,198,255,.22));color:#fff;
  box-shadow:inset 0 0 0 1px rgba(77,107,255,.45)}
.topbar .who{font-size:13px;color:var(--silver-dim)}
.topbar form{margin:0}
.topbar button{background:none;border:1px solid var(--line-bright);color:var(--silver);border-radius:8px;padding:5px 11px;cursor:pointer;font-size:13px}
.topbar button:hover{border-color:var(--royal-bright);color:#fff}

.wrap{max-width:1180px;margin:0 auto;padding:26px 20px 70px}
.card{background:linear-gradient(180deg,var(--card2) 0%,var(--card) 100%);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:0 6px 24px rgba(4,8,20,.45)}
.grid{display:grid;gap:16px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:1fr 1fr}
@media(max-width:860px){.grid-4,.grid-2{grid-template-columns:1fr}}

/* stat tiles */
.stat{border-left:none;padding-left:16px;position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--royal-bright),var(--electric))}
.stat .n{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:700;line-height:1;color:var(--silver-bright);
  text-shadow:0 0 18px rgba(77,107,255,.35)}
.stat .l{color:var(--silver-dim);font-size:13px;margin-top:5px}

/* tables */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.9px;color:var(--silver-dim);
  border-bottom:1px solid var(--line-bright);padding:8px 10px}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--silver)}
td a{color:var(--silver-bright)}
tr:hover td{background:rgba(77,107,255,.07)}
.right{text-align:right}

/* pills */
.pill{display:inline-block;padding:2.5px 11px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid transparent}
.pill.not_contacted{background:rgba(139,150,172,.14);color:var(--silver-dim);border-color:rgba(139,150,172,.3)}
.pill.link_sent{background:rgba(255,180,84,.12);color:var(--warn);border-color:rgba(255,180,84,.35)}
.pill.booked{background:rgba(57,198,255,.12);color:var(--electric);border-color:rgba(57,198,255,.35)}
.pill.review_complete{background:rgba(53,208,143,.14);color:var(--ok);border-color:rgba(53,208,143,.4)}
.pill.in_progress{background:rgba(255,180,84,.12);color:var(--warn);border-color:rgba(255,180,84,.35)}
.pill.ready{background:linear-gradient(135deg,var(--royal),var(--royal-bright));color:#fff;box-shadow:0 0 14px rgba(77,107,255,.4)}
.pill.submitted{background:rgba(57,198,255,.12);color:var(--electric);border-color:rgba(57,198,255,.35)}
.pill.issued{background:rgba(53,208,143,.14);color:var(--ok);border-color:rgba(53,208,143,.4)}
.pill.declined,.pill.canceled,.pill.no_show{background:rgba(255,107,94,.12);color:var(--bad);border-color:rgba(255,107,94,.35)}
.pill.scheduled{background:rgba(57,198,255,.12);color:var(--electric);border-color:rgba(57,198,255,.35)}
.pill.completed{background:rgba(53,208,143,.14);color:var(--ok);border-color:rgba(53,208,143,.4)}
.pill.pending{background:rgba(255,180,84,.12);color:var(--warn);border-color:rgba(255,180,84,.35)}
.pill.paid{background:rgba(53,208,143,.14);color:var(--ok);border-color:rgba(53,208,143,.4)}

/* forms */
label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px;color:var(--silver)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],input[type=datetime-local],select,textarea{
  width:100%;padding:9px 12px;border:1px solid var(--line-bright);border-radius:8px;font:inherit;
  background:#0D1530;color:var(--silver-bright)}
input::placeholder,textarea::placeholder{color:#5A6580}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--royal-bright);box-shadow:var(--glow)}
textarea{min-height:80px;resize:vertical}
.btn{display:inline-block;background:linear-gradient(135deg,var(--royal) 0%,var(--royal-bright) 100%);color:#fff;border:none;
  border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;font-size:14px;
  box-shadow:0 4px 18px rgba(52,82,224,.35)}
.btn:hover{filter:brightness(1.12)}
.btn.copper{background:linear-gradient(135deg,#2A9BD8 0%,var(--electric) 100%);color:#04121F;
  box-shadow:0 4px 18px rgba(57,198,255,.3)}
.btn.ghost{background:none;color:var(--silver);border:1px solid var(--line-bright);box-shadow:none}
.btn.ghost:hover{border-color:var(--royal-bright);color:#fff;filter:none}
.btn.sm{padding:6px 13px;font-size:13px}
.inline{display:inline}
.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.row>*{flex:1;min-width:140px}
.row .fit{flex:0 0 auto;min-width:0}
.muted{color:var(--muted);font-size:13px}
.msg{background:rgba(53,208,143,.1);border:1px solid rgba(53,208,143,.4);color:var(--ok);padding:10px 14px;border-radius:9px;margin-bottom:14px}
.err{background:rgba(255,107,94,.1);border:1px solid rgba(255,107,94,.4);color:var(--bad);padding:10px 14px;border-radius:9px;margin-bottom:14px}
.checklist label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0;padding:9px 11px;
  background:#0D1530;border-radius:8px;border:1px solid var(--line)}
.checklist label:hover{border-color:var(--line-bright)}
.checklist input{margin-top:3px;accent-color:var(--royal-bright)}
input[type=checkbox]{accent-color:var(--royal-bright)}
.copybox{display:flex;gap:8px}
.copybox input{font-size:13px;color:var(--silver-dim)}
hr{border:none;border-top:1px solid var(--line)}
details summary{cursor:pointer;color:var(--electric)}

/* ---- client profile modal ---- */
.modal-backdrop{position:fixed;inset:0;background:rgba(5,9,20,.72);backdrop-filter:blur(4px);
  display:none;z-index:50;align-items:center;justify-content:center;padding:24px}
.modal-backdrop.open{display:flex}
.modal-shell{width:min(1080px,96vw);height:min(88vh,900px);background:var(--bg2);border-radius:16px;
  border:1px solid var(--line-bright);box-shadow:0 0 0 1px rgba(77,107,255,.25), 0 30px 80px rgba(0,0,0,.6), 0 0 60px rgba(52,82,224,.25);
  display:flex;flex-direction:column;overflow:hidden}
.modal-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;
  background:linear-gradient(90deg,rgba(52,82,224,.3),rgba(57,198,255,.12));border-bottom:1px solid var(--line-bright)}
.modal-top .t{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--silver-bright)}
.modal-top .actions{display:flex;gap:8px}
.modal-top button,.modal-top a{background:none;border:1px solid var(--line-bright);color:var(--silver);
  border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px;text-decoration:none}
.modal-top button:hover,.modal-top a:hover{border-color:var(--royal-bright);color:#fff}
.modal-shell iframe{flex:1;border:none;width:100%;background:var(--bg)}
tr.rowlink{cursor:pointer}

/* ---- public (client-facing) pages: light silver + royal for readability ---- */
.public{max-width:660px;margin:0 auto;padding:34px 22px 90px;color:#1B2437}
body:has(> .public){background:
  radial-gradient(900px 380px at 90% -8%, rgba(52,82,224,.10), transparent 60%),
  #EEF1F7}
.public h1,.public h2{color:#131C33}
.public .head{border-bottom:3px double var(--royal);padding-bottom:14px;margin-bottom:22px}
.public .head .agency{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--royal)}
.public h1{font-size:30px;margin:6px 0 0}
.public .card{background:#fff;border:1px solid #D8DEE9;box-shadow:0 8px 26px rgba(19,28,51,.08)}
.public label{color:#2A3550}
.public input,.public textarea,.public select{background:#fff;color:#1B2437;border-color:#C6CEDD}
.public input::placeholder,.public textarea::placeholder{color:#94A0B8}
.public .muted{color:#66738E}
.public td,.public th{color:#2A3550}
.agenda label{display:flex;gap:10px;align-items:center;font-weight:400;padding:11px 13px;background:#fff;
  border:1px solid #C6CEDD;border-radius:9px;margin:8px 0;cursor:pointer;color:#1B2437}
.agenda label:hover{border-color:var(--royal)}
.public .msg{background:#E4F5EC;border-color:#9BD8B8;color:#19714A}
.public .err{background:#FBE9E6;border-color:#EFB7AE;color:#9B3A2E}
.calendly-inline{min-height:680px;border:1px solid #D8DEE9;border-radius:var(--radius);overflow:hidden;background:#fff}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
