/* Shared look for sign-up / sign-in / reset pages */
:root{--primary:#990033;--primary-dark:#6d0023;--yellow:#F7D417;--yellow-soft:#F7E057;
  --accent-orange:#E8521A;--green:#27ae60;--text:#1a1a1a;--mid:#555;--light:#888;--border:#e0e0e0;
  --font:'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{font-family:var(--font);color:var(--text);line-height:1.55;min-height:100vh;
  background:linear-gradient(145deg,#6d0023 0%,var(--primary) 48%,var(--accent-orange) 100%);
  display:flex;flex-direction:column;align-items:center;padding:22px 14px 30px}
.brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 16px;text-align:left}
.brand img{height:58px;width:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.brand h1{font-size:2.15rem;line-height:1.05;font-weight:800;letter-spacing:.5px;color:var(--yellow);
  text-shadow:0 2px 6px rgba(0,0,0,.4)}
.brand small{display:block;font-size:.8rem;font-weight:600;color:#fff;opacity:.85;letter-spacing:1px;
  text-transform:uppercase;text-shadow:none;margin-top:3px}
.card{background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.3);width:100%;max-width:520px;
  padding:26px 24px;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--primary),var(--yellow),var(--accent-orange))}
.card h2{color:var(--primary);font-size:1.15rem;margin-bottom:4px}
.card .sub{color:var(--light);font-size:.84rem;margin-bottom:18px}
.section-title{margin:18px 0 10px;padding-top:12px;border-top:1px solid #f0e6ea;font-size:.78rem;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;color:var(--primary)}
.form-group{margin-bottom:13px}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--mid);margin-bottom:4px}
.form-group label small,.muted{color:var(--light);font-weight:400;font-size:.78rem}
.req{color:#d33}
.form-control{width:100%;padding:10px 12px;font-size:.95rem;border:1.5px solid var(--border);border-radius:8px;
  background:#fff;color:var(--text);font-family:var(--font)}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(153,0,51,.12)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gps-row{display:flex;gap:8px;align-items:center}
.gps-row .form-control{flex:1;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;font-size:.95rem;
  font-weight:700;border:none;border-radius:50px;cursor:pointer;text-decoration:none;font-family:var(--font)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 5px 14px rgba(153,0,51,.3)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{background:#fff;border:1.5px solid var(--primary);color:var(--primary)}
.btn-sm{padding:8px 12px;font-size:.8rem;white-space:nowrap}
.btn-full{width:100%}
.alert{padding:10px 13px;border-radius:8px;font-size:.86rem;margin-bottom:14px}
.alert-danger{background:#fdf0f0;color:#b91c1c;border-left:3px solid #dc2626}
.alert-success{background:#e9f7ef;color:#166534;border-left:3px solid var(--green)}
.alert-warning{background:#fffbeb;color:#92400e;border-left:3px solid #f59e0b}
.links{margin-top:16px;text-align:center;font-size:.86rem;color:var(--mid)}
.links a{color:var(--primary);font-weight:700;text-decoration:none}
.foot{margin-top:18px;color:rgba(255,255,255,.75);font-size:.76rem;text-align:center}
.pw-wrap{position:relative;display:block}
.pw-wrap .form-control,.pw-wrap input{padding-right:46px!important}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;
  cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:50%}
.pw-eye:hover{color:var(--primary);background:rgba(153,0,51,.08)}
.pw-eye svg{width:22px;height:22px;display:block}
@media(max-width:520px){.grid2{grid-template-columns:1fr}.brand h1{font-size:1.8rem}.card{padding:22px 16px}
  .gps-row{flex-direction:column;align-items:stretch}}
