/* SIPAD 1.4.1 · Normalización responsive y accesibilidad táctil */
.nav-panel nav a[aria-current="page"]{color:var(--navy);font-weight:800;box-shadow:inset 0 -2px var(--teal)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}.container{width:100%;flex:1}button,.button,input,select,textarea{font-family:inherit}.primary,.secondary,.danger,.button,button{font-size:15px;line-height:1.25}.primary,.secondary,.danger,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.primary,.secondary,.danger{padding:11px 16px}.link{min-height:44px;padding:8px 4px;font-size:15px;font-weight:600}.nav-toggle{display:none}.nav-panel{display:flex;align-items:center;gap:24px}.nav-panel nav{display:flex;align-items:center;gap:20px}.nav-panel nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;white-space:nowrap}.logout-form{margin:0}.top{z-index:100}.card p,.page-head p{line-height:1.55}.filters input,.filters select,.compact-form input,.compact-form select,.form-stack input,.form-stack select,.teacher-form input,.teacher-form select,.teacher-form textarea,.activity-form input,.activity-form select,.activity-form textarea{min-height:46px;font-size:16px}.activity-form textarea,.teacher-form textarea{min-height:92px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.table-wrap th{position:sticky;top:0;z-index:1}.table-wrap td,.table-wrap th{line-height:1.4}.actions>.button,.actions>button{white-space:normal}.empty{min-height:250px;display:grid;place-content:center}.empty h2{font-size:clamp(24px,6vw,34px)}
@media(max-width:760px){.top{min-height:76px;padding:10px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;flex-wrap:initial}.brand{min-width:0;margin:0}.brand>span{width:48px;height:48px;font-size:26px}.brand b{font-size:19px}.brand small{font-size:13px;white-space:nowrap}.nav-toggle{width:48px;height:48px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f5f9fa;color:var(--navy);display:grid;place-items:center;gap:1px;cursor:pointer}.nav-toggle-label{font-size:10px;font-weight:800}.nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;content:"";transition:.2s}.nav-toggle-icon::before{transform:translateY(-7px)}.nav-toggle-icon::after{transform:translateY(5px)}.menu-open .nav-toggle-icon{background:transparent}.menu-open .nav-toggle-icon::before{transform:translateY(2px) rotate(45deg)}.menu-open .nav-toggle-icon::after{transform:translateY(0) rotate(-45deg)}.nav-panel{display:none;grid-column:1/-1;width:100%;padding:8px 0 6px;border-top:1px solid var(--line)}.menu-open .nav-panel{display:block}.nav-panel nav{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;width:100%;overflow:visible!important}.nav-panel nav a{min-height:46px;padding:10px 12px;border-radius:10px;background:#f5f9fa;font-size:16px}.nav-panel nav a:active{background:#e4f1f4}.logout-form{margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.logout-form .link{width:100%;justify-content:flex-start;text-align:left;padding:10px 12px;color:var(--bad);font-size:16px}.container{padding:24px 16px 48px}.hero,.page-head{margin-bottom:20px;gap:16px}.hero h1,.page-head h1{font-size:clamp(28px,9vw,38px)}.page-head p{margin-bottom:0}.card,.stats article{padding:18px;border-radius:15px}.actions{gap:10px}.actions .button,.actions button{width:100%;font-size:16px;min-height:48px}.primary,.secondary,.danger,.button,button{font-size:16px}.primary,.secondary,.danger,.button{min-height:48px;padding:12px 16px}.filters{gap:12px}.filters input,.filters select{min-height:52px}.filters button{width:100%}.period-row{align-items:flex-start}.period-row form{flex:0 0 auto}.record{grid-template-columns:auto minmax(0,1fr);gap:8px}.record span{grid-column:2}.confirm-bar{bottom:8px;display:grid;grid-template-columns:1fr;gap:10px;text-align:center;padding:12px}.confirm-bar .primary{width:100%}.table-wrap{border-radius:14px}.table-wrap table{min-width:680px}.table-wrap::before{content:"Deslice la tabla para ver más →";display:block;position:sticky;left:0;padding:9px 12px;background:#eaf3f6;color:var(--blue);font-size:13px;font-weight:700}.module-tabs{top:76px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-shell{margin:8px auto}.review-row form>*{width:100%;max-width:none}.mini-grid{grid-template-columns:1fr}footer{padding:24px 18px calc(24px + env(safe-area-inset-bottom));font-size:13px;line-height:1.5}}
@media(max-width:650px){.responsive-table{border:0;background:transparent;overflow:visible}.responsive-table::before{display:none}.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;min-width:0;width:100%}.responsive-table thead{display:none}.responsive-table tr{margin-bottom:14px;padding:8px 16px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 22px rgba(18,48,74,.05)}.responsive-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.responsive-table td:last-child{border:0}.responsive-table td::before{content:attr(data-label);color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.responsive-table td form,.responsive-table .compact-action{width:100%}.compact-empty{min-height:270px}.compact-empty .actions{margin-top:18px}}
@media(max-width:390px){.brand small{max-width:175px;overflow:hidden;text-overflow:ellipsis}.nav-panel nav{grid-template-columns:1fr}.actions{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.responsive-table td{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{transition:none}}
