*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.shell{max-width:1280px;margin:auto;padding:32px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:2px 0 4px;font-size:32px}.muted,.topbar p{color:#6f7787}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#4867ff}.primary{background:#3156e8!important;color:white!important;border-color:#3156e8!important}.modal button,.topbar button{cursor:pointer}.filters,.grid,.stats{display:grid;grid-gap:16px;gap:16px}.filters{grid-template-columns:2fr 2fr 1fr;background:white;border:1px solid #e6e9ef;padding:16px;border-radius:14px;margin-bottom:16px}.filters label,.modal label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#697386}.filters input,.filters select,.modal input,.modal select{width:100%;padding:11px 12px;border:1px solid #dfe3eb;border-radius:9px;background:white;font:inherit;color:#172033}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.panel,.stat{background:white;border:1px solid #e6e9ef;border-radius:14px}.stat{padding:18px}.stat span{display:block;color:#778092;font-size:12px}.stat strong{font-size:28px}.grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.panel{padding:18px}.panelHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panelHead h2{font-size:17px;margin:0}.panelHead span{font-size:12px;color:#727b8d}.appt{width:100%;display:grid;grid-template-columns:75px 1fr auto;align-items:center;grid-gap:12px;gap:12px;text-align:left;background:#fff;border:0;border-top:1px solid #edf0f5;padding:14px 5px;cursor:pointer}.appt:hover{background:#fafbff}.time{font-weight:800}.apptBody{display:flex;flex-direction:column;gap:3px}.apptBody span{color:#7a8394;font-size:12px}.badge{font-size:10px;font-weight:800;padding:6px 8px;border-radius:999px;background:#eef1f6}.badge.completed,.badge.confirmed{background:#e8f7ee;color:#207a43}.badge.pending{background:#fff4d9;color:#886300}.badge.cancelled,.badge.no_show{background:#fdecec;color:#a23b3b}.badge.checked_in{background:#e8f2ff;color:#205aa8}.attentionItem{width:100%;border:0;border-top:1px solid #edf0f5;background:white;text-align:left;padding:14px 4px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.attentionItem span{font-size:12px;color:#747e8f}.empty{padding:30px 5px;color:#8992a2;text-align:center}.error{max-width:1280px;margin:0 auto 14px;background:#fff0f0;border:1px solid #f2caca;padding:10px 14px;border-radius:10px;display:flex;justify-content:space-between}.error button{border:0;background:transparent;font-size:20px}.overlay{position:fixed;inset:0;background:rgba(12,18,31,.52);display:flex;justify-content:center;align-items:center;padding:20px;z-index:30}.modal{width:min(620px,100%);max-height:92vh;overflow:auto;background:white;border-radius:18px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.modal.large{width:min(900px,100%)}.modalHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modalHead h2{margin:0}.modalHead p{margin:5px 0;color:#7a8394;font-size:13px}.close{font-size:26px;border:0;background:transparent}.formGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.patientRow{width:100%;display:flex;justify-content:space-between;padding:10px;border:1px solid #e7eaf0;background:white}.patientRow.chosen{border-color:#3156e8;background:#f4f6ff}.link{border:0;background:transparent;color:#3156e8;padding:10px 0}.newPatient{display:grid;grid-gap:8px;gap:8px}.slots{display:flex;flex-wrap:wrap;gap:7px}.slot{border:1px solid #dfe3eb;background:white;padding:8px 10px;border-radius:8px}.chosenSlot{background:#3156e8;color:white;border-color:#3156e8}.modalActions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.actionGrid button,.full,.modalActions button{padding:10px 13px;border-radius:9px;border:1px solid #dce1e9;background:white}.details{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}.details div{background:#f7f8fb;padding:12px;border-radius:10px}.details span{display:block;color:#798294;font-size:11px}.actionGrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.danger{color:#b43b3b!important;border-color:#edc8c8!important}.full{width:100%;margin-top:8px}.topbar .primary{padding:11px 16px;border:0;border-radius:10px}@media(max-width:800px){.shell{padding:18px}.filters,.formGrid,.grid,.stats{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;gap:15px}.appt{grid-template-columns:62px 1fr}.appt .badge{grid-column:2}.details{grid-template-columns:1fr}}.topActions{display:flex;gap:10px}.topActions button{padding:11px 16px;border:1px solid #dfe3eb;border-radius:10px;background:white;cursor:pointer}.adminModal{width:min(920px,100%)}.adminTabs{display:flex;gap:8px;border-bottom:1px solid #e8ebf1;margin-bottom:20px;overflow:auto}.adminTabs button{border:0;background:transparent;padding:11px 13px;font-weight:700;color:#6f7787;white-space:nowrap}.adminTabs button.active{color:#3156e8;border-bottom:2px solid #3156e8}.adminSection h3{margin:0 0 16px}.adminSection h4{margin:22px 0 10px}.adminForm{display:grid;grid-gap:12px;gap:12px}.adminForm.two{grid-template-columns:1fr 1fr}.adminForm.three{grid-template-columns:2fr 1fr 1fr}.adminSave{margin-top:14px;padding:10px 14px;border-radius:9px}.adminList{border:1px solid #e8ebf1;border-radius:12px;overflow:hidden}.adminRow{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid #edf0f5}.adminRow:first-child{border-top:0}.adminRow div{display:flex;flex-direction:column;gap:3px}.adminRow span{font-size:12px;color:#778092}.mini{padding:7px 10px;border-radius:8px;background:white;border:1px solid #edc8c8}.scheduleList{margin-top:14px}@media(max-width:800px){.topActions{flex-direction:column}.adminForm.three,.adminForm.two{grid-template-columns:1fr}.adminTabs{gap:0}}.badgeStack{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.riskBadge{font-size:10px;font-weight:800;padding:5px 7px;border-radius:999px}.risk-low{background:#e9f7ee;color:#277549}.risk-medium{background:#fff2d6;color:#865e00}.risk-high{background:#fde9e9;color:#a33333}.historyPanel,.riskPanel{border:1px solid #e6e9ef;border-radius:12px;padding:14px;margin:14px 0}.riskPanel-high{border-color:#efbcbc;background:#fff8f8}.riskPanel-medium{border-color:#f0d69b;background:#fffcf4}.riskPanel-low{border-color:#bfe1ca;background:#f8fdf9}.riskHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.historyStats span,.riskHead small,.riskHead span{display:block;color:#778092;font-size:11px}.riskHead strong{font-size:20px}.reasonList{margin-top:10px;border-top:1px solid rgba(0,0,0,.07)}.reasonList div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:12px}.historyPanel h3{font-size:14px;margin:0 0 10px}.historyStats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.historyStats div{background:#f7f8fb;border-radius:9px;padding:10px}.historyStats b{font-size:18px}@media(max-width:800px){.badgeStack{grid-column:2;align-items:flex-start}.historyStats{grid-template-columns:repeat(2,1fr)}}.attentionHead small{display:block;color:#8a92a0;font-size:10px;margin-top:2px}.attentionCounts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin:4px 0 10px}.attentionCounts span{font-size:10px;background:#f7f8fb;border-radius:8px;padding:7px;text-align:center;color:#70798a}.attentionCounts b{display:block;font-size:15px;color:#202a3b}.attentionCard{border:1px solid #e5e9f0;border-left:4px solid #cfd5df;border-radius:11px;margin:9px 0;overflow:hidden;background:#fff}.attentionCard.severity-critical{border-left-color:#aa2c2c}.attentionCard.severity-high{border-left-color:#d9822b}.attentionCard.severity-medium{border-left-color:#b48a21}.attentionCard.severity-low{border-left-color:#71947c}.attentionMain{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:#172033}.attentionMain>span{font-size:11px;color:#70798a}.attentionMain small{font-size:11px;color:#596274}.attentionMain em{font-style:normal;font-size:11px;font-weight:700;color:#334056;margin-top:3px}.attentionTop{display:flex;align-items:center;gap:7px}.attentionTop>b{font-size:12px}.severity{font-size:8px;font-weight:900;letter-spacing:.05em;border-radius:999px;padding:4px 6px}.severity-critical{background:#fde9e9;color:#9b2929}.severity-high{background:#fff0df;color:#9b5819}.severity-medium{background:#fff5d9;color:#806000}.severity-low{background:#edf5ef;color:#456d51}.priority{margin-left:auto;font-size:9px!important;color:#9aa1ad!important}.attentionActions{display:flex;justify-content:flex-end;gap:6px;padding:0 10px 10px}.miniAction{padding:6px 9px!important;font-size:10px;border:1px solid #dfe3eb;border-radius:7px;background:white}.attention .empty{padding:22px 5px}.candidateList{display:flex;flex-direction:column;gap:12px;margin-top:18px}.candidateCard{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}.candidateCard>div{display:flex;flex-direction:column;gap:5px}.candidateCard small{color:#64748b}.candidateTop{display:flex;gap:12px;align-items:center}.candidateTop span{font-size:12px;font-weight:700;border:1px solid #cbd5e1;border-radius:999px;padding:3px 8px}.adminSection>label{display:flex;flex-direction:column;gap:6px;margin-top:12px}.adminSection>label input{padding:10px 12px;border:1px solid #d7dde6;border-radius:9px}.opsModal{width:min(1120px,100%)}.opsFilters{grid-template-columns:1fr 1fr 1.4fr;grid-gap:10px;margin-bottom:14px}.opsFilters,.opsKpis{display:grid;gap:10px}.opsKpis{grid-template-columns:repeat(6,1fr);grid-gap:10px;margin-bottom:12px}.opsMetric{border:1px solid #e5e9f0;border-radius:12px;padding:13px;background:#fafbfc}.opsMetric span{display:block;font-size:10px;color:#748094}.opsMetric strong{font-size:22px}.opsGrid{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:12px;gap:12px}.opsCard{border:1px solid #e5e9f0;border-radius:14px;padding:14px;margin-top:12px}.opsCard h3{margin:0 0 12px;font-size:14px}.flowGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.flowGrid div,.riskSummary div{background:#f7f8fb;border-radius:9px;padding:10px}.flowGrid span,.riskSummary span{display:block;font-size:10px;color:#778092}.flowGrid b,.riskSummary b{font-size:19px}.opsNote{margin-top:10px;font-size:11px;color:#6c7688}.riskSummary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.recoverySummary{margin-top:11px;font-size:11px;color:#626d80}.recoverySummary,.trendList{display:flex;flex-direction:column;gap:7px}.trendRow{display:grid;grid-template-columns:44px minmax(90px,1fr) 28px minmax(180px,auto);grid-gap:8px;gap:8px;align-items:center;font-size:10px}.trendRow>span{color:#667085}.trendTrack{height:8px;background:#eef1f5;border-radius:99px;overflow:hidden}.trendTrack i{display:block;height:100%;background:currentColor;border-radius:99px;color:#5470e8}.trendRow small{color:#7a8495;text-align:right}.doctorTable{overflow:auto}.doctorTableHead,.doctorTableRow{display:grid;grid-template-columns:minmax(140px,2fr) repeat(5,minmax(70px,1fr));grid-gap:8px;gap:8px;align-items:center;padding:9px 6px;border-top:1px solid #edf0f5;font-size:11px}.doctorTableHead{border-top:0;color:#7a8495;font-weight:700}.deferredNote{margin-top:12px;padding:11px 13px;background:#f6f7fa;border-radius:10px;font-size:11px;color:#616b7d}@media(max-width:900px){.opsKpis{grid-template-columns:repeat(2,1fr)}.opsFilters,.opsGrid{grid-template-columns:1fr}.trendRow{grid-template-columns:40px 1fr 25px}.trendRow small{grid-column:2/4;text-align:left}.doctorTableHead,.doctorTableRow{min-width:690px}}.authShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fb}.authCard{width:min(440px,100%);background:white;border:1px solid #dde3ec;border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(20,30,50,.08)}.authCard label{display:grid;grid-gap:6px;gap:6px;margin:14px 0}.authCard input,.authCard select{padding:11px;border:1px solid #cbd3df;border-radius:9px}.authCard .primary{width:100%;margin-top:10px}.userChip{font-size:12px;padding:8px 10px;border:1px solid #d9e0ea;border-radius:999px;background:#fff}