*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f3f6fb;color:#07111f}
a{text-decoration:none;color:inherit}

.topbar{height:76px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 48px}
.brand a{font-size:28px;font-weight:800}
nav{display:flex;gap:22px;align-items:center;font-weight:700}
nav a:hover{color:#93c5fd}

.container{max-width:1320px;margin:44px auto;padding:0 24px}
.card{background:#fff;border-radius:24px;padding:32px;margin-bottom:26px;box-shadow:0 20px 60px rgba(15,23,42,.08)}
.muted{color:#64748b}
.grid,.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:26px}

.btn{display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff!important;padding:12px 18px;border-radius:14px;font-weight:800;border:0;cursor:pointer}
.btn:hover{background:#1d4ed8}
.btn.small{padding:8px 12px;border-radius:10px;font-size:14px}
.btn.secondary{background:white;color:#0f172a!important}

.input,textarea,input,select{width:100%;border:1px solid #d1d5db;border-radius:14px;padding:12px;font-size:15px;margin:8px 0 16px}
textarea{background:#0b1220;color:#dbeafe;line-height:1.5;font-family:Consolas,monospace}

.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table th{text-align:left;color:#64748b;font-size:13px;text-transform:uppercase;padding:10px 14px}
.table td{background:#f8fafc;padding:16px 14px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.table td:first-child{border-left:1px solid #e5e7eb;border-radius:14px 0 0 14px}
.table td:last-child{border-right:1px solid #e5e7eb;border-radius:0 14px 14px 0}

.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}
.badge-green{background:#dcfce7;color:#166534}
.badge-blue{background:#dbeafe;color:#1d4ed8}
.badge-red{background:#fee2e2;color:#b91c1c}
.badge-gray{background:#e5e7eb;color:#374151}
.badge-risk-low{background:#dcfce7;color:#166534}
.badge-risk-medium{background:#ffedd5;color:#c2410c}
.badge-risk-high{background:#fee2e2;color:#b91c1c}
.badge-risk-none{background:#e5e7eb;color:#374151}

.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;margin-bottom:28px}
.hero-content{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:white;border-radius:32px;padding:54px;box-shadow:0 30px 80px rgba(15,23,42,.22)}
.hero-content h1{font-size:54px;line-height:1.02;margin:18px 0;letter-spacing:-1.6px}
.hero-content p{font-size:18px;line-height:1.7;color:#dbeafe;max-width:720px}
.pill{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:8px 12px;border-radius:999px;font-weight:800;font-size:13px}
.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.hero-panel{background:white;border-radius:32px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.1)}
.panel-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #e5e7eb}
.panel-row:last-child{border-bottom:0}
.panel-row span{color:#64748b;font-weight:800}
.panel-row strong{font-size:22px}
.green{color:#16a34a}.red{color:#dc2626}.blue{color:#2563eb}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}
.feature-card{background:white;border-radius:24px;padding:28px;border:1px solid #e5e7eb;box-shadow:0 18px 50px rgba(15,23,42,.07)}
.feature-card h3{margin-top:0;font-size:22px}
.feature-card p{color:#64748b;line-height:1.7}

.auth-wrap{display:flex;justify-content:center;align-items:center;min-height:60vh}
.auth-card{width:100%;max-width:460px;background:white;border-radius:28px;padding:38px;box-shadow:0 30px 80px rgba(15,23,42,.12)}
.auth-card h1{margin:0 0 8px;font-size:34px}
.btn.full{width:100%;margin-top:8px}
.alert-danger{background:#fee2e2;color:#991b1b;padding:12px;border-radius:14px;margin:16px 0;font-weight:800}
.auth-link{text-align:center;margin-top:18px;color:#64748b}
.auth-link a{color:#2563eb;font-weight:800}

.footer{text-align:center;color:#64748b;padding:36px}

@media(max-width:900px){
  .hero,.features,.grid,.stats-grid{grid-template-columns:1fr}
  .topbar{padding:0 22px}
  .container{margin-top:24px}
  .hero-content{padding:34px}
  .hero-content h1{font-size:38px}
}