/* Estilos propios de la web (ingreso, Cuentas, permisos por rol en pantalla). */
html.gated .wrap{visibility:hidden}
.gate{position:fixed;inset:0;z-index:1000;background:#f3f5f8;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:8vh 16px 32px}
.gate.cuentas{background:rgba(20,33,58,.45);padding-top:5vh}
.gatebox{width:100%;max-width:400px;background:#fff;border:1px solid #d9dfe8;border-radius:14px;padding:26px 24px;box-shadow:0 12px 40px rgba(20,33,58,.12)}
.gatebox.wide{max-width:880px}
.gatebrand{font-family:var(--display,sans-serif);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#5b6780}
.gatebox h1{margin:4px 0 16px;font-size:1.35rem}
.gatetabs{display:flex;gap:4px;border-bottom:1px solid #d9dfe8;margin-bottom:16px}
.gatetabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#5b6780;padding:8px 12px;margin-bottom:-1px;font:inherit;cursor:pointer}
.gatetabs button[aria-selected="true"]{color:#14213a;border-bottom-color:#1f5fbf;font-weight:600}
.gateform{display:flex;flex-direction:column;gap:12px}
.gatefield{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:#5b6780;font-weight:600}
.gatefield input{font:inherit;font-size:16px;font-weight:400;color:#14213a;padding:10px 12px;border:1px solid #d9dfe8;border-radius:8px}
.gatefield input:focus{outline:2px solid #1f5fbf;outline-offset:1px}
.gateform button.primary{padding:11px;font-size:15px}
.gatehelp{margin:0 0 4px;color:#5b6780;font-size:.85rem}
.gatemsg{margin:0;font-size:.88rem;min-height:1.2em}
.gatemsg.bad{color:#d0312d}
.gatemsg.good{color:#0f7b4f}

.userbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.useremail{font-size:.8rem;color:var(--muted)}
.userrole{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.userrole.role-admin{background:#14213a;color:#fff}

.cthead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cthead h1{margin:0}
.ctadd{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}
.ctadd input{flex:1 1 220px;font:inherit;padding:7px 10px;border:1px solid #d9dfe8;border-radius:8px}
.ctadd select{font:inherit;padding:6px 8px;border:1px solid #d9dfe8;border-radius:8px}
.ctcode{margin:12px 0;padding:14px;border-radius:10px;background:#e3ecfa}
.ctcode p{margin:0 0 6px}
.ctbig{font-family:ui-monospace,Menlo,monospace;font-size:2rem;font-weight:700;letter-spacing:.25em;color:#14213a;margin:4px 0 6px}
.ctcode pre{white-space:pre-wrap;background:#fff;border:1px solid #d9dfe8;border-radius:8px;padding:10px;font-size:.82rem;margin:8px 0}
.ctlist{overflow-x:auto;margin-top:10px}
.cttable{width:100%;border-collapse:collapse;font-size:.85rem}
.cttable th{text-align:left;color:#5b6780;font-weight:600;border-bottom:1px solid #d9dfe8;padding:6px 8px;white-space:nowrap}
.cttable td{border-bottom:1px solid #e8ecf2;padding:7px 8px;vertical-align:middle;text-align:left}
.cttable tr.off td{color:#8a93a6}
.ctacts{display:flex;gap:6px;flex-wrap:wrap}
.ctacts button.danger{color:#d0312d}
.ctacts button.danger.armed{background:#d0312d;border-color:#d0312d;color:#fff}

/* aviso de cambios por semana al subir data */
.weekdiff{margin:6px 0 10px;padding:8px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:6px}
.weekdiff p{margin:2px 0}
.weekdiff p.wchg{color:#b45309;font-weight:600}

/* ---- Respaldo manual: solo administrador ---- */
html:not(.role-admin) #bkDown,html:not(.role-admin) #bkUp,html:not(.role-admin) #bkNote,
html:not(.role-admin) .backup>.label:first-child{display:none!important}

/* ---- Imagine: lo ve, pero bloqueado ("Solo el administrador") ---- */
html.imag #audDrop,html.imag #audDel,html.imag #audClear,html.imag .ejdel,html.imag .secdel,html.imag .secadd,html.imag .sechead select{pointer-events:none;opacity:.45}
html.imag #audDrop{position:relative}
html.imag #audDrop::after{content:"Solo el administrador puede subir data";display:block;margin-top:6px;font-weight:700;color:#14213a}
html.imag #audDel::after,html.imag #audClear::after,html.imag .ejdel::after,html.imag .secdel::after,html.imag .secadd::after{content:" · Solo el administrador";font-weight:400}

/* ---- Lectura: no aparece lo que no puede usar ---- */
html.ro #drop,html.ro #resetBtn,html.ro #folderActions,html.ro #mixReset,html.ro #yearBtn,html.ro .yearlbl,
html.ro #audEjBar button,html.ro .secadd,html.ro .secdel,html.ro #modAud .linkbtn,html.ro .evx,html.ro .aibtn,
html.ro #audClearBox,html.ro #audNewBtn{display:none!important}
html.ro #planCh select,html.ro #planPg select,html.ro #mixManual{pointer-events:none}
html.ro .evform{display:none!important}
