*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:#13213a}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#061a3b,#1d64f2)}
.login-card{width:390px;background:white;padding:32px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.login-card h1{margin:0 0 8px;color:#071b3a}
.login-card p{color:#64748b}
label{font-weight:bold;margin-top:14px;display:block}
input,textarea,select{width:100%;padding:12px;border:1px solid #d6deeb;border-radius:10px;margin-top:6px}
button{border:0;background:#1d64f2;color:white;padding:12px 18px;border-radius:10px;font-weight:bold;cursor:pointer}
.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px;margin:10px 0}
.layout{display:flex;min-height:100vh}
aside{width:235px;background:#071b3a;color:white;padding:22px;position:fixed;height:100vh;overflow:auto}
aside h2{font-size:22px;margin:0 0 24px}
aside a{display:block;color:#dbeafe;text-decoration:none;padding:12px;border-radius:10px;margin:5px 0}
aside a:hover,aside a.active{background:#1d64f2;color:white}
main{margin-left:235px;padding:28px;width:calc(100% - 235px)}
h1{margin-top:0;font-size:34px;color:#061a3b}
h2{color:#071b3a}
.muted{color:#64748b}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:22px 0}
.card,.panel{background:white;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.08);border:1px solid #e5eaf3}
.card h3{margin-top:0;color:#0f2b5b}
.card strong{display:block;font-size:28px;color:#1d64f2;line-height:1.2}
.card small{color:#64748b}
.executive{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#ffffff,#eef5ff)}
.executive .label{display:inline-block;background:#dbeafe;color:#1d4ed8;padding:6px 12px;border-radius:999px;font-weight:bold;font-size:13px}
.executive h2{font-size:22px;line-height:1.5;margin-bottom:0}
.score-box{display:flex;gap:12px;min-width:280px}
.score-box div{background:#071b3a;color:white;border-radius:16px;padding:18px;text-align:center;flex:1}
.score-box strong{display:block;font-size:28px}
.score-box small{opacity:.85}
.kpi-cards .card{min-height:128px}
.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.upload-box{border:2px dashed #cbd5e1;border-radius:16px;padding:18px;background:#f8fafc}
.upload-box h3{margin-top:0}
.wide{grid-column:1/-1}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:white}
th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px;vertical-align:top}
th{background:#0f2b5b;color:white}
textarea{font-family:Consolas,monospace}
.notice{padding:14px;border-radius:12px;margin:14px 0;font-weight:bold}
.notice.success{background:#dcfce7;color:#166534;border:1px solid #86efac}
.notice.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.checklist{padding-left:20px}
.checklist li{margin:10px 0}
@media(max-width:900px){
    aside{position:relative;width:100%;height:auto}
    .layout{display:block}
    main{margin-left:0;width:100%}
    .executive{display:block}
    .score-box{margin-top:16px;min-width:0}
    .two-col{grid-template-columns:1fr}
}

.danger-menu{background:#7f1d1d!important;color:#fff!important}
.danger-menu:hover{background:#dc2626!important;color:#fff!important}
