/* v625 physician roster management UI */
.v615-today{display:none!important}
.v625-page{max-width:100%;margin:0 auto}.v625-toolbar,.v625-board,.v625-calendar-card,.v625-doctors,.v625-advanced{padding:16px;margin-bottom:14px}.v625-toolbar-top,.v625-board-head,.v625-controls,.v625-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.v625-toolbar h3,.v625-board h3,.v625-doctors h3,.v625-advanced h3{margin:0}.v625-toolbar p,.v625-board p,.v625-doctors p,.v625-advanced p{margin:4px 0 0;color:#6d8295}.v625-actions-top,.v625-tabs,.v625-monthnav,.v625-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.v625-actions-top button,.v625-tabs button,.v625-monthnav button,.v625-board-head>button{border:1px solid #cfe0ed;background:#fff;color:#275c7d;border-radius:9px;padding:8px 11px;cursor:pointer}.v625-swap-toggle.active,.v625-tabs button.active{background:#61b5e4;color:white;border-color:#61b5e4}.v625-controls{margin-top:14px;border-top:1px solid #e8eef3;padding-top:12px}.v625-monthnav strong{min-width:120px;text-align:center}.v625-monthnav input{width:142px;min-height:36px;border:1px solid #d4e1eb;border-radius:9px;padding:5px}.v625-swap-help{margin-top:10px;border-radius:10px;background:#fff6d9;border:1px solid #f1d47d;color:#7d5b00;padding:9px 11px}.v625-legend span{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px}.v625-legend .donor{background:#dff0ff}.v625-legend .bb{background:#def5e9}.v625-legend .call{background:#efe3ff}.v625-gridscroll{overflow:auto;border:1px solid #e3eaf0;border-radius:12px;margin-top:12px;max-height:65vh}.v625-matrix{border-collapse:separate;border-spacing:0;min-width:1900px;width:max-content;background:#fff}.v625-matrix th,.v625-matrix td{border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;padding:0;min-width:58px;height:64px;text-align:center}.v625-matrix thead th{position:sticky;top:0;background:#f8fafc;z-index:3;color:#526b7e}.v625-matrix thead th.today{background:#e9f7ff}.v625-matrix thead th b{display:block;font-size:12px}.v625-matrix thead th small{font-size:9px;font-weight:500}.v625-rowhead{position:sticky!important;left:0;z-index:4!important;min-width:135px!important;background:#f8fafc!important;text-align:left!important;padding:8px!important}.v625-rowhead b{display:block}.v625-rowhead small{display:block;color:#8091a1;font-weight:500;margin-top:3px}.v625-duty-cell{width:100%;height:100%;border:0;background:#fff;padding:5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.v625-duty-cell span{display:block;max-width:54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:800}.v625-duty-cell em{font-style:normal;font-size:8px;color:#2380b4}.v625-duty-cell.v625-donor{background:#eef8ff}.v625-duty-cell.v625-bb{background:#effbf5}.v625-duty-cell.v625-call{background:#f7f0ff}.v625-duty-cell:hover{outline:2px solid #72bde7;outline-offset:-2px}.v625-duty-cell.selected{outline:3px solid #e2ae27;outline-offset:-3px;background:#fff5c8}.v625-off{background:#f6f7f8;color:#a4adb5;font-size:9px}.v625-note{font-size:11px!important}.v625-week,.v625-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.v625-week{text-align:center;color:#6e8295;font-size:12px;margin-bottom:7px}.v625-day{min-height:106px;border:1px solid #e0e8ef;background:#fff;border-radius:11px;padding:7px;display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer}.v625-day.today{outline:2px solid #70bee8}.v625-day strong{font-size:12px}.v625-day span{font-size:10px;border-radius:6px;padding:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v625-day .donor{background:#dff0ff}.v625-day .bb{background:#def5e9}.v625-day .call{background:#efe3ff}.v625-doctor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px}.v625-doctor-card{border:1px solid #e1e9f0;border-radius:12px;overflow:hidden;background:#fff}.v625-doctor-head{display:flex;justify-content:space-between;gap:8px;padding:10px;background:#f7fafc}.v625-doctor-head span{font-size:11px;color:#6e8396}.v625-doctor-list{padding:7px;max-height:300px;overflow:auto}.v625-doctor-list button{width:100%;border:0;border-bottom:1px dashed #e4e9ee;background:white;padding:7px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;text-align:left}.v625-doctor-list button:hover{background:#f4faff}.v625-doctor-list span{font-size:11px}.v625-doctor-list b{font-size:10px;color:#3e708f}.v625-doctor-list p{padding:8px;font-size:11px}.v625-overlay{position:fixed;inset:0;background:#16314888;z-index:10000;display:flex;align-items:center;justify-content:center;padding:14px}.v625-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:white;border-radius:18px;padding:20px;box-shadow:0 20px 55px #16314844}.v625-dialog-head{align-items:flex-start}.v625-dialog-head h3{margin:0}.v625-dialog-head p{margin:4px 0;color:#6c8295;font-size:12px}.v625-dialog-head>button{border:0;background:transparent;font-size:26px;cursor:pointer}.v625-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.v625-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;padding:8px;border-radius:10px}.v625-form label.focus{background:#eef8ff;outline:2px solid #8acdf2}.v625-form label small{font-weight:500;color:#6f8396}.v625-form select,.v625-form input{width:100%;min-height:40px;border:1px solid #cbdce8;border-radius:9px;padding:7px;background:white}.v625-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.v625-dialog-actions button{padding:9px 14px;border-radius:9px;cursor:pointer}.v625-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.v625-advanced .v452-form{margin:0}
@media(max-width:760px){.v625-toolbar,.v625-board,.v625-calendar-card,.v625-doctors,.v625-advanced{padding:10px}.v625-toolbar-top,.v625-board-head,.v625-controls{align-items:flex-start;flex-direction:column}.v625-monthnav{width:100%;justify-content:space-between}.v625-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.v625-tabs button{padding:8px 4px;font-size:11px}.v625-week,.v625-calendar{gap:3px}.v625-day{min-height:82px;padding:4px;border-radius:7px}.v625-day span{font-size:8px;padding:3px}.v625-form,.v625-advanced-grid{grid-template-columns:1fr}.v625-dialog{padding:14px}.v625-rowhead{min-width:112px!important}.v625-matrix th,.v625-matrix td{min-width:52px}}

/* v626: all 31 days fit on one desktop screen rather than minimum 1900px. */
@media(min-width:900px){
 .v625-board{min-width:0!important;width:100%;box-sizing:border-box}
 .v625-gridscroll{overflow-x:hidden!important;max-height:none}
 .v625-matrix{width:100%!important;min-width:0!important;table-layout:fixed!important}
 .v625-matrix .v625-rowhead{width:108px!important;min-width:108px!important;max-width:108px!important;padding:5px!important}
 .v625-matrix th:not(.v625-rowhead),.v625-matrix td{width:auto!important;min-width:0!important;max-width:none!important;height:60px}
 .v625-matrix thead th b{font-size:10px}
 .v625-matrix thead th small{font-size:8px}
 .v625-duty-cell{min-width:0!important;padding:1px!important}
 .v625-duty-cell span{max-width:100%!important;width:100%;font-size:clamp(7px,.62vw,10px)!important;letter-spacing:-.4px;white-space:normal!important;overflow-wrap:anywhere;line-height:1.12;max-height:3.5em;overflow:hidden}
 .v625-rowhead b{font-size:11px}.v625-rowhead small{font-size:9px}
}
@media(min-width:900px) and (max-width:1250px){.v625-matrix .v625-rowhead{width:83px!important;min-width:83px!important;max-width:83px!important}.v625-matrix thead th small{font-size:7px}.v625-duty-cell span{font-size:7px!important}}

/* v627: shared holiday and physician leave cues, sidebar deep links */
.v627-menu-link{display:block;text-decoration:none;color:#476781;font-size:12px;font-weight:650;padding:8px 10px 8px 24px;border-radius:9px;margin:2px 4px}.v627-menu-link:hover,.v627-menu-link.active{background:#fff;color:#2272a6}.v627-menu-link.active{font-weight:850}
.v627-leave{display:block!important;background:#fff0cf;color:#924f00;font-weight:800!important;font-size:8px!important;line-height:1.15;padding:2px!important;border-radius:3px;white-space:normal!important;letter-spacing:-.3px}.v625-duty-cell.v627-absent{box-shadow:inset 0 0 0 2px #f6b951}.v627-holiday{font-size:8px!important;background:#fff0d4!important;color:#88510b!important;border-radius:3px;padding:1px}.v627-holiday-day{background:#fffaf0!important}.v625-day .v627-leave{font-size:8px!important}

/* v628 - legible 31-day matrix at 100% zoom; let the board scroll horizontally. */
@media(min-width:900px){
 .v625-gridscroll{overflow-x:auto!important;max-height:70vh!important;overscroll-behavior-x:contain}
 .v625-matrix{width:max-content!important;min-width:0!important;table-layout:auto!important}
 .v625-matrix .v625-rowhead{width:150px!important;min-width:150px!important;max-width:150px!important}
 .v625-matrix th:not(.v625-rowhead),.v625-matrix td{min-width:95px!important;width:95px!important;max-width:95px!important;height:69px!important}
 .v625-matrix thead th b{font-size:12px!important}
 .v625-matrix thead th small{font-size:10px!important}
 .v625-duty-cell{padding:5px!important}
 .v625-duty-cell span{font-size:12px!important;line-height:1.35!important;letter-spacing:normal!important;overflow-wrap:normal!important;white-space:normal!important;max-height:none!important}
 .v627-leave{font-size:10px!important;letter-spacing:0!important}
}
@media(max-width:899px){
 .v625-matrix{min-width:2900px!important;width:max-content!important}
 .v625-matrix th:not(.v625-rowhead),.v625-matrix td{min-width:85px!important}
 .v625-duty-cell span{font-size:11px!important;white-space:normal!important;max-width:85px!important}
}
.v625-gridscroll{scrollbar-width:auto;scrollbar-color:#91b9cf #edf5f9}
.v625-day span{font-size:clamp(10px, .85vw, 13px);white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.v625-doctor-list span,.v625-doctor-list b{font-size:12px}

/* v629: staff-inspired doctor rows, mobile calendar inspired by central calendar */
.v629-staff-scroll{overflow-x:auto!important;max-width:100%;scrollbar-width:auto;}
.v629-staff-matrix{table-layout:fixed!important;width:max-content!important;min-width:0!important;}
.v629-staff-matrix th:not(.v625-rowhead),.v629-staff-matrix td{width:76px!important;min-width:76px!important;max-width:76px!important;height:52px!important;}
.v629-staff-matrix .v625-rowhead{width:145px!important;min-width:145px!important;max-width:145px!important;position:sticky!important;left:0;z-index:4!important;}
.v629-staff-day{padding:3px!important;vertical-align:middle;}
.v629-duty-tag{display:block;width:100%;border:0;border-radius:7px;margin:2px 0;padding:4px 2px;font-size:11px;font-weight:800;cursor:pointer;color:#17394f;}
.v629-duty-tag.v629-donor{background:#dff0ff}.v629-duty-tag.v629-bb{background:#def5e9}.v629-duty-tag.v629-call{background:#eee0ff}
.v629-duty-tag:focus-visible{outline:2px solid #236c9a}.v629-off{color:#9da9b5;font-size:10px}.v629-holiday{background:#fffaf1}
.v629-calendar-compact{display:none}.v629-calendar-hint{display:none}
@media(max-width:760px){
 .v625-page,.v625-toolbar,.v625-board,.v625-calendar-card,.v625-doctors{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important}
 .v625-toolbar-top,.v625-controls,.v625-board-head{min-width:0!important;max-width:100%!important}
 .v625-toolbar p{font-size:12px!important;line-height:1.4}
 .v625-actions-top{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;width:100%}
 .v625-actions-top button{font-size:12px!important;padding:8px 4px!important;white-space:normal!important}
 .v625-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .v625-tabs button{min-width:0!important;font-size:11px!important;white-space:normal!important}
 .v625-monthnav{display:flex!important;flex-wrap:wrap;justify-content:center!important;gap:6px}
 .v625-monthnav strong{min-width:100px!important;font-size:12px}.v625-monthnav input{max-width:140px!important}
 .v629-staff-matrix .v625-rowhead{width:94px!important;min-width:94px!important;max-width:94px!important;padding:5px!important;}
 .v629-staff-matrix th:not(.v625-rowhead),.v629-staff-matrix td{width:70px!important;min-width:70px!important;max-width:70px!important;height:52px!important}
 .v629-staff-matrix .v625-rowhead b{font-size:12px!important;overflow-wrap:anywhere}
 .v629-staff-matrix .v629-duty-tag{font-size:11px!important;padding:4px 1px}
 .v629-calendar-card{padding:8px!important}
 .v629-calendar-card .v625-week,.v629-calendar-card .v625-calendar{gap:3px!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;}
 .v629-calendar-card .v625-day{min-width:0!important;min-height:64px!important;padding:3px!important;gap:3px!important;overflow:hidden;align-items:flex-start;}
 .v629-calendar-card .v625-day strong{font-size:12px!important}
 .v629-calendar-full{display:none!important}.v629-calendar-compact{display:flex!important;flex-wrap:wrap;gap:3px;margin-top:4px}
 .v629-calendar-compact i{display:block;width:8px;height:8px;border-radius:50%;padding:0!important}
 .v629-calendar-compact .donor{background:#62b5ed}.v629-calendar-compact .bb{background:#5ec5a0}.v629-calendar-compact .call{background:#b58bdf}.v629-calendar-compact .v629-leave-dot{background:#e99e36}
 .v629-calendar-card .v629-holiday-name{font-size:8px!important;line-height:1.1!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block;max-height:22px;padding:2px!important;}
 .v629-calendar-hint{display:block!important;font-size:12px!important;color:#617b90;margin:10px 0 0!important}
 .v625-overlay{padding:6px!important}.v625-dialog{max-height:94vh!important;width:100%!important}
}
