*{box-sizing:border-box}body{margin:0;background:#f7f9fa;color:#253b41;font:14px 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:1px solid #dce5e7;background:white;color:#385158;border-radius:8px;padding:10px 15px}button:hover{background:#edf5f4}button.primary{background:#12796e;color:white;border-color:#12796e}.brand{display:flex;gap:10px;color:#13786d;font-size:34px;text-decoration:none;align-items:center}.brand>span{font-size:23px;font-weight:700}.light{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#8b9b9d;margin-top:5px}aside{position:fixed;width:235px;inset:0 auto 0 0;background:white;border-right:1px solid #e4ebec;padding:32px 22px}.clinic{display:flex;gap:10px;align-items:center;margin:38px 0 30px;padding:13px;background:#f5f8f8;border-radius:10px;color:#35766f;font-weight:600}.clinic span{font-size:12px;color:#344c53}small{display:block;color:#8b9b9e;font-size:11px;font-weight:400;margin-top:4px}.label{font-size:10px;letter-spacing:1.4px;margin:0 12px 13px}nav button{display:flex;width:100%;gap:13px;border:0;text-align:left;margin:5px 0;padding:13px 14px;background:transparent;color:#73868c}nav button.active{background:#e6f3ef;color:#11776c;font-weight:600}.aside-bottom{position:absolute;bottom:28px;font-size:11px;color:#72878b}.aside-bottom p{font-size:10px}.dot{display:inline-block;width:7px;height:7px;background:#44a58a;border-radius:50%;margin-right:5px}main{margin-left:235px;padding:34px 38px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.breadcrumb{font-size:11px;color:#92a0a4}.breadcrumb span{color:#536d73}h1{font-size:28px;font-weight:600;letter-spacing:-.8px;margin:17px 0 6px}header p{color:#839399;margin:0;font-size:13px}.profile{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{background:#dfece6;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:#397c69;font-weight:600}.badge{background:#edf3ef;color:#648676;font-size:9px;letter-spacing:1px;padding:7px 9px;border-radius:5px;margin-right:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{border:1px solid #e1e8e9;border-radius:12px;background:white;padding:19px 21px}.stat label{font-size:12px;color:#809095}.stat strong{display:block;font-size:28px;font-weight:600;margin:7px 0}.stat small{font-size:11px}.stat-icon{float:right;color:#57a091;background:#edf7f3;border-radius:9px;padding:9px}.panel{background:white;border:1px solid #e1e8e9;border-radius:12px;overflow:hidden}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px;gap:12px;flex-wrap:wrap}.toolbar h2{font-size:17px;margin:0}.tools{display:flex;align-items:center;gap:8px}.filters{display:flex;gap:10px;padding:0 20px 18px;align-items:center}.filters select{border:1px solid #dce5e7;border-radius:7px;background:white;padding:9px;color:#5b7177}.legend{margin-left:auto;display:flex;gap:15px;color:#809095;font-size:10px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.calendar-scroll{overflow:auto;max-height:650px}.calendar{min-width:850px;display:grid;grid-template-columns:62px repeat(7,minmax(100px,1fr));position:relative}.day-head{position:sticky;top:0;z-index:3;background:white;text-align:center;border-top:1px solid #edf0f2;border-bottom:1px solid #e3e9eb;padding:12px;color:#89999e;font-size:10px;text-transform:uppercase;letter-spacing:1px}.day-head b{display:block;font-size:22px;color:#536d73;font-weight:500;margin-top:6px}.day-head.today{background:#f0f8f5;color:#177c6e}.day-head.today b{background:#157d70;color:white;width:33px;border-radius:50%;margin:4px auto 0;padding:3px;font-size:20px}.time{height:70px;font-size:10px;color:#93a2a6;text-align:center;padding-top:8px;border-bottom:1px solid #f0f3f4}.slot{height:70px;border-left:1px solid #edf0f2;border-bottom:1px solid #edf0f2;position:relative;cursor:pointer}.slot:hover{background:#f5faf8}.event{position:absolute;inset:3px 4px auto;padding:7px 8px;border:0;border-left:3px solid var(--color);background:var(--bg);border-radius:5px;text-align:left;overflow:hidden;font-size:10px;z-index:1;color:#3d5960}.event b{display:block;margin:3px 0;font-size:11px}.event small{color:inherit;font-size:9px}.foot{padding:12px 20px;display:flex;justify-content:space-between;color:#8d9b9e;font-size:10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:23px;background:white;border:1px solid #e1e8e9;border-radius:12px}.card h3{margin-top:0}.card p{color:#7b8e94;line-height:1.6}.pill{display:inline-block;padding:5px 9px;border-radius:5px;background:#e9f5ef;color:#28836a;font-size:11px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:17px 21px;border-bottom:1px solid #edf1f2}th{font-size:11px;color:#8c9da1;font-weight:500}td{font-size:12px}dialog{border:0;border-radius:16px;padding:27px;width:490px;max-width:94vw;box-shadow:0 25px 100px #14392c33}dialog::backdrop{background:#19393266}.modal-head{display:flex;justify-content:space-between}.modal-head h2{margin:8px 0 20px}.close{font-size:22px;padding:0 8px;border:0}label.field{display:block;margin:13px 0;color:#637a80;font-size:12px}input,textarea,.field select{display:block;width:100%;padding:11px;border:1px solid #d9e3e5;border-radius:7px;margin-top:7px;background:white;color:#304e55}textarea{min-height:75px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}#error{color:#bd5548;font-size:12px}#toast{position:fixed;bottom:25px;right:25px;background:#234f45;color:white;padding:14px 23px;border-radius:9px;display:none;z-index:10}.notice{padding:13px 18px;background:#edf6f2;border:1px solid #d6e9df;border-radius:9px;color:#548375;font-size:12px;margin-bottom:20px}.empty{padding:45px;text-align:center;color:#80969c}.wait{border-left:3px solid #dda74c}.wait strong{font-size:24px}.wait button{margin:6px 4px 0 0}@media(max-width:1100px){aside{width:190px;padding:28px 15px}main{margin-left:190px;padding:25px 22px}.legend{display:none}.profile .badge{display:none}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){aside{position:static;width:100%;padding:15px}.brand{font-size:25px}.clinic,.label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap;padding:10px;width:auto}main{margin:0;padding:20px 12px}.profile{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.cards{grid-template-columns:1fr}.tools{flex-wrap:wrap}.filters{flex-wrap:wrap}h1{font-size:25px}}
