/* Tema IES José Marín para AseoControl: se carga DESPUÉS de style.css y rehace la paleta de toda la app */
:root{--paper:#F3F6FA;--panel:#fff;--ink:#12304F;--ink-soft:#5B6B80;--teal:#2463A6;--teal-dark:#173B65;--teal-bg:#E6EFF9;--line:#DCE5EF;
--green:#0E7C78;--green-bg:#E2F5F3;--amber:#8A5A00;--amber-bg:#FEF3DC;--red:#B4372B;--red-bg:#FCE9E6;
--blue-profesor:#2463A6;--pink-profesor:#A8447E;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
body{font-family:var(--sans)}
.card{border-radius:16px;box-shadow:0 1px 2px rgba(23,59,101,.06),0 10px 28px rgba(23,59,101,.07)}
.btn{border-radius:10px}.btn-primary{background:var(--teal-dark);border-color:var(--teal-dark)}.btn-primary:hover{background:var(--teal)}
.navlink.active{background:#173B65}.auth-card{border-top-color:#F0B44D}.auth-body{background:#173B65}
header.topbar{background:linear-gradient(105deg,#173B65,#1A4577 58%,#215F9A);color:#fff}
header.topbar h2,header.topbar .sub{color:#fff}
.pill-green{background:#E2F5F3;color:#0B5C58}.pill-amber{background:#FEF3DC;color:#7A5000}
/* Móvil */
body.mobile-body{background:var(--paper)}
.mobile-body .grow{flex:1;min-width:0}.mobile-body .big{font-size:22px;font-weight:700}
.m-head{position:sticky;top:0;z-index:6;background:linear-gradient(105deg,#173B65,#1A4577 58%,#215F9A);color:#fff;border-radius:0 0 22px 22px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 22px rgba(23,59,101,.18)}
.m-brand{display:flex;align-items:center;gap:10px}.m-brand b{display:block;font-size:16px;font-weight:800}.m-brand small{display:block;font-size:11px;opacity:.85;letter-spacing:.06em}
.m-crest{width:40px;height:40px;border-radius:50%;background:#fff;color:#173B65;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.m-crest img{width:100%;height:100%;object-fit:cover}
.m-chip{color:#fff;text-decoration:none;font-weight:600;font-size:12px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);border-radius:999px;padding:8px 14px}
.m-main{padding:14px 14px 170px;max-width:520px;margin:0 auto}
.m-hola{margin:4px 0 2px;font-size:20px;color:#173B65}
.m-estado{margin:0 0 14px;font-size:13px;font-weight:600}.m-estado.ok{color:var(--green)}.m-estado.warn{color:var(--amber)}
.m-aseos{display:flex;gap:10px;margin-bottom:14px}
.m-aseo{flex:1;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(23,59,101,.06)}
.m-aseo-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.m-ico{width:38px;height:38px;border-radius:12px;background:#F3F6FA;display:flex;align-items:center;justify-content:center;font-size:20px}
.m-bar{height:8px;background:#EDF1F7;border-radius:9px;overflow:hidden}.m-bar i{display:block;height:100%;background:var(--c);border-radius:9px;transition:width .4s}
.m-filtros{display:flex;gap:8px;margin-bottom:4px}.m-filtros select{flex:1.1;min-height:44px;border-radius:12px}.m-filtros input{flex:1;min-height:44px;border-radius:12px}
.m-h2{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:16px 4px 8px}
.m-list{padding:0;overflow:hidden}
.m-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.m-row:last-child{border-bottom:0}.m-row.amber{background:var(--amber-bg)}
.nm{font-weight:600;font-size:14px}.sub{font-size:12px;color:var(--ink-soft)}
.m-go{border:0;border-radius:12px;min-height:44px;padding:0 14px;font-family:var(--sans);font-weight:700;font-size:13px;color:#fff;cursor:pointer;flex:none}
.m-go:active{transform:scale(.97)}.m-go.bo{background:#2463A6}.m-go.ch{background:#A8447E}.m-go.neutral{background:#5B6B80}
.m-go.back{background:#fff;color:#173B65;border:2px solid #173B65}.m-go.gold{background:#F0B44D;color:#12304F}
.m-msg{border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:13px;font-weight:600;background:#fff;border:1px solid var(--line)}
.m-msg.ok{background:var(--green-bg);color:#0B5C58}.m-msg.err{background:var(--red-bg);color:var(--red)}.m-msg.warn{background:var(--amber-bg);color:var(--amber)}
.m-undo{position:fixed;left:12px;right:12px;bottom:84px;max-width:496px;margin:0 auto;background:#173B65;color:#fff;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:0 10px 28px rgba(23,59,101,.35);z-index:9}
.m-nav{position:fixed;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;background:#fff;border-top:1px solid var(--line);display:flex;z-index:10;padding-bottom:env(safe-area-inset-bottom)}
.m-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;border-top:3px solid transparent;background:none;padding:9px 4px 10px;min-height:56px;font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink-soft)}
.m-nav button.on{color:#173B65;border-top-color:#F0B44D}
.m-avatar{width:52px;height:52px;border-radius:50%;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;margin:0 auto 10px}
/* Escritorio: saludo y estado del panel del profesorado */
.prof-hola{margin:0 0 2px;font-size:22px;color:#173B65}
.prof-estado{margin:0 0 16px;font-size:13.5px;font-weight:600}.prof-estado.ok{color:var(--green)}.prof-estado.warn{color:var(--amber)}
.prof-progress-fill{border-radius:20px}

/* ===== Marca del centro: logo SVG, banners y fondo (de marca.js) ===== */
.ies-fondo{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ies-fondo svg{width:100%;height:100%;display:block}
.ies-logo svg{height:100%;width:auto;display:block}
.sidebar{z-index:2}main{position:relative;z-index:1}.m-main{position:relative;z-index:1}
.ies-deco{position:absolute;inset:0;z-index:-1;pointer-events:none}.ies-deco svg{width:100%;height:100%;display:block}
.m-head{isolation:isolate;overflow:hidden}
.m-crest{background:none!important;border-radius:0!important;width:46px;height:46px;overflow:visible}.m-crest svg{width:100%;height:100%;display:block}
.brand .mark{background:none!important;border-radius:0!important;width:44px;height:44px;overflow:visible}.brand .mark svg{width:100%;height:100%;display:block}
body.role-profesor header.topbar,header.topbar{position:sticky;isolation:isolate;overflow:hidden;border-radius:0 0 26px 26px;border-bottom:0;background:linear-gradient(105deg,#173B65,#1A4577 58%,#215F9A)}
header.topbar .sub{color:rgba(255,255,255,.85)}
.auth-body{position:relative;overflow:hidden}.auth-deco{position:fixed;inset:0;z-index:0;pointer-events:none}.auth-deco svg{width:100%;height:100%;display:block}
.auth-card{position:relative;z-index:1}.auth-logo{height:74px;margin:0 0 14px}
@media print{.ies-fondo{display:none}}

/* Móvil: una sola pantalla */
.m-main{padding-bottom:40px!important}
.m-btns{display:flex;gap:6px;flex:none}.m-go.sm{padding:0 11px;font-size:12px;min-height:44px}
.m-foot{text-align:center;margin-top:20px;font-size:12px;color:var(--ink-soft)}.m-foot a{color:var(--teal-dark);font-weight:600;text-decoration:none}
.m-filtros{margin-top:16px}
.btn{white-space:nowrap}.gcount{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
