:root{--bg: #eef7f5;--panel: #ffffff;--text: #0f2630;--muted: #607381;--border: #d7e7e4;--primary: #00856f;--primary-dark: #006653;--primary-soft: #dff7ef;--secondary: #0e7490;--success: #0f8a5f;--warning: #b7791f;--danger: #c93535;--nav: #052f3a;--nav-2: #074352;--shadow: 0 22px 55px rgba(6, 48, 58, .13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text)}img,svg,video,canvas{max-width:100%}button,input,select{font:inherit}button{border:0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:.72rem 1rem;border-radius:12px;cursor:pointer;font-weight:800;display:inline-flex;align-items:center;gap:.4rem;justify-content:center;box-shadow:0 10px 22px #00856f2e}button:hover{background:linear-gradient(135deg,var(--primary-dark),#0b5f73)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#e5f5f1;color:#075e50;box-shadow:none}button.secondary:hover{background:#d3eee7}button.ghost{background:transparent;color:var(--muted);padding:.55rem .7rem;box-shadow:none}button.ghost:hover{background:#edf7f5;color:var(--text)}button.icon-button{background:#edf7f5;color:var(--text);width:38px;height:38px;padding:0;border-radius:50%;font-size:1.3rem;box-shadow:none}input,select{width:100%;border:1px solid var(--border);border-radius:12px;padding:.72rem .8rem;background:#fff;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00856f24}label{display:grid;gap:.4rem;color:#35505a;font-size:.88rem;font-weight:800;text-transform:capitalize}table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}th{color:#48616b;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}th,td{padding:.85rem;border-bottom:1px solid var(--border);vertical-align:top}tr:hover td{background:#f5fbfa}pre{background:#071f29;color:#dff7ef;padding:1rem;border-radius:14px;overflow:auto;max-height:420px}code{font-size:.78rem;color:#344054;word-break:break-word}progress{width:100%;height:12px;accent-color:var(--primary)}.login-page{min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:radial-gradient(circle at 12% 18%,rgba(207,236,232,.98),transparent 27%),radial-gradient(circle at 92% 15%,rgba(21,150,167,.28),transparent 26%),linear-gradient(135deg,#053047,#0b5965 48%,#12a7a7)}.login-shell{width:min(1180px,100%);min-height:640px;display:grid;grid-template-columns:.9fr 1.1fr;background:#fffffff0;border:1px solid rgba(255,255,255,.62);border-radius:30px;overflow:hidden;box-shadow:0 34px 90px #021c2761}.login-panel{min-width:0}.login-form-panel{display:grid;align-content:center;gap:1.35rem;padding:clamp(1.5rem,4vw,3.3rem);background:linear-gradient(180deg,#fff,#f6fbfa)}.login-brand-block{display:grid;justify-items:center;gap:.65rem;text-align:center}.healthlink-logo{width:min(265px,84%);height:auto;filter:drop-shadow(0 15px 24px rgba(6,62,76,.14))}.login-kicker{display:inline-flex;justify-content:center;width:fit-content;max-width:100%;border:1px solid #cfe5e0;background:#f1faf8;color:#0d6255;padding:.42rem .72rem;border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.login-copy{text-align:center;max-width:520px;margin:0 auto}.login-copy h1{margin:0 0 .45rem;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.05em}.login-copy p{margin:0;color:var(--muted);line-height:1.6}.login-form{display:grid;gap:1rem;width:min(480px,100%);margin:0 auto}.login-form label{color:#2f4650;text-align:left}.login-form input{min-height:54px;border-radius:16px;background:#fff}.login-submit{min-height:54px;border-radius:16px;font-size:1rem}.login-footer-note{width:min(480px,100%);margin:0 auto;color:#607381;background:#edf7f5;border:1px solid #d7e7e4;border-radius:14px;padding:.85rem 1rem;text-align:center;font-size:.88rem;font-weight:700}.login-hero-panel{position:relative;min-height:640px;background:#062b36;overflow:hidden}.login-hero-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.03)}.login-hero-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0428360f,#04283661 58%,#031a24b8);pointer-events:none}.login-hero-overlay{position:absolute;left:clamp(1rem,4vw,2.2rem);right:clamp(1rem,4vw,2.2rem);bottom:clamp(1rem,4vw,2.2rem);z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:1rem;align-items:center;padding:1.2rem;border-radius:24px;background:#061f2bbd;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;box-shadow:0 20px 50px #0000003d}.login-hero-overlay span{display:block;font-size:.76rem;font-weight:1000;letter-spacing:.22em;opacity:.86;margin-bottom:.35rem}.login-hero-overlay strong{display:block;font-size:clamp(1.1rem,2.4vw,1.7rem);line-height:1.08;letter-spacing:-.04em;max-width:520px}.department-logo-card{width:100%;max-height:96px;object-fit:contain;background:#fff;border-radius:18px;padding:.8rem;justify-self:end}.login-feature-strip{position:absolute;top:1.2rem;left:1.2rem;right:1.2rem;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.login-feature-strip div{display:flex;align-items:center;gap:.5rem;color:#fff;background:#061f2b85;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:.7rem .8rem;font-size:.84rem;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo-mark{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:900;letter-spacing:-.08em;box-shadow:0 14px 30px #00856f3d}.logo-mark.small{width:44px;height:44px;border-radius:14px;font-size:.8rem}.hint{color:var(--muted);background:#f7f9fc;border-radius:12px;padding:.8rem;margin-top:1rem;font-size:.86rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#fff;padding:1.2rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;z-index:30;transition:transform .22s ease,width .22s ease,padding .22s ease}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.brand{min-width:0;display:flex;align-items:center;gap:.8rem;padding:.45rem .25rem}.brand-text{min-width:0}.brand strong,.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{display:block;color:#bce2dc;font-size:.82rem;margin-top:.2rem}.brand-logo-mini{flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:#fff;padding:.18rem;box-shadow:0 10px 22px #0000002e}.sidebar-collapse-button,.sidebar-close-mobile,.topbar-menu-button{background:#ffffff1a;color:#fff;width:40px;height:40px;padding:0;border-radius:13px;box-shadow:none;flex:0 0 auto}.sidebar-collapse-button:hover,.sidebar-close-mobile:hover{background:#ffffff2e}.sidebar-close-mobile,.topbar-menu-button,.mobile-sidebar-backdrop{display:none}.sidebar-nav{display:grid;gap:.35rem}.sidebar-nav button{width:100%;min-width:0;background:transparent;color:#d7f0ec;justify-content:flex-start;padding:.85rem .9rem;border-radius:13px;font-weight:800;box-shadow:none}.sidebar-nav button svg{flex:0 0 auto}.sidebar-nav button:hover,.sidebar-nav button.active{background:#ffffff1f;color:#fff}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.sidebar-collapsed .sidebar{padding:1rem .7rem;align-items:stretch}.app-shell.sidebar-collapsed .sidebar-head{justify-content:center}.app-shell.sidebar-collapsed .brand{justify-content:center;padding:.35rem 0}.app-shell.sidebar-collapsed .brand-text,.app-shell.sidebar-collapsed .nav-label{display:none}.app-shell.sidebar-collapsed .sidebar-collapse-button{position:fixed;left:70px;top:1.05rem;background:#fff;color:var(--primary-dark);border:1px solid var(--border);box-shadow:0 10px 22px #06303a1f;z-index:40}.app-shell.sidebar-collapsed .sidebar-nav button{justify-content:center;padding:.85rem .4rem}main{min-width:0;width:100%;max-width:100vw;overflow-x:hidden}.topbar{width:100%;min-width:0;background:#fff;border-bottom:1px solid var(--border);padding:1.2rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:20;overflow:hidden}.topbar-left{min-width:0;display:flex;align-items:center;gap:.8rem;flex:1 1 auto}.topbar-title-block{min-width:0;max-width:100%}.topbar p,.topbar-subtitle{margin:.25rem 0 0;color:var(--muted);overflow-wrap:anywhere;word-break:normal;line-height:1.4}.page-title{min-width:0;display:flex;align-items:center;gap:.7rem}.page-title svg{flex:0 0 auto}.page-title h1{min-width:0;margin:0;font-size:1.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip{min-width:0;display:flex;align-items:center;gap:.7rem;white-space:nowrap;color:#344054;flex:0 0 auto}.user-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis}.content{width:100%;max-width:100%;padding:1.6rem;overflow-x:hidden}.space-y{display:grid;gap:1rem}.card{min-width:0;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:22px;padding:1.1rem;box-shadow:0 10px 28px #06303a12;overflow-x:auto}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.card h3{margin:0;font-size:1.05rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:1rem}.kpi-grid.small{grid-template-columns:repeat(4,minmax(120px,1fr))}.kpi{min-width:0;background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.15rem;box-shadow:0 10px 28px #06303a0f}.kpi span{color:var(--muted);font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.kpi strong{display:block;margin-top:.5rem;font-size:2.05rem}.two-col{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.score-row{display:grid;grid-template-columns:60px 1fr 50px;align-items:center;gap:.8rem;margin:.9rem 0}.muted{color:var(--muted);line-height:1.5}.timeline{display:grid;gap:.75rem}.timeline-item{padding-left:.9rem;border-left:3px solid var(--primary);display:grid;gap:.2rem}.timeline-item span{color:var(--muted);font-size:.84rem}.toolbar{display:flex;align-items:center;gap:.75rem;justify-content:space-between}.search-box{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--border);padding-left:.75rem;border-radius:13px;min-width:min(620px,100%)}.search-box input{border:0;box-shadow:none;background:transparent}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;padding:1rem 0 0;color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef7f5;color:#344054;padding:.28rem .65rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.badge.success{background:#e8f7f0;color:var(--success)}.badge.warning{background:#fff4df;color:var(--warning)}.badge.default{background:#eef7f5;color:#344054}.loading{color:var(--muted);padding:2rem;text-align:center}.loading.full{min-height:100vh;display:grid;place-items:center}.error-box,.success-box{padding:.85rem 1rem;border-radius:14px;font-weight:800}.error-box{background:#fff1f1;color:var(--danger);border:1px solid #ffd2d2}.success-box{background:#e8f7f0;color:var(--success);border:1px solid #c5efd8}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.upload-box{border:1px dashed #a5d6cf;border-radius:20px;padding:1.2rem;background:#fbfffe;display:grid;gap:1rem}.empty-state{text-align:center;color:var(--muted);padding:2rem}.notification-list{display:grid;gap:.8rem}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:18px;padding:1rem}.notification-card p{margin:.35rem 0;color:var(--muted)}.notification-title{display:flex;align-items:center;gap:.6rem}.notification-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;min-width:360px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#06263294;display:grid;place-items:center;padding:1.2rem;z-index:100}.modal{background:#fff;border-radius:24px;width:min(720px,100%);max-height:92vh;overflow:auto;padding:1.2rem;box-shadow:var(--shadow)}.modal.wide{width:min(1100px,100%)}.modal-header,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h2{margin:0}.modal-actions{justify-content:flex-end;margin:1rem 0 0}@media (max-width: 1100px){.login-shell{grid-template-columns:1fr;min-height:0}.login-hero-panel{min-height:440px}}@media (max-width: 1050px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(330px,88vw);height:100dvh;transform:translate(-105%);box-shadow:28px 0 60px #031f2b47;border-right:1px solid rgba(255,255,255,.12)}.app-shell.sidebar-open .sidebar{transform:translate(0)}.app-shell.sidebar-collapsed .sidebar{padding:1.2rem;align-items:stretch}.app-shell.sidebar-collapsed .brand{justify-content:flex-start;padding:.45rem .25rem}.app-shell.sidebar-collapsed .brand-text,.app-shell.sidebar-collapsed .nav-label{display:block}.app-shell.sidebar-collapsed .sidebar-nav button{justify-content:flex-start;padding:.85rem .9rem}.app-shell.sidebar-collapsed .sidebar-collapse-button{position:static}.sidebar-collapse-button{display:none}.sidebar-close-mobile{display:inline-flex}.topbar-menu-button{display:inline-flex;background:#edf7f5;color:var(--text)}.topbar-menu-button:hover{background:#dff1ed;color:var(--primary-dark)}.mobile-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;border-radius:0;padding:0;background:#06263280;box-shadow:none;cursor:pointer}.app-shell.sidebar-open .mobile-sidebar-backdrop{display:block}.two-col,.kpi-grid,.form-grid{grid-template-columns:1fr}.notification-card{flex-direction:column;align-items:stretch}.notification-actions{min-width:0;justify-content:flex-start}}@media (max-width: 720px){.login-page{padding:.75rem;align-items:start}.login-shell{border-radius:22px}.login-form-panel{padding:1.2rem}.healthlink-logo{width:min(230px,92%)}.login-hero-panel{min-height:390px}.login-feature-strip{grid-template-columns:1fr;position:static;padding:1rem;background:#062b36}.login-hero-image{height:210px}.login-hero-overlay{position:static;grid-template-columns:1fr;margin:0;border-radius:0;background:#062b36}.department-logo-card{justify-self:start;max-width:320px}.topbar{padding:1rem;align-items:stretch;flex-direction:column;gap:.75rem}.topbar-left{width:100%;align-items:flex-start}.topbar-title-block{width:100%}.content{padding:1rem}.toolbar{align-items:stretch;flex-direction:column}.toolbar button,.toolbar select{width:100%}.search-box{min-width:0;width:100%}.pagination{justify-content:center;flex-wrap:wrap}.modal-actions{flex-direction:column-reverse;align-items:stretch}}@media (max-width: 560px){.topbar{padding:.85rem}.topbar-left{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:.65rem}.topbar-menu-button{width:38px;height:38px;border-radius:12px}.page-title{gap:.5rem}.page-title svg{width:20px;height:20px}.page-title h1{font-size:1.28rem}.topbar p,.topbar-subtitle{font-size:.84rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.user-chip{width:100%;justify-content:space-between;white-space:normal;gap:.5rem}.user-chip button{flex:0 0 auto}.content{padding:.85rem}.space-y{gap:.8rem}.card{border-radius:18px;padding:.9rem}.kpi{padding:1rem}.kpi strong{font-size:1.72rem}.score-row{grid-template-columns:42px minmax(0,1fr) 38px;gap:.55rem}.notification-actions{display:grid;grid-template-columns:1fr}table{min-width:620px;font-size:.82rem}th,td{padding:.65rem}}@media (max-width: 440px){.login-copy h1{font-size:1.65rem}.login-hero-panel{min-height:auto}.department-logo-card{max-width:100%}.sidebar{width:min(300px,92vw)}.topbar,.content{padding:.75rem}.kpi-grid{gap:.75rem}}@media (max-width: 380px){.page-title h1{font-size:1.18rem}.topbar p,.topbar-subtitle{font-size:.8rem}.user-chip{align-items:stretch;flex-direction:column}.user-chip button{width:100%;justify-content:center}.card{padding:.8rem}}html,body,#root{max-width:100%;overflow-x:hidden!important}body{overscroll-behavior-x:none}.app-shell{width:100%;max-width:100%;overflow-x:clip}main,.topbar,.content,.space-y,.two-col,.kpi-grid,.toolbar,.card,.kpi{min-width:0;max-width:100%}.card{width:100%;contain:inline-size}.sidebar-nav{flex:1 1 auto;align-content:start}.sidebar-footer{margin-top:auto;display:grid;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}.sidebar-user{min-width:0;display:grid;gap:.18rem;color:#e7f7f4}.sidebar-user-label{color:#a8d4ce;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sidebar-user strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.sidebar-logout{width:100%;justify-content:flex-start;background:#ffffff1a;color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.12)}.sidebar-logout:hover{background:#ffffff2e}.app-shell.sidebar-collapsed .sidebar-footer{align-items:center;padding-top:.8rem}.app-shell.sidebar-collapsed .sidebar-user{display:none}.app-shell.sidebar-collapsed .sidebar-logout{width:44px;height:44px;padding:0;justify-content:center;border-radius:14px}@media (max-width: 1050px){.app-shell,.app-shell.sidebar-collapsed{display:block;width:100dvw;max-width:100dvw;overflow-x:hidden!important}main{width:100dvw;max-width:100dvw;overflow-x:hidden!important}.desktop-user-chip{display:none!important}.sidebar{display:flex;flex-direction:column;max-width:92dvw;overflow-x:hidden}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding-right:.15rem}.sidebar-footer{display:grid;position:sticky;bottom:0;margin:auto -.15rem -.15rem;padding:1rem .15rem .15rem;background:linear-gradient(180deg,rgba(7,67,82,0),var(--nav-2) 24%,var(--nav-2))}.app-shell.sidebar-collapsed .sidebar-footer{align-items:stretch}.app-shell.sidebar-collapsed .sidebar-user{display:grid}.app-shell.sidebar-collapsed .sidebar-logout{width:100%;height:auto;padding:.72rem 1rem;justify-content:flex-start}.topbar{width:100dvw;max-width:100dvw;overflow:hidden}.topbar-left,.topbar-title-block,.page-title{min-width:0;max-width:100%}.content{width:100dvw;max-width:100dvw;overflow-x:hidden}.card{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 720px){.topbar{display:block;padding:.85rem}.topbar-left{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.7rem;width:100%}.topbar-menu-button{width:42px;height:42px;border-radius:14px}.page-title h1{font-size:1.35rem;line-height:1.15;max-width:100%}.topbar-subtitle{max-width:100%;font-size:.82rem;line-height:1.3}.content{padding:.85rem}.kpi-grid,.kpi-grid.small,.two-col{grid-template-columns:minmax(0,1fr)!important}.kpi,.card{border-radius:18px}}@media (max-width: 480px){.topbar{padding:.75rem}.topbar-left{grid-template-columns:40px minmax(0,1fr);gap:.6rem}.topbar-menu-button{width:40px;height:40px}.page-title svg{width:20px;height:20px}.page-title h1{font-size:1.22rem}.topbar-subtitle{display:none!important}.content{padding:.7rem}.card,.kpi{border-radius:16px;padding:.85rem}.kpi strong{font-size:1.65rem}.score-row{grid-template-columns:38px minmax(0,1fr) 36px}table{min-width:560px}}
