.dashboard-module{flex-direction:column;gap:.9rem;width:100%;min-width:0;display:flex}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.dashboard-metric-card{background:#fff;border:1px solid #d9e2dd;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.75rem .9rem;display:flex;box-shadow:0 2px 10px #1f342b0a}.dashboard-metric-card span{color:#63736c;min-width:0;font-size:.76rem;font-weight:600;line-height:1.2}.dashboard-metric-card strong{color:#1e3029;flex:none;font-size:1.28rem;line-height:1}.dashboard-module__error{flex-direction:column;gap:.2rem;padding:.8rem .95rem;display:flex}.dashboard-module__error strong{color:#8d2f2f;font-size:.88rem}.dashboard-module__error span{color:#6f7772;font-size:.78rem}.dashboard-main-grid{grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);align-items:start;gap:.9rem;display:grid}.dashboard-analysis-stack{grid-template-rows:225px 185px;gap:.9rem;min-width:0;display:grid}.dashboard-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:stretch;gap:.9rem;display:grid}.dashboard-card{border-radius:13px;min-width:0;padding:.9rem}.dashboard-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.7rem;display:flex}.dashboard-card-header>div{min-width:0}.dashboard-card-kicker{color:#78847e;letter-spacing:.08em;margin-bottom:.16rem;font-size:.63rem;font-weight:700;display:block}.dashboard-card h2{color:#24342d;margin:0;font-size:.99rem;line-height:1.25}.dashboard-card-header button{color:#314a3e;cursor:pointer;background:#f7faf8;border:1px solid #d6e0db;border-radius:8px;flex:none;padding:.42rem .66rem;font-size:.72rem;font-weight:600}.dashboard-card-header button:hover{background:#eef4f0}.dashboard-period-badge{color:#63736c;background:#f1f5f2;border-radius:999px;flex:none;padding:.25rem .46rem;font-size:.67rem;font-weight:700}.dashboard-table-wrap{width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;table-layout:fixed;width:100%}.dashboard-table th,.dashboard-table td{text-align:left;vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #edf1ee;padding:.54rem .4rem;font-size:.77rem}.dashboard-table th{color:#7b857f;text-transform:uppercase;letter-spacing:.03em;font-size:.67rem;font-weight:700}.dashboard-table td{color:#324239}.dashboard-table th:first-child,.dashboard-table td:first-child{width:17%}.dashboard-table th:nth-child(2),.dashboard-table td:nth-child(2){width:57%}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3){width:26%}.dashboard-table tbody tr:last-child td{border-bottom:0}.dashboard-card-foot{color:#8a938e;border-top:1px solid #eef2ef;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.52rem;padding-top:.48rem;font-size:.67rem;display:flex}.dashboard-text-button{color:#395748;cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:700}.dashboard-loading{color:#7c8781;place-items:center;min-height:165px;font-size:.79rem;display:grid}.dashboard-evolution{grid-template-columns:40px minmax(0,1fr);gap:.45rem;min-height:180px;display:grid}.dashboard-chart-y-axis{color:#99a19c;text-align:right;flex-direction:column;justify-content:space-between;padding:.15rem 0;font-size:.63rem;display:flex}.dashboard-evolution-plot{flex-direction:column;gap:.35rem;min-width:0;display:flex}.dashboard-evolution-plot svg{color:#3e6350;width:100%;height:160px;overflow:visible}.dashboard-evolution-plot line{stroke:#e8eeea;stroke-width:1px}.dashboard-chart-x-axis{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.2rem;display:grid}.dashboard-chart-x-axis span{color:#737d78;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.62rem;overflow:hidden}.dashboard-chart-x-axis small{color:#a0a7a3;margin-top:.08rem;font-size:.56rem;display:block}.dashboard-empty-state{text-align:center;background:#fbfcfb;border:1px dashed #d8e1dc;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:155px;padding:1rem;display:flex}.dashboard-empty-icon{color:#597263;background:#eff4f0;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:800;display:grid}.dashboard-empty-state strong{color:#415047;font-size:.78rem}.dashboard-empty-state span{color:#89928d;max-width:370px;font-size:.68rem;line-height:1.45}.dashboard-ranking-list{flex-direction:column;gap:.62rem;display:flex}.dashboard-ranking-item{min-width:0}.dashboard-ranking-topline{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.28rem;display:flex}.dashboard-ranking-topline>strong{color:#334b3e;flex:none;font-size:.73rem}.dashboard-ranking-name{align-items:center;gap:.5rem;min-width:0;display:flex}.dashboard-ranking-position{color:#64746c;background:#f1f5f2;border-radius:7px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.66rem;font-weight:800;display:grid}.dashboard-ranking-name div{min-width:0}.dashboard-ranking-name strong,.dashboard-ranking-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-ranking-name strong{color:#34443c;font-size:.73rem}.dashboard-ranking-name span{color:#9aa29d;margin-top:.08rem;font-size:.61rem}.dashboard-progress-track{background:#edf1ee;border-radius:999px;width:100%;height:5px;overflow:hidden}.dashboard-progress-fill{border-radius:inherit;background:#557962;height:100%}.dashboard-progress-presente{background:#557962}.dashboard-progress-justificada{background:#8d9a91}.dashboard-progress-ausente{background:#c4cbc6}.dashboard-presence-total{color:#42614f;flex:none;font-size:1rem}.dashboard-presence-list{flex-direction:column;gap:.72rem;display:flex}.dashboard-presence-row{grid-template-columns:115px minmax(0,1fr) 48px;align-items:center;gap:.55rem;display:grid}.dashboard-presence-label{color:#5c6861;justify-content:space-between;gap:.35rem;font-size:.72rem;display:flex}.dashboard-presence-label strong{color:#394b42}.dashboard-presence-percent{color:#7d8982;text-align:right;font-size:.67rem}.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.dashboard-actions button{color:#3d5146;cursor:pointer;background:#fafcfb;border:1px solid #d8e1dc;border-radius:9px;justify-content:center;align-items:center;gap:.42rem;min-height:40px;padding:.52rem .65rem;font-size:.73rem;font-weight:700;display:flex}.dashboard-actions button:hover{background:#f1f5f2;border-color:#cbd8d0}.dashboard-actions button span{font-size:.95rem;line-height:1}@media (width<=1180px){.dashboard-main-grid{grid-template-columns:minmax(0,1fr)}.dashboard-analysis-stack{grid-template-rows:none;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}}@media (width<=860px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analysis-stack,.dashboard-bottom-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.dashboard-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-metric-card{padding:.68rem .8rem}.dashboard-main-grid,.dashboard-bottom-grid{gap:.7rem}.dashboard-card{padding:.8rem}.dashboard-card-header{align-items:flex-start}.dashboard-presence-row{grid-template-columns:92px minmax(0,1fr) 44px}.dashboard-actions{grid-template-columns:minmax(0,1fr)}.dashboard-evolution{grid-template-columns:34px minmax(0,1fr)}}@media (width<=430px){.dashboard-table th,.dashboard-table td{font-size:.7rem}.dashboard-card h2{font-size:.92rem}.dashboard-card-foot{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}:root{color:#18202a;background:#f4f6f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}button{cursor:pointer;color:#fff;background:#1d4d3a;border:0;border-radius:8px;padding:10px 16px;font-weight:600}button:disabled{opacity:.65;cursor:not-allowed}input,select,textarea{width:100%;font:inherit;color:#18202a;background:#fff;border:1px solid #d7dfda;border-radius:8px;padding:10px 12px}textarea{resize:vertical}label{color:#4d5a53;gap:6px;font-size:13px;font-weight:600;display:grid}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:#17251f;width:250px;padding:24px 16px}.brand{letter-spacing:.08em;padding:8px 12px 28px;font-size:18px;font-weight:800}nav{gap:4px;display:grid}nav a{color:#d6ded9;border-radius:8px;padding:11px 12px;text-decoration:none}nav a.active,nav a:hover{color:#fff;background:#29483b}.menu-group{margin-top:14px}.menu-group-title{letter-spacing:.08em;color:#8fa69a;padding:8px 12px 5px;font-size:10px;font-weight:700}.menu-group a{display:block}.content{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:32px}header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:32px}h2{margin-bottom:0;font-size:22px}.eyebrow{letter-spacing:.12em;color:#718078;margin-bottom:6px;font-size:11px;font-weight:800}.user-badge{background:#fff;border:1px solid #dde3df;border-radius:999px;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-badge button{border-radius:999px;padding:7px 12px;font-size:12px}.cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.card{background:#fff;border:1px solid #e0e5e2;border-radius:12px;gap:12px;padding:20px;display:grid}.card span{color:#66736c;font-size:13px}.card strong{font-size:28px}.panel{background:#fff;border:1px solid #e0e5e2;border-radius:12px;margin-bottom:20px;padding:24px}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf0ee;padding:13px 10px}th{color:#66736c;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.status{color:#1d4d3a;background:#e8f3ed;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-block}.error{color:#a22b2b}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.frequency-form,.protocol-form{gap:16px;display:grid}.full-width{grid-column:1/-1}.form-message{color:#1d4d3a;margin-top:16px;font-weight:600}.helper-text{color:#718078;margin-bottom:10px;font-size:13px}.protocol-filters{grid-template-columns:180px 140px minmax(240px,1fr);gap:16px;margin-bottom:18px;display:grid}.secretaria-tabs{background:#edf2ef;border:1px solid #dce5df;border-radius:12px;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:6px;display:flex}.secretaria-tab{color:#4d5a53;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.secretaria-tab:hover{color:#1d4d3a;background:#fff;border-color:#d7dfda}.secretaria-tab.active{color:#fff;background:#1d4d3a;border-color:#1d4d3a;box-shadow:0 2px 5px #17251f1f}.secretaria-tab-content{min-width:0}.secretaria-placeholder{text-align:center;padding:48px 24px}.secretaria-placeholder h2{margin-bottom:10px}.secretaria-placeholder p{color:#718078;margin-bottom:0}.login-page{background:#f4f6f8;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #e0e5e2;border-radius:16px;width:min(100%,420px);padding:36px;box-shadow:0 18px 50px #17251f14}.login-card .brand{text-align:center;color:#17251f;margin-bottom:24px;padding:0}.login-card .eyebrow,.login-card h1,.login-card .login-description{text-align:center}.login-card h1{margin-bottom:10px}.login-description{color:#66736c;margin-bottom:24px}.login-card form{gap:16px;display:grid}.login-card form button{width:100%;margin-top:4px}@media (width<=900px){.content{padding:20px}.cards{grid-template-columns:repeat(2,1fr)}.protocol-filters{grid-template-columns:1fr 1fr}.protocol-filters .search-field{grid-column:1/-1}.secretaria-tabs{gap:6px}.secretaria-tab{flex:auto}}@media (width<=600px){.sidebar{display:none}.cards,.form-grid,.protocol-filters{grid-template-columns:1fr}.protocol-filters .search-field{grid-column:auto}header{flex-direction:column;align-items:flex-start}.user-badge{justify-content:space-between;width:100%}.login-card{padding:28px 22px}.secretaria-tabs{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.secretaria-tab{white-space:nowrap;flex:none}}
