@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#102348;font-synthesis:none;--blue:#178ad8;--teal:#13aeb5;--navy:#102348;--line:#dfe9f1;background:#f5f9fc;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:6px;font-size:clamp(26px,3vw,34px)}h2{font-size:17px}.muted,.page-title p,.step-title p{color:#687b96}.eyebrow{letter-spacing:.12em;margin-bottom:8px;font-size:11px;font-weight:800;color:#0799a7!important}.primary,.secondary,.ghost,.link-button{border:0;border-radius:10px;padding:11px 17px;font-weight:700}.primary{color:#fff;background:linear-gradient(135deg,#078ba8,#147ed2);box-shadow:0 8px 20px #178ad82a}.secondary{color:#117b9d;background:#e8f8fa;border:1px solid #bce7ea}.ghost{color:#526984;background:#f1f6fa}.link-button{color:#0b91a0;background:0 0;padding-left:0}.full{width:100%}button:disabled{opacity:.6;cursor:wait}label{color:#344a68;flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}input,select,textarea{color:#152d51;background:#fff;border:1px solid #d5e2ec;border-radius:9px;outline:none;width:100%;padding:11px 12px;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:#18a9b4;box-shadow:0 0 0 3px #18a9b41c}.error{color:#d43d55;font-size:13px}.success{color:#087d66;font-size:13px}.banner{background:#fff0f2;border-radius:9px;padding:11px 14px}.success.banner{background:#eaf9f3}.login-page{background:#fff;grid-template-columns:minmax(360px,44%) 1fr;min-height:100vh;display:grid}.login-card{width:min(430px,80%);margin:auto}.brand-mark,.logo-icon{color:#0aa6ad;border:2px solid;place-items:center;display:grid;transform:rotate(-3deg)}.brand-mark{border-radius:20px;width:60px;height:60px;margin-bottom:30px;font-size:31px}.login-card h1{font-size:38px}.login-card form{gap:18px;margin:32px 0 22px;display:grid}.login-card small{color:#8191a5}.login-art{color:#fff;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#083a65cc,#04a9afaa),radial-gradient(circle at 20% 20%,#3ed7cf,#075a86 65%,#062c58);align-items:flex-end;padding:80px;display:flex}.login-art div{max-width:530px}.login-art span{letter-spacing:.16em;font-size:13px;font-weight:800}.login-art h2{margin:10px 0;font-size:48px;line-height:1.05}.login-art p{color:#d6f5f5;font-size:17px}.app-shell{grid-template-columns:225px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:12px;margin:0 10px 36px;font-size:20px;font-weight:800;display:flex}.logo span{color:#0a97a4}.logo-icon{border-radius:13px;width:40px;height:40px;font-size:22px}.sidebar nav{gap:8px;display:grid}.sidebar nav button{color:#536985;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;padding:13px 15px;font-weight:650;display:flex}.sidebar nav button span{text-align:center;width:20px;font-size:20px}.sidebar nav button.active{color:#08778d;background:linear-gradient(90deg,#d9f4f5,#eaf9fa)}.sidebar-note{color:#47627d;background:#edf9fa;border-radius:13px;gap:8px;margin-top:auto;padding:18px;display:grid}.sidebar-note small{line-height:1.5}.app-version{color:#91a0b1;text-align:center;margin-top:13px;font-size:10px;display:block}.workspace{min-width:0}.workspace>header{border-bottom:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:25px;height:70px;padding:0 35px;display:flex}.workspace>header div{text-align:right;font-size:13px;display:grid}.workspace>header span{color:#778aa1;margin-top:3px;font-size:11px}.workspace>main{max-width:1510px;margin:auto;padding:28px 30px 50px}.page-title{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:22px;display:flex}.page-title p:last-child{margin-bottom:0}.period{width:190px}.metrics{grid-template-columns:repeat(6,minmax(120px,1fr));gap:11px;margin-bottom:16px;display:grid}.metric{background:#fff;border:1px solid #e0e9f0;border-radius:12px;flex-direction:column;justify-content:center;min-height:112px;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #1634520a}.metric:before{content:"";background:#178ad820;border-radius:50%;width:56px;height:56px;position:absolute;top:-22px;right:-15px}.metric span{color:#5f7390;font-size:12px}.metric strong{color:#132b53;margin-top:8px;font-size:28px}.metric.teal:before{background:#10aeb427}.metric.red:before{background:#ed4b5f25}.metric.aqua:before{background:#00c8a525}.dashboard-grid{grid-template-columns:1.3fr 1fr 1fr;gap:14px;display:grid}.panel{background:#fff;border:1px solid #e0e9f0;border-radius:13px;padding:20px;box-shadow:0 4px 16px #1634520a}.wide-panel{grid-column:span 2}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-heading h2{margin:0}.panel-heading span{color:#6e8198;font-size:12px}.daily-chart{background:repeating-linear-gradient(0deg,#edf3f7 0 1px,#0000 1px 51px);border-bottom:1px solid #dbe7ef;align-items:flex-end;gap:4px;height:205px;padding:15px 6px 0;display:flex}.day-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.day-column div{background:linear-gradient(#20b9bc,#168bd5);border-radius:4px 4px 0 0;width:70%;min-width:3px;transition:all .2s}.day-column:hover div{filter:brightness(1.12)}.day-column small{color:#708097;height:15px;font-size:9px}.diagnosis-list{gap:12px;display:grid}.diagnosis-list>div>div{grid-template-columns:50px 1fr 25px;align-items:center;gap:8px;font-size:11px;display:grid}.diagnosis-list span{white-space:nowrap;text-overflow:ellipsis;color:#637791;overflow:hidden}.diagnosis-list i{background:linear-gradient(90deg,#16aeb5,#6bd8de);border-radius:8px;height:6px;margin-top:5px;display:block}.classification-list{gap:20px;display:grid}.classification-list div{color:#526984;align-items:center;gap:10px;display:flex}.classification-list b{color:#172f54;margin-left:auto}.dot{background:#158bd7;border-radius:50%;width:11px;height:11px}.dot-r{background:#11b6b0}.dot-n{background:#f6a949}.dot-v{background:#9aaac0}.age-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.age-grid div{background:#f2f8fb;border-radius:10px;gap:5px;padding:17px;display:grid}.age-grid strong{color:#118ea4;font-size:23px}.age-grid span{color:#637791;font-size:12px}.loading{color:#687b96;text-align:center;padding:50px}.settings-layout{grid-template-columns:minmax(220px,.55fr) minmax(360px,1fr);align-items:start;gap:16px;max-width:900px;display:grid}.profile-card{gap:8px;display:grid}.profile-card span,.profile-card small{color:#73869e}.profile-card strong{font-size:18px}.password-form{gap:16px;display:grid}.password-form .primary{justify-self:start}.register-layout{grid-template-columns:.85fr 1.15fr;gap:16px;display:grid}.form-section{min-height:430px}.step-title{gap:12px;margin-bottom:22px;display:flex}.step-title>span{color:#fff;background:#11a4ae;border-radius:9px;flex:none;place-items:center;width:29px;height:29px;font-weight:800;display:grid}.step-title h2{margin:0 0 4px}.step-title p{margin:0;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .wide{grid-column:1/-1}.form-actions{align-items:flex-end}.search-results{max-height:270px;margin:10px 0;display:grid;overflow:auto}.search-results>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e4edf3;padding:10px 5px}.search-results>button:hover{background:#f3fafb}.patient-summary{align-items:center;gap:11px;min-width:0;display:flex}.patient-summary .avatar{color:#087f94;background:#dff6f7;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.patient-summary>div:last-child{gap:4px;min-width:0;display:grid}.patient-summary strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.patient-summary span{color:#75869c;font-size:11px}.cie-results{border:1px solid #dfe8ef;border-radius:9px;max-height:190px;overflow:auto}.cie-results button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e8eef3;grid-template-columns:62px 1fr;gap:10px;width:100%;padding:10px;display:grid}.cie-results button:hover{background:#eef9fa}.cie-results span{color:#5c718c;font-size:12px}.save-bar{background:#fff;border:1px solid #dfe9f0;border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.save-bar p{margin:0}.patients-panel{padding:0;overflow:hidden}.list-toolbar{border-bottom:1px solid #e4edf3;align-items:center;gap:20px;padding:18px 20px;display:flex}.list-toolbar input{max-width:520px}.list-toolbar span{color:#7a8da4;font-size:12px}.patient-table>div{grid-template-columns:minmax(250px,2fr) 1fr .6fr 70px;align-items:center;gap:20px;padding:13px 20px;display:grid}.table-head{color:#75879d;text-transform:uppercase;background:#f5f9fb;font-size:11px;font-weight:800}.table-row{border-top:1px solid #edf2f6;font-size:13px}.table-row>span{gap:4px;display:grid}.table-row small{color:#8595a7}.badge{color:#087e94;background:#e1f6f7;border-radius:20px;width:fit-content;padding:6px 9px;font-size:10px;font-weight:800;display:inline-block!important}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09213e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(650px,100%);padding:25px;box-shadow:0 25px 80px #071c3b66}.modal-title{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.modal-title h2{margin:0;font-size:24px}@media (width<=1150px){.metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.wide-panel{grid-column:span 2}.register-layout{grid-template-columns:1fr}.save-bar{grid-column:auto}}@media (width<=760px){.login-page{padding:45px 20px;display:block}.login-card{width:100%}.login-art{display:none}.app-shell{display:block}.sidebar{width:100%;height:auto;padding:13px;position:static}.logo,.sidebar-note,.app-version{display:none}.sidebar nav{grid-template-columns:repeat(3,1fr);display:grid}.sidebar nav button{justify-content:center}.workspace>header{height:55px;padding:0 15px}.workspace>main{padding:22px 14px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.settings-layout{grid-template-columns:1fr}.wide-panel{grid-column:auto}.page-title{flex-direction:column;align-items:flex-start}.patient-table .table-head{display:none}.patient-table>div{grid-template-columns:1fr auto}.table-row>span:not(.badge){display:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}.quick-register{color:#fff;background:linear-gradient(135deg,#079cad,#167fd1);border:0;border-radius:10px;width:100%;margin-top:20px;padding:12px;font-weight:750}.period-picker{align-items:flex-end;gap:10px;display:flex}.period-picker label{min-width:125px}.period-picker label:last-child{min-width:95px}.metric small{color:#8a99aa;margin-top:5px;font-size:9px}.chart-box{width:100%;height:225px;position:relative}.chart-box.chart-tall{height:285px}.chart-empty{color:#8898aa;background:#f7fafc;border-radius:10px;place-items:center;min-height:190px;font-size:13px;display:grid}.donut-wrap{height:250px}.donut-center{text-align:center;color:#173052;pointer-events:none;font-size:20px;font-weight:800;position:absolute;inset:85px 0 auto}.selected-patient{background:#f2fafb;border:1px solid #d7edef;border-radius:12px;gap:16px;padding:16px;display:grid}.selected-patient dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.selected-patient dl div{gap:3px;display:grid}.selected-patient dt{color:#8191a4;text-transform:uppercase;font-size:10px}.selected-patient dd{margin:0;font-size:12px;font-weight:700}.search-results.compact{max-height:215px}.duplicate-warning{color:#8a4e08;background:#fff8e7;border:1px solid #f1d391;border-radius:10px;gap:6px;max-width:670px;padding:12px;font-size:12px;display:grid}.duplicate-warning div{gap:8px;margin-top:4px;display:flex}.danger-outline{color:#a54628;background:#fff;border:1px solid #d98a70;border-radius:9px;padding:8px 11px;font-weight:700}.patient-table.enhanced>div{grid-template-columns:minmax(250px,2fr) 1fr .65fr .85fr 45px 70px}.patient-link{text-align:left;background:0 0;border:0;min-width:0;padding:0}.modal-title p:last-child{color:#71839a;margin:6px 0 0;font-size:12px}.modal-actions{gap:8px;display:flex}.top-layer{z-index:20}.patient-detail-modal{width:min(1050px,96vw);max-height:92vh;overflow:auto}.detail-demographics,.detail-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.detail-demographics div,.detail-summary article{background:#f3f8fb;border-radius:10px;gap:6px;padding:13px;display:grid}.detail-demographics span,.detail-summary span{color:#788ba2;text-transform:uppercase;font-size:10px}.detail-summary strong{color:#0b8da0;font-size:18px}.detail-block{margin-top:22px}.detail-block h3{margin-bottom:10px;font-size:14px}.diagnosis-chips{flex-wrap:wrap;gap:8px;display:flex}.diagnosis-chips>span{color:#4f657f;background:#eef8fa;border-radius:20px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;display:flex}.diagnosis-chips>span strong{color:#078c9d}.history-table{border:1px solid #e3ebf1;border-radius:10px;overflow:auto}.history-table>div{border-top:1px solid #e9eff3;grid-template-columns:110px 2fr 90px 1.4fr;align-items:center;gap:12px;min-width:780px;padding:11px 13px;font-size:11px;display:grid}.history-table>div:first-child{color:#71859b;text-transform:uppercase;background:#f4f8fa;border:0}.classification-badge{color:#fff;background:#168fbc;border-radius:6px;width:fit-content;padding:5px 9px;font-weight:800}.absence-mini-list{gap:6px;display:grid}.absence-mini-list div{background:#fff4f5;border-radius:8px;gap:15px;padding:9px 12px;font-size:11px;display:flex}.loading.small{padding:18px}.absence-layout{grid-template-columns:minmax(330px,.75fr) 1.25fr;gap:15px;display:grid}.absence-form{align-content:start;gap:16px;display:grid}.absence-list{gap:8px;max-height:570px;display:grid;overflow:auto}.absence-list article{border:1px solid #e5edf2;border-radius:10px;align-items:center;gap:13px;padding:11px;display:flex}.absence-list article>div:last-child{gap:4px;display:grid}.absence-list article span{color:#75879b;font-size:11px}.absence-date{color:#d7475b;background:#fff0f2;border-radius:10px;flex:none;place-items:center;width:47px;height:47px;display:grid}.absence-date b{font-size:19px;line-height:1}.absence-date span{text-transform:uppercase;color:#d7475b!important;font-size:9px!important}.insight-grid{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:15px;display:grid}.insight-grid article{background:#fff;border:1px solid #dfe9f0;border-radius:12px;flex-direction:column;justify-content:center;min-height:125px;padding:15px;display:flex}.insight-grid span{color:#657993;font-size:11px}.insight-grid strong{color:#11315c;margin:9px 0 5px;font-size:23px}.insight-grid small{color:#8a99aa;font-size:9px;line-height:1.4}.analytics-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.recurrent-panel{grid-column:1/-1}.ranking-list{display:grid}.ranking-list>div{border-top:1px solid #e9eff3;grid-template-columns:30px 1fr 110px 110px;align-items:center;gap:12px;padding:10px;font-size:12px;display:grid}.ranking-list>div>b{color:#0b8c9e;background:#e4f7f8;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.ranking-list small{color:#7a8ca1}.report-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.report-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr));gap:11px;margin-bottom:16px;display:grid}.report-metric{background:#fff;border:1px solid #e0e9f0;border-radius:12px;flex-direction:column;justify-content:center;gap:8px;min-height:105px;padding:17px;display:flex;box-shadow:0 4px 14px #1634520a}.report-metric span{color:#627691;font-size:12px}.report-metric strong{color:#12325d;font-size:27px}.report-diagnoses>div:last-child{display:grid}.report-diagnoses article{border-top:1px solid #e8eff4;grid-template-columns:70px 1fr 45px;align-items:center;gap:12px;padding:11px 4px;font-size:12px;display:grid}.report-diagnoses article b{color:#078b9c}.report-diagnoses article span{color:#566d88}.report-diagnoses article strong{color:#183456;text-align:right}.report-download{text-align:center;position:sticky;top:92px}.report-download h2{margin-bottom:9px;font-size:20px}.report-download>p:not(.eyebrow):not(.banner){color:#687d96;font-size:12px;line-height:1.55}.report-download button{margin-top:10px}.report-download small{color:#7d8da0;margin-top:12px;line-height:1.45;display:block}.report-download .banner{margin:13px 0 0}.report-file-icon{color:#fff;letter-spacing:.06em;background:linear-gradient(145deg,#08a58e,#087a70);border-radius:8px 19px 8px 8px;place-items:center;width:68px;height:78px;margin:2px auto 18px;font-size:13px;font-weight:800;display:grid;box-shadow:0 10px 22px #078d7b30}.report-empty{text-align:center;place-content:center;min-height:260px;display:grid}.report-empty b{font-size:18px}.report-empty p{color:#74869a;max-width:470px;margin:9px auto 0;font-size:13px;line-height:1.5}@media (width<=1150px){.absence-layout{grid-template-columns:1fr}.insight-grid{grid-template-columns:repeat(3,1fr)}.patient-table.enhanced>div{grid-template-columns:minmax(220px,2fr) .7fr .7fr 55px}.patient-table.enhanced>div>:nth-child(2),.patient-table.enhanced>div>:nth-child(4){display:none}.report-layout{grid-template-columns:1fr}.report-download{position:static}}@media (width<=760px){.quick-register{display:none}.analytics-grid{grid-template-columns:1fr}.recurrent-panel{grid-column:auto}.period-picker{width:100%}.period-picker label{flex:1;min-width:0}.patient-table.enhanced>div{grid-template-columns:1fr auto}.patient-table.enhanced>div>strong{display:none}.insight-grid{grid-template-columns:repeat(2,1fr)}.detail-demographics,.detail-summary,.selected-patient dl{grid-template-columns:1fr}.ranking-list>div{grid-template-columns:28px 1fr auto}.ranking-list small{display:none}.report-summary-grid{grid-template-columns:repeat(2,1fr)}}
