/* NYSVMS brand system: Roboto headings/numerals, Lato body.
   #0F7BB3 primary · #0A5A85 headline · #5778A2 accent · #333 body
   Cards 6px rounded, buttons square, spacing scale 8/16/24/32/48. */
:root{
  --primary:#0F7BB3; --dark:#0A5A85; --accent:#5778A2; --ink:#333;
  --rule:#D8DEE7; --tint:#F2F5F9; --bg:#fff; 
}
:root{ --good:#1E7A46; }
*{box-sizing:border-box}
body{margin:0;background:var(--tint);color:var(--ink);
     font-family:Lato,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55}
h1,h2,h3,.num,button,.btn,label,th{font-family:Roboto,Arial,Helvetica,sans-serif}
a{color:var(--primary)}
.topbar{background:var(--dark);padding:16px 24px;display:flex;align-items:center;
        justify-content:space-between;flex-wrap:wrap;gap:8px}
.topbar .brand{color:#fff;font-family:Roboto,Arial,sans-serif;font-weight:500;font-size:18px;letter-spacing:.2px}
.topbar .who{color:#9FC4DD;font-size:14px}
.topbar a{color:#9FC4DD;font-size:14px;margin-left:16px}
.wrap{max-width:860px;margin:0 auto;padding:32px 16px 64px}
.eyebrow{font-family:Roboto,Arial,sans-serif;font-weight:700;font-size:11px;
         letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin:0 0 8px}
h1{color:var(--dark);font-weight:500;font-size:30px;margin:0 0 8px;line-height:1.2}
.lede{color:var(--accent);font-style:italic;margin:0 0 24px}
.card{background:var(--bg);border:1px solid var(--rule);border-radius:6px;padding:24px;margin-bottom:24px}
.card h2{color:var(--dark);font-weight:500;font-size:19px;margin:0 0 16px}
.rows{width:100%;border-collapse:collapse}
.rows td{padding:10px 0;border-bottom:1px solid var(--rule)}
.rows td:last-child{text-align:right;font-family:Roboto,Arial,sans-serif;white-space:nowrap}
.rows tr:last-child td{border-bottom:none}
.total td{padding-top:16px;font-family:Roboto,Arial,sans-serif;font-weight:700;
          color:var(--dark);font-size:20px;border-top:2px solid var(--dark)!important;border-bottom:none}
.due{font-family:Roboto,Arial,sans-serif;font-size:40px;font-weight:700;color:var(--dark);line-height:1}
.muted{color:var(--accent);font-size:14px}
.warn{background:#FFF6E5;border:1px solid #E8C888;border-left:4px solid #C98A00;
      padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}
.note{background:var(--tint);border-left:4px solid var(--primary);padding:12px 16px;
      margin-bottom:16px;font-size:14px}
.ok{background:#EAF6EF;border:1px solid #A8D5BC;border-left:4px solid var(--good);
    padding:12px 16px;border-radius:4px;margin-bottom:24px;font-size:14px}
label{display:block;font-weight:700;font-size:12px;text-transform:uppercase;
      letter-spacing:.8px;color:var(--accent);margin:16px 0 6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--rule);
      border-radius:4px;font-family:Lato,sans-serif;font-size:16px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
input[readonly]{background:var(--tint);color:var(--accent)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.btn{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:0;
     padding:13px 26px;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;margin-top:24px}
.btn:hover{background:var(--dark)}
.btn.secondary{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.btn.secondary:hover{background:var(--tint)}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.pill{display:inline-block;background:var(--tint);border:1px solid var(--rule);color:var(--accent);
      border-radius:999px;padding:3px 12px;font-size:12px;font-family:Roboto,Arial,sans-serif}
.foot{color:var(--accent);font-size:13px;text-align:center;margin-top:32px}
@media(max-width:640px){.grid{grid-template-columns:1fr}.wrap{padding:24px 16px 48px}.due{font-size:32px}}
