@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
@import url('auth.css');
@import url('brand-fix.css');
@import url('auth-v2.css');
@import url('select-search.css');
@import url('school-catalog.css');
@import url('auth-recovery.css');
@import url('attendance.css');
@import url('resource-classes.css');
@import url('attendance-general.css');
@import url('student-profile.css');
@import url('attendance-signature.css');
@import url('attendance-revisions.css');
@import url('communication.css');
@import url('checklists.css');
@import url('student-documents.css');
@import url('calendar.css');
@import url('student-record.css');
@import url('sidebar-groups.css');
@import url('calendar-compact.css');
@import url('calendar-v2.css');
@import url('sidebar-v2.css');
@import url('responsive-v2.css');
@import url('users.css');
@import url('maintenance.css');
:root{--navy:#0d2747;--blue:#0878cf;--green:#149c63;--ink:#172438;--muted:#68768a;--line:#e6eaf0;--bg:#f5f7fa;--sidebar:250px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);z-index:1040;display:flex;flex-direction:column}.sidebar-brand{height:116px;padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center}.sidebar-brand img{width:100%;height:74px;object-fit:contain}.sidebar nav{padding:18px 12px;display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:10px;color:#526174;text-decoration:none;font-weight:600}.sidebar nav a i{font-size:1.1rem}.sidebar nav a:hover,.sidebar nav a.active{background:#eaf5ff;color:#0572c5}.sidebar-footer{margin-top:auto;padding:18px;border-top:1px solid var(--line)}.sidebar-footer img{width:100%;height:52px;object-fit:contain;margin-bottom:14px}.sidebar-footer button{border:0;background:none;color:#64748b;font-weight:600;width:100%;text-align:left;padding:8px}.page{margin-left:var(--sidebar);min-height:100vh}.topbar{height:116px;background:#fff;border-bottom:1px solid var(--line);padding:22px 34px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1020}.topbar h1{font:800 1.7rem 'Manrope';margin:2px 0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#0878cf;font-weight:700;font-size:.7rem}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e5f4ff;color:#0878cf;font-weight:800}.user-chip div{display:grid}.user-chip small{color:var(--muted)}.content{padding:30px 34px;max-width:1600px;margin:auto}.welcome-panel{min-height:205px;border-radius:22px;padding:32px 38px;background:linear-gradient(115deg,#0e3157,#0878cf);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;box-shadow:0 14px 35px #0b559326}.welcome-panel .eyebrow{color:#8ed3ff}.welcome-panel h2{font:800 2rem 'Manrope';margin:8px 0}.welcome-panel p{opacity:.82;margin:0}.welcome-panel img{height:210px;width:260px;object-fit:contain;filter:drop-shadow(0 12px 20px #001b3b55);transform:translateY(17px)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px;transition:.2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1a3c6512}.stat-card>i:first-child{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:1.3rem}.stat-card div{display:grid;margin-right:auto}.stat-card strong{font:800 1.7rem 'Manrope'}.stat-card span{color:var(--muted);font-size:.88rem}.panel,.lookup-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:0 5px 18px #20334d08}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h3{font:700 1.08rem 'Manrope';margin:3px 0}.panel-head a{font-size:.88rem;font-weight:700;text-decoration:none}.table{margin:0}.table th{font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:#778398;border-bottom-color:var(--line);white-space:nowrap}.table td{font-size:.88rem;border-bottom-color:#eef1f5;vertical-align:middle}.status{padding:5px 9px;background:#e9f8ef;color:#18804d;border-radius:999px;font-size:.76rem;font-weight:700}.empty{text-align:center!important;padding:55px!important;color:var(--muted)!important}.empty i,.empty strong,.empty span{display:block}.empty i{font-size:2rem;margin-bottom:10px}.quick a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;color:#45556b;text-decoration:none;border-bottom:1px solid #f0f2f5}.quick a:hover{background:#f5f9fd;color:#0878cf}.quick a i:last-child{margin-left:auto}.module-toolbar{display:flex;justify-content:space-between;margin-bottom:18px}.search-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 13px;display:flex;align-items:center;width:min(390px,65%)}.search-box input{border:0;outline:0;padding:10px;width:100%;background:transparent}.lookup-card{margin-bottom:18px}.lookup-card>div:first-child{display:flex;gap:12px;align-items:center}.lookup-card>div>i{font-size:1.4rem;color:#0878cf}.lookup-card span{display:block;color:var(--muted);font-size:.85rem}.lookup-card form{display:flex;gap:9px;margin-top:14px}.lookup-card input{max-width:400px}.actions{display:flex;gap:5px}.actions form{display:inline}.form-drawer{position:fixed;inset:0 0 0 auto;width:min(720px,94vw);background:#fff;z-index:1060;transform:translateX(105%);transition:.28s;box-shadow:-15px 0 50px #162c4b26;display:flex;flex-direction:column}.form-drawer.open{transform:translateX(0)}.drawer-overlay{position:fixed;inset:0;background:#10233a70;z-index:1050;display:none}.drawer-overlay.show{display:block}.drawer-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.drawer-head h2{font:800 1.4rem 'Manrope';margin:3px 0}.drawer-close{color:#536174;font-size:1.25rem}.drawer-form{padding:24px 26px;overflow:auto}.drawer-actions{position:sticky;bottom:-24px;background:#fff;border-top:1px solid var(--line);padding:18px 0;margin-top:25px;display:flex;justify-content:flex-end;gap:10px}.form-label{font-weight:700;font-size:.82rem}.form-control,.form-select{border-color:#dce2ea;min-height:43px}.form-control:focus,.form-select:focus{border-color:#45a0e2;box-shadow:0 0 0 .2rem #0b80d51c}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-grid label{border:1px solid var(--line);padding:10px;border-radius:9px;display:flex;gap:8px;align-items:flex-start;font-size:.84rem}.need-group{margin:14px 0}.need-group>strong{display:block;margin-bottom:8px;color:#0878cf}.section-title{display:flex;gap:12px;padding:14px;border-radius:12px;background:#eff8ff}.section-title i{font-size:1.5rem;color:#0878cf}.section-title span{display:block;color:var(--muted);font-size:.8rem}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}.login-body{min-height:100vh;background:#edf3f8}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{padding:55px clamp(35px,7vw,110px);background:linear-gradient(140deg,#061f3a,#096fac);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand>img:first-child{width:min(440px,75%);height:150px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 15px #001a2f66);margin-bottom:35px}.login-brand h1{font:800 clamp(2rem,4vw,3.5rem) 'Manrope';margin:10px 0 18px}.login-brand p{max-width:520px;color:#c4d9ea}.prefeitura-login{position:absolute;bottom:35px;left:clamp(35px,7vw,110px);width:300px;height:75px;object-fit:contain;object-position:left}.login-card{padding:clamp(30px,8vw,120px);display:flex;flex-direction:column;justify-content:center;background:#fff}.login-card h2{font:800 2rem 'Manrope';margin:8px 0}.password-field{position:relative}.password-field button{position:absolute;right:10px;top:8px;border:0;background:none;color:#64748b}.mobile-brands{display:none}.btn-primary{background:#0878cf;border-color:#0878cf}.sidebar-overlay{display:none}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr 1fr}.login-brand{padding:45px}}
@media(max-width:820px){:root{--sidebar:270px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.sidebar-overlay{position:fixed;inset:0;background:#10233a77;z-index:1030}.sidebar.open~.page+.sidebar-overlay{display:block}.page{margin:0}.topbar{height:88px;padding:15px 18px}.topbar h1{font-size:1.25rem}.menu-toggle{display:block}.topbar{justify-content:flex-start;gap:14px}.user-chip{margin-left:auto}.user-chip div{display:none}.content{padding:20px 16px}.welcome-panel{padding:25px;min-height:170px}.welcome-panel img{height:160px;width:180px}.stats-grid{gap:12px}.stat-card{padding:15px}.login-shell{display:block}.login-brand{display:none}.login-card{min-height:100vh;padding:32px;max-width:520px;margin:auto}.mobile-brands{display:block;text-align:center;margin-bottom:30px}.mobile-brands img{max-height:115px;max-width:100%;object-fit:contain}}
@media(max-width:576px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{display:grid;grid-template-columns:auto 1fr}.stat-card>i:last-child{display:none}.welcome-panel img{display:none}.module-toolbar{gap:10px}.module-toolbar .btn{font-size:0;width:45px}.module-toolbar .btn i{font-size:1rem}.search-box{width:calc(100% - 55px)}.lookup-card form{flex-wrap:wrap}.lookup-card form input{width:100%;max-width:none}.data-table thead{display:none}.data-table tr{display:block;padding:12px;border-bottom:1px solid var(--line)}.data-table td{display:flex;justify-content:space-between;border:0;padding:6px}.data-table td:before{content:attr(data-label);font-weight:700;color:#6b778b}.data-table .actions{justify-content:flex-end}.data-table .actions:before{display:none}.check-grid{grid-template-columns:1fr}.user-chip>span{width:38px;height:38px}.topbar .eyebrow{display:none}.welcome-panel h2{font-size:1.6rem}}
