:root{
  --bg:#ffffff; --surface:#f7f7f5; --charcoal:#1a1a1a; --charcoal-2:#242424; --text:#0d0d0d; --muted:#6b6b6b;
  --border:#e8e8e6; --accent:#e2231a; --accent-dark:#b81b14; --radius:10px; --radius-sm:7px;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Inter',Arial,Helvetica,sans-serif; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand{font-family:'Archivo',Arial,sans-serif; font-weight:700; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.container{max-width:1200px; margin:0 auto; padding:0 20px;}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; border-radius:8px; font-weight:600; font-size:14.5px; border:1px solid transparent; transition:transform .12s ease, background .15s ease, border-color .15s ease;}
.btn-primary{background:var(--accent); color:#fff;}
.btn-primary:hover{background:var(--accent-dark);}
.btn-outline{background:transparent; border-color:var(--text); color:var(--text);}
.btn-outline:hover{background:var(--text); color:#fff;}
.btn-danger{background:#fff; color:var(--accent); border-color:var(--accent);}
.btn-danger:hover{background:var(--accent); color:#fff;}
.btn:disabled{opacity:.45; cursor:not-allowed;}
.btn-block{width:100%;}
.btn-sm{padding:8px 14px; font-size:13px;}

.field{margin-bottom:16px;}
.field label{display:block; font-size:13.5px; font-weight:600; margin-bottom:6px;}
.field input, .field textarea, .field select{
  width:100%; padding:11px 12px; border:1px solid var(--border); border-radius:8px;
  font-size:14.5px; font-family:inherit; background:#fff; color:var(--text);
}
.field input:focus, .field textarea:focus, .field select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}

.error-box{padding:16px; background:#fff3f2; border:1px solid #f3c7c3; color:var(--accent-dark); border-radius:8px; font-size:14px; margin-bottom:16px;}
.success-box{padding:16px; background:#f0faf1; border:1px solid #bfe6c4; color:#1a7a2e; border-radius:8px; font-size:14px; margin-bottom:16px;}
.loading{padding:60px 0; text-align:center; color:var(--muted);}
.empty-state{padding:60px 20px; text-align:center; color:var(--muted);}
