:root{
  --bg:#f8f7f2;
  --ink:#1a1e24;
  --brand:#0d6a7e;
  --accent:#f4a261;
  --muted:#5b6270;
  --card:#ffffff;
  --ok:#1f8a42;
  --warn:#c77700;
  --bad:#b22d2d;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f7f4ea,#f5f9fb);color:var(--ink)}
a{color:var(--brand);text-decoration:none}
.container{max-width:1080px;margin:0 auto;padding:16px}
.topbar{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:20}
.brand{font-weight:700;font-size:20px}
.grid{display:grid;gap:12px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border:1px solid #e6e6e6;border-radius:14px;padding:14px;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 14px;border-radius:10px;border:none;cursor:pointer}
.btn-secondary{background:#374151}
.progress-wrap{background:#e9edf1;border-radius:30px;overflow:hidden;height:16px}
.progress-fill{height:16px;background:linear-gradient(90deg,var(--brand),#2aa4bf);transition:width .4s ease}
.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#eef5f7;color:#225}
.risk{color:var(--bad);font-weight:600}
.ok{color:var(--ok);font-weight:600}
.warn{color:var(--warn);font-weight:600}
input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:10px;background:#fff}
label{font-size:13px;color:#444}
.small{font-size:12px;color:var(--muted)}
.footer{padding:30px 0;color:#666}
@media (max-width:700px){.container{padding:12px}.brand{font-size:18px}}
