*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial;color:#102d4a;background:#f4f7fb}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app{display:grid;grid-template-columns:272px 1fr;min-height:100vh}.sidebar{background:#082d4e;color:#e9f2fa;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{height:104px;padding:20px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:white}.brand strong{display:block;font-size:18px}.brand small{display:block;color:#a9bfd2;font-size:11px;margin-top:3px}.sidebar nav{padding:16px 12px;overflow:auto;flex:1}.nav-section{display:block;font-size:10px;font-weight:800;letter-spacing:1.7px;color:#fff;margin:20px 13px 9px}.sidebar nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 13px;border-radius:12px;color:#e7f0f8;margin:3px 0;font-size:14px}.sidebar nav a i{width:23px;text-align:center;font-style:normal;color:#bcd0df}.sidebar nav a:hover,.sidebar nav a.active{background:#124466;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 0 #50b4ea}.sidebar nav a.future{opacity:.58;cursor:default}.sidebar nav a em{margin-left:auto;font-size:9px;font-style:normal;color:#86a6bc}.logout{padding:12px}.logout button{width:100%;border:1px solid rgba(255,255,255,.15);background:#153f61;color:#fff;border-radius:12px;padding:13px;text-align:left;font-weight:700}.main{min-width:0}.topbar{height:80px;background:white;border-bottom:1px solid #dfe8f0;display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:10}.topbar b,.topbar small{display:block}.topbar small{color:#7890a6;margin-top:2px}.top-actions a{background:#edf5fb;color:#09619c;padding:12px 16px;border-radius:12px;font-weight:700}.content{padding:34px 40px 60px;max-width:1500px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head h1{font-size:34px;margin:4px 0 6px;color:#082d4e}.page-head p{margin:0;color:#647f98}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.6px;color:#1676b8}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.green{background:#e2f5e8;color:#14733d}.badge.red{background:#fde8e8;color:#ad2929}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats article,.card{background:white;border:1px solid #dde7f0;border-radius:18px;box-shadow:0 8px 28px rgba(27,64,95,.05)}.stats article{padding:22px}.stats b{display:block;font-size:30px;color:#0c5e96}.stats span{font-size:13px;color:#6d8499}.card{padding:24px;margin-bottom:22px}.card h2{margin:0 0 18px;font-size:20px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module{border:1px solid #e0e9f1;border-radius:15px;padding:19px;background:#fbfdff}.module>span{font-size:11px;font-weight:800;color:#1676b8}.module h3{margin:8px 0 6px}.module p{font-size:13px;line-height:1.55;color:#6c8295;min-height:60px}.module b{font-size:11px;color:#8a9dac}.split{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e8eef4;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#71879b}td small{display:block;color:#7890a6;margin-top:3px}.form{display:grid;gap:15px}.form label{font-size:12px;font-weight:800;color:#405d75}.form input,.form select{display:block;width:100%;margin-top:7px;border:1px solid #ccdbe7;border-radius:11px;padding:12px 13px;background:#fff;color:#173650}.grid2{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}.btn{border:0;border-radius:11px;padding:12px 17px;font-weight:800;cursor:pointer}.btn.primary{background:#0f68a5;color:white}.flash{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-weight:700;font-size:13px}.flash.success{background:#e4f6ea;color:#17683d}.flash.error{background:#fde8e8;color:#9b2929}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.role{border:1px solid #e0e9f1;border-radius:14px;padding:17px}.role h3{margin:0 0 8px}.role p{color:#71879a;font-size:13px;min-height:40px}.role span{font-size:11px;font-weight:800}.permission-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permission-list div{padding:13px;background:#f7fafc;border-radius:10px}.permission-list b,.permission-list span{display:block}.permission-list span{font-size:11px;color:#71879a;margin-top:3px}.integration-box{padding:18px;background:#f5f9fc;border-radius:14px;margin-bottom:16px}.integration-box span,.integration-box strong{display:block}.integration-box strong{margin:4px 0 10px}.integration-box p{color:#6a8194;line-height:1.5}.checklist{padding-left:20px;line-height:2;color:#48677f}.auth-body{min-height:100vh;background:linear-gradient(135deg,#062b4b,#0c4e7b);display:grid;place-items:center;padding:30px}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:white;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25)}.auth-brand{background:#082d4e;color:white;padding:55px;display:flex;flex-direction:column;justify-content:center}.auth-brand img{width:82px;height:82px;border-radius:50%;object-fit:cover;margin-bottom:22px}.auth-brand span{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#9ed1ef}.auth-brand h1{font-size:38px;margin:8px 0 12px}.auth-brand p{color:#c7d8e5;line-height:1.65}.auth-card{padding:55px;align-self:center}.login-head span{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#1676b8}.login-head h2{font-size:30px;margin:7px 0}.login-head p{color:#71879a;margin:0 0 24px}.login-foot{display:block;margin-top:20px;color:#8498aa}@media(max-width:1000px){.app{grid-template-columns:82px 1fr}.brand div,.sidebar nav a:not(.active){font-size:0}.brand{padding:14px}.nav-section{font-size:0;margin:8px}.sidebar nav a{justify-content:center}.sidebar nav a i{font-size:18px}.sidebar nav a em{display:none}.stats,.module-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.content{padding:24px 18px}.topbar{padding:0 18px}.stats,.module-grid,.grid2,.role-grid,.permission-list{grid-template-columns:1fr}.app{grid-template-columns:1fr}.sidebar{display:none}.page-head{flex-direction:column}}

/* Sprint 6.0.2 — Pessoas e Cadastros */
.filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.filter-bar label{font-size:12px;font-weight:800;color:#405d75}.filter-bar input,.filter-bar select,.form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccdbe7;border-radius:11px;padding:12px 13px;background:#fff;color:#173650;font:inherit}.filter-bar .btn{margin-bottom:0;background:#e9f2f8;color:#0b527f}.badge.blue{background:#e1f1fb;color:#0b639d}.badge.muted{background:#edf1f4;color:#667d90}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.table-link{font-weight:800;color:#0e68a5;white-space:nowrap}.empty{text-align:center!important;color:#7890a6;padding:30px!important}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#edf3f7;color:#244a67}.form textarea{resize:vertical}.form-card.wide{max-width:980px}.profile-checks{border:1px solid #d9e5ee;border-radius:14px;padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.profile-checks legend{padding:0 8px;font-size:12px;font-weight:800;color:#405d75}.check{display:flex!important;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e6edf3;border-radius:11px;background:#fafcfe}.check input{width:auto!important;margin:3px 0 0!important}.check span,.check b,.check small{display:block}.check small{font-weight:400;color:#71879a;margin-top:3px;line-height:1.4}.form-actions{display:flex;gap:10px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.person-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px;align-items:start}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-grid>div{padding-bottom:14px;border-bottom:1px solid #edf2f6}.detail-grid span,.notes-box span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#7890a6;margin-bottom:6px}.detail-grid b{font-size:14px}.notes-box{margin-top:20px;padding:16px;background:#f7fafc;border-radius:12px}.notes-box p{margin:0;line-height:1.6}.muted-text{color:#7890a6;font-size:13px}.record-list{display:grid;gap:9px}.record-list article{padding:13px 14px;border:1px solid #e3ebf2;border-radius:12px;background:#fbfdff}.record-list b,.record-list span,.record-list small{display:block}.record-list span{font-size:13px;color:#526f86;margin-top:4px}.record-list small{font-size:11px;color:#8497a8;margin-top:4px}.record-list.compact article{padding:11px 12px}.inline-form{margin-top:15px;border-top:1px solid #edf2f6;padding-top:13px}.inline-form summary{cursor:pointer;color:#0e68a5;font-weight:800;font-size:13px;margin-bottom:14px}.check-line{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.check-line input{width:auto!important;margin:0!important}.timeline{display:grid;gap:0}.timeline article{display:grid;grid-template-columns:14px 1fr;gap:9px;position:relative;padding-bottom:16px}.timeline article:after{content:"";position:absolute;left:5px;top:13px;bottom:0;width:1px;background:#dce7ef}.timeline article:last-child:after{display:none}.timeline i{width:11px;height:11px;border-radius:50%;background:#1676b8;margin-top:3px;z-index:1}.timeline b,.timeline span{display:block}.timeline b{font-size:12px}.timeline span{font-size:10px;color:#8497a8;margin-top:3px}.module-active{border-color:#abd8f3;background:#f3faff}.module-active b{color:#197244}.card-head{display:flex;align-items:center;justify-content:space-between}
@media(max-width:1000px){.filter-bar{grid-template-columns:1fr 1fr}.person-layout{grid-template-columns:1fr}.profile-checks{grid-template-columns:1fr}}
@media(max-width:720px){.filter-bar,.detail-grid{grid-template-columns:1fr}.page-actions{width:100%}.page-actions .btn{flex:1}}

/* Sprint 6.0.3 — Estrutura Acadêmica */
.academic-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 22px}.academic-tabs a{background:#fff;border:1px solid #dce7ef;color:#135f91;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.academic-tabs a:hover{background:#edf7fd}.academic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.academic-grid>.card{margin-bottom:0}.academic-list{margin-top:18px;max-height:260px;overflow:auto}.academic-schedule-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.academic-schedule-form>div{align-self:end}.academic-schedule-form .btn{width:100%}@media(max-width:1100px){.academic-grid{grid-template-columns:1fr}.academic-schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.academic-schedule-form{grid-template-columns:1fr}.academic-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.academic-tabs a{white-space:nowrap}}


/* Sprint 6.0.4 — Secretaria Escolar */
.secretary-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 22px}.secretary-tabs a{background:#fff;border:1px solid #dce7ef;color:#135f91;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.secretary-tabs a:hover{background:#edf7fd}.secretary-filter{grid-template-columns:2fr 1fr 1fr auto;margin-bottom:18px}.action-panel{border:1px solid #dfe9f1;border-radius:14px;background:#f9fcfe;margin:0 0 20px}.action-panel>summary{cursor:pointer;padding:15px 17px;color:#0d669f;font-weight:800}.action-panel[open]>summary{border-bottom:1px solid #e5edf3}.action-panel>.form{padding:18px}.secretary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.secretary-grid>.card{margin-bottom:22px}.secretary-list{margin-top:18px;max-height:320px;overflow:auto}.inline-status{display:flex;gap:6px;align-items:center}.inline-status select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff;color:#173650;max-width:150px}.inline-status .btn{padding:8px 10px;font-size:11px}.request-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.request-form .btn{width:100%}@media(max-width:1100px){.secretary-grid{grid-template-columns:1fr}.request-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.secretary-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.secretary-tabs a{white-space:nowrap}.secretary-filter,.request-form{grid-template-columns:1fr}.inline-status{flex-direction:column;align-items:stretch}.inline-status select{max-width:none}}


/* Sprint 6.0.5 — Portal do Professor */
.teacher-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 22px}.teacher-tabs a{background:#fff;border:1px solid #dce7ef;color:#135f91;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.teacher-tabs a:hover{background:#edf7fd}.teacher-form{grid-template-columns:2fr 1fr 1fr}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.teacher-list{margin-top:16px;max-height:520px;overflow:auto}.teacher-link-form{display:grid;grid-template-columns:2fr 2fr auto;gap:14px;align-items:end}.teacher-link-form .btn{width:100%}.attendance-sets{margin:12px 0}.attendance-set{display:none;border:1px solid #e1eaf1;border-radius:14px;padding:14px;background:#fbfdff}.attendance-set h3{margin:0 0 10px}.attendance-row{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f6}.attendance-row:last-child{border-bottom:0}.teacher-list article p{margin:8px 0 0;font-size:12px;line-height:1.5;color:#4a657a}@media(max-width:1100px){.teacher-grid{grid-template-columns:1fr}.teacher-form{grid-template-columns:1fr 1fr}.teacher-link-form{grid-template-columns:1fr 1fr}}@media(max-width:720px){.teacher-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.teacher-tabs a{white-space:nowrap}.teacher-form,.teacher-link-form{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr}.attendance-row select{width:100%}}

/* Sprint 6.0.6 */
.portal-item{padding:12px 0;border-bottom:1px solid #e5edf3}.portal-item:last-child{border-bottom:0}.portal-item b,.portal-item span{display:block}.portal-item span,.muted{color:#6b7d8c;font-size:.9rem}.portal-item p{margin:.4rem 0 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.inline-form{display:flex;gap:12px;align-items:end}@media(max-width:850px){.two-col{grid-template-columns:1fr}}

/* Sprint 6.0.7 — Financeiro */
.finance-stats article b{font-size:1.45rem}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px}
.finance-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;background:#eef3f7}
.finance-status.paid{background:#e5f7e9;color:#176638}.finance-status.overdue{background:#fee8e8;color:#922}.finance-status.partial{background:#fff2cf;color:#7c5900}.finance-status.open{background:#e8f1fb;color:#18578a}
.mini-form{min-width:220px;padding:10px 0}.mini-form label{margin-bottom:8px}.btn.small{padding:8px 12px;font-size:.82rem}.compact{gap:12px}
td small{display:block;color:#758695;margin-top:3px}
@media(max-width:900px){.filters{grid-template-columns:1fr}.finance-stats{grid-template-columns:1fr 1fr}}

/* Sprint 6.0.8 — Comunicação e Agenda */
.communication-item{padding:16px 0;border-bottom:1px solid #e7edf2}.communication-item:last-child{border-bottom:0}
.communication-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.communication-top b{display:block;margin-top:5px}
.communication-top small{color:#758695}.priority{font-size:.7rem;font-weight:900;letter-spacing:.08em;padding:4px 7px;border-radius:7px;background:#eef3f7}
.priority-urgent{border-left:4px solid #a52626;padding-left:14px}.priority-high{border-left:4px solid #d88700;padding-left:14px}
.communication-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.link-btn{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#49677d}
.agenda-item{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #e7edf2}.agenda-date{border-radius:12px;background:#eef4f8;text-align:center;padding:8px}.agenda-date b{display:block;font-size:1.35rem}.agenda-date span{font-size:.72rem;font-weight:800;color:#5c7182}
.agenda-item>div:last-child span{display:block;color:#758695;font-size:.85rem;margin-top:3px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}

/* Sprint 6.0.9 — Documentos Digitais */
.document-filter{grid-template-columns:2fr 1fr 1fr auto;margin-bottom:18px}
.doc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.doc-actions form{margin:0}
code{background:#f0f5f8;border:1px solid #dce7ef;border-radius:7px;padding:4px 7px;font-size:.82rem;color:#34556d}
input[type=file]{padding:9px!important}
@media(max-width:900px){.document-filter{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.document-filter{grid-template-columns:1fr}}

/* Sprint 6.0.10 — Relatórios Gerenciais */
.report-filter{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap}
.inline-report-filter label{font-size:12px;font-weight:800;color:#405d75}.inline-report-filter select{display:block;margin-top:7px;border:1px solid #ccdbe7;border-radius:11px;padding:11px 13px;background:#fff;color:#173650;min-width:180px}
.report-export-links{display:flex;gap:8px;flex-wrap:wrap}.report-export-links .btn{font-size:.8rem;padding:9px 12px}
.report-stats.secondary article b{font-size:1.35rem}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.report-grid>.card{margin-bottom:0}
.report-bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:70px 1fr 130px;gap:10px;align-items:center}.bar-row>span{font-size:.8rem;color:#5f788b}.bar-row>div{height:12px;background:#edf3f7;border-radius:999px;overflow:hidden}.bar-row i{display:block;height:100%;background:#1676b8;border-radius:999px}.bar-row>b{text-align:right;font-size:.8rem}
.metric-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e8eef4}.metric-row:last-child{border-bottom:0}.metric-row span{color:#526f86}.metric-row b{font-size:1.05rem;color:#0d669f}
@media(max-width:1050px){.report-grid{grid-template-columns:1fr}.report-filter{align-items:stretch}.report-export-links{width:100%}}
@media(max-width:720px){.bar-row{grid-template-columns:60px 1fr}.bar-row>b{grid-column:2;text-align:left}.report-export-links .btn{flex:1}.report-stats{grid-template-columns:1fr 1fr}}

/* Sprint 6.0.11 — Biblioteca Escolar */
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.library-grid>.card{margin-bottom:0}
.library-filter{grid-template-columns:2fr 1fr auto;margin-bottom:18px}
.library-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf3f7;font-size:.76rem;font-weight:800;text-transform:uppercase}.library-status.available{background:#e5f7e9;color:#176638}.library-status.loaned{background:#e8f1fb;color:#18578a}.library-status.reserved{background:#fff2cf;color:#7c5900}.library-status.maintenance,.library-status.lost{background:#fee8e8;color:#922}
.library-loan{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e8eef4}.library-loan:last-child{border-bottom:0}.library-loan b,.library-loan span,.library-loan small{display:block}.library-loan span{color:#526f86;margin-top:3px}.library-loan small{color:#7d91a3;margin-top:3px}.library-loan.overdue{border-left:4px solid #b62f2f;padding-left:12px}.library-loan form{display:flex;gap:7px;align-items:center}.library-loan select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
@media(max-width:1050px){.library-grid{grid-template-columns:1fr}}
@media(max-width:720px){.library-filter{grid-template-columns:1fr}.library-loan{align-items:flex-start;flex-direction:column}.library-loan form{width:100%}.library-loan select{flex:1}}

/* Sprint 6.0.12 — Coordenação Pedagógica */
.pedagogy-filter{grid-template-columns:1fr 2fr auto;align-items:end}.pedagogy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.pedagogy-grid>.card{margin-bottom:0}
.pedagogy-signal{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800}.pedagogy-signal.ok{background:#e5f7e9;color:#176638}.pedagogy-signal.attention{background:#fff2cf;color:#7c5900}
.pedagogy-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e8eef4}.pedagogy-item:last-child{border-bottom:0}.pedagogy-item b,.pedagogy-item span{display:block}.pedagogy-item span{color:#6b7d8c;font-size:.85rem;margin-top:3px}.pedagogy-item p{margin:7px 0 0;color:#45647b}.pedagogy-item form{display:flex;gap:7px}.pedagogy-item select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}.pedagogy-item.priority-high,.pedagogy-item.priority-critical{border-left:4px solid #d88700;padding-left:12px}.pedagogy-item.priority-critical{border-left-color:#a52626}
@media(max-width:1050px){.pedagogy-grid{grid-template-columns:1fr}}
@media(max-width:720px){.pedagogy-filter{grid-template-columns:1fr}.pedagogy-item{flex-direction:column}.pedagogy-item form{width:100%}.pedagogy-item select{flex:1}}

/* Sprint 6.0.13 — Recursos Humanos */
.hr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.hr-grid>.card{margin-bottom:0}
.hr-filter{grid-template-columns:2fr 1fr 1fr auto;margin-bottom:18px}.hr-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.hr-status.active{background:#e5f7e9;color:#176638}.hr-status.inactive{background:#fff2cf;color:#7c5900}.hr-status.terminated{background:#fee8e8;color:#922}
@media(max-width:1050px){.hr-grid{grid-template-columns:1fr}}@media(max-width:720px){.hr-filter{grid-template-columns:1fr}}

/* Sprint 6.0.14 — Patrimônio, Estoque e Almoxarifado */
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.inventory-grid>.card{margin-bottom:0}
.inventory-filter{grid-template-columns:2fr 1fr auto;margin-bottom:18px}
.inventory-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.inventory-status.active{background:#e5f7e9;color:#176638}.inventory-status.maintenance{background:#fff2cf;color:#7c5900}.inventory-status.inactive,.inventory-status.disposed{background:#fee8e8;color:#922}.inventory-status.loaned{background:#e8f1fb;color:#18578a}
.stock-low{background:#fff8e8}.stock-low td:first-child{border-left:4px solid #d88700}
.inventory-maintenance{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e8eef4}.inventory-maintenance:last-child{border-bottom:0}.inventory-maintenance b,.inventory-maintenance span{display:block}.inventory-maintenance span{font-size:.85rem;color:#6b7d8c;margin-top:3px}.inventory-maintenance p{margin:7px 0 0;color:#45647b}.inventory-maintenance form{display:flex;gap:7px}.inventory-maintenance select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}.inventory-maintenance.priority-high,.inventory-maintenance.priority-urgent{border-left:4px solid #d88700;padding-left:12px}.inventory-maintenance.priority-urgent{border-left-color:#a52626}
@media(max-width:1050px){.inventory-grid{grid-template-columns:1fr}}
@media(max-width:720px){.inventory-filter{grid-template-columns:1fr}.inventory-maintenance{flex-direction:column}.inventory-maintenance form{width:100%}.inventory-maintenance select{flex:1}}

/* Sprint 6.0.15 */
.purchase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.purchase-grid>.card{margin-bottom:0}.purchase-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.purchase-status.approved,.purchase-status.received{background:#e5f7e9;color:#176638}.purchase-status.submitted,.purchase-status.quoted{background:#e8f1fb;color:#18578a}.purchase-item{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e8eef4}.purchase-item b,.purchase-item span{display:block}.purchase-item span{font-size:.85rem;color:#6b7d8c;margin-top:3px}@media(max-width:1050px){.purchase-grid{grid-template-columns:1fr}}@media(max-width:720px){.purchase-item{flex-direction:column}}

/* Sprint 6.0.16 */
.payables-grid{display:grid;grid-template-columns:1fr 2fr;gap:20px}.payables-grid>.card{margin-bottom:0}.payables-filter{grid-template-columns:2fr 1fr 1fr auto;margin-bottom:18px}.payable-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.payable-status.paid{background:#e5f7e9;color:#176638}.payable-status.overdue{background:#fee8e8;color:#922}.payable-status.open{background:#e8f1fb;color:#18578a}.payable-status.cancelled{background:#eee;color:#666}@media(max-width:950px){.payables-grid{grid-template-columns:1fr}}@media(max-width:720px){.payables-filter{grid-template-columns:1fr}}

/* Sprint 6.0.17 — Fluxo de Caixa */
.cash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cash-grid>.card{margin-bottom:0}.cash-filter{grid-template-columns:2fr 1fr 1fr auto}.cash-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cash-account-grid article{padding:16px;border:1px solid #dfe8ef;border-radius:14px;background:#f9fbfc}.cash-account-grid article span,.cash-account-grid article b,.cash-account-grid article strong{display:block}.cash-account-grid article span{font-size:.72rem;text-transform:uppercase;color:#6b7d8c}.cash-account-grid article b{margin-top:5px}.cash-account-grid article strong{font-size:1.35rem;color:#0d669f;margin-top:10px}.cash-reconcile{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e7edf2}.cash-reconcile b,.cash-reconcile span{display:block}.cash-reconcile span{color:#6b7d8c;font-size:.85rem;margin-top:3px}@media(max-width:950px){.cash-grid,.cash-account-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.cash-grid,.cash-account-grid,.cash-filter{grid-template-columns:1fr}.cash-reconcile{flex-direction:column}}

/* Sprint 6.0.18 — Pré-Matrículas e Admissões */
.admission-filter{grid-template-columns:2fr 1fr auto}.admission-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.admission-status.approved,.admission-status.converted{background:#e5f7e9;color:#176638}.admission-status.new,.admission-status.reviewing,.admission-status.interview{background:#e8f1fb;color:#18578a}.admission-status.waitlist{background:#fff2cf;color:#7c5900}.admission-status.rejected{background:#fee8e8;color:#922}.inline-doc-form{display:flex;gap:7px;align-items:center}.inline-doc-form select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
.public-admission{max-width:860px;margin:40px auto;padding:0 18px}.public-hero{text-align:center;margin-bottom:24px}.public-hero span{font-size:.75rem;letter-spacing:.12em;font-weight:900;color:#0e66a1}.public-hero h1{font-size:2.2rem;margin:8px 0;color:#082d4e}.public-hero p{color:#587085}.public-form,.public-success,.public-error{background:#fff;border-radius:20px;padding:28px;box-shadow:0 15px 45px #2343}.public-form h2{margin:24px 0 12px;color:#123d5e}.public-form h2:first-of-type{margin-top:0}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-form label{display:block;font-size:.84rem;font-weight:700;color:#35536a;margin-bottom:12px}.public-form input,.public-form select,.public-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #ccdbe7;border-radius:10px;background:#fff}.public-form button{background:#0e66a1;color:#fff;border:0;border-radius:11px;padding:13px 20px;font-weight:900;cursor:pointer}.public-check{display:flex!important;gap:8px;align-items:flex-start}.public-check input{width:auto!important;margin-top:3px!important}.public-success{background:#e9f8ee;color:#175f32}.public-error{background:#fee8e8;color:#922;margin-bottom:15px}
@media(max-width:720px){.admission-filter,.public-grid{grid-template-columns:1fr}.inline-doc-form{flex-direction:column;align-items:stretch}}

/* Sprint 6.0.19 — Transporte Escolar */
.transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.transport-grid>.card{margin-bottom:0}
@media(max-width:1000px){.transport-grid{grid-template-columns:1fr}}

/* Sprint 6.0.20 — Portaria e Controle de Acesso */
.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.access-grid>.card{margin-bottom:0}
.access-movement{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase}.access-movement.entry{background:#e5f7e9;color:#176638}.access-movement.exit{background:#e8f1fb;color:#18578a}
.access-incident{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e8eef4}.access-incident:last-child{border-bottom:0}.access-incident b,.access-incident span{display:block}.access-incident span{color:#6b7d8c;font-size:.85rem;margin-top:3px}.access-incident p{margin:6px 0 0}.access-incident.severity-high,.access-incident.severity-critical{border-left:4px solid #d88700;padding-left:12px}.access-incident.severity-critical{border-left-color:#a52626}.access-incident form{display:flex;gap:7px;align-items:center}.access-incident select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
@media(max-width:1000px){.access-grid{grid-template-columns:1fr}}
@media(max-width:720px){.access-incident{flex-direction:column}.access-incident form{width:100%}.access-incident select{flex:1}}

/* Sprint 6.0.21 — Enfermaria */
.health-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.health-grid>.card{margin-bottom:0}
.health-filter{grid-template-columns:2fr 1fr auto}.health-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.health-status.closed{background:#e5f7e9;color:#176638}.health-status.observation{background:#fff2cf;color:#7c5900}.health-status.open,.health-status.referred{background:#fee8e8;color:#922}
.health-warning{border-left:4px solid #d88700;background:#fffaf0}.health-alert{padding:13px 0;border-bottom:1px solid #e8eef4}.health-alert:last-child{border-bottom:0}.health-alert p{margin:6px 0}.inline-health-form{display:flex;gap:7px;align-items:center}.inline-health-form select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
@media(max-width:950px){.health-grid{grid-template-columns:1fr}}@media(max-width:720px){.health-filter{grid-template-columns:1fr}.inline-health-form{flex-direction:column;align-items:stretch}}

/* Sprint 6.0.22 — Atividades Extracurriculares */
.extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.extra-grid>.card{margin-bottom:0}
.extra-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.extra-status.enrolled{background:#e5f7e9;color:#176638}.extra-status.waiting{background:#fff2cf;color:#7c5900}.extra-status.cancelled{background:#fee8e8;color:#922}.extra-status.completed{background:#e8f1fb;color:#18578a}.inline-extra-form{display:flex;gap:7px;align-items:center}.inline-extra-form select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
@media(max-width:1000px){.extra-grid{grid-template-columns:1fr}}@media(max-width:720px){.inline-extra-form{flex-direction:column;align-items:stretch}}

/* Sprint 6.0.23 — Agenda, Ambientes e Reservas */
.schedule-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.schedule-grid>.card{margin-bottom:0}
.schedule-filter{grid-template-columns:2fr 1fr 1fr auto}.schedule-today{display:grid;gap:10px}.schedule-today article{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #e8eef4}.schedule-today article>span{font-weight:900;color:#0d669f}.schedule-today p{margin:4px 0 0;color:#667f92}
.schedule-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.schedule-status.confirmed{background:#e5f7e9;color:#176638}.schedule-status.pending{background:#fff2cf;color:#7c5900}.schedule-status.cancelled{background:#fee8e8;color:#922}.schedule-status.completed{background:#e8f1fb;color:#18578a}.inline-schedule-form{display:flex;gap:7px;align-items:center}.inline-schedule-form select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}
@media(max-width:950px){.schedule-grid{grid-template-columns:1fr}}@media(max-width:720px){.schedule-filter{grid-template-columns:1fr}.inline-schedule-form{flex-direction:column;align-items:stretch}}

/* Sprint 6.0.24 — Chamados Internos e Suporte */
.ticket-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.ticket-grid>.card{margin-bottom:0}
.ticket-filter{grid-template-columns:2fr 1fr 1fr 1fr auto}.ticket-priority,.ticket-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.ticket-priority.critical,.ticket-priority.urgent{background:#fee8e8;color:#922}.ticket-priority.high{background:#fff2cf;color:#7c5900}.ticket-status.resolved,.ticket-status.closed{background:#e5f7e9;color:#176638}.ticket-status.open,.ticket-status.in_progress{background:#e8f1fb;color:#18578a}.ticket-status.waiting{background:#fff2cf;color:#7c5900}.ticket-status.cancelled{background:#eee;color:#666}.ticket-late{background:#fff8f8}.ticket-late td:first-child{border-left:4px solid #a52626}.ticket-update{padding:13px 0;border-bottom:1px solid #e8eef4}.ticket-update:last-child{border-bottom:0}.ticket-update b,.ticket-update span{display:block}.ticket-update span{color:#6b7d8c;font-size:.85rem;margin-top:3px}.ticket-update p{margin:6px 0 0}
@media(max-width:1000px){.ticket-grid{grid-template-columns:1fr}}@media(max-width:800px){.ticket-filter{grid-template-columns:1fr}}

/* Sprint 6.0.25 — Central de Relatórios */
.reports-filter{grid-template-columns:1.5fr 1fr 1.5fr 1fr 1fr auto}.reports-head{align-items:flex-start}.report-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.report-cards a{display:block;padding:16px;border:1px solid #dfe8ef;border-radius:14px;background:#f9fbfc;text-decoration:none;color:#153b59}.report-cards a:hover{border-color:#9ec5df;box-shadow:0 8px 22px #153b5914}.report-cards b,.report-cards span{display:block}.report-cards span{font-size:.82rem;color:#6b7d8c;margin-top:5px}.report-stats article b{font-size:1.35rem}
@media(max-width:1150px){.reports-filter{grid-template-columns:1fr 1fr 1fr}.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.reports-filter{grid-template-columns:1fr}.report-cards{grid-template-columns:1fr}.reports-head{flex-direction:column;gap:12px}}

/* Sprint 6.0.26 — Dashboard Executivo */
.executive-actions{display:flex;align-items:center;gap:10px}.executive-actions select{padding:10px;border:1px solid #d7e2ea;border-radius:10px;background:#fff}.executive-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.executive-kpis article{background:linear-gradient(145deg,#fff,#f6fafc);border:1px solid #dfe9f0;border-radius:16px;padding:19px}.executive-kpis span,.executive-kpis small{display:block;color:#6b7d8c}.executive-kpis b{display:block;font-size:1.75rem;color:#153b59;margin:5px 0}.executive-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.executive-grid>.card{margin-bottom:0}.finance-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finance-kpis div{padding:14px;background:#f7fafc;border-radius:12px}.finance-kpis span,.finance-kpis b{display:block}.overdue-box{margin:12px 0;padding:14px;background:#fff4e2;border-radius:12px}.overdue-box span,.overdue-box b{display:block}.finance-history h3{font-size:.9rem}.finance-row{display:grid;grid-template-columns:60px 1fr 150px;gap:10px;align-items:center;margin:8px 0}.bars{height:15px;position:relative;background:#edf2f5;border-radius:8px;overflow:hidden}.bars i,.bars em{position:absolute;left:0;height:7px}.bars i{top:0;background:#3b86b4}.bars em{bottom:0;background:#8da1ae}.segment-list>div{margin:16px 0}.segment-list span{display:flex;justify-content:space-between}.segment-list small{color:#6b7d8c}.segment-list>div>div{height:9px;background:#edf2f5;border-radius:8px;margin-top:7px;overflow:hidden}.segment-list i{display:block;height:100%;background:#3b86b4}.operation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.operation-grid div{padding:15px;background:#f7fafc;border-radius:12px}.operation-grid b,.operation-grid span{display:block}.operation-grid b{font-size:1.4rem}.executive-alerts article{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:12px;margin:9px 0}.executive-alerts p{margin:4px 0 0}.executive-alerts .warning{background:#fff5dc}.executive-alerts .danger{background:#feeaea}.executive-alerts .ok{background:#e8f7ed}.executive-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.executive-links a{padding:16px;border:1px solid #dfe8ef;border-radius:13px;text-decoration:none;color:#153b59}.executive-links b,.executive-links span{display:block}.executive-links span{font-size:.82rem;color:#6b7d8c;margin-top:5px}
@media(max-width:1050px){.executive-grid{grid-template-columns:1fr}.executive-kpis,.executive-links{grid-template-columns:1fr 1fr}}@media(max-width:650px){.executive-kpis,.executive-links,.finance-kpis,.operation-grid{grid-template-columns:1fr}.finance-row{grid-template-columns:50px 1fr}.finance-row small{grid-column:2}.executive-actions{flex-direction:column;align-items:flex-end}}

/* Sprint 6.0.27 — Notificações e Central de Alertas */
.notification-filter{grid-template-columns:1fr 1fr 1.3fr auto}.notification-list{display:grid;gap:12px;margin-bottom:20px}.notification-item{display:grid;grid-template-columns:42px 1fr;gap:14px;background:#fff;border:1px solid #dfe8ef;border-radius:15px;padding:17px}.notification-item.unread{box-shadow:0 7px 20px #1236}.notification-item.read{opacity:.78}.notification-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#edf3f7}.priority-critical{border-left:5px solid #a52626}.priority-critical .notification-icon{background:#fee8e8;color:#922}.priority-high{border-left:5px solid #d88700}.priority-high .notification-icon{background:#fff2cf;color:#7c5900}.priority-normal{border-left:5px solid #3b86b4}.priority-low{border-left:5px solid #95a7b4}.notification-meta{display:flex;justify-content:space-between;gap:10px;font-size:.76rem;color:#6b7d8c;text-transform:uppercase}.notification-body h3{margin:5px 0 4px}.notification-body p{margin:0;color:#506b80}.notification-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.notification-actions form{margin:0}.empty-notifications{text-align:center}.notification-form{max-width:860px}
@media(max-width:800px){.notification-filter{grid-template-columns:1fr}.notification-item{grid-template-columns:1fr}.notification-icon{display:none}.notification-meta{flex-direction:column}}

/* Sprint 6.0.28 — Documentos e Declarações */
.document-form{max-width:900px}.document-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase;background:#edf3f7}.document-status.issued{background:#e5f7e9;color:#176638}.document-status.cancelled{background:#fee8e8;color:#922}.document-actions{display:flex;gap:7px;flex-wrap:wrap}.document-actions form{margin:0}.document-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.document-types article{padding:16px;border:1px solid #dfe8ef;border-radius:13px;background:#f9fbfc}.document-types b,.document-types span{display:block}.document-types span{font-size:.82rem;color:#6b7d8c;margin-top:5px}
.document-print-page{min-height:100vh;background:#e9eef2;padding:24px}.document-toolbar{max-width:850px;margin:0 auto 12px;display:flex;justify-content:flex-end;gap:8px}.document-toolbar button,.document-toolbar a{background:#0e66a1;color:#fff;border:0;padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:800;cursor:pointer}.official-document{position:relative;max-width:760px;min-height:980px;margin:auto;background:#fff;padding:60px 68px;box-shadow:0 10px 35px #1234;color:#1f3344}.official-document header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #173f5f;padding-bottom:18px}.school-mark strong,.school-mark span{display:block}.school-mark strong{font-size:1.1rem}.school-mark span{font-size:.8rem;color:#657987;margin-top:4px}.protocol{text-align:right;font-size:.72rem;color:#657987}.protocol b{color:#173f5f}.document-title{text-align:center;margin:70px 0 50px}.document-title h1{text-transform:uppercase;font-size:1.35rem;letter-spacing:.05em}.document-content{font-family:Georgia,serif;font-size:1.08rem;line-height:2;text-align:justify}.document-purpose{margin-top:24px}.document-date{text-align:right;margin-top:50px}.signature{display:flex;justify-content:center;margin-top:90px}.signature div{width:320px;text-align:center}.signature span{display:block;border-top:1px solid #333;margin-bottom:8px}.signature b,.signature small{display:block}.official-document footer{position:absolute;left:68px;right:68px;bottom:35px;display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:10px;font-size:.68rem;color:#6f7e88}.cancel-stamp{position:absolute;top:45%;left:10%;right:10%;transform:rotate(-18deg);font-size:3rem;font-weight:900;color:#a5262688;border:6px solid #a5262688;text-align:center;padding:15px}.official-document.cancelled .document-content{opacity:.55}
@media(max-width:850px){.document-types{grid-template-columns:1fr 1fr}.document-print-page{padding:10px}.official-document{padding:35px;min-height:900px}.official-document footer{left:35px;right:35px}}
@media(max-width:600px){.document-types{grid-template-columns:1fr}}
@media print{body{background:#fff!important}.document-toolbar{display:none!important}.document-print-page{padding:0;background:#fff}.official-document{box-shadow:none;max-width:none;min-height:0;padding:40px 55px}.official-document footer{left:55px;right:55px}}

/* Sprint 6.0.29 — Configurações Gerais */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid>.card{margin-bottom:0}.settings-module-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase}.settings-module-status.active{background:#e5f7e9;color:#176638}.settings-module-status.inactive{background:#eee;color:#666}.inline-settings-form{display:flex;gap:7px;align-items:center}.inline-settings-form select{border:1px solid #ccdbe7;border-radius:9px;padding:8px;background:#fff}.settings-note{border-left:4px solid #3b86b4;background:#f6fbfe}
@media(max-width:1000px){.settings-grid{grid-template-columns:1fr}}@media(max-width:720px){.inline-settings-form{flex-direction:column;align-items:stretch}}

/* Sprint 6.0.30 — Auditoria, Logs e Segurança */
.audit-filter{grid-template-columns:repeat(4,minmax(0,1fr));}.audit-json{max-width:420px;max-height:220px;overflow:auto;white-space:pre-wrap;font-size:.72rem;background:#f4f7f9;padding:10px;border-radius:8px}.audit-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audit-security-grid>.card{margin-bottom:0}.security-risk,.security-user{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e8eef4}.security-risk:last-child,.security-user:last-child{border-bottom:0}.security-risk b,.security-risk span,.security-risk small,.security-user b,.security-user span{display:block}.security-risk span,.security-risk small,.security-user span{color:#6b7d8c;font-size:.82rem;margin-top:3px}.security-risk strong{font-size:.72rem;color:#922}.login-result{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800}.login-result.success{background:#e5f7e9;color:#176638}.login-result.failed{background:#fee8e8;color:#922}.audit-maintenance{display:flex;justify-content:space-between;gap:20px;align-items:end;border-left:4px solid #3b86b4}.audit-maintenance p{max-width:720px}.audit-maintenance form{min-width:230px}
@media(max-width:1050px){.audit-filter{grid-template-columns:1fr 1fr}.audit-security-grid{grid-template-columns:1fr}}@media(max-width:720px){.audit-filter{grid-template-columns:1fr}.audit-maintenance{flex-direction:column;align-items:stretch}.audit-maintenance form{min-width:0}.security-user{flex-direction:column}}

/* Sprint 6.0.31 — Saúde do Sistema */
.healthsystem-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.healthsystem-grid>.card{margin-bottom:0}.health-checks{display:grid;gap:9px}.health-checks article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:11px;border-radius:11px;background:#f7fafc}.health-checks article>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health-checks article.ok>span{background:#e5f7e9;color:#176638}.health-checks article.warning>span{background:#fff2cf;color:#7c5900}.health-checks b,.health-checks small{display:block}.health-checks small{color:#6b7d8c;margin-top:2px}.backup-list{margin-top:16px}.backup-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e8eef4}.backup-list b,.backup-list span{display:block}.backup-list span{font-size:.82rem;color:#6b7d8c;margin-top:3px}.health-module-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800;text-transform:uppercase}.health-module-status.active{background:#e5f7e9;color:#176638}.health-module-status.inactive{background:#eee;color:#666}.system-error-log{max-height:420px;overflow:auto;background:#101922;color:#dfe8ef;padding:16px;border-radius:12px;font-size:.76rem;white-space:pre-wrap}.healthsystem-note{border-left:4px solid #3b86b4;background:#f6fbfe}
@media(max-width:1000px){.healthsystem-grid{grid-template-columns:1fr}}@media(max-width:650px){.backup-list article{flex-direction:column;align-items:flex-start}}

/* Sprint 6.0.32 — Matriz de Permissões */
.permission-baseline{display:flex;justify-content:space-between;gap:24px;align-items:end;border-left:4px solid #3b86b4}.permission-baseline p{max-width:760px}.permission-risk{border-left:4px solid #d88700}.permission-risk article{display:grid;grid-template-columns:180px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid #e8eef4}.permission-risk article:last-child{border-bottom:0}.permission-tabs{display:grid;gap:14px}.permission-role{padding:0;overflow:hidden}.permission-role>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.permission-role>summary::-webkit-details-marker{display:none}.permission-role>summary b,.permission-role>summary span{display:block}.permission-role>summary span{font-size:.8rem;color:#6b7d8c;margin-top:3px}.permission-role>summary strong{font-size:.82rem;color:#0e66a1}.permission-form{border-top:1px solid #e3ebf1;padding:18px}.permission-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.permission-toolbar input{margin-left:auto;min-width:260px;border:1px solid #ccdbe7;border-radius:10px;padding:10px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-group{border:1px solid #dfe8ef;border-radius:14px;overflow:hidden}.permission-group header{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f6f9fb;padding:13px}.permission-group header b,.permission-group header span{display:block}.permission-group header span{font-size:.78rem;color:#6b7d8c}.permission-group header label{font-size:.8rem}.permission-group>div{padding:8px 13px}.permission-item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #edf2f5}.permission-item:last-child{border-bottom:0}.permission-item b,.permission-item small{display:block}.permission-item small{font-size:.75rem;color:#6b7d8c;margin-top:2px}.permission-save{display:flex;justify-content:flex-end;margin-top:18px}.permission-superadmin{border-top:1px solid #e3ebf1;padding:18px;background:#f6fbfe}.permission-note{border-left:4px solid #3b86b4;background:#f6fbfe}
@media(max-width:980px){.permission-groups{grid-template-columns:1fr}.permission-baseline{flex-direction:column;align-items:stretch}}@media(max-width:650px){.permission-toolbar input{margin-left:0;min-width:0;width:100%}.permission-risk article{grid-template-columns:1fr}.permission-role>summary{align-items:flex-start}}

/* Sprint 6.0.33 — Busca Global */
.global-top-search{display:flex;max-width:560px;margin:0 0 18px auto}.global-top-search input{flex:1;border:1px solid #d5e1e9;border-right:0;border-radius:12px 0 0 12px;padding:11px 13px;background:#fff}.global-top-search button{border:0;background:#0e66a1;color:#fff;border-radius:0 12px 12px 0;padding:0 16px;font-size:1.1rem}.global-search-box form{display:grid;gap:14px}.global-search-main{display:flex}.global-search-main input{flex:1;border:1px solid #ccdbe7;border-right:0;border-radius:13px 0 0 13px;padding:15px;font-size:1rem}.global-search-main button{border-radius:0 13px 13px 0}.global-search-types{display:flex;gap:10px 18px;flex-wrap:wrap}.global-search-types label{font-size:.84rem}.global-search-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.global-search-summary div{background:#fff;border:1px solid #dfe8ef;border-radius:12px;padding:12px 16px}.global-search-summary b,.global-search-summary span{display:block}.global-search-summary b{font-size:1.3rem}.global-search-summary span{font-size:.78rem;color:#6b7d8c}.global-search-results{display:grid;gap:12px}.search-result{display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center;margin-bottom:0}.search-result-icon{width:46px;height:46px;border-radius:13px;background:#e8f1f7;color:#0e66a1;display:grid;place-items:center;font-weight:900}.search-result-type{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#0e66a1}.search-result h2{margin:3px 0;font-size:1.05rem}.search-result h3{margin:0;font-size:.9rem;color:#435d72}.search-result p{margin:4px 0 0;color:#6b7d8c;font-size:.84rem}.search-empty,.search-welcome{text-align:center}.search-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.search-categories article{padding:15px;border:1px solid #dfe8ef;border-radius:12px;background:#f9fbfc}.search-categories b,.search-categories span{display:block}.search-categories span{font-size:.8rem;color:#6b7d8c;margin-top:4px}
@media(max-width:850px){.search-categories{grid-template-columns:1fr 1fr}}@media(max-width:650px){.global-top-search{margin:0 0 16px}.search-result{grid-template-columns:1fr}.search-result-icon{display:none}.search-result>a{justify-self:start}.global-search-main{flex-direction:column}.global-search-main input{border-right:1px solid #ccdbe7;border-radius:12px}.global-search-main button{border-radius:12px;margin-top:8px}.search-categories{grid-template-columns:1fr}}

/* Sprint 6.0.34 — Central de Ajuda */
.help-search-form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px}.help-search-form input,.help-search-form select{border:1px solid #ccdbe7;border-radius:11px;padding:12px;background:#fff}.help-layout{display:grid;grid-template-columns:1fr 300px;gap:20px}.help-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-article-card{margin-bottom:0}.help-module{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#0e66a1}.help-article-card h2{font-size:1.08rem;margin:7px 0}.help-article-card p{color:#60798d}.help-sidebar{height:max-content;position:sticky;top:18px}.help-sidebar>a{display:block;padding:10px 0;border-bottom:1px solid #e8eef4;text-decoration:none;color:#153b59}.help-sidebar>a:last-child{border-bottom:0}.help-admin-link{font-weight:900;color:#0e66a1!important}.help-faqs details{border-bottom:1px solid #e8eef4;padding:12px 0}.help-faqs summary{cursor:pointer;font-weight:800}.help-faqs p{line-height:1.7;color:#536d81}.help-article-content{font-size:1rem;line-height:1.9;white-space:normal}.help-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.help-related a{padding:14px;border:1px solid #dfe8ef;border-radius:12px;text-decoration:none;color:#153b59}.help-related b,.help-related span{display:block}.help-related span{font-size:.82rem;color:#6b7d8c;margin-top:4px}.help-admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.help-admin-grid>.card{margin-bottom:0}.help-admin-faq{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e8eef4}
@media(max-width:1000px){.help-layout,.help-admin-grid{grid-template-columns:1fr}.help-sidebar{position:static}.help-related{grid-template-columns:1fr 1fr}}@media(max-width:720px){.help-search-form{grid-template-columns:1fr}.help-articles,.help-related{grid-template-columns:1fr}}

/* Sprint 6.0.35 — Revisão Visual, Responsividade e Usabilidade Final */
.skip-link{position:fixed;left:12px;top:-60px;z-index:99999;background:#0e66a1;color:#fff;padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:800;transition:top .18s}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid rgba(14,102,161,.32);outline-offset:2px}
button,input,select,textarea,a{font:inherit}html{scroll-behavior:smooth}body{overflow-x:hidden}.main,.content{min-width:0}
.page-head{gap:18px;align-items:flex-start}.page-head>div:first-child,.card,.card-head>div{min-width:0}.page-head h1,.card-head h2{overflow-wrap:anywhere}.card-head{gap:14px}
.form label,.filter-bar label{min-width:0}.form input,.form select,.form textarea,.filter-bar input,.filter-bar select,.filter-bar textarea{width:100%;max-width:100%;box-sizing:border-box}
.form textarea{resize:vertical;min-height:86px}input[type="date"],input[type="time"],input[type="datetime-local"],select{min-height:42px}
.check{display:flex!important;align-items:flex-start;gap:9px}.check input{width:auto!important;min-width:17px;margin-top:2px}.grid2{align-items:start}.btn{white-space:nowrap}.btn.small{min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.table-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.table-wrap table{min-width:760px}table th{white-space:nowrap}table td{vertical-align:top;overflow-wrap:anywhere}table td small{display:block;margin-top:3px;color:#6b7d8c}.empty{text-align:center!important;padding:30px!important;color:#6b7d8c}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stats article{min-width:0}.stats b{overflow-wrap:anywhere}.badge{white-space:nowrap}
.mobile-menu-toggle,.mobile-menu-overlay{display:none}.sidebar{overscroll-behavior:contain}.sidebar a{min-width:0;overflow-wrap:anywhere}.sidebar a i{flex:0 0 auto}
.two-col,.executive-grid,.settings-grid,.extra-grid,.schedule-grid,.ticket-grid,.health-grid,.access-grid,.audit-security-grid,.healthsystem-grid,.help-layout,.help-admin-grid{align-items:start}
@media print{.sidebar,.topbar,.mobile-menu-toggle,.mobile-menu-overlay,.global-top-search,.page-head .badge,.btn,.filter-bar,.document-toolbar{display:none!important}body{background:#fff!important}.main{margin:0!important;width:100%!important}.content{padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}.table-wrap{overflow:visible!important}.table-wrap table{min-width:0!important;width:100%!important;font-size:10px}a{color:#000!important;text-decoration:none!important}}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){
.mobile-menu-toggle{display:grid;place-items:center;position:fixed;left:12px;top:12px;z-index:10020;width:43px;height:43px;border:0;border-radius:12px;background:#0e66a1;color:#fff;box-shadow:0 8px 24px rgba(15,63,95,.25);font-size:1.25rem;cursor:pointer}
.mobile-menu-overlay{display:block;position:fixed;inset:0;z-index:10000;background:rgba(8,28,43,.52);border:0;opacity:0;visibility:hidden;transition:.2s}
.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:10010!important;width:min(86vw,330px)!important;max-width:330px!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:16px 0 40px rgba(8,28,43,.25);overflow-y:auto!important}
body.menu-open{overflow:hidden}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .mobile-menu-overlay{opacity:1;visibility:visible}
.main{margin-left:0!important;width:100%!important}.topbar{padding-left:68px!important}.content{padding:18px 16px 24px!important}.global-top-search{margin-left:48px}
}
@media(max-width:720px){
.page-head{flex-direction:column;align-items:stretch}.page-head .badge{align-self:flex-start}.stats{grid-template-columns:1fr 1fr}.stats article{padding:14px}.stats b{font-size:1.32rem}
.card{padding:16px;border-radius:15px}.card-head{flex-direction:column;align-items:stretch}.card-head>.btn,.card-head>form{align-self:flex-start}.grid2{grid-template-columns:1fr!important}.filter-bar{grid-template-columns:1fr!important}.filter-bar button,.filter-bar .btn,.form>.btn.primary{width:100%}.btn{white-space:normal;text-align:center}.table-wrap{margin-left:-4px;margin-right:-4px;width:calc(100% + 8px)}.table-wrap table{min-width:680px}.global-top-search{margin-left:48px;margin-right:0}.document-actions,.notification-actions{flex-direction:column;align-items:stretch}
}
@media(max-width:480px){.content{padding-left:12px!important;padding-right:12px!important}.stats{grid-template-columns:1fr}.page-head h1{font-size:1.55rem}.card{padding:14px}.global-top-search{margin-left:45px}.official-document{padding:24px!important}.official-document footer{position:static!important;margin-top:50px;flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Sprint 6.0.36 — Homologação */
.homologation-run{display:flex;justify-content:space-between;align-items:end;gap:24px;border-left:4px solid #3b86b4}.homologation-run p{max-width:760px}
.homologation-status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.74rem;font-weight:900;text-transform:uppercase}.homologation-status.passed{background:#e5f7e9;color:#176638}.homologation-status.warning{background:#fff2cf;color:#7c5900}.homologation-status.failed{background:#fee8e8;color:#922}.homologation-status.running{background:#e8f1fb;color:#18578a}
.homologation-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.homologation-results article{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:13px;border-radius:12px;background:#f8fafc}.homologation-results article>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:900}.homologation-results article.passed>span{background:#e5f7e9;color:#176638}.homologation-results article.warning>span{background:#fff2cf;color:#7c5900}.homologation-results article.failed>span{background:#fee8e8;color:#922}.homologation-results small,.homologation-results b{display:block}.homologation-results small{color:#6b7d8c;text-transform:uppercase;font-size:.7rem}.homologation-results p{margin:4px 0 0;color:#536d81;font-size:.84rem}
.homologation-checklist{display:grid;gap:10px}.homologation-checklist>article{display:grid;grid-template-columns:1fr minmax(360px,620px);gap:18px;align-items:center;padding:14px;border:1px solid #dfe8ef;border-radius:13px}.homologation-checklist>article.passed{border-left:5px solid #279454}.homologation-checklist>article.failed{border-left:5px solid #a52626}.homologation-checklist>article.pending{border-left:5px solid #d3a225}.homologation-checklist span,.homologation-checklist b{display:block}.homologation-checklist span{font-size:.72rem;font-weight:900;color:#0e66a1;text-transform:uppercase}.homologation-checklist p{margin:4px 0 0;color:#6b7d8c}.homologation-check-form{display:grid;grid-template-columns:130px 1fr auto;gap:8px}.homologation-check-form input,.homologation-check-form select{width:100%;box-sizing:border-box;border:1px solid #ccdbe7;border-radius:9px;padding:9px;background:#fff}.homologation-note{border-left:4px solid #3b86b4;background:#f6fbfe}
@media(max-width:1000px){.homologation-results{grid-template-columns:1fr}.homologation-checklist>article{grid-template-columns:1fr}.homologation-run{flex-direction:column;align-items:stretch}}@media(max-width:650px){.homologation-check-form{grid-template-columns:1fr}.homologation-check-form button{width:100%}}

/* Sprint 6.1.1 — Central de Erros */
.error-filter{grid-template-columns:180px 180px 1fr auto}.error-event-list{display:grid;gap:14px}.error-event{margin-bottom:0;border-left:5px solid #d6a128}.error-event.resolved{border-left-color:#299158}.error-event.ignored{border-left-color:#8795a0}.error-event header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.error-event h2{font-size:1rem;margin:5px 0}.error-reference{font-size:.75rem;font-weight:900;color:#0e66a1}.error-status{padding:5px 9px;border-radius:999px;text-transform:uppercase;font-size:.7rem;font-weight:900}.error-status.open{background:#fff2cf;color:#785600}.error-status.resolved{background:#e5f7e9;color:#176638}.error-status.ignored{background:#edf0f2;color:#596873}.error-message{font-weight:700;overflow-wrap:anywhere}.error-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#f7fafc;padding:12px;border-radius:11px}.error-meta span,.error-meta b{display:block}.error-meta b{font-size:.7rem;text-transform:uppercase;color:#6b7d8c;margin-bottom:3px}.error-technical{margin-top:10px}.error-technical pre{max-height:360px;overflow:auto;background:#101922;color:#dfe8ef;padding:14px;border-radius:10px;font-size:.74rem;white-space:pre-wrap}.error-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.error-actions select{min-width:160px}
@media(max-width:900px){.error-meta{grid-template-columns:1fr 1fr}.error-filter{grid-template-columns:1fr 1fr}}@media(max-width:650px){.error-meta,.error-filter{grid-template-columns:1fr}.error-event header{flex-direction:column}.error-actions{flex-direction:column}.error-actions select,.error-actions button{width:100%}}

/* Sprint 6.1.2 — Menu lateral e navegação */
.sidebar{width:258px!important}
.main{margin-left:258px!important}
.sidebar-nav{display:grid;gap:5px;padding:8px 10px 18px}
.nav-group{border-radius:12px;overflow:hidden}
.nav-group-toggle{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;opacity:.8}
.nav-group-toggle i{font-style:normal;transition:transform .18s}
.nav-group.open .nav-group-toggle i{transform:rotate(180deg)}
.nav-group-items{display:none;padding:0 2px 5px}
.nav-group.open .nav-group-items{display:grid;gap:2px}
.nav-group-items a{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px!important;border-radius:9px;font-size:.86rem!important;line-height:1.2}
.nav-group-items a i{width:22px!important;min-width:22px!important;text-align:center;font-style:normal;font-size:.86rem}
.nav-group-items a span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nav-group-items a.active{font-weight:900}
.admin-breadcrumbs{display:flex;align-items:center;gap:7px;margin:-2px 0 13px;color:#6b7d8c;font-size:.78rem}
.admin-breadcrumbs a{color:#0e66a1;text-decoration:none}
.admin-breadcrumbs strong{color:#375267;font-weight:800}
.topbar{min-height:58px!important;padding-top:8px!important;padding-bottom:8px!important}
.brand{padding-top:14px!important;padding-bottom:14px!important}
.brand img{max-height:42px!important}
@media(max-width:1100px){.sidebar{width:238px!important}.main{margin-left:238px!important}}
@media(max-width:900px){.sidebar{width:min(86vw,310px)!important;max-width:310px!important}.main{margin-left:0!important}.admin-breadcrumbs{margin-top:0}}

/* Sprint 6.1.3 — Dashboard por Perfil */
.profile-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.profile-dashboard-head h1{margin:4px 0}.profile-dashboard-head p{margin:0;color:#60798d}.profile-role{padding:7px 11px;border-radius:999px;background:#e8f1f7;color:#0e66a1;text-transform:uppercase;font-size:.72rem;font-weight:900}
.profile-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.profile-kpi{display:block;background:#fff;border:1px solid #dfe8ef;border-radius:15px;padding:18px;text-decoration:none;color:#153b59;box-shadow:0 8px 22px #1738520d}.profile-kpi span,.profile-kpi b,.profile-kpi small{display:block}.profile-kpi span{font-size:.78rem;color:#6b7d8c}.profile-kpi b{font-size:1.65rem;margin:8px 0 4px}.profile-kpi small{color:#0e66a1;font-weight:800}
.profile-dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.profile-dashboard-grid>.card{margin-bottom:0}.profile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.profile-quick-grid a{padding:14px;border:1px solid #dfe8ef;border-radius:12px;text-decoration:none;color:#153b59;background:#f9fbfc}.profile-quick-grid b,.profile-quick-grid span{display:block}.profile-quick-grid span{font-size:.8rem;color:#6b7d8c;margin-top:4px}
.profile-alerts>a{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #e8eef4;text-decoration:none;color:#153b59}.profile-alerts>a:last-child{border-bottom:0}.profile-alerts b,.profile-alerts span{display:block}.profile-alerts span{font-size:.8rem;color:#6b7d8c;margin-top:3px}.profile-alerts strong{font-size:1.35rem;color:#0e66a1}
.profile-recent article{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #e8eef4}.profile-recent article:last-child{border-bottom:0}.profile-recent time{font-size:.78rem;color:#6b7d8c}.profile-recent b,.profile-recent span{display:block}.profile-recent span{font-size:.82rem;color:#6b7d8c;margin-top:3px}
@media(max-width:1050px){.profile-kpis{grid-template-columns:1fr 1fr}.profile-dashboard-grid{grid-template-columns:1fr}}@media(max-width:650px){.profile-dashboard-head{flex-direction:column}.profile-kpis{grid-template-columns:1fr}.profile-quick-grid{grid-template-columns:1fr}.profile-recent article{grid-template-columns:1fr}.profile-kpi b{font-size:1.45rem}}

/* Sprint 6.1.4 — Padronização Visual Geral */
:root{
  --ui-bg:#f3f7fa;
  --ui-card:#ffffff;
  --ui-text:#17384f;
  --ui-muted:#667f91;
  --ui-primary:#0e66a1;
  --ui-primary-soft:#eaf3f9;
  --ui-border:#dbe6ed;
  --ui-success:#237b45;
  --ui-success-bg:#e8f7ed;
  --ui-warning:#7a5900;
  --ui-warning-bg:#fff3cf;
  --ui-danger:#982b2b;
  --ui-danger-bg:#feeaea;
  --ui-radius:14px;
  --ui-shadow:0 8px 26px rgba(18,57,83,.08);
}

body{background:var(--ui-bg);color:var(--ui-text)}
.content{max-width:100%;box-sizing:border-box}
.card{
  background:var(--ui-card);
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  padding:20px;
  margin-bottom:18px
}
.card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px
}
.card-head h2{margin:2px 0 0;font-size:1.08rem}
.card-head p{margin:5px 0 0;color:var(--ui-muted)}
.page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:20px
}
.page-head h1{font-size:1.65rem;line-height:1.15;margin:4px 0 6px}
.page-head p{margin:0;color:var(--ui-muted);max-width:820px}
.eyebrow{
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ui-primary)
}

.form{display:grid;gap:15px}
.form label,.filter-bar label{
  display:grid;
  gap:6px;
  color:#375267;
  font-size:.82rem;
  font-weight:800
}
.form input,.form select,.form textarea,
.filter-bar input,.filter-bar select,.filter-bar textarea{
  border:1px solid #cddce6;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  color:var(--ui-text);
  transition:border-color .15s,box-shadow .15s
}
.form input:focus,.form select:focus,.form textarea:focus,
.filter-bar input:focus,.filter-bar select:focus,.filter-bar textarea:focus{
  border-color:var(--ui-primary);
  box-shadow:0 0 0 3px rgba(14,102,161,.12);
  outline:0
}
.form input[disabled],.form select[disabled],.form textarea[disabled]{
  background:#eef3f6;color:#7d8f9b;cursor:not-allowed
}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.btn,button.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:9px 14px;
  border:1px solid var(--ui-border);
  border-radius:10px;
  background:#fff;
  color:var(--ui-text);
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s,box-shadow .12s,background .12s
}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(18,57,83,.12)}
.btn.primary{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}
.btn.danger{background:var(--ui-danger-bg);border-color:#f2c7c7;color:var(--ui-danger)}
.btn.success{background:var(--ui-success-bg);border-color:#c8ead4;color:var(--ui-success)}
.btn.small{min-height:34px;padding:7px 10px;font-size:.78rem}

.filter-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end
}
.filter-actions{display:flex;gap:8px;align-items:center}

.table-wrap{
  overflow:auto;
  border:1px solid var(--ui-border);
  border-radius:12px;
  background:#fff
}
table{width:100%;border-collapse:collapse}
table th{
  background:#f2f6f8;
  color:#415d70;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-align:left;
  padding:11px 12px;
  border-bottom:1px solid var(--ui-border)
}
table td{
  padding:12px;
  border-bottom:1px solid #e8eef2;
  font-size:.86rem
}
table tbody tr:hover{background:#f8fbfd}
table tbody tr:last-child td{border-bottom:0}

.badge,.status-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap
}
.badge.green,.status-badge.success{background:var(--ui-success-bg);color:var(--ui-success)}
.status-badge.warning{background:var(--ui-warning-bg);color:var(--ui-warning)}
.status-badge.danger{background:var(--ui-danger-bg);color:var(--ui-danger)}
.status-badge.neutral{background:#eef2f4;color:#5c6d78}

.alert{
  border-radius:12px;
  padding:13px 15px;
  margin-bottom:14px;
  border:1px solid var(--ui-border)
}
.alert.success{background:var(--ui-success-bg);border-color:#c8ead4;color:var(--ui-success)}
.alert.warning{background:var(--ui-warning-bg);border-color:#f0df9c;color:var(--ui-warning)}
.alert.error{background:var(--ui-danger-bg);border-color:#efc4c4;color:var(--ui-danger)}
.alert.info{background:var(--ui-primary-soft);border-color:#cfe2ef;color:#185c89}

.empty-state{
  text-align:center;
  padding:36px 20px;
  border:1px dashed #cddce6;
  border-radius:12px;
  background:#f9fbfc;
  color:var(--ui-muted)
}
.empty-state b{display:block;color:var(--ui-text);margin-bottom:5px}
.empty-state p{margin:0}

.toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px
}
.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.section-divider{height:1px;background:#e5edf2;margin:18px 0}
.muted{color:var(--ui-muted)}
.help-text{font-size:.76rem;color:var(--ui-muted);font-weight:500}
.required-mark{color:var(--ui-danger)}

.modal-card{
  background:#fff;
  border:1px solid var(--ui-border);
  border-radius:16px;
  box-shadow:0 20px 55px rgba(18,57,83,.22)
}

@media(max-width:1100px){
  .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .page-head,.card-head,.toolbar{flex-direction:column;align-items:stretch}
  .grid2,.grid3,.filter-bar{grid-template-columns:1fr}
  .toolbar-actions,.filter-actions{width:100%}
  .toolbar-actions .btn,.filter-actions .btn{flex:1}
  .card{padding:16px}
  .page-head h1{font-size:1.42rem}
}

.system-version-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#edf3f7;
  color:#5a7182;
  font-size:.68rem;
  font-weight:900;
  white-space:nowrap
}

/* Sprint 6.1.5 — Listagens, Filtros e Ações Padronizadas */
.filter-panel{
  margin-bottom:18px;
  border:1px solid var(--ui-border,#dbe6ed);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 5px 18px rgba(18,57,83,.05)
}
.filter-panel-toggle{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:0;
  background:#f5f8fa;
  color:#355166;
  padding:12px 15px;
  font-size:.8rem;
  font-weight:900;
  cursor:pointer
}
.filter-panel-toggle i{
  font-style:normal;
  transition:transform .18s
}
.filter-panel.open .filter-panel-toggle i{transform:rotate(180deg)}
.filter-panel-body{display:none;padding:14px}
.filter-panel.open .filter-panel-body{display:block}
.filter-panel .filter-bar{margin:0!important}

.table-scroll-hint{
  display:none;
  margin:0 0 7px;
  color:#6b7d8c;
  font-size:.74rem;
  text-align:right
}
.table-wrap{
  position:relative;
  scrollbar-width:thin;
  scrollbar-color:#9db3c2 #edf3f6
}
.table-wrap::-webkit-scrollbar{height:9px}
.table-wrap::-webkit-scrollbar-track{background:#edf3f6;border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb{background:#9db3c2;border-radius:999px}

.table-wrap table thead th{
  position:sticky;
  top:0;
  z-index:2;
  box-shadow:0 1px 0 #dbe6ed
}
.table-wrap table tbody tr:nth-child(even){background:#fbfcfd}
.table-wrap table tbody tr:hover{background:#f1f7fb}

.standard-row-actions{
  display:flex!important;
  align-items:center;
  gap:6px;
  flex-wrap:wrap
}
.standard-row-actions .btn,
.standard-row-actions button,
.standard-row-actions select{
  min-height:32px;
  font-size:.75rem
}

.list-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap
}
.list-toolbar-summary{
  color:#60798d;
  font-size:.8rem
}
.list-toolbar-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  margin-top:16px
}
.pagination a,.pagination span{
  min-width:34px;
  min-height:34px;
  display:grid;
  place-items:center;
  border:1px solid #d8e4eb;
  border-radius:9px;
  background:#fff;
  color:#355166;
  text-decoration:none;
  font-size:.78rem;
  font-weight:850
}
.pagination .active{
  background:#0e66a1;
  border-color:#0e66a1;
  color:#fff
}
.pagination .disabled{
  opacity:.45;
  pointer-events:none
}

.bulk-actions{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:11px;
  background:#edf5fa;
  border:1px solid #d2e4ef;
  margin-bottom:12px
}
.bulk-actions select{min-width:180px}

@media(max-width:850px){
  .table-scroll-hint{display:block}
  .standard-row-actions{flex-direction:column;align-items:stretch}
  .standard-row-actions .btn,
  .standard-row-actions button,
  .standard-row-actions select{width:100%}
}

@media(max-width:620px){
  .filter-panel-body{padding:12px}
  .filter-panel-toggle{padding:11px 12px}
  .list-toolbar,.bulk-actions{flex-direction:column;align-items:stretch}
  .list-toolbar-actions .btn{width:100%}
  .pagination{justify-content:flex-start;overflow:auto;padding-bottom:4px}
}

/* Sprint 6.1.6 — Formulários, Validação e Fluxos de Cadastro */
.form fieldset,.form-section{
  border:1px solid var(--ui-border,#dbe6ed);
  border-radius:13px;
  padding:16px;
  margin:0;
  min-width:0;
  background:#fbfdfe
}
.form fieldset legend,.form-section-title{
  padding:0 7px;
  color:#315267;
  font-size:.82rem;
  font-weight:900
}
.form fieldset[data-step] legend::before,
.form-section[data-step] .form-section-title::before{
  content:attr(data-step);
  display:inline-grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  background:#0e66a1;
  color:#fff;
  font-size:.7rem;
  margin-right:7px
}
.required-mark{color:#b33030;font-weight:900}
label.has-error{color:#982b2b!important}
.field-invalid{
  border-color:#cf4f4f!important;
  box-shadow:0 0 0 3px rgba(207,79,79,.12)!important
}
.field-error-message{
  display:block;
  color:#982b2b;
  font-size:.74rem;
  margin-top:4px
}
.character-counter{
  display:block;
  margin-top:4px;
  text-align:right;
  color:#718695;
  font-size:.7rem;
  font-weight:650
}
.character-counter.near-limit{color:#9a5b00}
.password-field-wrap{
  position:relative;
  display:block
}
.password-field-wrap input{
  padding-right:76px!important
}
.password-toggle{
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#0e66a1;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
  padding:6px
}
.form.is-submitting{
  opacity:.82;
  pointer-events:none
}
.button-spinner{
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  display:inline-block;
  animation:formSpin .7s linear infinite
}
.btn:not(.primary) .button-spinner{
  border-color:rgba(14,102,161,.25);
  border-top-color:#0e66a1
}
@keyframes formSpin{to{transform:rotate(360deg)}}

.form-actions{
  position:sticky;
  bottom:0;
  z-index:6;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:12px;
  margin:8px -4px -4px;
  border:1px solid #dbe6ed;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
  box-shadow:0 -8px 20px rgba(18,57,83,.07)
}
.form-actions .btn{min-width:120px}
.form-progress{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e9f0f4;
  margin-bottom:14px
}
.form-progress>span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#0e66a1
}
.form-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:13px;
  border-radius:12px;
  background:#f5f9fb;
  border:1px solid #dce8ef
}
.form-summary div{min-width:0}
.form-summary b,.form-summary span{display:block}
.form-summary b{font-size:.72rem;text-transform:uppercase;color:#6b7d8c}
.form-summary span{margin-top:3px;overflow-wrap:anywhere}
.form-tip{
  display:flex;
  gap:10px;
  padding:12px;
  border-radius:11px;
  background:#edf5fa;
  color:#305972;
  font-size:.8rem;
  line-height:1.5
}
.form-tip::before{
  content:'i';
  flex:0 0 24px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#0e66a1;
  color:#fff;
  font-weight:900
}

@media(max-width:700px){
  .form fieldset,.form-section{padding:13px}
  .form-actions{
    position:static;
    flex-direction:column-reverse;
    margin:8px 0 0
  }
  .form-actions .btn{width:100%}
  .form-summary{grid-template-columns:1fr}
}

/* Hotfix 6.1.6.1 — reconstrução completa do layout */
body.admin-shell{margin:0!important;background:#f2f6f9!important;overflow-x:hidden!important}
.app-shell{display:flex!important;min-height:100vh!important}
.app-sidebar{
  position:fixed!important;inset:0 auto 0 0!important;width:236px!important;
  display:flex!important;flex-direction:column!important;
  background:#092f4d!important;color:#fff!important;z-index:1000!important;
  box-shadow:8px 0 28px rgba(4,30,49,.14)!important;transition:width .2s,transform .2s!important
}
.sidebar-brand{height:66px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 12px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;box-sizing:border-box!important}
.sidebar-brand img{width:36px!important;height:36px!important;object-fit:cover!important;border-radius:50%!important}
.sidebar-brand-copy{display:grid!important;min-width:0!important}
.sidebar-brand-copy strong{font-size:.9rem!important}.sidebar-brand-copy small{font-size:.68rem!important;color:#b8cad6!important}
.sidebar-collapse-button{margin-left:auto!important;width:30px!important;height:30px!important;border:0!important;border-radius:8px!important;background:rgba(255,255,255,.1)!important;color:#fff!important;cursor:pointer!important}
.main-navigation{flex:1!important;overflow:auto!important;padding:9px 8px!important;scrollbar-width:thin!important}
.menu-section{margin:0 0 3px!important}
.menu-section-button{width:100%!important;height:34px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#c1d1dc!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 9px!important;font-size:.67rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.055em!important;cursor:pointer!important}
.menu-section-button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
.menu-chevron{transition:transform .16s!important}.menu-section.open .menu-chevron{transform:rotate(180deg)!important}
.menu-section-links{display:none!important;padding:2px 0 4px!important}.menu-section.open .menu-section-links{display:grid!important;gap:2px!important}
.menu-section-links a{min-height:36px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:0 9px!important;border-radius:8px!important;color:#d8e4eb!important;text-decoration:none!important;font-size:.78rem!important}
.menu-section-links a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.menu-section-links a.active{background:#14689c!important;color:#fff!important;box-shadow:inset 3px 0 0 #65c1f0!important}
.menu-icon{width:24px!important;min-width:24px!important;text-align:center!important;font-style:normal!important;font-size:.78rem!important;font-weight:800!important}
.menu-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.sidebar-logout{padding:9px!important;border-top:1px solid rgba(255,255,255,.09)!important}
.sidebar-logout button{width:100%!important;height:39px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:9px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;display:flex!important;align-items:center!important;gap:8px!important;padding:0 9px!important;font-weight:800!important;cursor:pointer!important}
.app-main{margin-left:236px!important;width:calc(100% - 236px)!important;min-width:0!important;transition:margin-left .2s,width .2s!important}
.app-topbar{height:66px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 28px!important;background:#fff!important;border-bottom:1px solid #dfe8ee!important;box-sizing:border-box!important}
.topbar-user{display:grid!important}.topbar-user strong{font-size:.82rem!important}.topbar-user small{font-size:.68rem!important;color:#708493!important}
.topbar-actions{display:flex!important;align-items:center!important;gap:12px!important}
.topbar-website{padding:8px 12px!important;border-radius:9px!important;background:#eaf3f9!important;color:#0e66a1!important;text-decoration:none!important;font-size:.75rem!important;font-weight:900!important}
.topbar-version{padding:4px 8px!important;border-radius:999px!important;background:#edf2f5!important;color:#647985!important;font-size:.65rem!important;font-weight:900!important}
.app-content{padding:22px 28px 38px!important;box-sizing:border-box!important}
.content-frame{width:100%!important;max-width:1440px!important;margin:0 auto!important}
.app-breadcrumbs{display:flex!important;align-items:center!important;gap:6px!important;margin-bottom:14px!important;font-size:.72rem!important;color:#718594!important}
.app-breadcrumbs a{color:#0e66a1!important;text-decoration:none!important}
body.sidebar-collapsed .app-sidebar{width:68px!important}
body.sidebar-collapsed .app-main{margin-left:68px!important;width:calc(100% - 68px)!important}
body.sidebar-collapsed .sidebar-brand-copy,body.sidebar-collapsed .menu-section-title,body.sidebar-collapsed .menu-chevron,body.sidebar-collapsed .menu-label{display:none!important}
body.sidebar-collapsed .sidebar-collapse-button{margin-left:0!important;transform:rotate(180deg)!important}
body.sidebar-collapsed .sidebar-brand{justify-content:center!important;padding:0!important;gap:4px!important}
body.sidebar-collapsed .main-navigation{padding-left:7px!important;padding-right:7px!important}
body.sidebar-collapsed .menu-section-button{display:none!important}
body.sidebar-collapsed .menu-section-links{display:grid!important}
body.sidebar-collapsed .menu-section-links a{justify-content:center!important;padding:0!important}
body.sidebar-collapsed .menu-icon{width:32px!important;min-width:32px!important}
body.sidebar-collapsed .sidebar-logout button{justify-content:center!important;padding:0!important}
.mobile-menu-button,.mobile-menu-backdrop{display:none!important}

.dashboard-hero{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;margin-bottom:18px!important;padding:3px 2px!important}
.dashboard-hero h1{font-size:1.85rem!important;line-height:1.15!important;margin:4px 0 6px!important;color:#123b58!important}
.dashboard-hero p{margin:0!important;color:#688090!important}
.dashboard-hero-actions{display:flex!important;align-items:center!important;gap:9px!important}
.profile-role{background:#e7f2f9!important;color:#086397!important}
.dashboard-search-button{background:#0e66a1!important;color:#fff!important;border-color:#0e66a1!important}
.dashboard-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:18px!important}
.dashboard-kpi-card{min-height:112px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;padding:18px!important;border:1px solid #dbe6ed!important;border-radius:14px!important;background:#fff!important;color:#17384f!important;text-decoration:none!important;box-shadow:0 7px 20px rgba(18,57,83,.055)!important;transition:transform .15s,box-shadow .15s!important}
.dashboard-kpi-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(18,57,83,.1)!important}
.dashboard-kpi-copy span,.dashboard-kpi-copy b{display:block!important}.dashboard-kpi-copy span{font-size:.75rem!important;color:#718594!important}.dashboard-kpi-copy b{margin-top:9px!important;font-size:1.72rem!important;color:#113b58!important}
.dashboard-kpi-arrow{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#edf5fa!important;color:#0e66a1!important;font-weight:900!important}
.dashboard-primary-grid{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)!important;gap:18px!important;margin-bottom:18px!important}
.dashboard-panel{background:#fff!important;border:1px solid #dbe6ed!important;border-radius:15px!important;padding:19px!important;box-shadow:0 7px 22px rgba(18,57,83,.055)!important}
.dashboard-panel-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:14px!important}.dashboard-panel-header h2{font-size:1.03rem!important;margin:3px 0 0!important}
.dashboard-quick-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.dashboard-quick-grid a{display:flex!important;align-items:center!important;gap:10px!important;min-height:72px!important;padding:12px!important;border:1px solid #e0e9ef!important;border-radius:11px!important;background:#f9fbfc!important;color:#17384f!important;text-decoration:none!important}
.dashboard-action-symbol{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:8px!important;background:#e7f2f9!important;color:#0e66a1!important;font-weight:900!important}
.dashboard-quick-grid b,.dashboard-quick-grid small{display:block!important}.dashboard-quick-grid b{font-size:.82rem!important}.dashboard-quick-grid small{font-size:.7rem!important;color:#758997!important;margin-top:3px!important}
.dashboard-alert-list{display:grid!important}.dashboard-alert-list a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:58px!important;padding:9px 2px!important;border-bottom:1px solid #e7edf1!important;color:#17384f!important;text-decoration:none!important}.dashboard-alert-list a:last-child{border-bottom:0!important}
.dashboard-alert-list b,.dashboard-alert-list small{display:block!important}.dashboard-alert-list b{font-size:.79rem!important}.dashboard-alert-list small{font-size:.68rem!important;color:#758997!important;margin-top:2px!important}.dashboard-alert-list strong{font-size:1.25rem!important;color:#0e66a1!important}
.dashboard-recent-panel{margin-bottom:0!important}.dashboard-recent-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:24px!important}
.dashboard-recent-item{display:grid!important;grid-template-columns:115px 1fr!important;gap:12px!important;align-items:start!important;padding:11px 0!important;border-bottom:1px solid #e8eef2!important}
.dashboard-recent-item time{font-size:.69rem!important;color:#778b99!important}.dashboard-recent-item b,.dashboard-recent-item small{display:block!important}.dashboard-recent-item b{font-size:.78rem!important}.dashboard-recent-item small{font-size:.68rem!important;color:#758997!important;margin-top:2px!important}
.dashboard-empty{padding:22px!important;text-align:center!important;color:#738795!important;background:#f8fbfc!important;border-radius:10px!important}

@media(max-width:1180px){
.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
.app-sidebar{transform:translateX(-105%)!important;width:min(82vw,280px)!important}
.app-main,body.sidebar-collapsed .app-main{margin-left:0!important;width:100%!important}
body.mobile-menu-open .app-sidebar{transform:translateX(0)!important}
.mobile-menu-button{display:grid!important;place-items:center!important;position:fixed!important;left:12px!important;top:12px!important;z-index:1200!important;width:42px!important;height:42px!important;border:0!important;border-radius:10px!important;background:#0e66a1!important;color:#fff!important;font-size:1.1rem!important}
.mobile-menu-backdrop{display:block!important;position:fixed!important;inset:0!important;z-index:950!important;border:0!important;background:rgba(4,27,43,.48)!important;opacity:0!important;visibility:hidden!important}
body.mobile-menu-open .mobile-menu-backdrop{opacity:1!important;visibility:visible!important}
.app-topbar{padding-left:66px!important;padding-right:16px!important}
.app-content{padding:18px 16px 30px!important}
.sidebar-collapse-button{display:none!important}
.dashboard-primary-grid{grid-template-columns:1fr!important}
}
@media(max-width:650px){
.dashboard-hero{align-items:flex-start!important;flex-direction:column!important}
.dashboard-hero-actions{width:100%!important}.dashboard-search-button{flex:1!important}
.dashboard-kpis{grid-template-columns:1fr!important}
.dashboard-quick-grid{grid-template-columns:1fr!important}
.dashboard-recent-list{grid-template-columns:1fr!important}
.dashboard-recent-item{grid-template-columns:1fr!important}
.dashboard-kpi-card{min-height:96px!important}
.topbar-user strong{max-width:170px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}

/* Sprint 7.0.1 — Auditoria Geral */
.audit-page-head{align-items:center}.audit-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.audit-overall,.audit-section-status{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:950;text-transform:uppercase}
.audit-overall.ok,.audit-section-status.ok{background:#e6f7ec;color:#1e7140}.audit-overall.warning,.audit-section-status.warning{background:#fff2cc;color:#745500}.audit-overall.fail,.audit-section-status.fail{background:#fee8e8;color:#962d2d}
.audit-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:17px}.audit-summary article{display:flex;align-items:center;gap:12px;min-height:82px;padding:15px;border:1px solid #dbe6ed;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(18,57,83,.05)}
.audit-summary article>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#edf3f7;color:#456274;font-weight:950}.audit-summary article.ok>span{background:#e6f7ec;color:#1e7140}.audit-summary article.warning>span{background:#fff2cc;color:#745500}.audit-summary article.fail>span{background:#fee8e8;color:#962d2d}
.audit-summary b,.audit-summary small{display:block}.audit-summary b{font-size:1.22rem}.audit-summary small{font-size:.7rem;color:#718594;margin-top:2px}
.audit-notice{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#edf6fb}.audit-notice p{margin:5px 0 0;color:#567185}.audit-notice small{white-space:nowrap;color:#6c8291}
.audit-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.audit-section{margin-bottom:0}.audit-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.audit-section-head h2{font-size:1.05rem;margin:3px 0}.audit-section-head p{margin:5px 0 0;color:#6a8090}
.audit-check-list{display:grid;gap:7px}.audit-check{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:10px;border:1px solid #e2eaf0;border-radius:10px;background:#fafcfd}.audit-check.ok{border-left:4px solid #2b9255}.audit-check.warning{border-left:4px solid #d09a20}.audit-check.fail{border-left:4px solid #c04444}
.audit-check-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-weight:950;background:#eaf0f4;color:#536d7e}.audit-check.ok .audit-check-icon,.audit-module-checks .ok span{background:#e6f7ec;color:#1e7140}.audit-check.warning .audit-check-icon,.audit-module-checks .warning span{background:#fff2cc;color:#745500}.audit-check.fail .audit-check-icon,.audit-module-checks .fail span{background:#fee8e8;color:#962d2d}
.audit-check-copy b,.audit-check-copy small{display:block}.audit-check-copy b{font-size:.78rem}.audit-check-copy small{font-size:.7rem;color:#6d8190;margin-top:2px;overflow-wrap:anywhere}.audit-check-copy p{margin:5px 0 0;font-size:.68rem;color:#876219}
.audit-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.audit-module{border:1px solid #dce6ed;border-radius:11px;background:#fff;overflow:hidden}.audit-module.ok{border-top:4px solid #2b9255}.audit-module.warning{border-top:4px solid #d09a20}.audit-module.fail{border-top:4px solid #c04444}
.audit-module summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;cursor:pointer;list-style:none}.audit-module summary::-webkit-details-marker{display:none}.audit-module summary>div{display:flex;align-items:center;gap:8px}.audit-module summary b{font-size:.77rem}
.audit-module-checks{display:grid;gap:5px;padding:0 10px 10px}.audit-module-checks>div{display:grid;grid-template-columns:24px 78px 1fr;gap:6px;align-items:center;padding:7px;border-radius:8px;background:#f7fafc}.audit-module-checks span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:.68rem;font-weight:950}.audit-module-checks b{font-size:.67rem}.audit-module-checks small{font-size:.65rem;color:#6f8290;overflow-wrap:anywhere}
.audit-next-step{margin-top:17px;background:linear-gradient(135deg,#0a3d61,#0e6294);color:#fff}.audit-next-step .eyebrow{color:#f1c752}.audit-next-step h2{margin:5px 0}.audit-next-step p{margin:0;color:#d8e9f3}
@media(max-width:1150px){.audit-summary{grid-template-columns:repeat(3,1fr)}.audit-module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.audit-sections{grid-template-columns:1fr}.audit-summary{grid-template-columns:repeat(2,1fr)}.audit-module-grid{grid-template-columns:1fr}.audit-notice{align-items:flex-start;flex-direction:column}.audit-notice small{white-space:normal}}@media(max-width:560px){.audit-summary{grid-template-columns:1fr}.audit-page-head{align-items:flex-start}.audit-head-actions{width:100%}.audit-head-actions .btn{flex:1}.audit-module-checks>div{grid-template-columns:24px 1fr}.audit-module-checks small{grid-column:2}}

/* Sprint 7.0.2 — correção estrutural e prontidão dos módulos */
.audit-module summary{flex-wrap:wrap}
.audit-module-score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:25px;
  padding:2px 7px;
  margin-left:auto;
  border-radius:999px;
  background:#edf3f7;
  color:#345469;
  font-size:.68rem;
  font-weight:950
}

/* Sprint 7.1.0 — Auditoria Inteligente dos Módulos */
.audit-module.ok{border-top-color:#2b9255}
.audit-module.warning{border-top-color:#d09a20}
.audit-module.fail{border-top-color:#c04444}
.audit-module[open]{
  box-shadow:0 12px 28px rgba(20,55,80,.10)
}
.audit-module-checks>div.warning{
  border-left:3px solid #d09a20
}
.audit-module-checks>div.fail{
  border-left:3px solid #c04444
}
.audit-module-checks>div.ok{
  border-left:3px solid #2b9255
}
