:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#213e3b;background:#f5f7f5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:#23685c;color:white;border-radius:9px;padding:11px 16px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}input,select,textarea{background:white;border:1px solid #d9e2dd;border-radius:8px;padding:10px;color:#213e3b;min-width:0}label{display:grid;gap:7px;margin:14px 0;font-weight:600}small{display:block;color:#778a83;font-weight:400;line-height:1.6}.secondary{background:#edf2ee;color:#365d51;border:1px solid #dce5df}.brand{font-size:28px;font-weight:750;letter-spacing:-1px}.brand span{color:#dfad6e}#shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}#shell[hidden]{display:none}aside{padding:33px 22px;border-right:1px solid #dde5df;background:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.muted,.eyebrow{font-size:10px;letter-spacing:1.8px;color:#81958a;font-weight:700}.muted{margin-top:45px}nav{display:grid;gap:9px;margin-top:15px}nav button{text-align:left;background:transparent;color:#74847b;font-weight:500}nav button.active{background:#e8f2ed;color:#23685c;font-weight:700}.aside-bottom{margin-top:auto;line-height:1.8}.aside-bottom small{margin-top:20px}main{padding:35px 35px;overflow:hidden}header{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:30px;letter-spacing:-1px;margin:8px 0}header p{color:#829088;margin:7px 0}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0 22px}.toolbar input#patient{flex:1;min-width:145px}.stats{display:flex;gap:15px;margin-bottom:22px}.stat{background:white;border:1px solid #e0e7e1;padding:17px 24px;border-radius:12px;flex:1}.stat strong{font-size:26px;display:block}.stat span{font-size:12px;color:#7c8d82}.calendar-wrap{overflow:auto;border:1px solid #dce5de;border-radius:13px;background:white}.calendar{min-width:730px;display:grid;grid-template-columns:65px repeat(5,minmax(125px,1fr))}.cell{border-right:1px solid #edf1ed;border-bottom:1px solid #edf1ed;min-height:41px;padding:4px;position:relative}.room{min-height:57px;display:grid;place-items:center;font-weight:600;background:#fbfcfa}.time{color:#85988a;text-align:center;font-size:11px;padding-top:10px;background:#fcfdfa}.slot{padding:0;overflow:visible}.event{position:absolute;inset:2px 4px auto;height:77px;border-radius:7px;background:#e5f1ea;border-left:3px solid #74a68c;text-align:left;color:#315e49;padding:7px;z-index:2;font-size:11px;overflow:hidden;width:calc(100% - 8px)}.event b,.event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event span{margin-top:3px;font-weight:400}.event.r2{background:#e8edf8;border-color:#92a9d4;color:#456083}.event.r3{background:#faf0e3;border-color:#d9b27d;color:#8b693b}.event.r4{background:#f1eaf6;border-color:#b09bc5;color:#78618f}.event.r5{background:#e5f3f3;border-color:#7bb6b8}.event.pending{border-left-color:#e1873a;background:#fff1dd}.event.done{opacity:.65}.event.private{background:#eef0ee;color:#7c887e;border-color:#b7c2b9}h3.day{font-size:15px;margin:24px 0 12px}.legend{display:flex;gap:20px;margin-top:16px;color:#8b978d;font-size:11px}.panel{background:white;border:1px solid #e0e7e1;border-radius:12px;padding:22px;margin:12px 0}.panel h3{margin-top:0}.notice{padding:12px;background:#f7f3e8;color:#887747;font-size:12px;border-radius:8px;line-height:1.7}.pill{border-radius:20px;background:#eaf2ec;padding:4px 9px;font-size:11px}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:15px}table{width:100%;border-collapse:collapse;background:white}th,td{padding:13px;border-bottom:1px solid #e6ece6;text-align:left;font-size:12px}th{color:#7c9183;font-weight:500}details pre{white-space:pre-wrap;font-size:11px;max-width:600px;overflow:auto}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#dcecdf,transparent 65%),#f3f6f1}.login[hidden]{display:none}.login-card{width:min(430px,90vw);padding:40px}.login h1{margin-top:45px;font-size:36px}.login p{color:#7b8e81}.login form{margin-top:30px}.login form button{width:100%;margin:12px 0}.login small{text-align:center}dialog{border:1px solid #dce5df;border-radius:15px;width:min(610px,95vw);padding:25px;color:#213e3b;max-height:94vh;overflow:auto}dialog::backdrop{background:#19372d66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 25px;background:#243f34;color:white;border-radius:10px;z-index:20;max-width:90vw}b#badge{background:#edc99e;border-radius:20px;padding:2px 6px;font-size:10px}[hidden]{display:none!important}@media(max-width:900px){#shell{grid-template-columns:1fr}aside{position:static;height:auto;padding:18px}aside .muted,.aside-bottom small{display:none}nav{display:flex;overflow:auto;margin:12px 0 0}nav button{white-space:nowrap}.aside-bottom{display:flex;align-items:center;gap:20px;font-size:11px}main{padding:20px}header h1{font-size:24px}header>button{font-size:12px}.stats{gap:8px}.stat{padding:12px}.pair{grid-template-columns:1fr}}
main,aside,.stat{min-width:0}.toolbar input,.toolbar select{max-width:100%}#badge:empty{display:none}@media(max-width:900px){header{align-items:flex-start;flex-wrap:wrap}.stats{flex-wrap:wrap}.stat{min-width:140px}}
:root{--mint:#62d4b3}button{background:#236d5d}.brand{width:100%}.brand img{display:block;width:100%;height:auto;max-height:115px;object-fit:contain}.login-card{width:min(485px,94vw)}.login .brand{margin-bottom:20px}.login .brand img{max-height:180px}.user-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.user-intro p{color:#71877d;line-height:1.7}.user-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pill.inactive{background:#f5e4e0;color:#985646}.aside-bottom #myPassword{margin-bottom:6px}.aside-bottom{font-size:12px}.aside-bottom p{overflow-wrap:anywhere}#credentials input{font-family:ui-monospace,monospace;font-size:16px;background:#eff8f3}#userEditor{width:min(580px,95vw)}@media(max-width:900px){.brand{max-width:250px}.login .brand{max-width:none}.aside-bottom{flex-wrap:wrap}.user-intro{align-items:flex-start;flex-direction:column}}
