/* Dashboard escolar gráfico — Colegio Paulo Freire */
.admin-layout{background:#f5f7fb}.school-sidebar{background:#fff!important;color:#273752!important;box-shadow:8px 0 28px rgba(34,52,86,.08)!important;border-right:1px solid #edf0f5}.school-sidebar:before{display:none}.school-brand{border-color:#edf0f5!important;padding:4px 5px 18px!important}.school-brand strong{color:#1d2a42}.school-brand small{color:#8490a7}.sidebar-logo{width:46px!important;height:46px!important;filter:drop-shadow(0 5px 8px rgba(32,42,90,.16))}.nav-section-label{color:#a4adbd;margin:18px 12px 7px}.school-sidebar .nav-link{color:#344867!important;border-radius:16px!important;padding:10px 12px!important;margin:2px 0;font-weight:750!important;gap:10px!important}.school-sidebar .nav-icon{background:transparent!important;width:30px!important;height:30px!important;font-size:1.15rem!important}.school-sidebar .nav-link.active{background:#1d293d!important;color:#fff!important;box-shadow:0 9px 17px rgba(29,41,61,.2)!important}.school-sidebar .nav-link.active .nav-icon{background:rgba(255,255,255,.12)!important}.school-sidebar .nav-link.is-pending{color:#3c506e!important;opacity:1}.school-sidebar .nav-link.is-pending:hover{background:#f2f5f9!important;color:#1d293d!important}.school-sidebar .module-status{display:none}.sidebar-signature{background:#f3f5f9!important;color:#73819a!important}.offcanvas-header{color:#1d293d;border-color:#edf0f5!important}.offcanvas-header .btn-close{filter:none!important}.admin-topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 3px 18px rgba(34,52,86,.055)}
.graphic-welcome{min-height:150px;border-radius:26px;background:linear-gradient(120deg,#1d293d,#273753 72%,#344968);color:#fff;padding:27px 32px;display:flex;align-items:center;position:relative;overflow:hidden;box-shadow:0 14px 28px rgba(29,41,61,.15)}.graphic-welcome:before{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.045);border-radius:50%;right:65px;top:-100px}.welcome-copy{position:relative;z-index:1}.welcome-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.11);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.graphic-welcome h1{font-size:1.8rem;font-weight:850;margin:10px 0 5px}.graphic-welcome p{color:#cbd4e1;margin:0;font-size:.9rem}.graphic-school-logo{position:absolute;right:28px;width:76px!important;height:76px!important;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}.welcome-date{margin-left:auto;margin-right:118px;display:flex;align-items:center;gap:7px;position:relative;z-index:1}.welcome-date span{font-size:2rem;font-weight:900}.welcome-date small{font-weight:800;color:#cbd4e1}
.graphic-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}.graphic-stat{min-height:140px;border-radius:27px;padding:20px;display:flex;align-items:center;gap:16px;border:4px solid;box-shadow:0 7px 0 rgba(42,57,82,.05),0 12px 24px rgba(42,57,82,.05);transition:transform .2s,box-shadow .2s}.graphic-stat:hover{transform:translateY(-3px);box-shadow:0 10px 0 rgba(42,57,82,.045),0 18px 28px rgba(42,57,82,.08)}.stat-students{background:#e3f4ff;border-color:#8ed8ff}.stat-attendance{background:#e2fbef;border-color:#85efb7}.stat-breakfast{background:#fff0dc;border-color:#ffc983}.stat-payments{background:#fff8dc;border-color:#ffe184}.graphic-stat-icon{width:58px;height:58px;flex:0 0 auto;border-radius:18px;background:rgba(255,255,255,.75);display:grid;place-items:center;font-size:1.75rem;box-shadow:0 3px 0 rgba(35,54,85,.08),0 6px 13px rgba(35,54,85,.08)}.graphic-stat-body{min-width:0;flex:1}.graphic-stat-body>small{display:block;color:#243753;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.graphic-stat-body strong{display:block;color:#15233b;font-size:2rem;line-height:1.05;margin:5px 0}.graphic-stat-body>span{display:inline-block;color:#50627d;font-size:.65rem;font-weight:750;background:rgba(255,255,255,.62);border-radius:999px;padding:3px 8px}.mini-progress{height:7px;background:rgba(255,255,255,.65);border-radius:99px;margin-top:10px;overflow:hidden}.mini-progress i{height:100%;display:block;border-radius:99px;background:#19b87c}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:22px}.graphic-panel{background:#fff;border-radius:25px;padding:24px;box-shadow:0 10px 30px rgba(35,52,82,.07);border:1px solid #edf0f5}.graphic-panel header{display:flex;align-items:center;justify-content:space-between}.graphic-panel header>div{display:flex;align-items:center;gap:12px}.panel-emoji{width:44px;height:44px;border-radius:14px;background:#f0f3f8;display:grid;place-items:center;font-size:1.25rem}.graphic-panel header small{display:block;color:#8a96a9;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.graphic-panel h2{font-size:1.05rem;color:#233653;font-weight:850;margin:2px 0}.graphic-panel header button{border:0;background:#f3f5f8;color:#52627b;border-radius:10px;padding:7px 10px;font-size:.7rem}.friendly-empty{min-height:270px;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(180deg,#fbfcfe,#f6f8fb);border-radius:19px;margin-top:20px;padding:25px}.empty-illustration{position:relative;font-size:3.3rem;line-height:1}.empty-illustration i{position:absolute;font-size:1.6rem;right:-20px;top:-5px;transform:rotate(-20deg)}.friendly-empty h3{font-size:1rem;color:#283b57;margin:17px 0 5px;font-weight:850}.friendly-empty p{font-size:.75rem;color:#8490a5;max-width:340px;margin:0}.shortcut-list{display:grid;gap:10px;margin-top:18px}.shortcut-list button{border:0;background:#f7f9fc;border-radius:16px;padding:11px;display:grid;grid-template-columns:42px 1fr 14px;align-items:center;text-align:left;opacity:1}.shortcut-list button:hover{background:#f1f4f9}.shortcut-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:1.1rem}.shortcut-icon.pink{background:#ffe5eb}.shortcut-icon.blue{background:#e1efff}.shortcut-icon.green{background:#def8eb}.shortcut-icon.orange{background:#ffecd9}.shortcut-list button div{display:flex;flex-direction:column}.shortcut-list button b{font-size:.76rem;color:#2b3e5a}.shortcut-list button small{font-size:.63rem;color:#8a95a8}.shortcut-list button i{font-size:1.25rem;color:#a5afbf}
@media(max-width:1250px){.graphic-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.shortcuts-panel .shortcut-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:767.98px){.graphic-welcome{padding:24px}.graphic-school-logo{opacity:.18;right:18px}.welcome-date{display:none}.graphic-metrics{grid-template-columns:1fr 1fr;gap:11px}.graphic-stat{min-height:120px;padding:14px;border-width:3px;gap:10px}.graphic-stat-icon{width:44px;height:44px;font-size:1.3rem}.graphic-stat-body strong{font-size:1.45rem}.dashboard-grid{gap:15px}.graphic-panel{padding:17px}.shortcuts-panel .shortcut-list{grid-template-columns:1fr}}@media(max-width:480px){.graphic-metrics{grid-template-columns:1fr}.graphic-stat{min-height:105px}.graphic-welcome h1{font-size:1.35rem}.graphic-welcome p{font-size:.75rem}}
