:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#162c29;background:#f2f6f4}*{box-sizing:border-box}body{margin:0}header{background:#124b37;color:white}.shell{max-width:1160px;padding:20px;margin:0 auto}.top{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.top span{opacity:.8;font-size:13px}main{min-height:75vh}h1{font-size:28px;margin:0 0 12px}h2{font-size:20px;margin:12px 0}p{line-height:1.6}.card{background:white;border:1px solid #dce6e1;border-radius:14px;padding:24px;margin:12px 0 24px;box-shadow:0 3px 12px #133e2b0b}.narrow{max-width:560px;margin:28px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}label{display:block;font-weight:600;margin:14px 0 7px}input,select{display:block;width:100%;margin-top:6px;border:1px solid #b5c8c0;border-radius:9px;padding:12px;font:inherit;background:white}input[type=radio],input[type=checkbox]{width:auto;display:inline-block;margin:0 8px 0 0}button,.btn{display:inline-block;background:#166344;color:white;border:0;padding:12px 18px;border-radius:9px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e8f0eb;color:#17523b}.danger{background:#9e3030}.muted{color:#61746d;font-size:14px}.error{background:#fff1ee;color:#932b21;padding:12px;border-radius:8px;margin:12px 0}.ok{background:#e0f4e7;padding:12px;border-radius:8px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px;border-bottom:1px solid #d8e4de;text-align:left}th{background:#e9f0ec}.choice{display:block;border:1px solid #d9e5df;border-radius:10px;padding:14px;margin:10px 0;cursor:pointer;font-weight:400}.choice:has(input:checked){border-color:#166344;background:#e9f6ee}.passage{white-space:pre-wrap;background:#f5f8f6;border-left:4px solid #166344;padding:16px;line-height:1.6;margin:15px 0}.question{font-size:19px;line-height:1.6}.pill{display:inline-block;background:#e7f1eb;color:#13533a;border-radius:100px;padding:5px 10px;font-size:12px}.timer{font-size:25px;font-weight:750;letter-spacing:1px}.timer.warning{color:#ae2626}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.admin-form label{margin:2px 0}.admin-form input,.admin-form select{padding:9px}.admin-form button{align-self:end}footer{font-size:12px;color:#677970}@media(max-width:620px){.shell{padding:14px}.card{padding:17px}h1{font-size:23px}.top span{display:none}.question{font-size:17px}button{width:100%}.toolbar>*{flex:1}}

.install-banner{position:fixed;bottom:14px;left:12px;right:12px;max-width:550px;margin:auto;z-index:9999;background:#fff;border:1px solid #ccd4ce;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;box-shadow:0 4px 28px #0003}.install-banner span{flex:1;min-width:180px}.install-banner button{width:auto;white-space:nowrap}@media(max-width:600px){.install-banner{bottom:8px;padding:10px}.install-banner button{font-size:14px}}

/* Actualizacion compacta del administrador, independiente del examen del estudiante */
body:has(.admin-form) main.shell{max-width:1240px}
body:has(.admin-form) .card{padding:17px 19px;margin:10px 0 16px}
body:has(.admin-form) section.card section.card{padding:14px 15px;margin:10px 0;box-shadow:none}
body:has(.admin-form) h1{font-size:25px}
body:has(.admin-form) h2{font-size:17px;line-height:1.35}
body:has(.admin-form) label{font-size:13px;margin:5px 0 4px}
body:has(.admin-form) input,body:has(.admin-form) select{padding:8px 10px;font-size:13px;min-height:37px}
body:has(.admin-form) .admin-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;align-items:end}
body:has(.admin-form) button,body:has(.admin-form) .btn{font-size:13px;padding:8px 11px;width:auto;min-height:36px;line-height:1.3}
body:has(.admin-form) .admin-form button{justify-self:start}
body:has(.admin-form) .table-wrap table{font-size:12px}
body:has(.admin-form) .table-wrap th,body:has(.admin-form) .table-wrap td{padding:8px 9px;white-space:nowrap}
body:has(.admin-form) .table-wrap td:nth-child(4){white-space:normal;min-width:210px}
body:has(.admin-form) .toolbar input{margin-top:0}
@media(max-width:700px){
body:has(.admin-form) .admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}
body:has(.admin-form) .card{padding:13px}
body:has(.admin-form) .admin-form button{width:100%;grid-column:1/-1}
body:has(.admin-form) .toolbar form{min-width:100%;flex-wrap:wrap}
body:has(.admin-form) .toolbar form button{width:auto}
body:has(.admin-form) .toolbar>a.btn{width:auto}
}
@media(max-width:390px){body:has(.admin-form) .admin-form{grid-template-columns:1fr}}

/* Ajuste final de interfaz sin modificar evaluación ni base de datos */
.sim-pwa-box{position:fixed;z-index:9999;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));max-width:440px;margin:auto;background:white;border:1px solid #b6d1c4;border-radius:14px;padding:11px;box-shadow:0 7px 30px #0003;display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4}
.sim-pwa-box span{flex:1;min-width:0}.sim-pwa-box button{width:auto;flex:none;margin:0;min-height:36px;padding:8px 10px;font-size:13px}.sim-pwa-box .sim-pwa-dismiss{background:#eef2ef;color:#245541}
@media(max-width:420px){.sim-pwa-box{flex-wrap:wrap}.sim-pwa-box span{flex-basis:100%}.sim-pwa-box button{flex:1}}
@media(max-width:620px){.narrow{margin:12px auto}.narrow.card{padding:18px}.narrow h1{font-size:23px}.narrow input{min-height:44px}.narrow p{font-size:15px;line-height:1.5}}
body:has(.admin-form) .table-wrap{max-width:100%;overflow-x:auto}body:has(.admin-form) .table-wrap .danger{white-space:nowrap}
