.topbar{gap:18px;flex-wrap:wrap}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-heading{font-size:1.75rem;font-weight:700;margin-bottom:24px}.dash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px}.metric-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:14px;color:var(--bs-body-color);text-decoration:none}.metric-card:hover{border-color:#9c80d5}.metric-card span{font-size:.85rem;color:var(--bs-secondary-color)}.metric-card strong{font-size:1.65rem;letter-spacing:-.03em}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:28px}.dojang-chart{height:240px;width:100%;margin:12px 0}.dojang-chart svg{width:100%;height:100%;overflow:visible}.dojang-chart a:focus{outline:3px solid #a489db}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--bs-secondary-color)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%}main{min-width:0}.table-responsive{overflow-x:auto}form p label{display:block;font-weight:600}form p input,form p select,form p textarea{padding:8px;border-radius:7px;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9c80d5;outline-offset:3px}.permission-grid select{min-width:145px}details summary{cursor:pointer}#dashboard-settings[hidden]{display:none}@media(max-width:700px){.content-shell{padding:18px}.topbar{padding:12px}.topbar-right{width:100%}.metric-card{padding:14px}.metric-card strong{font-size:1.35rem}.chart-grid{grid-template-columns:1fr}.page-heading{font-size:1.4rem}}
.main-shell{flex:1;min-width:0}.content-shell{padding:30px clamp(16px,3vw,42px)}.topbar{display:flex;justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--bs-border-color);background:var(--bs-body-bg)}.mobile-menu{display:none}@media(max-width:767px){.mobile-menu{display:inline-block}.content-shell{padding:18px}.main-shell{width:100%}}.chart-grid>div{min-width:0}.dashboard-section{min-width:0}.dashboard-section table{overflow-wrap:anywhere}.config-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.topbar-right{min-width:0;max-width:100%}#school-switch{min-width:0;max-width:100%}#school-selector{min-width:0}@media(max-width:700px){#school-switch{width:100%}#school-selector{width:0;flex:1}.dash-toolbar form{max-width:100%}.dash-toolbar label{min-width:0}}
.metric-card{min-height:110px}@media print{.sidebar,.topbar,.dash-toolbar,#dashboard-settings,.print-report,button{display:none!important}.app-shell,.main-shell{display:block;width:100%}.content-shell{padding:0}body,.card,.metric-card{background:white!important;color:black!important;box-shadow:none!important}a{color:black!important;text-decoration:none}.card{break-inside:avoid;border:1px solid #ddd;margin:12px 0!important;padding:12px!important}.metric-card{min-height:0;padding:8px}.metric-card span{color:#333!important}.chart-grid{grid-template-columns:1fr 1fr}.dojang-chart{height:160px}table{font-size:10pt}}
/* Los controles no disponibles se distinguen en todos los formularios. */
input:disabled,select:disabled,textarea:disabled,button:disabled,.form-control:disabled,.form-select:disabled,fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background-color:#e1e4e9!important;color:#424955!important;border-color:#aeb5bf!important;opacity:1!important;cursor:not-allowed!important;-webkit-text-fill-color:#424955!important}
[data-bs-theme="dark"] input:disabled,[data-bs-theme="dark"] select:disabled,[data-bs-theme="dark"] textarea:disabled,[data-bs-theme="dark"] button:disabled{background-color:#454b55!important;color:#e2e6ed!important;border-color:#737d8b!important;-webkit-text-fill-color:#e2e6ed!important}
