.flash-banner{padding:14px 0;font-weight:800;font-size:14px}
.flash-success{background:#edf7e5;color:#345a05}
.flash-error{background:#fde8e8;color:#8b1a1a}
.auth-page{min-height:calc(100vh - 120px);padding:48px 0 80px}
.auth-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid #e0e8d8;border-radius:32px;padding:36px;box-shadow:0 24px 70px rgba(7,20,38,.1)}
.auth-card.wide{max-width:640px}
.auth-card h1{font-size:36px;letter-spacing:-1.5px;margin-bottom:8px}
.auth-card .lead{color:#657386;font-weight:650;line-height:1.7;margin-bottom:24px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.auth-tab{border:1px solid #dfe8d8;border-radius:16px;padding:14px;text-align:center;font-weight:900;cursor:pointer;background:#f7faf4}
.auth-tab.active{background:#071426;color:#fff;border-color:#071426}
.auth-tab input{position:absolute;opacity:0;pointer-events:none}
.role-fields{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed #dfe8d8}
.role-fields.show{display:block}
.auth-footer{text-align:center;margin-top:20px;color:#657386;font-weight:650}
.auth-footer a{color:#6faa21;font-weight:900}
.dashboard-page{padding:40px 0 80px}
.dash-hero{background:linear-gradient(135deg,#071426,#173968);color:#fff;border-radius:32px;padding:36px;margin-bottom:28px;box-shadow:0 28px 80px rgba(7,20,38,.2)}
.dash-hero h1{font-size:42px;letter-spacing:-2px;line-height:1.05}
.dash-hero p{color:#d9e4ee;margin-top:12px;font-weight:650}
.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dash-card{background:#fff;border:1px solid #e0e8d8;border-radius:24px;padding:24px;box-shadow:0 16px 45px rgba(7,20,38,.07)}
.dash-card h3{font-size:20px;margin-bottom:10px}
.dash-card .stat{font-size:32px;font-weight:900;color:#6faa21;margin:8px 0}
.dash-form{display:grid;gap:14px;margin-top:16px}
.dash-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width: 900px) {
  .dash-grid { grid-template-columns: 1fr; }
  .dash-actions { flex-direction: column; }
  .dash-actions .btn { width: 100%; }
  .auth-tabs { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .dashboard-page { padding: 24px 0 48px; }
  .phone { min-height: auto; }
}
