:root{
    --ink:#102a43;
    --muted:#62748a;
    --line:#d6e4f5;
    --paper:#ffffff;
    --soft:#f1f7ff;
    --brand:#0d6efd;
    --brand-2:#0b5ed7;
    --brand-dark:#084298;
    --accent:#ffc107;
    --danger:#b42318;
    --success:#1f7a4d;
    --warning:#9a6700;
    --shadow:0 10px 25px rgba(13,110,253,.10);
}
*{box-sizing:border-box}
html{font-size:16px}
body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    line-height:1.55;
    background:linear-gradient(180deg,#f8fbff 0%,#edf5ff 100%);
    color:var(--ink);
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{
    position:sticky;top:0;z-index:10;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;padding:.75rem clamp(1rem,3vw,2rem);
}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-mark{
    width:2.55rem;height:2.55rem;border-radius:.8rem;
    display:grid;place-items:center;color:white;font-weight:800;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    box-shadow:var(--shadow);
}
.brand small{display:block;color:var(--muted);font-size:.78rem;font-weight:500}
.nav{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.nav a{padding:.55rem .75rem;border-radius:999px;color:var(--ink);font-weight:600;font-size:.94rem}
.nav a:hover,.button-nav{background:var(--soft);text-decoration:none}
.button-nav{border:1px solid var(--line)}
.menu-toggle{display:none}
.container{width:min(1120px,94vw);margin:2rem auto 3rem}
.hero{
    background:linear-gradient(135deg,#ffffff 0%,#e8f2ff 100%);
    border:1px solid var(--line);border-radius:1.25rem;padding:clamp(1.25rem,4vw,2.5rem);
    box-shadow:var(--shadow);
}
.hero h1{margin:.2rem 0 .5rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}
.hero p{max-width:780px;color:var(--muted);font-size:1.08rem}
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
    background:var(--paper);border:1px solid var(--line);border-radius:1rem;padding:1.1rem;
    box-shadow:var(--shadow);
}
.card h2,.card h3{margin-top:0}
.kpi{font-size:2rem;font-weight:800;color:var(--brand)}
.muted{color:var(--muted)}
.badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:.82rem;color:var(--ink)}
.badge-danger{background:#fff4f2;color:var(--danger);border-color:#ffd7d1}
.badge-success{background:#eefbf4;color:var(--success);border-color:#cdebdc}
.badge-warning{background:#fff8e5;color:var(--warning);border-color:#fde7aa}
form{display:grid;gap:.85rem}
label{font-weight:700}
input,select,textarea{
    width:100%;padding:.75rem .85rem;border:1px solid #c9d8e4;border-radius:.8rem;
    font:inherit;background:white;color:var(--ink);
}
textarea{min-height:120px;resize:vertical}

input:focus,select:focus,textarea:focus{
    outline:3px solid rgba(13,110,253,.18);
    border-color:var(--brand);
}
button,.button{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    padding:.75rem 1rem;border:0;border-radius:.85rem;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:white;font-weight:800;cursor:pointer;text-decoration:none;
}
button:hover,.button:hover{text-decoration:none;filter:brightness(.98)}
.button-secondary{background:#eaf3ff;color:var(--ink);border:1px solid var(--line)}
.button-danger{background:var(--danger)}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.alert{padding:.9rem 1rem;border-radius:.9rem;border:1px solid var(--line);margin-bottom:1rem;background:white}
.alert-success{border-color:#bfe5cf;background:#effaf4;color:var(--success)}
.alert-warning{border-color:#f7d88d;background:#fff8e7;color:var(--warning)}
.alert-danger{border-color:#fac1bc;background:#fff3f1;color:var(--danger)}
.alert-info{border-color:#bfe1ec;background:#eef9fc;color:var(--brand)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:1rem;background:white;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:720px}
th,td{padding:.75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f4f8ff;color:#123d73;font-size:.9rem}
tr:last-child td{border-bottom:0}
.question-box{border-left:4px solid var(--brand);padding:1rem;background:#f8fbff;border-radius:.8rem;margin-bottom:1rem}
.feedback{background:#f8fbff;border:1px solid var(--line);border-radius:1rem;padding:1rem;margin-top:1rem}
.score{font-size:1.4rem;font-weight:800;color:var(--brand)}
.footer{text-align:center;color:var(--muted);padding:2rem 1rem;border-top:1px solid var(--line)}
.inline-form{display:inline}
.check-list{display:grid;gap:.55rem;max-height:420px;overflow:auto;padding:.5rem;border:1px solid var(--line);border-radius:.8rem;background:#fbfdff}
.check-row{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;padding:.45rem;border-bottom:1px solid #e8f1ff}
.check-row:last-child{border-bottom:0}
.terms{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:.8rem;padding:.8rem;background:#fbfdff;color:var(--muted)}
@media(max-width:760px){
    .topbar{align-items:flex-start}
    .menu-toggle{display:inline-flex;background:#eaf3ff;color:var(--ink);border:1px solid var(--line);padding:.5rem .8rem}
    .nav{display:none;position:absolute;right:1rem;top:4.2rem;width:min(320px,92vw);background:white;border:1px solid var(--line);border-radius:1rem;padding:.6rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
    .nav.open{display:flex}
    .nav a{border-radius:.7rem}
    .grid-2,.grid-3{grid-template-columns:1fr}
    .container{margin-top:1rem}
    .actions{flex-direction:column;align-items:stretch}
    .actions .button,.actions button{width:100%}
}
