:root{font:16px system-ui,sans-serif;color:#152b31;background:#f3f7f7;--ink:#142e36;--muted:#4d626a;--line:#d9e5e6;--teal:#06665d;--pale:#e5f4ef}
*{box-sizing:border-box}body{margin:0}header{padding:16px max(5vw,20px);background:#102f39;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;margin-top:3px;font-size:.65rem;letter-spacing:.1em;color:#b3d2d7}.mark{display:grid;place-items:center;width:39px;height:39px;background:#b7f1df;color:#10433e;border-radius:10px;font-size:1.25rem}.profile{display:flex;align-items:center;gap:9px;font-size:.8rem}.profile select{padding:7px}.demo{background:#fff0ce;color:#684806;padding:10px max(5vw,20px);font-size:.83rem}.demo strong{margin-right:8px}main{max-width:1220px;margin:auto;padding:30px max(3vw,16px) 42px}.hero,.sectionhead,.actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.hero{padding:5px 0 23px}.eyebrow{letter-spacing:.15em;color:var(--teal);font-size:.72rem;font-weight:800;margin:0 0 9px}h1{font-size:clamp(2rem,5vw,3.25rem);letter-spacing:-.055em;margin:0;line-height:1.05}h2,h3,p{margin-top:0}.hero p:last-child{color:var(--muted);margin:10px 0 0}label{font-weight:650;font-size:.86rem}input,select,button{font:inherit}input,select{color:var(--ink);padding:9px 10px;border:1px solid #aec4c8;border-radius:8px;background:white;min-width:0;width:100%}.date{min-width:164px}.date input{display:block;margin-top:5px}nav{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}button{border:1px solid #aac3c6;border-radius:8px;background:white;color:var(--ink);padding:9px 13px;font-weight:680;cursor:pointer}button:hover{background:#eef7f5}button:disabled{opacity:.5;cursor:default}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#07554e}nav button{border:0;background:transparent;border-radius:8px 8px 0 0}nav button[aria-current]{background:var(--pale);color:#08584e;border-bottom:3px solid var(--teal)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.tile,.card{background:white;border:1px solid var(--line);border-radius:14px}.tile{padding:13px 15px}.tile span{display:block;color:var(--muted);font-size:.79rem}.tile strong{font-size:1.4rem}.card{padding:18px;margin-bottom:15px}.sectionhead h2,.sectionhead p{margin-bottom:5px}.sectionhead p,.sub{color:var(--muted);font-size:.88rem}.actions{justify-content:flex-start}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.grid label input,.grid label select{display:block;margin-top:5px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.scroller{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:640px}th,td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.77rem;color:var(--muted)}td{font-size:.88rem}tr:last-child td{border-bottom:0}.badge{font-size:.74rem;border-radius:100px;background:var(--pale);color:#07554d;padding:4px 8px;display:inline-block;font-weight:700}.urgent,.alert{background:#fff0dd;color:#783600}.alert,#notice{padding:12px;border-radius:8px;margin:10px 0}.error{background:#fbe8e8;color:#801818}#notice{background:#dff2eb}#notice.error{background:#fbe8e8}footer{color:var(--muted);font-size:.8rem;text-align:center;padding:0 15px 18px}details{margin:12px 0}summary{cursor:pointer;color:var(--teal);font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #05998a;outline-offset:2px}
@media(max-width:680px){.profile{display:block}.profile label{display:block;margin-bottom:3px}.metrics,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:13px}}
@media(max-width:400px){.grid{grid-template-columns:1fr}.brand small{font-size:.55rem}}

.position{width:auto;min-width:3.8rem;padding:5px 8px}
.profile a{color:#c0eee3}.inline{display:flex;align-items:end;gap:8px;margin-top:8px}.inline input{display:block}.inline button{white-space:nowrap}#printout{display:none}
@media print{header,.demo,main>*:not(#printout),footer{display:none!important}body{background:white;color:black}main{padding:0}#printout{display:block}#printout h1{font-size:23px}#printout .scroller{overflow:visible}#printout table{min-width:0}#printout th,#printout td{font-size:9px;padding:5px}#printout tr{break-inside:avoid}#printout thead{display:table-header-group}}
[hidden]{display:none!important}.access{max-width:940px;margin:30px auto;padding:0 18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.access h1{font-size:2rem;margin-bottom:12px}.access form label{display:block;margin:12px 0}.access form input{margin-top:5px}.notice{max-width:1160px;margin:12px auto!important}.profile button{font-size:.82rem}
@media(max-width:680px){.access{grid-template-columns:1fr}.notice{margin-inline:16px!important}}
@media print{.access,.notice{display:none!important}}
.weekly-slot{min-width:98px;white-space:nowrap}.weekly-slot+.weekly-slot{margin-top:8px}.weekly-slot button{padding:3px 6px;font-size:.72rem}
.account-rights,.anesthesia-form{display:grid;gap:.45rem;min-width:235px}.account-rights fieldset{border:1px solid #dbe5ea;border-radius:.45rem;padding:.5rem}.account-rights .check{white-space:normal}.anesthesia-form{margin:.5rem 0}
