@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Archivo:wght@400;500;600;700&display=swap");:root{--bg:#EDEBE4;--white:#FFFFFF;--ink:#23211C;--yellow:#FFCC00;--muted:#6B665B;--faint:#8C877C;--line:#ECE8DD;--card:#FAF9F5;--coral:#E4573D}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Archivo,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.wordmark,h1,h2,h3{font-family:Poppins,sans-serif}.wordmark{font-weight:800;font-size:15pt;letter-spacing:.02em}.wordmark span{color:var(--yellow)}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6mm}.auth-card{background:var(--white);border-radius:6mm;box-shadow:0 4px 24px rgba(35,33,28,.08);padding:12mm 11mm;width:100%;max-width:420px}.auth-title{font-size:18pt;font-weight:800;margin:4mm 0 2mm}.auth-sub{font-size:9.5pt;color:var(--muted);margin-bottom:6mm;line-height:1.5}.field{margin-bottom:4mm}.field label{display:block;font-size:8pt;font-weight:700;color:var(--muted);margin-bottom:1.6mm}.field input,.field select{width:100%;border:1.4px solid var(--line);border-radius:3mm;padding:3mm 3.6mm;font-family:Archivo,sans-serif;font-size:9.5pt;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{outline:none;border-color:var(--ink)}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:3mm;gap:3mm}.btn{font-family:Poppins,sans-serif;font-weight:700;font-size:9pt;border-radius:8mm;padding:3.2mm 6.5mm;cursor:pointer;border:none;transition:opacity .15s ease,transform .1s ease;width:100%}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-yellow{background:var(--yellow);color:var(--ink)}.auth-alt{text-align:center;font-size:8.6pt;color:var(--muted);margin-top:5mm}.auth-alt a{color:var(--ink);font-weight:700;text-decoration:none}.error-box{background:#FDF6F4;border:1px solid #f3c9bf;color:#C6432B;border-radius:3mm;padding:2.6mm 3.4mm;font-size:8.4pt;margin-bottom:4mm}.info-box{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:3mm;padding:3mm 3.6mm;font-size:8.6pt;margin-bottom:4mm;line-height:1.5}