/* Calm, readable clinic workspace. Presentation only; scheduling rules stay unchanged. */
.station-selector{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;min-width:0}.station-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;max-width:100%;scrollbar-width:thin}.station-tabs button{flex:none;max-width:260px;white-space:normal;overflow-wrap:anywhere;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#f9fbf7;color:var(--ink);font:inherit;font-size:13px;font-weight:650}.station-tabs button[aria-selected=true]{background:#e3f0e4;color:#195938;border-color:#8dbb98;box-shadow:inset 0 -2px #26714c}.station-selector>.sub{font-size:11px;margin:3px 2px 0}.leader-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin-top:24px}.leader-cards h2{font-size:18px}.leader-cards p{font-size:13px}.leader-cards .actions .btn{font-size:12px}.credential-list{padding:18px;background:#f1f6eb;border-radius:12px}.credential-list dt{font-size:12px;color:var(--muted)}.credential-list dd{margin:3px 0 14px;font-size:20px;font-weight:700;overflow-wrap:anywhere}.message-list h2{font-size:18px;overflow-wrap:anywhere}.message-list .row{flex-wrap:wrap}.message-heading h3{font-size:20px;overflow-wrap:anywhere}.message-history{max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:16px}.message-history article{padding:14px 16px;border-bottom:1px solid var(--line)}.message-history article:last-child{border:0}.message-history p{margin:0}.message-history .message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;font-size:14px}.message-heading .notice{font-size:12px}.leader-cards .row{flex-wrap:wrap}
.station-plan{margin-top:24px}.station-plan+.station-plan{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.station-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.station-plan-heading>div{min-width:0}.station-plan-heading h2{font-size:22px;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere}.station-caption{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin:0 0 3px}.station-plan .monthboard{margin-top:12px}.station-plan .monthboard .cardhead h3{font-size:17px;font-weight:700;margin:0;text-transform:capitalize}.station-plan-heading .badge{flex-shrink:0}.station-plan .empty{font-size:13px}
@media(max-width:750px){.station-plan-heading h2{font-size:20px}.station-plan-heading .badge{font-size:10px}.station-plan .monthboard .cardhead h3{font-size:15px}.station-plan .monthboard .cardhead{flex-wrap:wrap}.station-plan{margin-top:20px}}
:root{--navy:#193d3a;--navy2:#28514c;--teal:#176b5b;--mint:#e4f2eb;--bg:#f5f7f4;--ink:#233e3a;--muted:#5d706b;--line:#dfe7e2;--shadow:0 3px 14px #254a3e04}
body{font-size:15px;line-height:1.55}h1{font-size:32px;letter-spacing:-1px;font-weight:750}h2{font-weight:700}.sub{font-size:13px}.btn,.btn.small{font-size:13px;font-weight:650;border-radius:10px;min-height:44px;padding:10px 14px;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover{background:#f0f5f0;border-color:#adc5b8}.btn.primary{box-shadow:0 3px 8px #176b5b18}.btn.primary:hover{background:#125748}.btn:disabled{box-shadow:none}.ui-icon{width:20px;height:20px;flex:none;vertical-align:middle}.card{border-radius:16px;box-shadow:var(--shadow)}.cardhead{padding:16px 20px}.notice{border-radius:12px}.badge{border-radius:7px;font-size:11px}.textbtn{font-size:13px}
.shell{grid-template-columns:228px minmax(0,1fr)}.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:32px 16px 20px;overflow-y:auto}.sidebar .brand{color:var(--ink);font-size:30px;letter-spacing:-1.6px}.sidebar .brand b{color:var(--teal)}.sidebar .brandnote{color:var(--muted);letter-spacing:2px;font-size:9px;margin-bottom:32px}.sidebar .clinic-brand{color:var(--ink)}.navlist{gap:6px}.sidebar .navitem{color:#536960;font-size:13px;gap:11px;min-height:48px;padding:12px;border-radius:11px;white-space:normal}.sidebar .navitem:hover{background:#f4f7f3}.sidebar .navitem.active{background:#e7f2eb;color:#185944;box-shadow:inset 3px 0 #23765b}.sidebar .navitem.active .ui-icon{color:#23765b}.sidebar .moremenu{border-top:1px solid var(--line);padding-top:14px;margin-top:24px;color:var(--muted)}.moremenu summary{font-size:12px}.sidebottom{border-top:1px solid var(--line);padding:18px 10px 0;color:var(--muted);font-size:11px}.sidebottom strong{color:var(--ink);font-size:12px}.sidebottom .install-entry .btn{font-size:12px;box-shadow:none;background:#f8faf7}.main{padding:24px 32px 40px;max-width:none}.topbar{margin-bottom:24px;min-height:40px}.topbar .crumb{font-size:12px;letter-spacing:.2px}.profile{font-size:12px}.profile .role{font-size:11px}.profile>.btn{background:transparent;border-color:transparent;font-size:12px;color:var(--muted)}.header{align-items:center;gap:20px}.header h1{margin-bottom:6px}.header>.actions{flex-shrink:0}.plan-heading .primary{min-width:152px}
.plan-controls{background:white;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:22px 0 14px}.plan-controls .periodcontrols{margin:0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.periodcontrols .filters{display:inline-flex;gap:3px;padding:4px;background:#f0f4f0;border-radius:10px;margin:0}.periodcontrols .filters .btn{border:0;background:transparent;color:var(--muted);box-shadow:none;min-height:38px;padding:8px 13px}.periodcontrols .filters .btn.primary{background:white;color:var(--teal);box-shadow:0 1px 5px #203e3415}.periodnav{gap:6px;flex:1;justify-content:flex-end}.periodnav>strong{font-size:16px;min-width:160px}.periodnav .btn{padding:8px 11px}.monthjump{font-size:11px;margin-left:4px;gap:6px}.monthjump input{font-size:12px;min-height:44px;border-radius:8px;max-width:170px}.plan-controls .station-filter{border-top:1px solid #edf1ec;padding-top:12px;margin:12px 0 0;font-size:12px;gap:12px}.station-filter label{gap:10px}.station-filter select{font-size:13px;min-height:44px;padding:8px 30px 8px 10px;border-radius:9px}.station-filter .sub{font-size:12px}
.autoplan{border:0;background:transparent;margin:0}.plan-shortcuts{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.plan-shortcuts .actions{gap:6px}.plan-shortcuts .btn{background:#fff;font-size:12px;padding:9px 12px}.setup-shortcuts .btn{background:transparent;border-color:transparent;color:var(--muted)}.planning-context{font-size:12px;color:var(--muted);margin:10px 0}.planning-context span{color:var(--muted)}.manualtools{border:0;border-radius:0;padding:0;background:transparent;margin:0}.manualtools>summary{padding:10px 0;min-height:44px;font-size:13px}.manualtools>summary .sub{font-weight:400;font-size:12px}.manualtools[open]{background:#fff;border:1px solid var(--line);padding:0 16px 14px;border-radius:12px}.manualtools .row{gap:10px}.shiftpalette{gap:6px}
.releasebar{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;margin:8px 0 0;padding:13px 0 2px;gap:12px}.releasebar strong{font-size:13px;font-weight:650}.releasebar .sub{font-size:12px}.releasebar .badge{background:#e8eeea;color:#51685d}.releasebar .btn{font-size:12px}.releasebar .actions{justify-content:flex-end}.monthboard{margin-top:14px}.monthboard .cardhead{padding:14px 18px}.monthboard .cardhead h2{font-size:17px}.monthboard .cardhead .sub{font-size:12px}.roster{min-width:1220px}.roster.weekly{min-width:960px}.roster .namecol{width:190px;padding:12px 16px}.roster .namecol strong{font-size:13px;font-weight:650}.roster .namecol small{font-size:11px}.roster thead th,.roster thead .namecol{background:#fafbf8;color:#5e7267}.roster thead th strong{font-size:16px;color:#233e3a}.roster thead th span{font-size:11px;font-weight:500}.roster td{height:52px;padding:4px 3px}.roster .weekend{background:#f3f6f0}.roster .currentday{background:#e0eee2;box-shadow:inset 0 3px #267053}.roster tbody tr:hover .namecol{background:#f3f7f0}.roster-cell{border-radius:7px;min-height:40px;font-weight:650}.roster.weekly .roster-cell{min-height:57px;font-size:13px;padding:9px 5px}.roster-cell small{font-size:11px}.roster-cell.unplanned{border-color:#e1e8df;background:transparent;color:#667969}.shift-F{background:#e2f1e7;color:#256440}.shift-S{background:#fcf0d9;color:#845419}.shift-N{background:#e9eafb;color:#555596}.shift-U{background:#e0f1f4;color:#286779}.shift-WF{background:#f2e9f5;color:#815489}.shift-A{background:#fae5e5;color:#9b3f48}.shift-O{background:#f0f3ef;color:#586d58}.roster-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:11px;color:var(--muted);padding:14px 3px}.roster-legend>span{display:inline-flex;align-items:center;gap:6px}.roster-legend b{display:inline-grid;place-items:center;min-width:23px;min-height:23px;border-radius:5px;font-size:10px}.plan-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;margin-top:8px}.plan-review .card{margin:0}.plan-review summary{font-size:12px;min-height:74px;padding:16px}.plan-review .release-status summary{display:flex;align-items:center;gap:9px}.release-status summary::before{content:'›';font-size:23px;line-height:1;color:var(--muted)}.release-status[open] summary::before{transform:rotate(90deg)}.release-status summary small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.release-status.release-blocked{border-color:#d4a478}.release-status>.cardbody{border-top:1px solid var(--line);font-size:13px}.plan-review>.hours-control[open]{grid-column:1/-1}.hours-control summary strong{font-weight:650}.hours-control .cardbody{font-size:13px}.cycle-control,.hours-control{box-shadow:none}
.teamtable th{background:#f8faf6;font-size:11px}.teamtable td{font-size:13px}.teamtable td strong{font-weight:650}.teamtable tbody tr:hover{background:#fafcf8}.form label{font-size:13px}.form input,.form select,.form textarea{border-radius:10px;min-height:46px}.modal{padding:28px}.modal h2{font-size:23px;letter-spacing:-.5px}dialog{border-radius:20px}dialog::backdrop{background:#18372d66;backdrop-filter:blur(4px)}.empty{padding:48px 24px}.empty strong{font-size:18px}.filters .filter{border-radius:9px;min-height:44px}.request{padding:22px}.request h3{font-size:16px}.request .requestnote{background:#f3f6f0}.statline{gap:16px}.statline strong{text-align:right}
.loginpage{background:radial-gradient(ellipse at 15% 20%,#e3eee0 0,transparent 50%),radial-gradient(ellipse at 90% 80%,#e9f1e5 0,transparent 45%),#f5f7f1}.loginpanel{padding:48px 20px}.loginbox{max-width:420px;padding:40px;background:#fff;border:1px solid #e1e9dc;border-radius:24px;box-shadow:0 20px 70px #2c4b3210}.loginbox .brand{font-size:32px;margin-bottom:32px}.loginbox h1{font-size:30px}.loginbox .sub{font-size:14px;line-height:1.65;margin:10px 0 28px}.loginbox .form{gap:18px}.loginbox .hint{line-height:1.7}.loginbox .demolabel{font-size:11px;margin:24px 0 0}.loginbox .install-entry{padding-top:16px;border-top:1px solid var(--line);margin-top:20px}.loginbox .install-entry .btn{background:#f6f8f2;font-size:12px;margin-top:0}.passwordwrap .password-toggle{min-height:46px}
.mobilepage{width:min(620px,100%);padding:30px 24px 112px}.mobiletop{margin-bottom:34px}.mobiletop .brand{font-size:28px}.mobiletop .btn{border:0;background:transparent;font-size:12px;color:var(--muted)}.greeting{margin:0 0 24px;justify-content:space-between}.greeting-label{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);margin:0 0 8px}.greeting h1{font-size:32px;font-weight:700;letter-spacing:-1px}.greeting .sub{font-size:13px}.greeting>.ui-icon{width:46px;height:46px;padding:11px;background:#e7efe2;border-radius:14px;color:#4f7955}.nextduty{background:#224e3e;color:#fff;border:0;border-radius:20px;padding:24px;margin:0 0 18px;box-shadow:0 8px 24px #224e3e0d}.nextduty .sub{color:#d5e7d9;font-size:12px}.nextduty h2{color:white;font-size:22px;margin:14px 0 0}.nextduty-time{display:block;font-size:28px;font-weight:600;letter-spacing:-.5px}.nextduty p{color:#d5e7d9;font-size:13px;margin-top:14px}.employee-action{margin:0 0 22px}.employee-action .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.employee-action .actions .btn{font-size:12px;min-height:48px;padding:9px 8px}.employee-action .actions .btn:last-child{grid-column:1/-1;background:transparent;border:0;min-height:36px;padding:6px}.employee-action .sub{font-size:11px;margin-top:0;text-align:center}.mobilepage .weeknav{gap:5px;margin:18px 0 12px}.mobilepage .weeknav strong{font-size:13px}.mobilepage .weeknav .btn{border-color:transparent;background:transparent}.dayrow{padding:16px;gap:14px}.daydate{font-size:11px;min-width:30px}.daydate strong{font-size:21px;font-weight:600}.dayinfo{font-size:14px;font-weight:600}.dayinfo small{font-size:12px;margin-top:3px}.duty-marker{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:12px;font-weight:650}.dayrow.today{background:#f3f8ed}.bottomnav{width:min(620px,100%);box-shadow:0 -4px 24px #29472e08;padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:8px}.bottomnav button{border-radius:12px;font-size:13px;min-height:49px}.bottomnav button.active{background:#e8f1e3;color:#23563e}.accountdetails{border-top:1px solid var(--line);padding-top:4px;margin-top:24px}.mobilepage .install-entry .btn{width:100%;background:#eef3e9;font-size:12px}.mobilepage .demolabel{font-size:11px}.role-notice{padding:12px 16px;font-size:12px}.role-notice p{margin:3px 0 8px}.role-notice .btn{min-height:40px;font-size:12px}
@media(min-width:1500px){.plan-controls .periodcontrols{flex-wrap:nowrap}.monthjump input{max-width:158px}}
@media(max-width:1250px){.shell{grid-template-columns:205px minmax(0,1fr)}.main{padding:24px}.plan-controls .periodcontrols{display:block}.periodnav{justify-content:flex-start;margin-top:10px}.monthjump{margin-left:auto}.header{flex-direction:row;align-items:center}.plan-heading .header>.actions{max-width:300px}.setup-shortcuts .btn{border:1px solid var(--line);background:#fff}.plan-shortcuts{gap:8px}}
@media(max-width:950px){.header{align-items:flex-start;flex-direction:column;gap:14px}.periodnav>strong{min-width:135px;font-size:14px}.monthjump{margin-left:0}.plan-controls{padding:14px}.plan-review{grid-template-columns:1fr}.plan-review summary{min-height:60px}.releasebar{align-items:flex-start;flex-direction:column}.releasebar .actions{justify-content:flex-start}.main{padding:22px}.header>.actions{max-width:none!important}.header h1{font-size:29px}.station-filter .sub{font-size:11px}}
@media(max-width:750px){.shell{display:block}.sidebar{position:relative;height:auto;padding:18px 16px 12px;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:26px;padding:0}.sidebar .brandnote{display:none}.sidebar .clinic-brand{margin:0}.sidebar .navlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:16px}.sidebar .navitem{font-size:11px;line-height:1.35;white-space:normal;flex-direction:column;justify-content:center;gap:5px;padding:9px 3px;min-height:64px;text-align:center}.sidebar .navitem .ui-icon{width:18px;height:18px}.sidebar .navitem.active{box-shadow:inset 0 -2px #23765b}.sidebar .navitem .count{position:absolute;margin-left:58px;margin-top:-24px}.sidebar .moremenu{margin:8px 0 0;padding:0;border:0}.moremenu summary{font-size:11px;padding:8px 0;min-height:34px}.moremenu .navitem{flex-direction:row;min-height:44px;text-align:left}.main{padding:18px 16px 32px}.topbar{margin-bottom:18px;min-height:36px}.profile{font-size:12px}.profile>.btn{min-height:36px;padding:6px 0 6px 12px}.header h1{font-size:28px}.header .sub{font-size:12px;max-width:300px}.plan-heading .header>.actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-heading .btn{padding:10px 8px;font-size:12px;min-width:0}.plan-controls{margin:16px 0 12px;padding:12px}.periodcontrols .filters{display:flex}.periodcontrols .filters .btn{flex:1;font-size:12px;min-height:40px}.periodnav{gap:5px}.periodnav>strong{min-width:0;flex:1;font-size:14px}.periodnav>.btn:not(.icon){flex:1 1 36%;font-size:12px}.periodnav>.btn.icon{width:44px;min-width:44px}.monthjump{margin:5px 0 0;display:flex;width:100%;font-size:12px}.monthjump input{flex:1;max-width:none;min-width:0;font-size:13px}.station-filter label{font-size:12px;width:100%;display:flex;flex-wrap:nowrap}.station-filter select{width:auto;flex:1;max-width:100%;font-size:12px}.station-filter .sub{font-size:11px;line-height:1.5}.plan-shortcuts{display:block}.plan-shortcuts .actions{display:grid;grid-template-columns:1fr 1fr}.plan-shortcuts .actions:first-child .btn:last-child{grid-column:1/-1}.plan-shortcuts .setup-shortcuts{margin-top:6px}.plan-shortcuts .btn{font-size:11px;min-height:44px;padding:8px 5px}.setup-shortcuts .btn{border:0;background:transparent}.planning-context{font-size:11px}.planning-context span{display:block;margin-top:3px}.manualtools>summary .sub{display:none}.releasebar{padding:10px 0 0;margin-top:3px;gap:8px}.releasebar .actions{width:100%}.releasebar .btn{width:auto;font-size:11px}.releasebar strong{font-size:12px}.releasebar .sub{font-size:11px}.releasebar .badge{white-space:normal;font-size:10px}.monthboard .cardhead{padding:12px 14px;flex-direction:row;align-items:center}.monthboard .cardhead h2{font-size:15px}.monthboard .cardhead .sub{font-size:10px}.roster .namecol{width:155px;padding:10px 12px}.roster .namecol strong{font-size:12px}.roster .namecol small{font-size:10px}.roster-legend{gap:8px 12px;font-size:10px}.plan-review summary{font-size:12px}.modal{padding:22px}.modal h2{font-size:22px}.form .two{grid-template-columns:minmax(0,1fr)}.form input,.form select,.form textarea{font-size:16px}.loginpanel{padding:28px 16px}.loginbox{padding:30px 24px;border-radius:20px}.mobilepage{padding:22px 18px 112px}.mobiletop{margin-bottom:28px}.greeting h1{font-size:30px}.mobilepage .weeknav .btn.small{font-size:12px;padding:8px}.dayrow{gap:10px;padding:14px}.duty-marker{width:30px;height:30px;border-radius:8px}.dayrow .badge{font-size:10px;padding:4px 6px}.nextduty{padding:22px}.nextduty-time{font-size:27px}.personal-roster{border-radius:16px}.role-notice .btn{font-size:11px}}
@media(max-width:750px){.periodnav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.periodnav>.btn.icon{width:100%;min-width:0;grid-column:span 1}.periodnav>strong{grid-column:span 4;min-width:0;overflow-wrap:break-word}.periodnav>.btn:not(.icon){grid-column:span 3}.periodnav>.monthjump{grid-column:1/-1;margin-top:4px}.periodnav>.monthjump input{width:100%;max-width:100%}}
@media(max-width:360px){.mobilepage{padding-left:14px;padding-right:14px}.mobilepage .weeknav strong{font-size:11px}.mobilepage .weeknav .btn.icon{width:38px;min-width:38px}.greeting h1{font-size:28px}.dayinfo{font-size:12px}.dayinfo small{font-size:11px}.dayrow{gap:8px;padding:12px}.loginbox{padding:26px 20px}.header h1{font-size:27px}.sidebar .navitem{font-size:10px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
@media print{.plan-controls,.autoplan,.manualtools,.plan-review,.plan-heading .actions,.role-notice{display:none!important}.shell{display:block}.main{padding:0}.planner-scroll{max-height:none;overflow:visible}.roster-legend{color:#333}.mobilepage{padding:0}.nextduty{background:white;color:#222;border:1px solid #aaa}.nextduty h2,.nextduty p,.nextduty .sub,.nextduty-time{color:#222}}
#leader-station-field[hidden], #leader-all-field[hidden] { display: none !important; }
.profile > span { min-width: 0; overflow-wrap: anywhere; }
.profile .role { display: block; }
