:root{
  --ground:#0c1a2b;
  --ground-2:#0f2236;
  --panel:#15293f;
  --panel-2:#1c3651;
  --panel-line:#26405c;
  --ink:#eaf1f8;
  --ink-soft:#9fb4c9;
  --ink-faint:#6f879f;
  --amber:#f6a609;
  --amber-soft:#ffcf6b;
  --go:#34d399;
  --danger:#ff6b6b;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%, #163150 0%, transparent 60%),
    linear-gradient(180deg,var(--ground) 0%, var(--ground-2) 100%);
  background-attachment:fixed;
  color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  min-height:100vh;
  display:flex;flex-direction:column;
}
main{flex:1 0 auto}
a{color:var(--amber-soft);text-decoration:none}
a:hover{color:var(--amber)}

/* ---- top bar ---- */
.site-bar{
  border-bottom:1px solid var(--panel-line);
  background:rgba(8,18,30,.6);
  backdrop-filter:blur(6px);
  padding:14px 0;
}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand-mark{
  display:grid;place-items:center;
  width:42px;height:42px;border-radius:10px;
  background:linear-gradient(135deg,var(--amber),#d6890a);
  color:#101a26;font-family:"Barlow Semi Condensed";font-weight:700;font-size:20px;
  box-shadow:0 4px 14px rgba(246,166,9,.3);
}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:"Barlow Semi Condensed";font-weight:600;font-size:17px;letter-spacing:.3px}
.brand-text em{font-style:normal;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:2px;margin-top:2px}
.back-link{font-size:13px;color:var(--ink-soft);text-transform:lowercase;letter-spacing:.5px}

/* ---- hero / landing ---- */
.hero{padding:64px 0 28px}
.eyebrow{
  font-family:"Barlow Semi Condensed";text-transform:uppercase;letter-spacing:4px;
  font-size:13px;color:var(--amber);font-weight:600;margin-bottom:14px;
}
.hero h1{
  font-family:"Barlow Semi Condensed";font-weight:700;
  font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:.5px;margin:0 0 16px;
}
.hero p.lead{color:var(--ink-soft);font-size:18px;max-width:620px;margin:0}

/* ---- dispatch cards (the signature) ---- */
.dispatch{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0 64px}
@media(max-width:880px){.dispatch{grid-template-columns:1fr}}
.dcard{
  position:relative;display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--panel) 0%, #11263b 100%);
  border:1px solid var(--panel-line);border-radius:var(--radius);
  padding:26px 24px 22px;overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.dcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--amber)}
.dcard.go:before{background:var(--go)}
.dcard:hover{transform:translateY(-4px);border-color:var(--amber);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.dcard .tag{
  font-family:"Barlow Semi Condensed";font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:18px;display:flex;align-items:center;gap:8px;
}
.dcard .tag .dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}
.dcard.go .tag .dot{background:var(--go)}
.dcard .ico{font-size:30px;line-height:1;margin-bottom:12px}
.dcard h2{font-family:"Barlow Semi Condensed";font-weight:600;font-size:24px;margin:0 0 8px;color:var(--ink)}
.dcard p{color:var(--ink-soft);font-size:14.5px;flex:1 0 auto;margin:0 0 20px}
.dcard .act{
  align-self:flex-start;font-family:"Barlow Semi Condensed";font-weight:600;letter-spacing:.5px;
  background:var(--amber);color:#101a26;border:0;border-radius:9px;
  padding:11px 20px;font-size:15px;cursor:pointer;transition:background .15s;
}
.dcard .act:hover{background:var(--amber-soft);color:#101a26}
.dcard.go .act{background:var(--go);color:#06241a}
.dcard.go .act:hover{background:#5ee0ad}

/* ---- generic panels / forms ---- */
.panel{
  background:linear-gradient(180deg,var(--panel) 0%, #11263b 100%);
  border:1px solid var(--panel-line);border-radius:var(--radius);
  padding:30px;margin-bottom:22px;
}
.section-head{margin:40px 0 6px}
.section-head h1{font-family:"Barlow Semi Condensed";font-weight:700;font-size:34px;margin:0}
.section-head p{color:var(--ink-soft);margin:6px 0 0}

label.lbl{font-size:13px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;display:block}
.form-control,.form-select{
  background:#0c1c2e;border:1px solid var(--panel-line);color:var(--ink);border-radius:9px;padding:11px 13px;
}
.form-control:focus,.form-select:focus{background:#0c1c2e;color:var(--ink);border-color:var(--amber);box-shadow:0 0 0 .2rem rgba(246,166,9,.18)}
.form-control::placeholder{color:var(--ink-faint)}
.form-check-input{background:#0c1c2e;border-color:var(--panel-line)}
.form-check-input:checked{background:var(--amber);border-color:var(--amber)}
.btn-amber{background:var(--amber);border:0;color:#101a26;font-weight:600;border-radius:9px;padding:11px 22px;font-family:"Barlow Semi Condensed";letter-spacing:.5px;font-size:16px}
.btn-amber:hover{background:var(--amber-soft);color:#101a26}
.btn-ghost{background:transparent;border:1px solid var(--panel-line);color:var(--ink-soft);border-radius:9px;padding:11px 22px}
.btn-ghost:hover{border-color:var(--amber);color:var(--ink)}

/* ---- application wizard ---- */
.steps{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.steps .s{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);
  border:1px solid var(--panel-line);border-radius:99px;padding:5px 13px;font-family:"Barlow Semi Condensed"}
.steps .s.active{color:#101a26;background:var(--amber);border-color:var(--amber)}
.steps .s.done{color:var(--go);border-color:var(--go)}
.wizard-step{display:none}
.wizard-step.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* org-type tiles */
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:600px){.type-grid{grid-template-columns:1fr}}
.type-tile{cursor:pointer}
.type-tile input{position:absolute;opacity:0}
.type-tile .box{
  border:1px solid var(--panel-line);border-radius:11px;padding:16px 18px;background:#0c1c2e;transition:all .15s;
}
.type-tile .box b{font-family:"Barlow Semi Condensed";font-size:17px;display:block;margin-bottom:3px}
.type-tile .box span{font-size:13px;color:var(--ink-soft)}
.type-tile input:checked + .box{border-color:var(--amber);background:#16314a;box-shadow:0 0 0 1px var(--amber)}

/* nonprofit search */
.np-results{border:1px solid var(--panel-line);border-radius:10px;margin-top:8px;max-height:260px;overflow:auto;display:none}
.np-results.show{display:block}
.np-row{padding:11px 14px;border-bottom:1px solid var(--panel-line);cursor:pointer}
.np-row:last-child{border-bottom:0}
.np-row:hover{background:#16314a}
.np-row b{font-weight:600}
.np-row small{color:var(--ink-faint);display:block}
.np-status{font-size:13px;color:var(--ink-faint);margin-top:6px;min-height:18px}

/* ---- alerts / flash ---- */
.flash{border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:15px}
.flash.ok{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.4);color:#a7f3d0}
.flash.err{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.4);color:#fecaca}

/* ---- footer ---- */
.site-foot{border-top:1px solid var(--panel-line);padding:22px 0;margin-top:40px;color:var(--ink-faint);font-size:13px}
.site-foot p{margin:0 0 4px}
.site-foot .emer a{color:var(--amber-soft);font-weight:600}

/* ---- survey ---- */
.q-block{border-bottom:1px solid var(--panel-line);padding:18px 0}
.q-block:last-of-type{border-bottom:0}
.q-block .q-title{font-size:16px;font-weight:600;margin-bottom:10px}
.q-block .req{color:var(--amber);margin-left:4px}

/* ---- admin ---- */
.admin-shell{max-width:1040px;margin:0 auto;padding:0 16px}
.admin-nav{display:flex;gap:6px;border-bottom:1px solid var(--panel-line);margin:18px 0 26px;flex-wrap:wrap}
.admin-nav a{padding:10px 16px;color:var(--ink-soft);border-radius:9px 9px 0 0;font-family:"Barlow Semi Condensed";letter-spacing:.5px}
.admin-nav a.active{background:var(--panel);color:var(--ink);border:1px solid var(--panel-line);border-bottom-color:transparent}
table.tbl{width:100%;border-collapse:collapse}
table.tbl th,table.tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--panel-line);font-size:14px;vertical-align:top}
table.tbl th{font-family:"Barlow Semi Condensed";color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;font-size:12px}
.badge-st{font-size:11px;padding:3px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:1px}
.badge-st.new{background:rgba(246,166,9,.18);color:var(--amber-soft)}
.badge-st.approved{background:rgba(52,211,153,.18);color:#a7f3d0}
.badge-st.declined{background:rgba(255,107,107,.18);color:#fecaca}
.badge-st.reviewing{background:rgba(96,165,250,.18);color:#bfdbfe}
.muted{color:var(--ink-faint)}
.q-editor-row{display:grid;grid-template-columns:1fr 150px 90px 40px;gap:10px;align-items:start;margin-bottom:10px}
@media(max-width:700px){.q-editor-row{grid-template-columns:1fr}}
