*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,sans-serif;color:#22314a;background:#f2f5fa}a{color:#176a6b;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;background:#176a6b;color:white;border:0;border-radius:7px;padding:10px 14px;display:inline-block}button.secondary,.button.secondary{background:#edf4f5;color:#176a6b}.danger{background:#a84354}input,select,textarea{width:100%;border:1px solid #dae2ee;border-radius:7px;padding:10px;background:white;color:#22314a}input[type=checkbox]{width:auto}label{display:grid;gap:5px;font-size:12px;color:#5c6b82}h1{font-size:27px;font-weight:550;letter-spacing:-.7px;margin:0}h2{font-size:17px;font-weight:550;margin:0 0 16px}h3{font-size:14px}p{margin:10px 0}small,.muted{color:#78879c}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}aside{background:#142e39;color:#f4f8fc;padding:30px 18px}aside .brand{font-size:28px;letter-spacing:-1px;margin-bottom:35px}aside .brand small{display:block;font-size:10px;letter-spacing:2px;color:#98bac2}aside nav{display:grid;gap:7px}aside nav a{padding:11px 14px;color:#bed1d8;border-radius:8px}aside nav a.active{background:#29434e;color:white}aside .asidefoot{margin-top:40px;font-size:12px;color:#8facb7}header{padding:19px 30px;border-bottom:1px solid #e3e9f2;background:white;display:flex;justify-content:space-between;align-items:center;gap:12px}header strong{font-weight:550}main{padding:28px;max-width:1700px;margin:auto}.pagetop{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.badge{color:#176a6b;background:#e5f3ee;padding:5px 9px;border-radius:6px;font-size:11px;display:inline-block}.badge.warn{color:#a96a29;background:#fff3df}.badge.red{color:#a84354;background:#fcecf0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:white;border:1px solid #e0e7f0;border-radius:12px;padding:19px}.metric .value{font-size:29px;letter-spacing:-1px;margin:9px 0;font-weight:550}.metric small{font-size:11px}.panel{background:white;border:1px solid #e0e7f0;border-radius:12px;padding:22px;margin-bottom:18px}.twocol{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.formfoot{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-weight:500;color:#73839b;background:#f6f8fb;padding:12px}td{padding:13px 12px;border-bottom:1px solid #e8edf5;vertical-align:top}td.num{font-variant-numeric:tabular-nums;text-align:right}td form{margin-top:6px}td button{padding:6px 9px;font-size:11px}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.filters label{min-width:130px}.filters select{width:180px}.filters input{width:150px}.flash{background:#e5f3ee;border:1px solid #c2ddd4;color:#176a6b;padding:14px;border-radius:8px;margin-bottom:15px}.error{color:#a84354}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar.day{grid-template-columns:1fr}.calendar.week{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar .daycell{min-height:120px;background:#f6f8fb;border:1px solid #e1e7f0;border-radius:8px;padding:9px}.appointment{display:block;background:#e6f3f0;border-left:3px solid #176a6b;padding:9px;margin-top:9px;border-radius:5px;font-size:11px;color:#22314a}.appointment.cancelled{background:#f0f1f3;border-color:#a5acb7;opacity:.7}.appointment strong{display:block}.inline{display:inline}.inline input{width:auto}.bar{height:8px;border-radius:8px;background:#edf2f7;overflow:hidden;margin-top:8px}.bar div{height:100%;background:#176a6b}.chartbars{display:flex;align-items:flex-end;height:180px;gap:7px;border-bottom:1px solid #dbe3ef}.chartbar{flex:1;background:#176a6b;min-width:4px;border-radius:4px 4px 0 0;position:relative}.chartbar span{position:absolute;bottom:100%;font-size:10px;color:#78879c;white-space:nowrap}.legend{font-size:11px;color:#78879c;margin-top:10px}details{margin-bottom:15px}summary{cursor:pointer;font-weight:550;padding:10px 0}footer{color:#8390a3;font-size:11px;padding:12px 0}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.auth{max-width:440px;margin:10vh auto;background:white;padding:36px;border-radius:14px;box-shadow:0 12px 50px #142e3912}.auth label{margin:16px 0}@media(max-width:1000px){.shell{grid-template-columns:170px minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.twocol{grid-template-columns:1fr}.calendar.week{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.shell{display:block}aside{padding:14px}aside .brand{margin:0 0 12px;font-size:23px}aside nav{display:flex;overflow:auto}aside nav a{white-space:nowrap;padding:8px}aside .asidefoot{display:none}main{padding:16px}header{padding:12px 16px}.formgrid{grid-template-columns:1fr}.pagetop{flex-wrap:wrap}.metric .value{font-size:23px}.calendar,.calendar.week{grid-template-columns:repeat(2,1fr)}}
/* Workspace v0.4 */
body{background:#f4f6fb;color:#24334c}aside{background:#12283f;padding-top:24px;position:sticky;top:0;height:100vh}aside nav a.active{background:#246bfa;box-shadow:0 6px 22px #0002}aside nav a:hover{background:#243e59}aside .brand{font-weight:700}header{padding:16px 30px}h1{font-weight:700;font-size:30px}h2{font-weight:650}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7384a0}.panel,.metric{border-color:#e5eaf3;box-shadow:0 4px 20px #20375404}.metric{position:relative;overflow:hidden}.metric:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#246bfa}.metric:nth-child(2):before{background:#e9a52c}.metric:nth-child(3):before{background:#20aa89}.metric:nth-child(4):before{background:#dd6785}.metric .value{font-weight:700;color:#223b60}button,.button{background:#246bfa;border-radius:9px;font-weight:600}button.secondary,.button.secondary{color:#425b82;background:#eef2f9}.button.selected{background:#246bfa;color:white}.wide{width:100%;margin-top:14px;text-align:center}.agenda-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}.agenda-side{align-self:start;padding:20px}.agenda-side hr{border:0;border-top:1px solid #e5eaf3;margin:22px 0}.dot{display:inline-block;width:9px;height:9px;background:#246bfa;border-radius:50%;margin-right:8px}.dot.grey{background:#a8b2c3}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between}.agenda-toolbar .tabs{margin:0}.agenda-main{padding:18px;min-width:0}.schedule-scroll{max-height:680px;overflow:auto;border:1px solid #e2e8f3;border-radius:10px;margin-top:16px}.schedule-grid{display:grid;grid-template-columns:65px repeat(var(--cols),minmax(160px,1fr));min-width:max-content}.column-title{height:58px;position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #e2e8f3;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;padding:8px}.avatar{border-radius:50%;background:#eaf0ff;color:#246bfa;width:27px;height:27px;display:inline-grid;place-items:center}.schedule-column{border-left:1px solid #e2e8f3;min-width:160px}.time-track{height:1440px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf0f7 29px,#edf0f7 30px,transparent 30px,transparent 59px,#dce3ef 59px,#dce3ef 60px)}.hour-label{height:60px;font-size:11px;color:#7c8da7;padding:5px;text-align:center;background:#fafbfe}.grid-event{position:absolute;left:5px;right:5px;background:#e9f1ff;border-left:3px solid #246bfa;border-radius:6px;padding:4px 7px;overflow:hidden;font-size:11px;line-height:15px;z-index:1;color:#274365}.grid-event strong,.grid-event span{display:block}.grid-event:hover{z-index:5;min-height:90px;box-shadow:0 8px 24px #20375430;background:#dce9ff}.grid-event.cancelled,.calendar-event.cancelled{background:#f0f2f6;border-color:#9ba8bd;color:#78879c}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));overflow:auto;margin-top:16px}.month-grid .weekday{text-align:center;padding:12px;background:#f3f6fc;color:#7384a0}.month-grid .daycell{min-height:135px;padding:10px;border:1px solid #e6eaf3}.calendar-event{display:block;background:#e9f1ff;color:#274365;border-left:3px solid #246bfa;margin-top:5px;padding:5px;border-radius:4px;font-size:11px}.blank{background:#f8faff}dialog{border:0;border-radius:16px;padding:28px;width:min(620px,95vw);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#12283f80}dialog form{display:grid;gap:12px}dialog h2{margin:0}[hidden]{display:none!important}.billing-page .tabs{background:white;border:1px solid #e5eaf3;padding:8px;border-radius:12px}.billing-page .tabs a{flex:1;text-align:center}.chartbar{background:linear-gradient(#3e88ff,#246bfa)}.bar div{background:linear-gradient(90deg,#246bfa,#44bce8)}.auth{border-top:5px solid #246bfa}
@media(max-width:1100px){.agenda-layout{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:800px){.agenda-layout{grid-template-columns:1fr}.agenda-side{display:none}aside{position:static;height:auto}.agenda-toolbar{flex-wrap:wrap;gap:10px}.month-grid{grid-template-columns:repeat(7,minmax(110px,1fr))}}

.mini-calendar{margin-top:18px}.mini-title{text-align:center;font-weight:600;margin:12px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}.mini-grid a,.mini-grid span{padding:6px 0;border-radius:6px}.mini-grid .chosen{background:#246bfa;color:white}.mini-grid a:hover{background:#e9f1ff;color:#246bfa}.date-nav{display:flex;align-items:center;gap:5px}.date-nav h2{font-size:16px;margin:0 8px}.event-detail{font-size:10px}

.financial-chart svg{display:block;width:100%;height:220px}.collection-progress{display:flex;align-items:center;gap:30px}.ring{width:140px;height:140px;border-radius:50%;background:conic-gradient(#246bfa calc(var(--progress)*1%),#edf2fa 0);display:grid;place-items:center;flex-shrink:0}.ring strong{width:112px;height:112px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:27px}.ring small{font-size:11px;font-weight:400}.priority{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid #edf1f7}.priority strong{white-space:nowrap}@media(max-width:600px){.collection-progress{gap:15px}.ring{width:110px;height:110px}.ring strong{width:88px;height:88px;font-size:22px}}

.clinic-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.clinic-fields label{display:flex;flex-direction:column;gap:6px}@media(max-width:850px){.clinic-fields{grid-template-columns:1fr}}
