/* request.azref.com — shared look (same family as the badge page, mentor site and ROC) */
:root{ --navy:#1B2652; --navy-2:#2C3B74; --gold:#F2C230; --bg:#EEF1F5; --surface:#fff; --ink:#16233F; --muted:#5B6472; --line:#DDE2EA;
       --field:#fff; --bad:#A8242F; --bad-wash:#FDE9E4; --good:#14603A; --good-wash:#E3F4EA; --note:#FFF6DB; --chip:#EFF1F6; }
@media (prefers-color-scheme: dark){ :root{ --bg:#0E1526; --surface:#16213B; --ink:#EDF1F8; --muted:#9AA5BD; --line:#2A3757; --field:#0F1830;
       --bad:#FF9AA2; --bad-wash:rgba(255,154,162,.12); --good:#7BE0A6; --good-wash:rgba(61,190,122,.14); --note:rgba(242,194,48,.12); --chip:#1C2847; } }
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; min-height:100vh; background:var(--bg); color:var(--ink); font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;
      display:flex; align-items:flex-start; justify-content:center; padding:24px 16px 48px; }
.card{ width:100%; max-width:600px; background:var(--surface); border:1px solid var(--line); border-radius:20px; overflow:hidden;
       box-shadow:0 20px 50px -24px rgba(16,24,48,.45); }
.top{ background:linear-gradient(135deg,var(--navy),var(--navy-2)); color:#F3F6FC; padding:22px; display:flex; gap:14px; align-items:center; }
.top img{ width:64px; height:64px; flex:none; }
.top a{ color:inherit; text-decoration:none; }
.eyebrow{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#A9B7D6; }
h1{ margin:2px 0 0; font-size:24px; line-height:1.15; }
.tag{ display:inline-block; margin-top:8px; font-size:11.5px; font-weight:800; letter-spacing:.08em; color:#1B2652; background:var(--gold); border-radius:999px; padding:2px 10px; }
.body{ padding:20px 22px 24px; }
.body > p{ margin:0 0 14px; }
.lead{ color:var(--muted); }
form{ display:grid; gap:16px; }
fieldset{ border:0; margin:0; padding:0; display:grid; gap:12px; }
legend{ font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; padding:0; }
.sect{ border-top:1px solid var(--line); padding-top:16px; }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
label{ display:grid; gap:5px; font-weight:650; font-size:14px; }
.req::after{ content:" *"; color:var(--bad); }
.hint{ font-weight:400; font-size:12.5px; color:var(--muted); }
input, select, textarea{ font:inherit; color:var(--ink); background:var(--field); border:1px solid var(--line); border-radius:10px; padding:11px 12px; width:100%; min-height:46px; }
textarea{ min-height:84px; resize:vertical; }
input:focus, select:focus, textarea:focus{ outline:3px solid rgba(242,194,48,.55); outline-offset:1px; border-color:var(--navy-2); }
input[aria-invalid="true"], select[aria-invalid="true"]{ border-color:var(--bad); }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{ display:inline-flex; align-items:center; gap:6px; border:1.5px solid var(--line); background:var(--chip); border-radius:999px; padding:8px 14px;
       font-weight:650; font-size:14px; cursor:pointer; min-height:42px; user-select:none; }
.chip input{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.chip:has(input:checked){ background:var(--navy-2); border-color:var(--navy-2); color:#fff; }
@media (prefers-color-scheme: dark){ .chip:has(input:checked){ background:var(--gold); border-color:var(--gold); color:#1B2652; } }
.chip:has(input:focus-visible){ outline:3px solid rgba(242,194,48,.55); }
.rowcard{ border:1px solid var(--line); border-radius:14px; padding:12px; display:grid; gap:10px; position:relative; }
.rowcard .rm{ position:absolute; top:8px; right:8px; min-height:32px; padding:4px 10px; font-size:13px; background:transparent; color:var(--muted); border:1px solid var(--line); }
.rowhead{ font-weight:800; font-size:13px; color:var(--muted); }
button{ font:inherit; font-weight:800; font-size:16px; border:0; border-radius:12px; padding:14px 16px; background:var(--gold); color:#1B2652; cursor:pointer; min-height:50px; }
button.ghost{ background:transparent; border:1.5px dashed var(--line); color:var(--ink); font-size:14.5px; min-height:44px; padding:10px 14px; }
button[disabled]{ opacity:.6; cursor:progress; }
.check{ display:flex; gap:10px; align-items:flex-start; font-weight:600; }
.check input{ width:22px; height:22px; min-height:0; flex:none; margin-top:2px; accent-color:#2C3B74; }
.msg{ border-radius:12px; padding:11px 12px; font-size:14px; }
.msg.bad{ background:var(--bad-wash); color:var(--bad); }
.msg.good{ background:var(--good-wash); color:var(--good); }
.msg.note{ background:var(--note); color:var(--ink); }
[hidden]{ display:none !important; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.foot{ margin-top:18px; font-size:12.5px; color:var(--muted); }
.foot a{ color:inherit; }
.done{ text-align:center; padding:8px 0 4px; }
.done .big{ font-size:44px; line-height:1; }
.done h2{ margin:8px 0 6px; font-size:21px; }
.done .ref{ display:inline-block; font-weight:800; font-size:18px; letter-spacing:.04em; background:var(--chip); border-radius:10px; padding:4px 12px; margin:4px 0 10px; }
.back{ display:inline-block; margin-bottom:12px; font-size:13.5px; color:var(--muted); text-decoration:none; }
/* hub tiles */
.tiles{ display:grid; gap:12px; }
.tile{ display:flex; gap:14px; align-items:center; border:1px solid var(--line); border-radius:16px; padding:14px 16px; color:inherit; text-decoration:none; background:var(--surface); }
a.tile:hover, a.tile:focus-visible{ border-color:var(--navy-2); box-shadow:0 0 0 3px rgba(242,194,48,.35); outline:none; }
.tile .ic{ width:46px; height:46px; border-radius:12px; flex:none; display:grid; place-items:center; font-size:24px; background:var(--chip); }
.tile b{ display:block; font-size:16px; }
.tile span.d{ color:var(--muted); font-size:13.5px; }
.tile .go{ margin-left:auto; font-weight:800; color:var(--muted); }
.tile.soon{ opacity:.75; }
.tile .soonpill{ margin-left:auto; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:2px 8px; white-space:nowrap; }
@media (max-width:460px){ .two{ grid-template-columns:1fr; } h1{ font-size:21px; } .body{ padding:18px 16px 22px; } }
/* expense.azref.com additions */
.money{ font-variant-numeric:tabular-nums; }
.itemrow{ display:grid; grid-template-columns:140px 1fr 120px 36px; gap:8px; align-items:end; }
.itemrow .x, .milerow .x{ min-height:46px; padding:0; background:transparent; color:var(--muted); border:1px solid var(--line); font-size:18px; }
.milerow{ display:grid; grid-template-columns:140px 1fr 1fr 90px 90px 36px; gap:8px; align-items:end; }
.milerow .calc{ min-height:46px; display:flex; align-items:center; justify-content:flex-end; font-weight:700; }
.rowlabel{ font-size:12px; font-weight:650; color:var(--muted); }
.totalbar{ position:sticky; bottom:0; margin:4px -22px -24px; padding:12px 22px; background:var(--surface); border-top:1px solid var(--line);
           display:flex; align-items:center; gap:12px; box-shadow:0 -8px 20px -16px rgba(0,0,0,.4); }
.totalbar .t{ font-size:13px; color:var(--muted); } .totalbar .t b{ display:block; font-size:24px; color:var(--ink); }
.totalbar button{ margin-left:auto; min-width:180px; }
.helper{ background:var(--note); border-radius:12px; padding:12px; display:grid; gap:8px; font-size:14px; }
.files{ display:grid; gap:6px; } .file{ display:flex; gap:8px; align-items:center; font-size:13.5px; border:1px solid var(--line); border-radius:10px; padding:6px 10px; }
.file .nm{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .file button{ min-height:30px; padding:2px 10px; font-size:13px; background:transparent; color:var(--muted); border:1px solid var(--line); }
.drop{ border:1.5px dashed var(--line); border-radius:12px; padding:14px; text-align:center; color:var(--muted); font-size:14px; cursor:pointer; }
.drop input{ display:none; }
.lock{ font-size:12.5px; color:var(--muted); }
.progress{ height:6px; background:var(--chip); border-radius:99px; overflow:hidden; } .progress > i{ display:block; height:100%; width:0; background:var(--gold); transition:width .2s; }
@media (max-width:560px){
  .itemrow{ grid-template-columns:1fr 110px 36px; } .itemrow .d{ grid-column:1 / -1; }
  .milerow{ grid-template-columns:1fr 1fr; } .milerow .dt{ grid-column:1 / -1; } .milerow .x{ grid-column:2; justify-self:end; width:46px; }
  .totalbar{ margin:4px -16px -22px; padding:10px 16px; } .totalbar button{ min-width:0; }
}
.helper button.chip{ color:var(--ink); background:var(--surface); border:1.5px solid var(--line); font-size:14px; font-weight:650; min-height:42px; padding:8px 14px; border-radius:999px; }
.helper button.chip:active{ background:var(--navy-2); color:#fff; }
.helper a, .msg a{ color:inherit; text-decoration:underline; }

/* posted pay rates + hourly helper (9/25/26) */
.rates{ border:1px solid var(--line); border-radius:12px; padding:10px 14px; margin:0 0 16px; background:var(--chip); }
.rates summary{ cursor:pointer; font-weight:750; font-size:14px; }
.rgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:10px; }
.rh{ font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.rl{ display:flex; justify-content:space-between; gap:10px; font-size:14px; padding:3px 0; border-bottom:1px dashed var(--line); }
.rl b{ white-space:nowrap; }
.hrow{ display:grid; grid-template-columns:1fr 90px 100px; gap:10px; align-items:end; }
.hcalc{ display:grid; gap:2px; padding-bottom:8px; } .hcalc b{ font-size:18px; }
.helper .chip{ background:var(--surface); }
.itemrow.flash input{ outline:3px solid rgba(242,194,48,.7); transition:outline-color .8s; }
@media (max-width:560px){ .rgrid{ grid-template-columns:1fr; } .hrow{ grid-template-columns:1fr 1fr; } .hrow label:first-child{ grid-column:1 / -1; } }
