/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#102f43;--navy-2:#173e55;--teal:#129b9a;--teal-dark:#087b7b;--ink:#17313f;--muted:#6d7f88;--line:#dde7e9;--bg:#f3f7f7;--white:#fff;--slot:33px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#fff;z-index:30;flex-direction:column;width:248px;padding:28px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 30px #0f2d4014}.brand{align-items:center;gap:12px;padding:0 8px 30px;display:flex}.brand-mark{background:linear-gradient(145deg,#1ab5b1,#0c7f87);border-radius:12px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.brand strong{letter-spacing:.08em;font-size:14px;display:block}.brand small{color:#9eb4c0;letter-spacing:.02em;margin-top:4px;font-size:9px;display:block}.sidebar nav{flex-direction:column;gap:7px;display:flex}.nav-item{color:#b8c8d1;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 13px;font-size:13px;font-weight:600;display:flex}.nav-item span{text-align:center;width:20px;font-size:18px}.nav-item:hover,.nav-item.active{color:#fff;background:#1b485f}.nav-item.active{box-shadow:inset 3px 0 #28c1bc}.sidebar-card{background:#173b50;border:1px solid #2c5368;border-radius:13px;gap:11px;margin-top:auto;padding:15px;display:flex}.pulse-dot{background:#29c6a3;border-radius:50%;width:9px;height:9px;margin:5px;box-shadow:0 0 0 5px #29c6a31f}.sidebar-card div{display:grid}.sidebar-card b{color:#a9bec9;font-size:11px}.sidebar-card small{color:#89a1ae;font-size:10px}.user-panel{border-top:1px solid #294c60;align-items:center;gap:10px;margin-top:18px;padding-top:17px;display:flex}.avatar{color:#087c7c;background:#d8f1ef;border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.user-panel div:nth-child(2){flex:1;min-width:0}.user-panel strong,.user-panel small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.user-panel small{color:#9bb2be;margin-top:3px;font-size:9px}.user-panel button{color:#9bb2be;background:0 0;border:0;font-size:19px}.main-area{width:calc(100% - 248px);min-width:0;margin-left:248px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:90px;padding:0 28px;display:flex}.eyebrow{color:var(--teal);letter-spacing:.13em;margin:0 0 5px;font-size:9px;font-weight:800}.topbar h1{letter-spacing:-.02em;margin:0;font-size:23px}.top-actions{align-items:center;gap:10px;display:flex}.search-box{border:1px solid var(--line);color:#93a3aa;background:#fbfcfc;border-radius:10px;align-items:center;gap:8px;width:260px;height:39px;padding:0 12px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.icon-button,.print-button{border:1px solid var(--line);color:#61737c;background:#fff;border-radius:10px;height:39px;position:relative}.icon-button{width:39px;font-size:20px}.icon-button i{color:#fff;background:#e95e5e;border:2px solid #fff;border-radius:10px;padding:2px 4px;font:700 8px Inter;position:absolute;top:-5px;right:-4px}.primary-button{background:var(--teal);color:#fff;border:0;border-radius:10px;height:39px;padding:0 16px;font-size:11px;font-weight:800;box-shadow:0 5px 13px #129b9a33}.primary-button:hover{background:var(--teal-dark)}.primary-button span{margin-right:4px;font-size:16px}.mobile-menu{display:none}.toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:14px 28px;display:flex}.date-navigator{align-items:center;gap:7px;display:flex}.date-navigator>button{border:1px solid var(--line);color:#60757f;background:#fff;border-radius:8px;width:32px;height:32px;font-size:18px}.date-navigator .today{width:auto;padding:0 13px;font-size:11px;font-weight:700}.date-navigator>div{margin-left:8px;display:grid}.date-navigator strong{font-size:14px}.date-navigator small{color:var(--muted);margin-top:3px;font-size:9px}.toolbar-right{align-items:center;gap:9px;display:flex}.segment{background:#e6eeee;border-radius:9px;padding:3px;display:flex}.segment button{color:#6c7e86;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:10px;font-weight:700}.segment button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #14323c1f}.source-segment button.active{color:var(--teal-dark)}.print-button{padding:0 12px;font-size:10px;font-weight:700}.print-button span{margin-left:4px}.summary-strip{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:25px;min-height:58px;margin:0 28px 12px;padding:10px 14px;display:flex}.summary-strip>div:not(.legend){align-items:center;gap:9px;display:flex}.summary-icon{border-radius:9px;place-items:center;width:31px;height:31px;font-size:10px;font-weight:900;display:grid}.summary-icon.teal{color:#0b8e83;background:#e3f6f3}.summary-icon.blue{color:#3978c5;background:#eaf2fb}.summary-icon.violet{color:#7455b8;background:#f0ecfa}.summary-strip p{margin:0;display:grid}.summary-strip b{font-size:11px}.summary-strip small{color:var(--muted);margin-top:2px;font-size:9px}.legend{color:#6d7d85;gap:14px;margin-left:auto;font-size:9px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.dot,.status-mini{border-radius:50%;width:7px;height:7px;display:inline-block}.arrived{background:#29ae78}.progress{background:#e1a138}.booked{background:#79909b}.calendar-card{border:1px solid var(--line);background:#fff;border-radius:13px;margin:0 28px 24px;overflow:hidden;box-shadow:0 5px 16px #102f430a}.header-grid{border-bottom:1px solid var(--line);background:#fbfcfc;height:59px}.day-grid{grid-template-columns:58px repeat(4,minmax(185px,1fr));min-width:800px;display:grid}.week-grid{grid-template-columns:58px repeat(5,minmax(160px,1fr));min-width:860px;display:grid}.time-heading{color:#9aa8ae;text-transform:uppercase;letter-spacing:.09em;border-right:1px solid var(--line);place-items:center;font-size:8px;font-weight:800;display:grid}.doctor-heading{border-right:1px solid var(--line);align-items:center;gap:9px;padding:0 13px;display:flex;position:relative}.doctor-heading>span,.week-doctor-tabs span{color:#fff;border-radius:8px;place-items:center;width:29px;height:29px;font-size:9px;font-weight:800;display:grid}.doctor-heading strong,.doctor-heading small{display:block}.doctor-heading strong{font-size:10px}.doctor-heading small{color:var(--muted);margin-top:3px;font-size:8px}.status-light{background:#32b486;border-radius:50%;width:7px;height:7px;margin-left:auto}.calendar-scroll{height:calc(100vh - 307px);min-height:390px;overflow:auto}.calendar-body{position:relative}.time-column{border-right:1px solid var(--line);background:#fbfcfc}.time-column>div{height:var(--slot);text-align:center;color:#83939a;padding-top:5px;font-size:8px}.doctor-column{border-right:1px solid var(--line);min-height:660px;position:relative}.slot-line{height:var(--slot);border-bottom:1px solid #edf2f3}.slot-line:nth-child(2n){border-bottom-color:#dfe8ea}.appointment{z-index:2;text-align:left;color:#183b43;background:#eaf7f5;border:0;border-left:3px solid;border-radius:5px;padding:6px 8px;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 1px 3px #11394214}.appointment:hover{filter:brightness(.98);z-index:4;box-shadow:0 3px 8px #11394226}.appointment.inpatient{background:#f0edfa}.appointment>div{justify-content:space-between;align-items:center;gap:5px;display:flex}.appointment strong{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.appointment p{white-space:nowrap;text-overflow:ellipsis;margin:3px 0 2px;font-size:8px;overflow:hidden}.appointment small{color:#657980;font-size:7px}.now-line{z-index:5;pointer-events:none;border-top:1px solid #ec5c5c;position:absolute;left:50px;right:0}.now-line span{color:#fff;background:#ec5c5c;border-radius:3px;padding:2px 4px;font-size:7px;position:absolute;top:-8px;left:-42px}.week-doctor-tabs{border-bottom:1px solid var(--line);gap:6px;padding:9px 12px;display:flex;overflow-x:auto}.week-doctor-tabs button{border:1px solid var(--line);white-space:nowrap;color:#657780;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:6px 9px;font-size:9px;display:flex}.week-doctor-tabs button.active{color:#116f70;background:#effaf9;border-color:#91d7d3}.week-doctor-tabs span{border-radius:6px;width:23px;height:23px;font-size:7px}.week-heading{text-align:center;border-right:1px solid var(--line);place-content:center;display:grid}.week-heading strong{font-size:10px}.week-heading small{color:var(--muted);margin-top:3px;font-size:8px}.week-heading.today-col{color:#097f7e;background:#eff9f8}.modal-layer,.drawer-layer{z-index:80;place-items:center;display:grid;position:fixed;inset:0}.modal-backdrop,.drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091f2c7a;border:0;position:absolute;inset:0}.modal{background:#fff;border-radius:18px;width:min(680px,100vw - 24px);max-height:calc(100vh - 30px);position:relative;overflow:auto;box-shadow:0 25px 70px #091f2c42}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;padding:21px 24px 16px;display:flex}.modal-header h2{margin:0;font-size:19px}.modal-header>button,.drawer-header>button{color:#637780;background:#edf2f3;border:0;border-radius:8px;width:31px;height:31px;font-size:20px}.type-choice{grid-template-columns:1fr 1fr;gap:10px;padding:18px 24px 5px;display:grid}.type-choice label{position:relative}.type-choice input{opacity:0;position:absolute}.type-choice span{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:12px 13px;display:grid}.type-choice input:checked+span{box-shadow:inset 3px 0 var(--teal);background:#effaf9;border-color:#53bcb7}.type-choice b{font-size:11px}.type-choice small{color:var(--muted);margin-top:4px;font-size:8px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;padding:13px 24px 20px;display:grid}.form-grid label{color:#536770;gap:5px;font-size:9px;font-weight:800;display:grid}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d9e4e6;border-radius:8px;outline:0;padding:9px 10px;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#57bdb9;box-shadow:0 0 0 3px #e5f6f4}.form-grid textarea{resize:vertical;height:62px}.modal-footer{border-top:1px solid var(--line);background:#fbfcfc;justify-content:space-between;align-items:center;padding:13px 24px;display:flex}.modal-footer p{color:#76878e;margin:0;font-size:8px}.modal-footer p span{color:#0e8381;background:#e0f2f1;border-radius:50%;place-items:center;width:15px;height:15px;margin-right:5px;font-weight:800;display:inline-grid}.modal-footer>div{gap:8px;display:flex}.secondary-button{border:1px solid var(--line);color:#60727a;background:#fff;border-radius:10px;height:39px;padding:0 16px;font-size:11px;font-weight:700}.toast{z-index:120;color:#fff;background:#163d4d;border-radius:11px;padding:12px 17px;font-size:11px;font-weight:600;animation:.25s toast-in;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #0a273340}.toast span{background:#29ae78;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:8px;display:inline-grid}.drawer-layer{place-items:stretch stretch}.drawer-backdrop{z-index:0}.drawer{z-index:1;background:#fff;width:min(390px,100vw);padding:24px;animation:.25s drawer-in;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-12px 0 40px #0d28342e}.drawer-header{justify-content:space-between;display:flex}.source-badge{color:#0a807c;background:#e5f6f4;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-block}.source-badge.inpatient{color:#6649a6;background:#efebfa}.drawer-header h2{margin:11px 0 4px;font-size:22px}.drawer-header p{color:var(--muted);margin:0;font-size:10px}.appointment-hero{background:#f5f9f9;border-left:4px solid;border-radius:7px;margin:24px 0;padding:15px 17px;display:grid}.appointment-hero p{color:var(--muted);margin:0;font-size:10px}.appointment-hero strong{margin:4px 0;font-size:26px}.appointment-hero span{color:var(--muted);font-size:9px}.drawer dl{margin:0}.drawer dl>div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:10px;padding:13px 0;display:grid}.drawer dt{color:var(--muted);font-size:9px}.drawer dd{margin:0;font-size:11px;font-weight:700}.drawer dd small{color:var(--muted);margin-top:4px;font-size:8px;font-weight:400;display:block}.status-actions{gap:8px;margin-top:22px;display:grid}.status-actions p{color:var(--muted);font-size:9px}.status-actions button{border:1px solid var(--line);text-align:left;color:#35505d;background:#fff;border-radius:9px;height:39px;padding:0 13px;font-size:10px;font-weight:700}.status-actions button:hover{background:#f0faf9;border-color:#68c6c1}.audit-note{color:#809097;background:#f5f7f7;border-radius:8px;margin-top:22px;padding:10px;font-size:8px}.backdrop{display:none}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}}@media (width<=1050px){.sidebar{width:210px}.main-area{width:calc(100% - 210px);margin-left:210px}.source-segment{display:none}.search-box{width:200px}.summary-strip{gap:14px}.day-grid{grid-template-columns:54px repeat(4,minmax(175px,1fr))}}@media (width<=760px){.sidebar{transition:all .25s;transform:translate(-110%)}.sidebar.open{width:248px;transform:translate(0)}.main-area{width:100%;margin-left:0}.topbar{height:78px;padding:0 14px}.mobile-menu{background:#eaf2f2;border:0;border-radius:8px;width:35px;height:35px;display:block}.topbar .eyebrow{display:none}.topbar h1{font-size:18px}.search-box,.icon-button{display:none}.primary-button{padding:0 11px}.toolbar{flex-direction:column;align-items:flex-start;padding:11px 14px}.toolbar-right{justify-content:space-between;width:100%}.source-segment{display:flex}.summary-strip{margin:0 14px 10px;overflow-x:auto}.summary-strip>div{min-width:max-content}.legend{display:none}.calendar-card{margin:0 14px 15px}.calendar-scroll{height:calc(100vh - 344px)}.print-button span{display:none}.backdrop{z-index:20;background:#0a222e66;border:0;display:block;position:fixed;inset:0}.type-choice,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-footer{align-items:flex-start;gap:12px}.modal-footer p{display:none}}@media print{body{background:#fff}.sidebar,.topbar .top-actions,.mobile-menu,.toolbar-right,.summary-strip,.now-line{display:none!important}.main-area{width:100%;margin:0}.topbar{border:0;height:60px;padding:0 12px}.toolbar{padding:6px 12px}.calendar-card{box-shadow:none;border-radius:0;margin:0}.calendar-scroll{height:auto;overflow:visible}.doctor-column{min-height:660px}.appointment{-webkit-print-color-adjust:exact;print-color-adjust:exact}.day-grid{grid-template-columns:45px repeat(4,1fr);min-width:0}.week-grid{grid-template-columns:45px repeat(5,1fr);min-width:0}@page{size:A4 landscape;margin:8mm}}.topbar h1{align-items:center;gap:9px;display:flex}.sync-state{letter-spacing:.01em;color:#708188;white-space:nowrap;background:#eef3f3;border-radius:8px;padding:4px 7px;font-size:8px;font-weight:700}.sync-state.saved{color:#27815f;background:#e5f6ef}.sync-state.demo{color:#9a6a16;background:#fff5dd}.sync-state.error{color:#b74a48;background:#fdebea}.security-note{color:#176e6d;background:#f0faf9;border:1px solid #cde8e5;border-radius:11px;gap:10px;margin:18px 24px 10px;padding:12px 14px;display:flex}.security-note>span{font-size:21px}.security-note p{margin:0;display:grid}.security-note b{font-size:10px}.security-note small{color:#65807f;margin-top:3px;font-size:8px}.user-list{border:1px solid var(--line);border-radius:11px;margin:0 24px;overflow:hidden}.user-list-heading{color:#819097;text-transform:uppercase;letter-spacing:.07em;background:#f5f8f8;grid-template-columns:1fr 150px;padding:9px 13px;font-size:8px;font-weight:800;display:grid}.user-row{border-top:1px solid var(--line);grid-template-columns:35px 1fr 150px;align-items:center;gap:10px;padding:10px 13px;display:grid}.user-row p{margin:0;display:grid}.user-row b{font-size:10px}.user-row small{color:var(--muted);margin-top:3px;font-size:8px}.role-badge{color:#137874;background:#e7f5f3;border-radius:6px;justify-self:start;padding:5px 7px;font-size:8px;font-weight:800}.role-badge.admin{color:#6547a6;background:#eee9fa}.role-badge.viewer{color:#63757d;background:#eff2f2}.role-badge.doctor{color:#3a6fae;background:#eaf2fb}.empty-state{text-align:center;color:var(--muted);padding:16px;font-size:9px}.add-user-form{padding:19px 24px 23px}.add-user-form h3{margin:0 0 10px;font-size:11px}.add-user-form>div{grid-template-columns:1fr 1.2fr 1fr auto;align-items:end;gap:8px;display:grid}.add-user-form label{color:#586b74;gap:4px;font-size:8px;font-weight:800;display:grid}.add-user-form input,.add-user-form select{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;width:100%;height:38px;padding:0 9px;font-size:9px}.add-user-form .primary-button{white-space:nowrap}@media (width<=760px){.add-user-form>div{grid-template-columns:1fr}.user-list-heading{display:none}.user-row{grid-template-columns:35px 1fr auto}.security-note{margin:13px}.user-list{margin:0 13px}.add-user-form{padding:16px 13px}}.day-grid{grid-template-columns:48px repeat(7,minmax(115px,1fr));min-width:920px}.room-heading{gap:6px;padding:0 8px}.room-heading>span{border-radius:7px;width:25px;height:25px;font-size:8px}.room-heading strong{font-size:9px}.room-heading small{font-size:7px}.doctor-column{min-height:calc(var(--slot) * 20)}.slot-button{color:#0000;background:0 0;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative}.slot-button:hover{color:#48aaa5;background:#eff9f8}.slot-button span{opacity:0;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.slot-button:hover span,.slot-button:focus-visible span{opacity:1}.appointment{padding:5px 6px;left:3px;right:3px}.appointment strong{font-size:8px}.appointment p{font-size:7px}.appointment small{font-size:6.5px}.all-doctors span{background:#153e55!important}.week-doctor-tabs .all-doctors.active{color:#0d7472;background:#e8f8f6;border-color:#5fbeb9}@media (width<=1050px){.day-grid{grid-template-columns:48px repeat(7,minmax(115px,1fr));min-width:920px}}@media print{.calendar-card{--slot:24px}.doctor-column{min-height:calc(var(--slot) * 20)}.calendar-scroll{height:auto;min-height:0}.header-grid{height:48px}.day-grid{grid-template-columns:34px repeat(7,1fr);min-width:0}.room-heading{gap:3px;padding:0 3px}.room-heading>span{width:18px;height:18px;font-size:6px}.room-heading strong{font-size:7px}.room-heading small{font-size:5px}.slot-button span{display:none}.appointment{padding:3px 4px}.appointment strong{font-size:6px}.appointment p{margin:2px 0;font-size:5.5px}.appointment small{font-size:5px}.topbar{height:44px}.toolbar{min-height:36px;padding:3px 8px}.calendar-card{page-break-inside:avoid}@page{size:A4 landscape;margin:6mm}}.doctor-inline{color:#425d69;font-weight:700}.delete-appointment-button{color:#aa4543;text-align:left;background:#fff7f6;border:1px solid #efcecc;border-radius:9px;width:100%;height:40px;margin-top:14px;padding:0 13px;font-size:10px;font-weight:800}.delete-appointment-button:hover{background:#fdeceb;border-color:#e7a7a3}.delete-layer{z-index:100}.delete-modal{width:min(480px,100vw - 24px)}.danger-text{color:#b84b48}.delete-summary{background:#fff6f5;border-left:4px solid #d35b57;border-radius:7px;margin:18px 24px 8px;padding:11px 13px;display:grid}.delete-summary b{font-size:11px}.delete-summary span{color:#74838a;margin-top:4px;font-size:9px}.reason-options{gap:9px;padding:10px 24px 16px;display:grid}.reason-options>p{margin:0 0 2px;font-size:10px;font-weight:800}.reason-options label{position:relative}.reason-options input{opacity:0;position:absolute}.reason-options label>span{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:11px 13px;display:grid}.reason-options input:checked+span{background:#fff5f4;border-color:#d77b76;box-shadow:inset 3px 0 #cc5752}.reason-options b{font-size:10px}.reason-options small{color:var(--muted);margin-top:3px;font-size:8px}.delete-audit-note{color:#6f8087;background:#f3f6f6;border-radius:8px;margin:0 24px 18px;padding:10px 12px;font-size:8px;line-height:1.5}.danger-button{color:#fff;background:#c84f4b;border:0;border-radius:10px;height:39px;padding:0 15px;font-size:10px;font-weight:800}.danger-button:hover{background:#a93e3a}.brand{justify-content:center;align-items:center;gap:0;padding:0 6px 24px;display:flex}.brand-logo{border-radius:10px;width:178px;height:auto;display:block;box-shadow:0 8px 24px #0416232e}.week-heading{flex-direction:column;justify-content:center;min-width:0;padding:5px 3px 4px;display:flex}.week-heading>div:first-child{text-align:center;display:grid}.mini-room-labels{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;width:100%;margin-top:6px;display:grid}.mini-room-labels span{text-align:center;font-size:6px;font-weight:900;overflow:hidden}.week-day-lanes{min-height:calc(var(--slot) * 20);border-right:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-room-lane{border-right:1px solid #e6edef;min-width:0;position:relative}.week-room-lane:last-child{border-right:0}.week-slot-button{color:#0000;background:0 0;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative}.week-slot-button:hover,.week-slot-button:focus-visible{color:#3da49f;z-index:2;background:#edf8f7;outline:1px solid #8dd3cf}.week-slot-button span{opacity:0;place-items:center;font-size:9px;display:grid;position:absolute;inset:0}.week-slot-button:hover span,.week-slot-button:focus-visible span{opacity:1}.week-mini-appointment{z-index:4;color:#183b43;text-align:center;background:#dff3f0;border:0;border-top:2px solid;border-radius:3px;padding:2px 1px;position:absolute;left:1px;right:1px;overflow:hidden;box-shadow:0 1px 3px #12303b21}.week-mini-appointment.inpatient{background:#eee9fa}.week-mini-appointment:hover{z-index:7;filter:brightness(.96);box-shadow:0 3px 8px #12303b38}.week-mini-appointment strong,.week-mini-appointment small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.week-mini-appointment strong{font-size:5.5px}.week-mini-appointment small{color:#61757d;margin-top:1px;font-size:5px}@media print{.week-header-grid{height:58px}.mini-room-labels span{font-size:5px}.week-mini-appointment{padding:1px 0}.week-mini-appointment strong{font-size:4.5px}.week-mini-appointment small{font-size:4px}.week-slot-button span{display:none}}.sidebar-card{color:#fff;text-align:left;width:100%}.sidebar-card:hover{background:#1b4359;border-color:#3a718b}.sidebar-card strong{line-height:1.2}.calendar-doctor-tag{color:#147b77;background:#e8f7f5;border-radius:5px;width:max-content;margin-top:5px;padding:3px 5px;font-size:7px;font-style:normal;font-weight:800}.doctor-toggle{cursor:pointer;background:#f3fbfa;border:1px solid #cfe7e4;border-radius:10px;align-items:center;gap:9px;margin-top:12px;padding:10px 12px!important;display:flex!important}.doctor-toggle input{accent-color:var(--teal);width:17px!important;height:17px!important}.doctor-toggle span{display:grid}.doctor-toggle b{color:#28545c;font-size:9px}.doctor-toggle small{color:#6b8186;margin-top:2px;font-size:8px;font-weight:400}.workload-period-label{color:var(--muted);margin-top:5px;font-size:9px;display:block}.workload-tabs{background:#e9f0f0;border-radius:10px;grid-template-columns:repeat(3,1fr);margin:18px 24px 12px;padding:4px;display:grid}.workload-tabs button{color:#6b7e85;background:0 0;border:0;border-radius:8px;height:34px;font-size:10px;font-weight:800}.workload-tabs button.active{color:#137d7a;background:#fff;box-shadow:0 2px 7px #12303b1f}.workload-overview{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 24px 16px;display:grid}.workload-overview>div{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7fbfb);border-radius:12px;align-content:center;min-height:96px;padding:13px;display:grid}.workload-overview span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:800}.workload-overview strong{color:#173f50;margin:5px 0 2px;font-size:21px}.workload-overview small{color:#819097;font-size:8px}.doctor-load-list{border:1px solid var(--line);border-radius:12px;margin:0 24px 15px;overflow:hidden}.doctor-load-heading,.doctor-load-row{grid-template-columns:minmax(210px,1.5fr) .65fr .9fr 1fr;align-items:center;gap:12px;display:grid}.doctor-load-heading{color:#819097;text-transform:uppercase;letter-spacing:.06em;background:#f3f7f7;padding:9px 13px;font-size:8px;font-weight:800}.doctor-load-row{border-top:1px solid var(--line);padding:12px 13px}.doctor-load-name{align-items:center;gap:10px;display:flex}.doctor-load-name>span{color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:9px;font-weight:900;display:grid}.doctor-load-name p{margin:0;display:grid}.doctor-load-name b,.doctor-load-row>strong{font-size:10px}.doctor-load-name small{color:var(--muted);margin-top:3px;font-size:8px}.load-progress{grid-template-columns:1fr 30px;align-items:center;gap:7px;display:grid}.load-progress>span{background:#e7eeee;border-radius:5px;height:7px;overflow:hidden}.load-progress i{border-radius:5px;min-width:2px;height:100%;display:block}.load-progress small{color:#6c7d84;text-align:right;font-size:8px}.workload-footnote{color:#5c7479;background:#f1f8f7;border-radius:9px;margin:0 24px 20px;padding:10px 12px;font-size:8px}.workload-footnote span{color:#147b77;background:#d8efed;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:7px;font-weight:900;display:inline-grid}@media (width<=760px){.workload-overview{grid-template-columns:1fr}.doctor-load-heading{display:none}.doctor-load-row{grid-template-columns:1fr 1fr;gap:10px}.doctor-load-name,.load-progress{grid-column:1/-1}.workload-modal{max-height:calc(100vh - 20px)}.doctor-toggle{align-items:flex-start}.sidebar-card{flex-shrink:0}}.primary-button:disabled,.schedule-button:disabled,.remove-waiting:disabled{opacity:.45;cursor:not-allowed}.nav-count{color:#cfe6e9;background:#2a5c70;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:8px;font-style:normal;display:grid}.waiting-modal{width:min(980px,100vw - 24px)}.waiting-list{border:1px solid var(--line);border-radius:12px;margin:18px 24px 12px;overflow:hidden}.waiting-list-heading,.waiting-row{grid-template-columns:minmax(230px,1.4fr) minmax(150px,1fr) 135px 170px;align-items:center;gap:12px;display:grid}.waiting-list-heading{color:#819097;text-transform:uppercase;letter-spacing:.06em;background:#f3f7f7;padding:9px 13px;font-size:8px;font-weight:800}.waiting-row{border-top:1px solid var(--line);padding:11px 13px}.waiting-patient{align-items:center;gap:10px;display:flex}.waiting-patient>b{color:#117d78;background:#e2f4f2;border-radius:8px;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.waiting-row p{margin:0;display:grid}.waiting-row strong{font-size:10px}.waiting-row small{color:var(--muted);margin-top:3px;font-size:8px}.waiting-row time{color:#5f747c;font-size:9px}.waiting-actions{align-items:center;gap:6px;display:flex}.schedule-button{color:#fff;white-space:nowrap;background:#148f8c;border:0;border-radius:8px;height:34px;padding:0 11px;font-size:9px;font-weight:800}.remove-waiting{color:#aa4543;background:#fff7f6;border:1px solid #efcecc;border-radius:8px;width:34px;height:34px;font-size:16px}.waiting-empty{text-align:center;color:#71858c;place-items:center;padding:30px;display:grid}.waiting-empty>span{color:#248261;background:#e4f5ef;border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.waiting-empty b{margin-top:8px;font-size:11px}.waiting-empty small{margin-top:4px;font-size:8px}.waiting-form{border-top:1px solid var(--line);background:#fbfcfc;padding:15px 24px 22px}.waiting-form h3{margin:0 0 10px;font-size:11px}.waiting-form-grid{grid-template-columns:1.1fr 1fr .9fr 1fr 1fr .8fr;align-items:end;gap:8px;display:grid}.waiting-form-grid label{color:#586b74;gap:4px;font-size:8px;font-weight:800;display:grid}.waiting-form-grid input,.waiting-form-grid select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:38px;padding:0 9px;font-size:9px}.waiting-note{grid-column:1/6}.waitlist-booking-note{color:#176f6c;background:#f0faf8;border:1px solid #cfe8e4;border-radius:10px;gap:9px;margin:14px 24px 0;padding:10px 12px;display:flex}.waitlist-booking-note>span{background:#d6efeb;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.waitlist-booking-note p{margin:0;display:grid}.waitlist-booking-note b{font-size:9px}.waitlist-booking-note small{color:#64807e;margin-top:2px;font-size:8px}.permission-note{color:#8a681f;background:#fff7e7;border-radius:9px;margin:14px 24px 22px;padding:12px;font-size:9px}@media (width<=850px){.waiting-list-heading{display:none}.waiting-row{grid-template-columns:1fr 1fr}.waiting-patient{grid-column:1/-1}.waiting-form-grid{grid-template-columns:1fr 1fr}.waiting-note,.waiting-form-grid .primary-button{grid-column:1/-1}.waiting-row time{font-size:8px}}@media (width<=520px){.waiting-row{grid-template-columns:1fr}.waiting-patient{grid-column:auto}.waiting-actions{justify-content:space-between}.waiting-form-grid{grid-template-columns:1fr}.waiting-note,.waiting-form-grid .primary-button{grid-column:auto}.waiting-list{margin:12px}.waiting-form{padding:14px 12px}}.profile-modal{width:min(820px,100vw - 24px)}.profile-tabs{background:#e9f0f0;border-radius:10px;grid-template-columns:1fr 1fr;margin:16px 24px 0;padding:4px;display:grid}.profile-tabs button{color:#687d85;background:0 0;border:0;border-radius:8px;height:35px;font-size:10px;font-weight:800}.profile-tabs button.active{color:#137d7a;background:#fff;box-shadow:0 2px 7px #12303b1f}.profile-tabs span{background:#deefed;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:5px;font-size:8px;display:inline-grid}.profile-content{padding:19px 24px 24px}.profile-identity{align-items:center;gap:14px;display:flex}.profile-avatar{color:#fff;background:linear-gradient(145deg,#179c99,#117277);border-radius:16px;place-items:center;width:58px;height:58px;font-size:17px;font-weight:900;display:grid;box-shadow:0 8px 20px #117a782e}.profile-identity h3{margin:0;font-size:17px}.profile-identity p{color:var(--muted);margin:4px 0 7px;font-size:9px}.permission-summary{color:#176e6d;background:#f1faf9;border:1px solid #cfe7e4;border-radius:11px;gap:10px;margin:18px 0 15px;padding:12px 14px;display:flex}.permission-summary>span{font-size:21px}.permission-summary p{margin:0;display:grid}.permission-summary b{font-size:10px}.permission-summary small{color:#65807f;margin-top:3px;font-size:8px}.profile-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-form label{color:#536770;gap:5px;font-size:9px;font-weight:800;display:grid}.profile-form label:first-child{grid-column:1/-1}.profile-form input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:40px;padding:0 10px;font-size:10px}.profile-form input[readonly]{color:#65777e;background:#f1f5f5}.profile-form label>small{color:#829198;font-size:7px;font-weight:400}.profile-form-footer{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.profile-users{border:1px solid var(--line);border-radius:12px;margin:17px 24px 24px;overflow:hidden}.profile-users-heading,.profile-user-row{grid-template-columns:1.2fr 1.2fr 125px;align-items:center;gap:12px;display:grid}.profile-users-heading{color:#819097;text-transform:uppercase;letter-spacing:.06em;background:#f3f7f7;padding:9px 13px;font-size:8px;font-weight:800}.profile-user-row{border-top:1px solid var(--line);padding:11px 13px}.profile-user-row>div{align-items:center;gap:9px;display:flex}.profile-user-row p{min-width:0;margin:0;display:grid}.profile-user-row b{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.profile-user-row small{color:var(--muted);margin-top:3px;font-size:8px}.add-user-form>div{grid-template-columns:1fr 1.2fr 1fr 1fr auto}.profile-signout{background:#fff8f7;border:1px solid #efd4d1;border-radius:10px;align-items:center;gap:14px;margin:14px 24px 0;padding:11px 13px;display:flex}.profile-signout>div{flex:1;gap:3px;min-width:0;display:grid}.profile-signout b{color:#734b48;font-size:9px}.profile-signout small{color:#90706d;font-size:8px;line-height:1.4}.profile-signout>button{color:#9b4d48;background:#fff;border:1px solid #d9a9a5;border-radius:8px;flex:none;padding:9px 12px;font-size:9px;font-weight:800}.profile-signout>button:hover{background:#fff0ee}.profile-signout>button:focus-visible{outline-offset:2px;outline:2px solid #9b4d48}@media (width<=760px){.profile-form{grid-template-columns:1fr}.profile-form label:first-child,.profile-form-footer{grid-column:auto}.profile-users-heading{display:none}.profile-user-row{grid-template-columns:1fr}.profile-modal{max-height:calc(100vh - 20px)}.add-user-form>div{grid-template-columns:1fr}.profile-signout{flex-direction:column;align-items:stretch;margin:12px 13px 0}.profile-signout>button{text-align:center}}.user-delete-button{color:#a84945;background:#fff7f6;border:1px solid #efcecc;border-radius:7px;height:29px;padding:0 9px;font-size:8px;font-weight:800}.user-delete-button:hover{background:#fdeceb}.self-user-label{color:#849399;white-space:nowrap;font-size:7px}.profile-users-heading,.profile-user-row{grid-template-columns:1.15fr 1.2fr 105px 68px}.profile-user-row>.user-delete-button{justify-self:end}.patient-search-modal{width:min(1120px,100vw - 24px)}.patient-search-toolbar{border-bottom:1px solid var(--line);background:#fbfcfc;align-items:center;gap:12px;padding:15px 24px;display:flex}.patient-search-toolbar>label{border:1px solid var(--line);color:#8b9ba2;background:#fff;border-radius:9px;flex:1;align-items:center;gap:8px;height:39px;padding:0 11px;display:flex}.patient-search-toolbar input{border:0;outline:0;width:100%;font-size:10px}.history-filters{background:#e8eeee;border-radius:9px;padding:3px;display:flex}.history-filters button{color:#687c84;background:0 0;border:0;border-radius:7px;height:31px;padding:0 12px;font-size:9px;font-weight:800}.history-filters button.active{color:#147d79;background:#fff;box-shadow:0 1px 4px #12303b1f}.patient-groups{gap:12px;padding:16px 24px 24px;display:grid}.patient-history-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.patient-history-card>header{background:#f7fafa;align-items:center;gap:10px;padding:12px 14px;display:flex}.patient-history-avatar{color:#147a76;background:#dff2f0;border-radius:9px;place-items:center;width:34px;height:34px;font-size:9px;font-weight:900;display:grid}.patient-history-card>header>div:nth-child(2){flex:1}.patient-history-card h3{margin:0;font-size:11px}.patient-history-card header p{color:var(--muted);margin:3px 0 0;font-size:8px}.patient-history-card header>span{color:#63777e;background:#e9f1f1;border-radius:6px;padding:5px 7px;font-size:8px;font-weight:800}.history-heading,.history-row{grid-template-columns:125px 1fr 1fr minmax(250px,1.4fr);align-items:center;gap:12px;display:grid}.history-heading{color:#7c8c92;text-transform:uppercase;letter-spacing:.06em;background:#edf3f3;padding:8px 13px;font-size:7px;font-weight:800}.history-row{border-top:1px solid var(--line);padding:10px 13px}.history-row.deleted{background:#fff9f8}.history-row time,.history-row>p{margin:0;display:grid}.history-row b{font-size:9px}.history-row small{color:var(--muted);margin-top:3px;font-size:7.5px}.history-audit{justify-items:start;display:grid}.history-status{color:#287d61;background:#e5f5ef;border-radius:5px;padding:4px 6px;font-size:7px;font-weight:900}.history-status.deleted{color:#a74743;background:#fde8e6}.removed-audit{background:#fff1f0;border-left:2px solid #d96d68;padding:5px 7px;line-height:1.45;color:#90504d!important;margin-top:5px!important}.patient-search-empty{text-align:center;color:#7b8c92;place-items:center;padding:40px;display:grid}.patient-search-empty>span{font-size:24px}.patient-search-empty b{margin-top:7px;font-size:11px}.patient-search-empty small{margin-top:3px;font-size:8px}@media (width<=850px){.history-heading{display:none}.history-row{grid-template-columns:1fr 1fr}.history-audit{grid-column:1/-1}.patient-search-toolbar{flex-direction:column;align-items:stretch}.profile-users-heading{display:none}.profile-user-row{grid-template-columns:1fr}}@media (width<=520px){.history-row{grid-template-columns:1fr}.history-audit{grid-column:auto}.patient-groups{padding:12px}.patient-history-card>header{align-items:flex-start}.patient-history-card header>span{display:none}}.sidebar{scrollbar-width:thin;width:190px;padding:13px 11px 10px;overflow-y:auto}.main-area{width:calc(100% - 190px);margin-left:190px}.brand{padding:0 4px 9px}.brand-logo{border-radius:7px;width:112px;box-shadow:0 5px 14px #04162329}.sidebar nav{gap:2px}.nav-item{border-radius:7px;gap:7px;min-height:31px;padding:6px 8px;font-size:10px}.nav-item span{width:16px;font-size:13px}.nav-count{min-width:17px;height:17px;font-size:7px}.sidebar-card{border-radius:9px;gap:7px;padding:9px 10px}.pulse-dot{width:7px;height:7px;margin:4px;box-shadow:0 0 0 3px #29c6a31f}.sidebar-card b{font-size:8px}.sidebar-card strong{margin:1px 0;font-size:13px}.sidebar-card small{font-size:7.5px}.user-panel{gap:7px;margin-top:8px;padding-top:8px}.user-panel .avatar{border-radius:8px;width:28px;height:28px;font-size:8px}.user-panel strong{font-size:8.5px}.user-panel small{margin-top:2px;font-size:7px}.user-panel button{font-size:15px}.topbar{height:74px;padding:0 20px}.topbar h1{font-size:20px}.toolbar{min-height:58px;padding:9px 20px}.summary-strip{min-height:48px;margin:0 20px 9px;padding:7px 11px}.calendar-card{margin:0 20px 15px}.calendar-scroll{scrollbar-gutter:stable;height:calc(100vh - 204px);min-height:400px;overflow:auto}.week-calendar .calendar-scroll{height:calc(100vh - 247px)}.calendar-scroll>.header-grid{z-index:12;position:sticky;top:0}.header-grid{box-shadow:0 1px 0 var(--line)}.day-calendar .header-grid,.day-calendar .calendar-body{grid-template-columns:48px repeat(7,minmax(115px,1fr));min-width:920px}.week-calendar .header-grid,.week-calendar .calendar-body{grid-template-columns:58px repeat(5,minmax(160px,1fr));min-width:860px}@media (width<=760px){.sidebar.open{width:220px;padding:13px 11px 10px}.main-area{width:100%;margin-left:0}.brand-logo{width:108px}.topbar{height:70px}.toolbar{padding:8px 14px}.summary-strip{margin:0 14px 8px}.calendar-card{margin:0 14px 12px}.calendar-scroll{height:calc(100vh - 281px)}.week-calendar .calendar-scroll{height:calc(100vh - 324px)}}@media print{.calendar-scroll>.header-grid{position:static}.calendar-scroll{scrollbar-gutter:auto}}.notification-layer{z-index:95}.notifications-modal{width:min(880px,100vw - 24px);max-height:calc(100vh - 24px)}.notification-period-label{color:var(--muted);margin-top:5px;font-size:9px;display:block}.notification-tabs{background:#e9f0f0;border-radius:10px;grid-template-columns:repeat(3,1fr);margin:16px 24px 10px;padding:4px;display:grid}.notification-tabs button{color:#687d85;background:0 0;border:0;border-radius:8px;height:35px;font-size:10px;font-weight:800}.notification-tabs button.active{color:#137d7a;background:#fff;box-shadow:0 2px 7px #12303b1f}.notification-tabs span{background:#dcefed;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:6px;padding:0 5px;font-size:8px;display:inline-grid}.notification-toolbar{align-items:end;gap:10px;margin:0 24px 12px;display:flex}.notification-toolbar>label{color:#60747c;gap:4px;font-size:8px;font-weight:800;display:grid}.notification-toolbar input,.notification-toolbar select{border:1px solid var(--line);color:#2d454e;background:#fff;border-radius:8px;height:36px;padding:0 10px;font-size:9px}.notification-navigator{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;height:36px;display:flex;overflow:hidden}.notification-navigator button{border:0;border-right:1px solid var(--line);color:#28505c;background:#fff;min-width:35px;height:100%;font-size:17px}.notification-navigator button:last-child{border-right:0}.notification-navigator .notification-today{padding:0 12px;font-size:9px;font-weight:800}.notification-summary{grid-template-columns:repeat(3,1fr);gap:9px;margin:0 24px 12px;display:grid}.notification-summary>div{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7fbfb);border-radius:11px;align-content:center;min-height:75px;padding:11px 13px;display:grid}.notification-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:7px;font-weight:900}.notification-summary strong{color:#173f50;margin:4px 0 1px;font-size:16px}.notification-summary small{color:#819097;font-size:7.5px}.notification-list{border:1px solid var(--line);border-radius:12px;max-height:420px;margin:0 24px 22px;overflow:auto}.notification-day>header{z-index:2;border-bottom:1px solid var(--line);background:#edf4f4;justify-content:space-between;align-items:center;padding:9px 12px;display:flex;position:sticky;top:0}.notification-day>header>div{align-items:baseline;gap:7px;display:flex}.notification-day>header b{font-size:9px}.notification-day>header span,.notification-day>header small{color:#6c8087;font-size:7.5px}.notification-task{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:60px 1fr auto;align-items:center;gap:11px;min-height:64px;padding:9px 12px;display:grid}.notification-day:last-child .notification-task:last-child{border-bottom:0}.notification-task time{border-right:1px solid var(--line);display:grid}.notification-task time b{color:#194b57;font-size:14px}.notification-task time small{color:var(--muted);margin-top:3px;font-size:7px}.notification-task-main{min-width:0;display:grid}.notification-task-main strong{font-size:10px}.notification-task-main p{color:#31535d;margin:3px 0 2px;font-size:9px}.notification-task-main p span{font-weight:700}.notification-task-main small{color:var(--muted);font-size:7.5px}.notification-task-tags{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.notification-task-tags span,.notification-task-tags em{color:#5c747b;white-space:nowrap;background:#edf3f3;border-radius:5px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:800}.notification-task-tags span.assigned{color:#167b76;background:#e2f5f2}.notification-task-tags em{color:#387a52;background:#e9f4ec}.notification-empty{text-align:center;color:#72868d;place-items:center;padding:38px 20px;display:grid}.notification-empty>span{color:#247d61;background:#e2f4ef;border-radius:50%;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.notification-empty b{margin-top:9px;font-size:11px}.notification-empty small{max-width:390px;margin-top:4px;font-size:8px;line-height:1.5}@media (width<=760px){.top-actions .icon-button{flex:0 0 35px;width:35px;height:35px;display:block}.notification-toolbar{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.notification-navigator,.notification-toolbar>label:last-child:nth-child(3){grid-column:1/-1}.notification-summary{grid-template-columns:1fr 1fr}.notification-summary>div:last-child{grid-column:1/-1}.notification-task{grid-template-columns:52px 1fr}.notification-task-tags{flex-direction:row;grid-column:1/-1;align-items:center;padding-left:63px}.notification-list{max-height:calc(100vh - 440px)}}@media (width<=480px){.notification-tabs,.notification-toolbar,.notification-summary,.notification-list{margin-left:12px;margin-right:12px}.notification-summary{grid-template-columns:1fr}.notification-summary>div:last-child{grid-column:auto}.notification-task-tags{padding-left:0}.notifications-modal{max-height:calc(100vh - 12px)}}.day-load-summary{align-items:center;gap:9px;margin-left:auto;display:flex}.day-load-summary>span{color:#fff;border-radius:9px;place-items:center;width:42px;height:31px;font-size:9px;font-weight:900;display:grid}.day-load-summary.low>span,.week-load-badge.low{background:#2fa56f}.day-load-summary.medium>span,.week-load-badge.medium{background:#df9137}.day-load-summary.high>span,.week-load-badge.high{background:#cf5350}.week-load-badge{border-radius:8px;justify-self:center;place-items:center;min-width:31px;height:15px;margin-top:3px;padding:0 5px;font-weight:900;color:#fff!important;font-size:6.5px!important;display:inline-grid!important}.week-header-grid{height:76px}.day-calendar .calendar-scroll{height:calc(100vh - 247px)}@media (width<=760px){.day-load-summary{margin-left:0}.day-calendar .calendar-scroll{height:calc(100vh - 324px)}}@media print{.week-load-badge,.day-load-summary>span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.day-calendar .calendar-scroll{height:auto}.week-header-grid{height:64px}}.room-booking-slot,.week-room-booking-slot{z-index:1;color:#0000;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid;position:absolute}.room-booking-slot{border-radius:5px;left:2px;right:2px}.room-booking-slot:hover,.room-booking-slot:focus-visible,.week-room-booking-slot:hover,.week-room-booking-slot:focus-visible{color:#268d88;background:#edf8f7;border-color:#86cbc7;outline:0}.room-booking-slot.fixed-duration{background:#f1f8f88c;border-color:#d7e9e8}.room-booking-slot.fixed-duration:hover{background:#e7f6f4}.room-booking-slot span{font-size:11px;line-height:1}.room-booking-slot small{margin-top:2px;font-size:6.5px;font-weight:900}.week-room-booking-slot{border-radius:3px;left:1px;right:1px}.week-room-booking-slot span{font-size:8px}.room-booking-slot:disabled,.week-room-booking-slot:disabled{cursor:not-allowed;color:#0000;background:#78828714;border-color:#0000}.calendar-unavailable-banner{color:#994b47;background:#fff5f3;border-bottom:1px solid #efcfcc;align-items:center;gap:8px;margin:0;padding:8px 12px;display:flex}.calendar-unavailable-banner>span{background:#f6d9d6;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:900;display:grid}.calendar-unavailable-banner b{font-size:9px}.calendar-unavailable-banner small{color:#a56c68;font-size:8px}.doctor-off-day{background:repeating-linear-gradient(135deg,#a864600d,#a864600d 6px,#ffffff1f 6px 12px)}.booking-unavailable-note{color:#954b47;background:#fff5f3;border:1px solid #efcecb;border-radius:10px;gap:9px;margin:14px 24px 0;padding:10px 12px;display:flex}.booking-unavailable-note>span{background:#f2d7d4;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.booking-unavailable-note p{margin:0;display:grid}.booking-unavailable-note b{font-size:9px}.booking-unavailable-note small{color:#9c6b67;margin-top:2px;font-size:8px}.availability-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.availability-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.availability-heading h3{margin:0;font-size:12px}.availability-heading p{color:var(--muted);margin:4px 0 0;font-size:8px}.availability-heading>span{color:#247a76;background:#e7f3f2;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:900}.availability-form{grid-template-columns:150px 1fr auto;align-items:end;gap:8px;margin-top:12px;display:grid}.availability-form label{color:#536770;gap:4px;font-size:8px;font-weight:800;display:grid}.availability-form input{border:1px solid var(--line);background:#fff;border-radius:8px;height:38px;padding:0 9px;font-size:9px}.availability-list{border:1px solid var(--line);border-radius:10px;margin-top:10px;overflow:hidden}.availability-list>div{border-top:1px solid var(--line);grid-template-columns:92px 1fr auto;align-items:center;gap:10px;min-height:50px;padding:8px 10px;display:grid}.availability-list>div:first-child{border-top:0}.availability-list time{color:#30515c;font-size:9px;font-weight:900}.availability-list p{margin:0;display:grid}.availability-list b{font-size:9px}.availability-list small{color:var(--muted);margin-top:2px;font-size:7.5px}.availability-list button{color:#36716f;background:#f7fbfb;border:1px solid #d6e5e4;border-radius:7px;height:29px;padding:0 9px;font-size:7.5px;font-weight:800}.availability-empty{text-align:center;color:var(--muted);margin:0;padding:18px;font-size:8px}.profile-modal{max-height:calc(100vh - 24px)}@media (width<=760px){.availability-form{grid-template-columns:1fr}.availability-list>div{grid-template-columns:1fr auto}.availability-list time{grid-column:1/-1}.calendar-unavailable-banner{flex-wrap:wrap;align-items:flex-start}.calendar-unavailable-banner small{width:100%;padding-left:28px}}@media print{.room-booking-slot,.week-room-booking-slot{display:none}.calendar-unavailable-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}.day-calendar{--slot:22px}.day-calendar>.week-doctor-tabs{display:none}.day-calendar .appointment{box-shadow:none;border-left-width:2px;border-radius:2px;padding:1px 2px;line-height:1;left:1px;right:1px}.day-calendar .appointment>div{align-items:flex-start;gap:1px;height:6px;min-height:6px}.day-calendar .appointment strong{letter-spacing:-.08px;text-overflow:ellipsis;font-size:5px;line-height:6px}.day-calendar .appointment p{letter-spacing:-.1px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:4.4px;line-height:5px;overflow:hidden}.day-calendar .appointment .doctor-inline{font-size:4.2px;font-weight:700}.day-calendar .appointment .appointment-time,.day-calendar .appointment>small,.day-calendar .appointment .status-mini{display:none}}.planner-legend .requested-off b{color:#a64d47;background:#fbe8e6}.planner-day-cell.requested-off{color:#a34d47;background:#fff1ef}.preference-accounting-note{color:#5d727a;background:#f7fbfb;border:1px solid #dbe8e7;border-radius:9px;margin:0 18px 14px;padding:10px 12px;font-size:7.5px;line-height:1.45}.training-accounting-options{background:#fffbf3;border:1px solid #ead9b8;border-radius:10px;gap:7px;margin:0 18px 14px;padding:10px 12px;display:grid}.training-accounting-options legend{color:#715a2f;padding:0 5px;font-size:8px;font-weight:900}.training-accounting-options label{background:#fff;border:1px solid #eadfc8;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;display:flex}.training-accounting-options input{margin-top:2px}.training-accounting-options span{gap:2px;display:grid}.training-accounting-options b{font-size:8px}.training-accounting-options small{color:#786f5e;font-size:7px}@media print{@page{size:A4 landscape;margin:4mm}html,body,.app-shell,.main-area{width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}.main-area{margin:0!important}.topbar{height:42px!important;padding:0 6px!important}.toolbar{min-height:32px!important;padding:2px 6px!important}.calendar-card,.day-calendar{page-break-inside:avoid!important;break-inside:avoid-page!important;border-radius:0!important;width:100%!important;margin:0!important;overflow:visible!important}.day-calendar .calendar-scroll{scrollbar-gutter:auto!important;scrollbar-width:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.day-calendar .calendar-scroll::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.day-calendar .header-grid,.day-calendar .calendar-body{grid-template-columns:32px repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;display:grid!important}.day-calendar .header-grid{height:44px!important}.day-calendar .doctor-column{min-width:0!important;min-height:calc(var(--slot) * 20)!important;overflow:visible!important}.day-calendar .time-column{min-width:0!important}.day-calendar .time-column>div{height:var(--slot)!important;padding-top:3px!important;font-size:6px!important}.day-calendar .room-heading{gap:2px!important;min-width:0!important;padding:0 2px!important;overflow:hidden!important}.day-calendar .room-heading>span{flex:0 0 17px!important;width:17px!important;height:17px!important;font-size:5.5px!important}.day-calendar .room-heading strong{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:6.3px!important;overflow:hidden!important}.day-calendar .room-heading small{white-space:nowrap!important;font-size:4.8px!important}.day-calendar .status-light{display:none!important}}.capacity-dot{background:#2fa56f;border-radius:50%;width:8px;height:8px;margin-left:auto}.capacity-dot.full{background:#cf5350}.booking-capacity-note{color:#276d69;background:#f1faf8;border:1px solid #cfe5e2;border-radius:10px;align-items:center;gap:10px;margin:14px 24px 0;padding:10px 12px;display:flex}.booking-capacity-note>span{background:#d9f0ed;border-radius:7px;place-items:center;min-width:42px;height:28px;padding:0 7px;font-size:9px;font-weight:900;display:grid}.booking-capacity-note p{margin:0;display:grid}.booking-capacity-note b{font-size:9px}.booking-capacity-note small{color:#66817f;margin-top:2px;font-size:8px}.booking-capacity-note.blocked{color:#954b47;background:#fff5f3;border-color:#efcecb}.booking-capacity-note.blocked>span{background:#f2d7d4}.booking-capacity-note.blocked small{color:#9c6b67}@media print{.capacity-dot{display:none!important}}.auth-page{background:radial-gradient(circle at 20% 15%,#23b1ab29,#0000 34%),linear-gradient(145deg,#0d2d40,#154b5b);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{text-align:center;background:#fffffff7;border:1px solid #ffffff80;border-radius:24px;width:min(470px,100%);padding:34px 36px 24px;box-shadow:0 28px 80px #01141f59}.auth-card>img{width:184px;height:auto;margin-bottom:20px}.auth-state{justify-items:center;display:grid}.auth-state h1{letter-spacing:-.025em;margin:4px 0 9px;font-size:25px}.auth-state>p:not(.eyebrow){color:#677b83;max-width:380px;margin:0;font-size:11px;line-height:1.65}.google-login-button{color:#243e48;background:#fff;border:1px solid #cfdadb;border-radius:11px;width:100%;min-height:48px;margin-top:22px;font-size:11px;font-weight:800;box-shadow:0 3px 10px #14323c14}.google-login-button:hover{background:#f6fbfb;border-color:#87c8c5}.google-login-button span{color:#fff;background:#4285f4;border-radius:50%;place-items:center;width:23px;height:23px;margin-right:8px;font-size:12px;display:inline-grid}.auth-error{color:#ad4b47;margin-top:10px;font-size:9px}.auth-spinner{border:3px solid #d8e8e7;border-top-color:#149794;border-radius:50%;width:34px;height:34px;margin:14px;animation:.8s linear infinite auth-spin}.auth-status-icon{color:#257c63;background:#e3f4ef;border-radius:50%;place-items:center;width:44px;height:44px;margin:8px 0 11px;font-size:18px;font-weight:900;display:grid}.auth-status-icon.denied{color:#a84b46;background:#fde9e7}.auth-email{color:#37555f;background:#eff4f4;border-radius:8px;margin-top:13px;padding:7px 10px;font-size:9px}.auth-actions{gap:8px;width:100%;margin-top:18px;display:flex}.auth-actions button{color:#48616a;background:#fff;border:1px solid #d6e1e2;border-radius:9px;flex:1;height:39px;font-size:9px;font-weight:800}.auth-actions button:first-child{color:#147b77;background:#edf9f8;border-color:#6dc2bd}.auth-card footer{color:#8a999f;border-top:1px solid #e3ebec;margin-top:24px;padding-top:17px;font-size:7.5px}.access-request-section{background:#f8fcfb;border:1px solid #d5e7e5;border-radius:12px;margin:0 24px 14px;overflow:hidden}.access-request-section>header{border-bottom:1px solid #dce9e8;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.access-request-section h3{margin:0;font-size:11px}.access-request-section header p{color:var(--muted);margin:3px 0 0;font-size:7.5px}.access-request-section header>span{color:#167a76;background:#dcefed;border-radius:12px;place-items:center;min-width:23px;height:23px;padding:0 6px;font-size:8px;font-weight:900;display:grid}.access-request-list form{background:#fff;border-top:1px solid #e1eceb;grid-template-columns:34px minmax(150px,1fr) 105px 92px auto;align-items:end;gap:9px;padding:10px 12px;display:grid}.access-request-list form:first-child{border-top:0}.access-request-list p{align-self:center;margin:0;display:grid}.access-request-list b{font-size:9px}.access-request-list small,.access-request-list time{color:var(--muted);margin-top:2px;font-size:7px}.access-request-list label{color:#60747c;gap:4px;font-size:7px;font-weight:800;display:grid}.access-request-list select{border:1px solid var(--line);background:#fff;border-radius:7px;height:32px;padding:0 7px;font-size:8px}.request-doctor-toggle{align-items:center;height:32px;gap:5px!important;display:flex!important}.request-doctor-toggle input{margin:0}.access-request-list form>div:last-child{gap:5px;display:flex}.request-reject,.request-approve{border-radius:7px;height:32px;padding:0 9px;font-size:7.5px;font-weight:900}.request-reject{color:#a34a46;background:#fff7f6;border:1px solid #eccbc8}.request-approve{color:#fff;background:#159b96;border:0}.access-request-empty{text-align:center;color:#788a91;margin:0;padding:15px;font-size:8px}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (width<=760px){.auth-page{padding:12px}.auth-card{border-radius:18px;padding:26px 18px 20px}.auth-state h1{font-size:21px}.auth-actions{flex-direction:column}.access-request-section{margin:0 13px 12px}.access-request-list form{grid-template-columns:34px 1fr}.access-request-list form>label,.access-request-list form>div:last-child{grid-column:1/-1}.access-request-list form>div:last-child button{flex:1}}.planner-layer{z-index:110;padding:10px}.schedule-planner{background:#f5f8f8;border-radius:17px;flex-direction:column;width:min(1540px,100vw - 20px);height:calc(100vh - 20px);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 90px #051e2a59}.planner-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:15px 20px;display:flex}.planner-header h2{margin:0;font-size:20px}.planner-header small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.planner-header-actions{align-items:center;gap:8px;display:flex}.planner-close,.planner-print{border:1px solid var(--line);color:#526972;background:#fff;border-radius:9px;height:35px;font-size:9px;font-weight:800}.planner-close{width:35px;font-size:19px}.planner-print{padding:0 12px}.planner-toolbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:14px;min-height:62px;padding:9px 16px;display:flex}.planner-month-nav{align-items:center;gap:9px;min-width:230px;display:flex}.planner-month-nav>button{border:1px solid var(--line);color:#47616b;background:#fff;border-radius:8px;width:32px;height:32px;font-size:18px}.planner-month-nav>div{text-align:center;min-width:125px;display:grid}.planner-month-nav strong{font-size:12px}.planner-month-nav small{color:var(--muted);margin-top:2px;font-size:7px}.planner-view-tabs{background:#e9efef;border-radius:9px;padding:3px;display:flex}.planner-view-tabs button{color:#687b82;background:0 0;border:0;border-radius:7px;height:31px;padding:0 12px;font-size:8.5px;font-weight:800}.planner-view-tabs button.active{color:#177f7b;background:#fff;box-shadow:0 2px 6px #12303b1a}.planner-view-tabs span{background:#dfedeb;border-radius:9px;place-items:center;min-width:18px;height:17px;margin-left:5px;padding:0 4px;font-size:6.5px;display:inline-grid}.planner-generate{color:#fff;background:linear-gradient(135deg,#108c88,#18aaa4);border:0;border-radius:9px;height:37px;margin-left:auto;padding:0 15px;font-size:9px;font-weight:900;box-shadow:0 5px 13px #129b9a33}.planner-generate:disabled{opacity:.5}.planner-loading{color:var(--muted);flex:1;place-items:center;font-size:10px;display:grid}.planner-legend{border-bottom:1px solid var(--line);background:#f8fbfb;align-items:center;gap:7px;min-height:45px;padding:8px 16px;display:flex;overflow-x:auto}.planner-legend>span{border:1px solid var(--line);white-space:nowrap;color:#5e737b;background:#fff;border-radius:7px;align-items:center;gap:5px;height:27px;padding:0 8px;font-size:7px;display:flex}.planner-legend b{border-radius:5px;place-items:center;min-width:18px;height:18px;padding:0 3px;font-size:6.5px;display:grid}.planner-legend .available b{color:#187153;background:#d9f1e7}.planner-legend .away b{color:#60757d;background:#e8edef}.planner-legend .leave b{color:#466da4;background:#e8eefb}.planner-legend .training b{color:#996413;background:#fff0d9}.planner-legend .external b{color:#6d50a4;background:#eee9fa}.planner-legend .legend-shift b{color:#147976;background:#e1f2f1}.planner-legend>small{color:#75878e;white-space:nowrap;margin-left:auto;font-size:7px}.planner-table-scroll{scrollbar-gutter:stable;background:#fff;flex:1;min-height:0;overflow:auto}.planner-grid{width:max-content;min-width:100%;display:grid}.planner-grid>*{border-right:1px solid #e2e9ea;min-width:0}.planner-grid-header{z-index:20;background:#f8fafb;border-bottom:1px solid #dce5e6;min-height:52px;position:sticky;top:0}.planner-grid-header>div{color:#6f8289;text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:0 10px;font-size:7px;font-weight:900;display:flex}.planner-grid-header>button{color:#46616a;background:#f8fafb;border:0;border-right:1px solid #dce5e6;align-content:center;place-items:center;display:grid;position:relative}.planner-grid-header>button b{font-size:9px}.planner-grid-header>button small{color:#809097;margin-top:2px;font-size:6px}.planner-grid-header>button i{color:#22745b;background:#dff1ec;border-radius:4px;place-items:center;width:11px;height:11px;font-size:5.5px;font-style:normal;display:grid;position:absolute;top:2px;right:2px}.planner-grid-header>button.restday i{color:#a04c48;background:#f4e0df}.planner-grid-header>button.weekend{background:#eef3f5}.planner-grid-header>button:disabled{cursor:default}.planner-sticky-name{z-index:8;background:inherit;position:sticky;left:0}.planner-sticky-hours{z-index:8;background:inherit;position:sticky;left:230px;box-shadow:3px 0 6px #15333f0d}.planner-group>header{z-index:9;color:#fff;background:#153c50;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 12px;display:flex;position:sticky;left:0}.planner-group>header b{font-size:9px}.planner-group>header span{color:#a8c0ca;font-size:7px}.planner-group>header em{color:#d5e5ea;background:#28566c;border-radius:8px;margin-left:auto;padding:3px 6px;font-size:6.5px;font-style:normal;font-weight:800}.planner-staff-row{background:#fff;border-bottom:1px solid #e5ebec;min-height:48px}.planner-staff-row:hover{background:#fbfdfd}.planner-staff-row>.planner-sticky-name{background:#fff;align-items:center;gap:8px;padding:5px 9px;display:flex}.staff-avatar{color:#157c77;background:#e2f3f1;border-radius:7px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:7px;font-weight:900;display:grid}.staff-avatar.nurses{color:#4d70a2;background:#eaf0fb}.staff-avatar.support{color:#966924;background:#f4ebdc}.planner-sticky-name p{min-width:0;margin:0;display:grid}.planner-sticky-name p b{white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.planner-sticky-name p small{color:#71848b;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:6.3px;overflow:hidden}.planner-staff-row>.planner-sticky-hours{background:#fbfcfc;align-content:center;padding:6px 7px;display:grid}.planner-sticky-hours b{font-size:8px}.planner-sticky-hours small{color:#7b8d93;margin-top:2px;font-size:6px}.planner-day-cell{color:#829197;background:#fff;border:0;border-right:1px solid #e8edef;align-content:center;place-items:center;min-height:48px;padding:3px 1px;display:grid;position:relative}.planner-day-cell.weekend{background:#f4f7f8}.planner-day-cell:disabled{cursor:default}.planner-day-cell:not(:disabled):hover{z-index:2;box-shadow:inset 0 0 0 2px #65bfba}.planner-day-cell>b{font-size:7px}.planner-day-cell>small{margin-top:2px;font-size:5.8px}.planner-day-cell.available{color:#247558;background:#edf8f4}.planner-day-cell.away{color:#667a82;background:#f0f3f4}.planner-day-cell.leave{color:#526f9a;background:#eef3fb}.planner-day-cell.training{color:#946b27;background:#fff7e9}.planner-day-cell.external{color:#725b9b;background:#f5f1fb}.planner-day-cell>i{color:#fff;background:#168f8a;border-radius:3px;place-items:center;height:12px;font-size:5.5px;font-style:normal;font-weight:900;display:grid;position:absolute;bottom:2px;left:2px;right:2px}.planner-day-cell>i.night{background:#244e73}.planner-day-cell>i.on_call{background:#b36e2f}.planner-empty-group{color:#809097;margin:0;padding:14px;font-size:8px}.planner-footer{border-top:1px solid var(--line);color:#6e8188;background:#fff;gap:22px;min-height:34px;padding:7px 16px;font-size:7px;display:flex}.planner-footer b{color:#35545e}.preference-editor-layer{z-index:130;place-items:center;display:grid;position:fixed;inset:0}.preference-backdrop{background:#071c278a;border:0;position:absolute;inset:0}.preference-editor{background:#fff;border-radius:15px;width:min(430px,100vw - 24px);position:relative;overflow:hidden;box-shadow:0 24px 70px #051c274d}.preference-editor>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 18px;display:flex}.preference-editor h3{margin:3px 0 2px;font-size:16px}.preference-editor header p,.preference-editor header small{color:var(--muted);margin:0;font-size:8px}.preference-editor header>button{color:#647880;background:#edf2f3;border:0;border-radius:8px;width:30px;height:30px;font-size:18px}.preference-status-list{gap:6px;padding:12px 18px;display:grid}.preference-status-list button{border:1px solid var(--line);text-align:left;color:#435e68;background:#fff;border-radius:8px;grid-template-columns:27px 1fr 20px;align-items:center;min-height:38px;padding:0 9px;display:grid}.preference-status-list button>b{background:#edf2f3;border-radius:6px;place-items:center;width:24px;height:24px;font-size:7px;display:grid}.preference-status-list button span{font-size:9px;font-weight:800}.preference-status-list button i{text-align:center;font-size:10px;font-style:normal}.preference-status-list button.active{background:#f3fbfa;border-color:#65bbb6;box-shadow:inset 3px 0 #159691}.preference-shift-options{background:#f7fbfb;border:1px solid #dbe8e7;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin:0 18px 14px;padding:12px;display:grid}.preference-shift-options label{color:#5d727a;gap:4px;font-size:7px;font-weight:900;display:grid}.preference-shift-options select{border:1px solid var(--line);background:#fff;border-radius:7px;height:35px;padding:0 8px;font-size:9px}.preference-shift-options p{color:#698087;grid-column:1/-1;margin:2px 0 0;font-size:7px}.preference-editor>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.final-roster{flex:1;min-height:0;padding:12px 16px 16px;overflow:auto}.final-summary{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;display:grid}.final-summary>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-content:center;min-height:60px;padding:10px 12px;display:grid}.final-summary span{color:#75868d;font-size:7px;font-weight:800}.final-summary b{margin-top:3px;font-size:17px}.final-summary .warning{color:#9d671d;background:#fff9ef;border-color:#efcfaa}.final-summary .ok{color:#28775a;background:#f1faf6;border-color:#cde6dc}.roster-warnings{color:#896328;background:#fffaf2;border:1px solid #efd6b5;border-radius:9px;margin-top:9px;padding:10px 12px;font-size:8px}.roster-warnings summary{cursor:pointer;font-weight:900}.roster-warnings p{margin:7px 0 0}.final-roster-scroll>section{border:1px solid var(--line);background:#fff;border-radius:11px;margin-top:12px;overflow:hidden}.final-roster-scroll>section>header{border-bottom:1px solid var(--line);background:#f8fbfb;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.final-roster-scroll>section>header b{font-size:10px}.final-roster-scroll>section>header span{color:var(--muted);font-size:7px}.final-roster-scroll>.bleeding-call>header{color:#9a5147;background:#fff7f4}.roster-print-page{display:none}.roster-day-grid{grid-template-columns:repeat(31,minmax(125px,1fr));display:grid;overflow-x:auto}.roster-day-grid>article{border-right:1px solid var(--line);min-height:116px}.roster-day-grid>article.weekend{background:#f4f7f8}.roster-day-grid article>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:29px;padding:0 7px;display:flex}.roster-day-grid article>header b{font-size:9px}.roster-day-grid article>header span{color:#75878e;font-size:6px}.roster-day-grid article>div{border-bottom:1px solid #edf1f2;padding:6px 7px}.roster-day-grid article>div:last-child{border-bottom:0}.roster-day-grid article>div>small{color:#72858c;text-transform:uppercase;margin-bottom:4px;font-size:5.8px;font-weight:900;display:block}.roster-day-grid p{background:#edf7f6;border-radius:4px;margin:3px 0 0;padding:3px 4px;display:grid}.roster-day-grid p b{font-size:6.5px;line-height:1.25}.roster-day-grid p span{color:#71848a;margin-top:1px;font-size:5.5px}.roster-day-grid p.missing{color:#a14d48;background:#fff0ee}.final-roster-empty{text-align:center;color:#71858c;flex:1;place-content:center;justify-items:center;display:grid}.final-roster-empty>span{color:#21817c;background:#e4f3f1;border-radius:12px;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.final-roster-empty h3{margin:10px 0 4px;font-size:13px}.final-roster-empty p{max-width:420px;margin:0;font-size:8px;line-height:1.5}.user-modal{width:min(1100px,100vw - 24px)}.professional-tag{color:#4e6f79;margin-top:4px;font-size:7px;font-style:normal;font-weight:800}.duty-exempt-tag{color:#925b16;background:#fff0df;border-radius:5px;width:max-content;margin-top:4px;padding:3px 5px;font-size:7px;font-style:normal;font-weight:900}.extended-request{grid-template-columns:34px minmax(115px,1fr) 95px 115px 54px 77px 95px auto!important}.request-duty-toggle{align-items:center;height:32px;gap:5px!important;display:flex!important}.request-duty-toggle input{margin:0}.extended-user-list .user-row{grid-template-columns:35px 1fr 235px}.user-row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.user-edit-button{color:#287670;background:#f3faf9;border:1px solid #cde2e0;border-radius:7px;height:27px;padding:0 8px;font-size:7px;font-weight:900}.user-permission-editor{background:#f6fbfa;border:1px solid #bedfdb;border-radius:12px;margin:12px 24px;padding:13px}.user-permission-editor>header{justify-content:space-between;align-items:flex-start;display:flex}.user-permission-editor h3{margin:0;font-size:11px}.user-permission-editor header p{color:var(--muted);margin:3px 0 0;font-size:7px}.user-permission-editor header>button{color:#60757d;background:#e5efef;border:0;border-radius:7px;width:25px;height:25px}.user-permission-editor>div{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px;display:grid}.user-permission-editor label,.extended-add-user label{color:#586d75;gap:4px;font-size:7px;font-weight:900;display:grid}.user-permission-editor input,.user-permission-editor select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;height:35px;padding:0 8px;font-size:8px}.user-permission-editor>.doctor-toggle{margin-top:9px;display:flex}.duty-exempt-toggle{background:#fff9f0;border-color:#ead4b8}.duty-exempt-toggle b{color:#7d541f}.user-permission-editor>footer{justify-content:flex-end;gap:7px;margin-top:10px;display:flex}.extended-add-user>div{grid-template-columns:1fr 1.2fr 1fr 1fr 1.2fr .7fr .8fr auto}.profile-professional-role{color:#52707a;margin-top:5px;font-size:7px;font-weight:800;display:block}@media (width<=900px){.planner-toolbar{flex-wrap:wrap;align-items:stretch}.planner-month-nav{min-width:200px}.planner-generate{margin-left:0}.planner-legend>small{display:none}.extended-request{grid-template-columns:34px 1fr 1fr!important}.extended-request>p,.extended-request>div:last-child{grid-column:2/-1}.extended-add-user>div,.user-permission-editor>div{grid-template-columns:1fr 1fr}.extended-user-list .user-row{grid-template-columns:35px 1fr}.extended-user-list .user-row-actions{grid-column:2/-1;justify-content:flex-start}}@media (width<=600px){.planner-layer{padding:0}.schedule-planner{border-radius:0;width:100vw;height:100vh}.planner-header{padding:12px}.planner-header small,.planner-print{display:none}.planner-toolbar{padding:8px}.planner-month-nav{justify-content:center;width:100%}.planner-view-tabs{width:100%}.planner-view-tabs button{flex:1;padding:0 6px}.planner-generate{width:100%}.planner-footer{display:none}.planner-sticky-name{width:180px}.planner-sticky-hours{left:180px}.planner-grid-header,.planner-staff-row{grid-template-columns:180px 76px repeat(31,42px)!important}.final-summary{grid-template-columns:1fr 1fr}.preference-shift-options,.extended-add-user>div,.user-permission-editor>div{grid-template-columns:1fr}}@media print{:is(body:has(.planner-layer) .app-shell>.sidebar,body:has(.planner-layer) .app-shell>.main-area){display:none!important}.planner-layer{padding:0!important;display:block!important;position:static!important}.planner-layer>.modal-backdrop,.planner-header-actions,.planner-toolbar,.planner-legend,.planner-footer,.preference-editor-layer{display:none!important}.schedule-planner{width:100%!important;height:auto!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.planner-header{min-height:44px!important;padding:5px 8px!important}.planner-table-scroll,.final-roster{overflow:visible!important}.planner-grid-header,.planner-staff-row{grid-template-columns:145px 55px repeat(31,minmax(17px,1fr))!important;width:100%!important}.planner-sticky-name,.planner-sticky-hours{box-shadow:none!important;position:static!important}.planner-group>header{position:static!important}.planner-staff-row,.planner-day-cell{min-height:34px!important}.planner-sticky-name p small,.planner-day-cell>small{display:none!important}.staff-avatar{flex-basis:20px!important;width:20px!important;height:20px!important}.roster-day-grid{grid-template-columns:repeat(31,1fr)!important;overflow:visible!important}.roster-day-grid>article{min-height:72px!important}@page{size:A3 landscape;margin:5mm}}.planner-day-cell>i.bleeding_call{background:#a54842}.planner-day-cell>em{color:#a4473f;background:#ffe5df;border-radius:3px;padding:1px 2px;font-size:5px;font-style:normal;font-weight:900;position:absolute;top:2px;right:2px}.predictive-row{background:#f7fbfb;border-bottom:1px solid #dbe7e8;min-height:32px}.predictive-row>.planner-sticky-name{color:#276861;background:#eef7f6;align-content:center;padding:4px 9px;display:grid}.predictive-row>.planner-sticky-name b{font-size:7px}.predictive-row>.planner-sticky-name small{color:#6e8986;font-size:5.8px}.predictive-row>.planner-sticky-hours{background:#f4f9f8;align-content:center;padding:4px 7px;display:grid}.predictive-row>.planner-sticky-hours b{font-size:8px}.predictive-row>.planner-sticky-hours small{color:#718681;font-size:5.5px}.predictive-row>div:not(.planner-sticky-name):not(.planner-sticky-hours){place-items:center;font-size:6.5px;font-weight:900;display:grid}.predictive-ok{color:#27775a;background:#e8f6ef}.predictive-missing{color:#ad4e47;background:#fff0ed}.bleeding-duty-toggle{background:#fff7f5;border:1px solid #eccbc5;border-radius:8px;align-items:center;padding:8px;grid-column:1/-1!important;gap:8px!important;display:flex!important}.bleeding-duty-toggle input{width:16px;height:16px}.bleeding-duty-toggle span{display:grid}.bleeding-duty-toggle small{color:#8b6b66;margin-top:2px;font-size:6.5px}.access-request-list input{border:1px solid var(--line);background:#fff;border-radius:7px;height:32px;padding:0 7px;font-size:8px}@media (width<=600px){.predictive-row{grid-template-columns:180px 76px repeat(31,42px)!important}}@media print{.predictive-row{grid-template-columns:145px 55px repeat(31,minmax(17px,1fr))!important;width:100%!important}.final-summary,.roster-warnings{display:none!important}.final-roster-scroll>.roster-category{break-after:page;page-break-after:always;border:0!important;margin-top:0!important}.final-roster-scroll>.roster-category:last-child{break-after:auto;page-break-after:auto}.final-roster-scroll>.roster-category>header{padding:4px 6px!important}.roster-day-grid article>div{padding:3px!important}.roster-day-grid p{padding:2px!important}.roster-day-grid p b{font-size:5.5px!important}}.staff-presence-panel{border:1px solid var(--line);background:#fff;border-radius:11px;margin:0 20px 9px;overflow:hidden}.staff-presence-panel>header{border-bottom:1px solid var(--line);background:#f7faf9;justify-content:space-between;align-items:center;min-height:30px;padding:5px 10px;display:flex}.staff-presence-panel>header>div{display:grid}.staff-presence-panel>header b{font-size:8px}.staff-presence-panel>header small{color:var(--muted);margin-top:1px;font-size:6px}.staff-presence-panel>header>span{color:#71838a;align-items:center;gap:5px;font-size:6px;display:flex}.staff-presence-panel>header i{background:#278064;border-radius:50%;width:7px;height:7px}.staff-presence-panel>header i:last-of-type{background:#b6504a;margin-left:5px}.staff-presence-panel>div{grid-template-columns:repeat(3,1fr);display:grid}.staff-presence-panel article{border-right:1px solid var(--line);min-height:51px;padding:6px 10px}.staff-presence-panel article:last-child{border-right:0}.staff-presence-panel h3{color:#294d59;margin:0 0 4px;font-size:7px}.staff-presence-panel p{grid-template-columns:31px 1fr;gap:4px;margin:2px 0;font-size:6.5px;line-height:1.35;display:grid}.staff-presence-panel p b{text-transform:uppercase;font-size:5.5px}.presence-present b{color:#277b60}.presence-away b{color:#ac4d48}.presence-present span{color:#315d50}.presence-away span{color:#86605e}.staff-presence-panel+.calendar-card .calendar-scroll{height:calc(100vh - 294px);min-height:340px}.expanded-load-list{overflow-x:auto}.expanded-load-list .doctor-load-heading,.expanded-load-list .doctor-load-row{grid-template-columns:minmax(210px,1.45fr) .65fr .85fr .8fr .8fr 1fr .75fr;min-width:920px}.expanded-load-list .doctor-load-row>strong{white-space:nowrap}.workload-modal{width:min(1080px,100vw - 24px)}.roster-person.present{color:#195e47;background:#dcefe7}.roster-person.absent{color:#953f3b;background:#f7dddd}.roster-person.present b,.roster-person.absent b{font-weight:900}@media (width<=760px){.staff-presence-panel{margin:0 14px 8px}.staff-presence-panel>div{grid-template-columns:1fr}.staff-presence-panel article{border-right:0;border-bottom:1px solid var(--line)}.staff-presence-panel article:last-child{border-bottom:0}.staff-presence-panel+.calendar-card .calendar-scroll{height:calc(100vh - 410px);min-height:280px}.expanded-load-list .doctor-load-row{grid-template-columns:1fr 1fr}.expanded-load-list .doctor-load-row,.expanded-load-list .doctor-load-heading{min-width:0}.expanded-load-list .doctor-load-heading{display:none}}@media print{.staff-presence-panel,.final-roster-scroll>.roster-category{display:none!important}.final-roster-scroll>.roster-print-page{break-after:page;page-break-after:always;border:0!important;margin-top:0!important;display:block!important}.final-roster-scroll>.roster-print-page:last-of-type{break-after:auto;page-break-after:auto}.roster-person.present{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#2f745e!important}.roster-person.absent{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#a94440!important}.planner-day-cell.has-shift{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#2f745e!important}}.planner-force-generate,.planner-delete-schedule{white-space:nowrap;border-radius:8px;height:34px;padding:0 10px;font-size:7px;font-weight:900}.planner-force-generate{color:#8b5817;background:#fff7e9;border:1px solid #e0ba87}.planner-delete-schedule{color:#9d433d;background:#fff2f0;border:1px solid #e2b9b5}.planner-force-generate:disabled,.planner-delete-schedule:disabled{opacity:.5}.planner-day-cell.request-conflict,.roster-matrix-cell.request-conflict{outline-offset:-2px;outline:2px solid #d3493f;color:#9e3f38!important;background:#fff0ed!important}.planner-day-cell.request-conflict>em{color:#fff;background:#c63d35}.roster-matrix-cell.request-conflict b{font-weight:1000}.planner-lock{color:#236f66;white-space:nowrap;background:#f2faf8;border:1px solid #b9d8d4;border-radius:8px;height:34px;padding:0 11px;font-size:7px;font-weight:900}.planner-lock.locked{color:#a24740;background:#fff2f0;border-color:#dfbeb9}.planner-lock-banner{color:#8e4a44;background:#fff5f3;border:1px solid #e2c3bd;border-radius:8px;margin:0 16px 8px;padding:7px 10px;font-size:7px}.planner-lock-banner span{color:#856e69}.bleeding-predictive-row{background:#fff8f6;border-top:3px solid #f0d0ca}.bleeding-predictive-row>.planner-sticky-name{color:#963f38;background:#fff0ec}.predictive-bleeding{color:#9b493f;background:#fbe6e1}.planner-staff-row.role-resident .planner-sticky-name{border-top:1px solid #b9d6d3}.assistant-call-predictive-row{background:#f4f8fc}.assistant-call-predictive-row>.planner-sticky-name{color:#315f78;background:#eaf2f8}.predictive-assistant{color:#315f78;background:#e3f0f7}.extra-hours{color:#9a5147;white-space:nowrap;margin-top:2px;font-size:5.5px;font-style:normal;font-weight:900}.roster-matrix,.roster-duty-summary{border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:1120px;display:grid}.roster-matrix>div,.roster-duty-summary>div:not(.roster-duty-row),.roster-duty-row>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.roster-matrix-corner,.roster-matrix-name,.roster-duty-title,.roster-duty-label{z-index:2;background:#f7faf9;position:sticky;left:0}.roster-matrix-corner{color:#546b73;height:31px;padding:8px 9px;font-size:7px;font-weight:900}.roster-matrix-date{text-align:center;background:#f7faf9;place-content:center;height:31px;display:grid}.roster-matrix-date.restday{background:#edf0f2}.roster-matrix-date b{font-size:7px}.roster-matrix-date span{color:#75868d;font-size:5px}.roster-matrix-name{align-content:center;min-height:36px;padding:5px 8px;display:grid}.roster-matrix-name b{white-space:nowrap;text-overflow:ellipsis;font-size:7px;overflow:hidden}.roster-matrix-name span{color:#71848b;margin-top:2px;font-size:5.5px}.roster-matrix-cell{text-align:center;place-items:center;min-height:36px;padding:2px;display:grid}.roster-matrix-cell b{overflow-wrap:anywhere;font-size:5.5px;line-height:1.15}.roster-matrix-cell.present{color:#175c45;background:#d7eee4}.roster-matrix-cell.absent{color:#953f3b;background:#f5d9d7}.roster-matrix-cell.has-bleeding{box-shadow:inset 0 -4px #a64c43}.roster-matrix-empty{color:#71858c;grid-column:1/-1;padding:15px;font-size:8px}.roster-duty-summary{border-top:3px solid #294f5c;margin-top:14px}.roster-duty-title{color:#294f5c;min-height:28px;padding:7px 8px;font-size:7px;font-weight:900}.roster-duty-date{color:#587078;background:#eef4f4;place-items:center;min-height:28px;font-size:6px;font-weight:900;display:grid}.roster-duty-row{display:contents}.roster-duty-label{color:#435e68;align-content:center;min-height:38px;padding:7px 8px;font-size:6.5px;font-weight:900;display:grid}.roster-duty-cell{text-align:center;background:#fff;align-content:center;gap:2px;min-height:38px;padding:3px;display:grid}.roster-duty-cell.filled{color:#1d664f;background:#dceee8}.roster-duty-cell .roster-name-chip{color:#174f40;text-overflow:ellipsis;overflow-wrap:anywhere;background:#fff;border:1px solid #9bc8b8;border-radius:4px;min-width:0;padding:3px 2px;font-size:5px;font-weight:900;line-height:1.15;display:block;overflow:hidden;box-shadow:0 1px 1px #174f4014}@media (width<=900px){.planner-lock{flex:1}.roster-matrix,.roster-duty-summary{min-width:1080px}}@media print{@page{size:A4 landscape;margin:5mm}.planner-lock-banner{display:none!important}.view-requests .planner-header{min-height:13mm!important;padding:2mm 3mm!important}.view-requests .planner-header h2{font-size:14pt!important}.view-requests .planner-header small{font-size:7pt!important}.view-requests .planner-table-scroll{width:100%!important}.view-requests .planner-grid-header,.view-requests .planner-staff-row,.view-requests .predictive-row{grid-template-columns:38mm 20mm repeat(31,minmax(0,1fr))!important;width:100%!important}.view-requests .planner-grid-header{min-height:10mm!important}.view-requests .planner-grid-header>div,.view-requests .planner-grid-header>button{font-size:6.5pt!important}.view-requests .planner-grid-header>button b{font-size:7pt!important}.view-requests .planner-group>header{min-height:8mm!important;padding:1.5mm 2mm!important}.view-requests .planner-group>header b{font-size:8pt!important}.view-requests .planner-group>header span,.view-requests .planner-group>header em{font-size:6pt!important}.view-requests .planner-staff-row,.view-requests .planner-day-cell{min-height:9mm!important}.view-requests .predictive-row{min-height:8mm!important}.view-requests .planner-sticky-name{padding:1mm 1.5mm!important}.view-requests .planner-sticky-name b{font-size:6.5pt!important}.view-requests .planner-sticky-name p small,.view-requests .predictive-row .planner-sticky-name small{font-size:5pt!important;display:block!important}.view-requests .planner-sticky-hours b{font-size:6.5pt!important}.view-requests .planner-sticky-hours small,.view-requests .extra-hours{font-size:4.7pt!important}.view-requests .planner-day-cell b,.view-requests .predictive-row>div:not(.planner-sticky-name):not(.planner-sticky-hours){font-size:6pt!important}.view-requests .planner-day-cell i{font-size:4.5pt!important}.final-roster-scroll>.roster-print-page{break-after:page!important;page-break-after:always!important;break-inside:avoid-page!important;page-break-inside:avoid!important;border:0!important;border-radius:0!important;margin:0!important;padding-top:2mm!important;display:block!important;overflow:visible!important}.final-roster-scroll>.roster-print-page:last-child{break-after:auto!important;page-break-after:auto!important}.roster-duty-page .roster-duty-summary{margin-top:0!important}.roster-matrix,.roster-duty-summary{border-color:#9bacb0!important;grid-template-columns:35mm repeat(31,minmax(0,1fr))!important;width:100%!important;min-width:0!important}.roster-matrix-corner,.roster-matrix-name,.roster-duty-title,.roster-duty-label{position:static!important}.roster-matrix>div,.roster-duty-summary>div:not(.roster-duty-row),.roster-duty-row>div{border-color:#9bacb0!important}.roster-matrix-name,.roster-matrix-cell{min-height:7mm!important}.roster-matrix-name b{font-size:6pt!important}.roster-matrix-name span{font-size:4.7pt!important}.roster-matrix-date b{font-size:6pt!important}.roster-matrix-date span{font-size:4.5pt!important}.roster-matrix-cell b{font-size:4.7pt!important}.roster-duty-summary{margin-top:5mm!important}.roster-duty-label,.roster-duty-cell{min-height:8mm!important}.roster-duty-label{font-size:5.5pt!important}.roster-duty-cell .roster-name-chip{color:#163f35!important;box-shadow:none!important;background:#fff!important;border-color:#456d62!important;border-radius:1mm!important;padding:1mm .4mm!important;font-size:4.5pt!important}.roster-matrix-cell.present,.roster-duty-cell.filled{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#2f745e!important}.roster-matrix-cell.absent{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#a94440!important}.roster-matrix-cell.has-bleeding{box-shadow:inset 0 -2mm #5f2020!important}}.clinical-nav{padding-left:17px!important;font-size:11px!important}.clinical-nav span{font-size:15px!important}.sidebar nav{scrollbar-width:thin;min-height:0;overflow-y:auto}.ward-map-layer,.inventory-layer{padding:14px}.ward-map,.inventory-panel{background:#f5f8f8;border-radius:18px;flex-direction:column;width:min(1720px,100vw - 28px);height:calc(100vh - 28px);display:flex;position:relative;overflow:hidden;box-shadow:0 25px 75px #081f2b47}.ward-map-header,.inventory-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:76px;padding:13px 18px;display:flex}.ward-map-header h2,.inventory-header h2{margin:0;font-size:20px}.ward-map-header small,.inventory-header small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.ward-map-header>div:last-child,.inventory-header>div:last-child{gap:8px;display:flex}.ward-toolbar{border-bottom:1px solid var(--line);background:#eef4f3;grid-template-columns:145px 145px auto;align-items:end;gap:9px;padding:9px 14px;display:grid}.ward-toolbar>label{color:#557078;gap:4px;font-size:7px;font-weight:900;display:grid}.ward-toolbar input{height:34px;color:var(--ink);background:#fff;border:1px solid #d4e1e2;border-radius:8px;padding:0 9px;font-size:9px}.workload-button{color:#fff;background:#193f50;border:0;border-radius:8px;height:34px;padding:0 12px;font-size:8px;font-weight:900}.doctor-workload{z-index:12;border:1px solid var(--line);background:#fff;border-radius:10px;width:min(430px,100% - 28px);max-height:55vh;position:absolute;top:180px;right:14px;overflow:auto;box-shadow:0 12px 32px #081f2b33}.doctor-workload>header{color:#fff;background:#173f52;padding:10px 12px}.doctor-workload>header b,.doctor-workload>header span{display:block}.doctor-workload>header b{font-size:9px}.doctor-workload>header span{color:#c7d6db;margin-top:2px;font-size:6px}.doctor-workload article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 11px;display:grid}.doctor-workload article b{font-size:8px}.doctor-workload article span,.doctor-workload article strong{font-size:7px}.doctor-workload p{padding:12px;font-size:8px}.ward-summary{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:170px 170px minmax(320px,1fr);gap:9px;padding:8px 14px;display:grid}.ward-summary article{border:1px solid var(--line);border-radius:9px;min-height:48px;padding:8px 10px;position:relative;overflow:hidden}.ward-summary span{color:#6b7f87;font-size:7px;font-weight:800;display:block}.ward-summary b{margin-top:3px;font-size:16px;display:block}.ward-summary b small{color:#83959b;margin-left:3px;font-size:8px}.ward-summary article>i{background:#3b8c70;height:4px;position:absolute;bottom:0;left:0}.ward-summary article>i.free{background:#63a8af}.ward-summary .occupancy-stat{grid-template-columns:1fr auto;align-items:center;display:grid}.ward-summary .occupancy-stat span{grid-column:1}.ward-summary .occupancy-stat b{color:#156f6e;grid-area:1/2/3;font-size:21px}.ward-summary .occupancy-stat small{color:#71848b;grid-column:1;font-size:7px}.room-grid{flex:1;grid-template-columns:repeat(9,minmax(135px,1fr));gap:7px;min-height:0;padding:10px 12px;display:grid;overflow:auto}.room-column{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.room-column>header{color:#fff;background:#163f52;justify-content:space-between;align-items:center;min-height:45px;padding:7px 8px;display:flex}.room-column.bleeding-room>header{background:#7b3c3c}.room-column>header b{font-size:10px;display:block}.room-column>header small{color:#b8ccd4;margin-top:2px;font-size:6px;display:block}.room-column>header>span{background:#ffffff21;border-radius:8px;place-items:center;width:27px;height:27px;font-size:8px;font-weight:900;display:grid}.room-column>div{align-content:start;gap:5px;padding:5px;display:grid}.room-doctor-editor{border-bottom:1px solid var(--line);background:#f1f6f6;grid-template-columns:1fr auto!important;gap:3px!important;padding:5px!important;display:grid!important;position:relative!important}.room-doctor-editor label{color:#597078;gap:2px;font-size:5.5px;font-weight:900;display:grid}.room-doctor-editor input{border:1px solid #cbdcdd;border-radius:5px;width:100%;min-width:0;height:25px;padding:0 5px;font-size:6.5px}.room-doctor-editor button{background:var(--teal);color:#fff;border:0;border-radius:5px;align-self:end;height:25px;font-size:5.5px;font-weight:900}.room-doctor-editor>small{color:#75878d;grid-column:1/-1;font-size:5px}.print-patient-data{display:none}.bed-card{border:1px solid var(--line);text-align:left;border-radius:8px;min-width:0;padding:6px}.bed-card.empty{color:#799097;text-align:center;background:#f8fbfb;place-content:center;min-height:63px;display:grid}.bed-card.empty b{font-size:8px}.bed-card.empty span{color:#3f796f;font-size:10px;font-weight:900}.bed-card.empty small{margin-top:3px;font-size:6px}.bed-card.empty:not(:disabled):hover{background:#eef9f7;border-color:#68beb8}.bed-card.occupied{background:#e2f3e9;border-color:#badfcf}.bed-card.occupied.medium{background:#fff0d9;border-color:#ebcc9c}.bed-card.occupied.long{background:#f9dfdd;border-color:#e5b7b3}.bed-card.occupied>header{justify-content:space-between;align-items:center;display:flex}.bed-card.occupied>header b{color:#678078;font-size:6px}.bed-card.occupied>header strong{background:#ffffffb3;border-radius:4px;padding:2px 4px;font-size:6px}.bed-card h3{white-space:nowrap;text-overflow:ellipsis;margin:5px 0 1px;font-size:8px;overflow:hidden}.bed-card time{color:#6f7f82;font-size:5.8px}.bed-card p{gap:1px;margin:4px 0 0;display:grid}.bed-card p b{color:#60777a;font-size:5.5px}.bed-card p span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:6px;line-height:1.25;display:-webkit-box;overflow:hidden}.bed-card footer{gap:4px;margin-top:5px;display:flex}.bed-card footer button{color:#37695d;background:#fff9;border:1px solid #225e5040;border-radius:5px;flex:1;height:21px;font-size:5.5px;font-weight:900}.bed-card footer button:last-child{color:#98453f}.ward-footer{border-top:1px solid var(--line);color:#60747b;background:#fff;align-items:center;gap:12px;min-height:34px;padding:6px 14px;font-size:6.5px;display:flex}.ward-footer span{align-items:center;gap:4px;display:flex}.ward-footer i{border-radius:3px;width:12px;height:12px}.ward-footer i.short{background:#d5eee1}.ward-footer i.medium{background:#ffe7c1}.ward-footer i.long{background:#f1cbc8}.ward-footer p{margin-left:auto}.ward-loading{color:#71868d;flex:1;place-content:center;font-size:9px;display:grid}.patient-editor-layer,.inventory-add-layer{z-index:130;place-items:center;display:grid;position:absolute;inset:0}.patient-editor,.inventory-add-form{background:#fff;border-radius:14px;width:min(650px,100vw - 30px);position:relative;overflow:hidden;box-shadow:0 20px 55px #081f2b4d}.patient-editor>header,.inventory-add-form>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 17px;display:flex}.patient-editor h3,.inventory-add-form h3{margin:2px 0 0;font-size:15px}.patient-editor header small,.inventory-add-form header small{color:var(--teal);font-size:7px;font-weight:900}.patient-editor header button,.inventory-add-form header button{background:#edf2f3;border:0;border-radius:7px;width:28px;height:28px}.patient-editor>div,.inventory-add-form>div{grid-template-columns:1fr 1fr;gap:10px;padding:14px 17px;display:grid}.patient-editor label,.inventory-add-form label{color:#526a72;gap:4px;font-size:7px;font-weight:900;display:grid}.patient-editor label.full{grid-column:1/-1}.patient-editor input,.patient-editor textarea,.inventory-add-form input,.inventory-add-form select{border:1px solid var(--line);border-radius:7px;width:100%;padding:8px;font-size:9px}.patient-editor textarea{resize:vertical;min-height:60px}.patient-editor>footer,.inventory-add-form>footer{border-top:1px solid var(--line);background:#f8fbfb;justify-content:flex-end;gap:7px;padding:10px 17px;display:flex}.inventory-header{min-height:78px}.inventory-audit-button{color:#2f706b;background:#f4faf9;border:1px solid #c7dedd;border-radius:8px;height:35px;padding:0 11px;font-size:7px;font-weight:900}.inventory-summary{border-bottom:1px solid var(--line);background:#eef4f3;grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 14px;display:grid}.inventory-summary>div{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px}.inventory-summary span{color:#6a7f87;font-size:7px;display:block}.inventory-summary b{margin-top:3px;font-size:15px;display:block}.inventory-summary .warning{background:#fff9ef;border-color:#edc9a0}.inventory-summary .warning b{color:#a36221}.inventory-tools{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;gap:10px;padding:9px 14px;display:flex}.inventory-tools label{border:1px solid var(--line);color:#7e9197;border-radius:8px;align-items:center;gap:7px;min-width:320px;height:36px;padding:0 10px;display:flex}.inventory-tools input{border:0;outline:0;width:100%;font-size:8px}.inventory-content{flex:1;min-height:0;padding:10px 14px;overflow:auto}.inventory-category{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:10px;overflow:hidden}.inventory-category>header{color:#fff;background:#173f52;padding:8px 11px}.inventory-category>header b{font-size:9px}.inventory-category>header small{color:#b7cad2;margin-left:8px;font-size:6px}.inventory-table-head,.inventory-row{grid-template-columns:minmax(220px,1.4fr) 150px 110px 190px 210px;align-items:center;gap:8px;display:grid}.inventory-table-head{color:#6a7e85;background:#f2f6f6;min-height:29px;padding:0 10px;font-size:6px;font-weight:900}.inventory-row{border-top:1px solid #edf2f3;min-height:50px;padding:6px 10px}.inventory-row.low-stock{background:#fff8ee}.inventory-row p{margin:0;display:grid}.inventory-row p b{font-size:8px}.inventory-row p em{color:#9c641e;background:#f6dfbf;border-radius:4px;width:max-content;margin-top:3px;padding:2px 4px;font-size:5.5px;font-style:normal;font-weight:900}.inventory-row code{color:#526c75;font-size:7px}.inventory-row>strong{font-size:8px}.quantity-control{align-items:center;display:flex}.quantity-control button{color:#28736c;background:#f4f9f8;border:1px solid #cadcdd;width:28px;height:29px;font-weight:900}.quantity-control button:first-child{border-radius:7px 0 0 7px}.quantity-control button:nth-of-type(2){border-radius:0 7px 7px 0}.quantity-control input{text-align:center;border:1px solid #cadcdd;border-left:0;border-right:0;width:50px;height:29px;font-size:9px;font-weight:900}.quantity-control span{color:#6e8188;margin-left:5px;font-size:6px}.inventory-row>small{color:#70848a;font-size:6px;display:grid}.inventory-row>small b{font-size:6px}.inventory-row>small time{margin-top:2px}.inventory-empty{color:#71848b;margin:0;padding:13px;font-size:8px}.inventory-audit{z-index:20;border-left:1px solid var(--line);background:#fff;flex-direction:column;width:min(430px,90vw);height:100%;display:flex;position:absolute;top:0;right:0;box-shadow:-18px 0 40px #0a232e29}.inventory-audit>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px;display:flex}.inventory-audit h3{margin:0;font-size:14px}.inventory-audit header p{color:var(--muted);margin:3px 0 0;font-size:7px}.inventory-audit header button{background:#edf2f3;border:0;border-radius:7px;width:28px;height:28px}.inventory-audit>div{padding:8px 12px;overflow:auto}.inventory-audit article{border-bottom:1px solid var(--line);gap:8px;padding:9px 5px;display:flex}.inventory-audit article>span{border-radius:7px;place-items:center;width:35px;height:28px;font-size:8px;font-weight:900;display:grid}.inventory-audit .plus{color:#287155;background:#e1f2e8}.inventory-audit .minus{color:#9c4641;background:#f7dddd}.inventory-audit article p{margin:0;display:grid}.inventory-audit article p b{font-size:8px}.inventory-audit article p small{color:#536c74;margin-top:2px;font-size:6.5px}.inventory-audit article p em{color:#839298;margin-top:3px;font-size:5.5px;font-style:normal}@media (width<=1100px){.room-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.ward-toolbar{grid-template-columns:1fr 1fr}.ward-doctors{grid-column:1/-1}.inventory-table-head,.inventory-row{grid-template-columns:minmax(190px,1.3fr) 120px 90px 170px}.inventory-table-head span:last-child,.inventory-row>small{display:none}}@media (width<=680px){.ward-map-layer,.inventory-layer{padding:0}.ward-map,.inventory-panel{border-radius:0;width:100vw;height:100vh}.ward-toolbar{grid-template-columns:1fr}.ward-doctors{grid-column:auto}.ward-summary{grid-template-columns:1fr 1fr}.ward-summary .occupancy-stat{grid-column:1/-1}.room-grid{grid-template-columns:1fr}.inventory-summary{grid-template-columns:1fr 1fr}.inventory-tools{flex-direction:column;align-items:stretch}.inventory-tools label{min-width:0}.inventory-table-head{display:none}.inventory-row{grid-template-columns:1fr 1fr}.inventory-row>small{display:grid}.patient-editor>div,.inventory-add-form>div{grid-template-columns:1fr}.patient-editor label.full{grid-column:auto}}@media print{:is(body:has(.ward-map-layer) .app-shell>.sidebar,body:has(.ward-map-layer) .app-shell>.main-area){display:none!important}body:has(.ward-map-layer){background:#fff!important}.ward-map-layer{padding:0!important;display:block!important;position:static!important}.ward-map-layer>.modal-backdrop,.ward-map-header>div:last-child,.ward-toolbar,.patient-editor-layer,.ward-footer button{display:none!important}.ward-map{width:100%!important;height:auto!important;box-shadow:none!important;background:#fff!important;border-radius:0!important;overflow:visible!important}.ward-map-header{min-height:12mm!important;padding:2mm 3mm!important}.ward-map-header h2{font-size:14pt!important}.ward-map-header small{font-size:6pt!important}.ward-summary{grid-template-columns:35mm 35mm 1fr!important;gap:2mm!important;padding:1.5mm 2mm!important}.ward-summary article{min-height:11mm!important;padding:1.5mm!important}.ward-summary span{font-size:5pt!important}.ward-summary b{font-size:11pt!important}.ward-summary .occupancy-stat small{font-size:5pt!important}.room-grid{grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:1mm!important;padding:1.5mm!important;overflow:visible!important}.room-column{border-color:#86999e!important;border-radius:1mm!important}.room-column>header{min-height:10mm!important;padding:1mm!important}.room-column>header b{font-size:6pt!important}.room-column>header small{font-size:4.2pt!important}.room-column>header>span{width:7mm!important;height:7mm!important;font-size:5pt!important}.room-column>div{gap:1mm!important;padding:1mm!important}.bed-card{break-inside:avoid!important;border-radius:1mm!important;padding:1mm!important}.bed-card.empty{min-height:20mm!important}.bed-card.empty small{display:none!important}.bed-card.occupied{min-height:28mm!important}.bed-card.occupied>header b,.bed-card.occupied>header strong{font-size:4pt!important}.bed-card h3{font-size:5.5pt!important}.bed-card time,.bed-card p b{font-size:4pt!important}.bed-card p{margin-top:.8mm!important}.bed-card p span{-webkit-line-clamp:3!important;font-size:4.2pt!important}.bed-card footer{display:none!important}.ward-footer{min-height:7mm!important;padding:1mm 2mm!important;font-size:5pt!important}.ward-footer p{display:block!important}@page{size:A4 landscape;margin:4mm}.view-requests,.view-requests .planner-table-scroll,.view-requests .planner-grid-header,.view-requests .planner-staff-row,.view-requests .predictive-row{max-width:none!important}.view-requests .planner-table-scroll{margin:0!important;padding:0!important}.view-requests .planner-grid-header,.view-requests .planner-staff-row,.view-requests .predictive-row{grid-template-columns:36mm 18mm repeat(31,minmax(0,1fr))!important;width:287mm!important}}.inventory-table-head,.inventory-row{grid-template-columns:minmax(200px,1.4fr) 130px 100px 120px 180px 190px}.inventory-row .item-total{color:#126f6b}@media (width<=1100px){.room-grid{grid-template-columns:repeat(9,190px)}.inventory-table-head,.inventory-row{grid-template-columns:minmax(180px,1.3fr) 110px 85px 100px 160px}.inventory-table-head span:last-child,.inventory-row>small{display:none}}@media (width<=680px){.ward-map,.inventory-panel{width:100vw;height:100dvh}.ward-map-header{min-height:64px;padding:9px 11px}.ward-map-header small{display:none}.ward-toolbar{grid-template-columns:1fr 1fr;padding:7px}.workload-button{grid-column:1/-1}.room-grid{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;grid-template-columns:repeat(9,210px);padding:7px;overflow:auto}.room-column{height:max-content}.patient-editor,.inventory-add-form{max-height:calc(100dvh - 20px);overflow:auto}}@media print{body:has(.ward-map-layer){width:100%!important;height:100%!important;overflow:hidden!important}.ward-map-header small,.ward-summary,.doctor-workload,.ward-toolbar,.ward-footer{display:none!important}.ward-map-header{min-height:9mm!important;padding:1mm 2mm!important}.room-grid{grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:.7mm!important;height:185mm!important;padding:1mm!important;overflow:hidden!important}.room-column>header{min-height:7mm!important}.room-doctor-editor{min-height:7mm!important;padding:.6mm!important;display:block!important}.room-doctor-editor label{font-size:4pt!important}.room-doctor-editor input{background:0 0!important;border:0!important;height:auto!important;padding:0!important;font-size:5pt!important}.room-doctor-editor button,.room-doctor-editor small{display:none!important}.bed-card.empty{min-height:7mm!important;padding:.5mm!important}.bed-card.empty span,.bed-card.empty b{font-size:4pt!important}.bed-card.occupied{min-height:0!important;padding:.7mm!important}.bed-card.occupied>header,.bed-screen-details{display:none!important}.print-patient-data{display:block!important}.print-patient-data>b{line-height:1.1;display:block;font-size:5pt!important}.print-patient-data>span{margin-top:.4mm;font-weight:800;display:block;font-size:4pt!important}.print-patient-data>p{max-height:9mm;overflow:hidden;margin:.5mm 0 0!important;font-size:4pt!important;line-height:1.15!important;display:block!important}@page{size:A4 landscape;margin:3mm}}.main-area.module-active{height:100vh;overflow:hidden}.main-area.module-active>.calendar-workspace{display:none}.workspace-module-page{background:var(--bg);width:100%;height:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.workspace-module-page .schedule-planner,.workspace-module-page .ward-map,.workspace-module-page .inventory-panel{width:100%;height:100%;box-shadow:none;border-radius:0}.workspace-module-page.ward-map-layer,.workspace-module-page.inventory-layer,.workspace-module-page.planner-layer{padding:0}.workspace-module-page .room-grid{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;align-items:start;overflow:auto}.workspace-module-page .room-column{height:max-content;overflow:hidden}.workspace-module-page .room-column>div:last-child{overflow:visible}.planner-nav{margin-top:0;border-top:0!important}@media (width<=760px){.main-area.module-active,.workspace-module-page .ward-map,.workspace-module-page .inventory-panel,.workspace-module-page .schedule-planner{height:100dvh}}.staff-avatar.assistant_nurse{color:#806b3e;background:#f0ece2}.professional-role-checklist{border:1px solid var(--line);background:#f7faf9;border-radius:10px;grid-column:1/-1;margin:0;padding:10px 12px}.professional-role-checklist legend{color:#345b64;padding:0 5px;font-size:8px;font-weight:900}.professional-role-checklist legend small{color:#73868b;margin-left:5px;font-size:6px}.professional-role-checklist>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.professional-role-checklist label{background:#fff;border:1px solid #d8e4e3;border-radius:7px;align-items:center;gap:6px;min-height:30px;padding:6px 8px;font-size:7px!important;display:flex!important}.professional-role-checklist input{margin:0;width:14px!important;height:14px!important}.professional-role-checklist span{font-weight:800}@media (width<=680px){.professional-role-checklist>div{grid-template-columns:1fr 1fr}}.primary-role-select{gap:6px;margin-bottom:10px;font-weight:800;display:grid!important}.primary-role-select select{border:1px solid var(--line);background:#fff;border-radius:7px;height:36px;padding:0 8px}.primary-role-select small,.backup-role-help{color:#73868b;font-size:7px;font-weight:600}.backup-role-help{margin:0 0 8px}.ambulatory-schedule-fields{border:1px solid var(--line);background:#f7faf9;border-radius:10px;grid-column:1/-1;margin:10px 0;padding:10px 12px}.ambulatory-schedule-fields legend{color:#345b64;padding:0 5px;font-size:8px;font-weight:900}.ambulatory-schedule-fields>p{color:#73868b;margin:0 0 8px;font-size:7px}.ambulatory-schedule-fields>div{grid-template-columns:minmax(90px,1fr) 105px 105px;align-items:end;gap:8px;margin-top:7px;display:grid}.ambulatory-schedule-fields label{color:#586d75;gap:4px;font-size:7px;font-weight:800;display:grid}.ambulatory-schedule-fields label:first-child{align-items:center;gap:7px;height:34px;display:flex}.ambulatory-schedule-fields input[type=time]{border:1px solid var(--line);background:#fff;border-radius:7px;height:34px;padding:0 7px}.planner-day-cell i.ambulatory{color:#286d91;background:#e4f4ff;font-size:6px}@media (width<=680px){.ambulatory-schedule-fields>div{grid-template-columns:1fr 1fr}.ambulatory-schedule-fields label:first-child{grid-column:1/-1}}@media print{body{background:#fff!important;width:100%!important;height:auto!important;overflow:visible!important}.app-shell{min-height:0!important;display:block!important}.app-shell>.sidebar{display:none!important}:is(body:has(.planner-layer) .app-shell>.main-area,body:has(.ward-map-layer) .app-shell>.main-area,body:has(.inventory-layer) .app-shell>.main-area){width:100%!important;height:auto!important;margin:0!important;display:block!important;overflow:visible!important}.main-area.module-active>.calendar-workspace{display:none!important}.workspace-module-page{background:#fff!important;width:100%!important;height:auto!important;position:static!important;overflow:visible!important}.workspace-module-page .schedule-planner,.workspace-module-page .ward-map,.workspace-module-page .inventory-panel{width:100%!important;height:auto!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.planner-layer{display:block!important}.planner-table-scroll,.final-roster,.final-roster-scroll{overflow:visible!important}.view-requests .planner-group{break-after:page;page-break-after:always;break-inside:avoid-page}.view-requests .planner-group:last-child{break-after:auto;page-break-after:auto}.final-roster-scroll>.roster-print-page{break-after:page;page-break-after:always;display:block!important}.final-roster-scroll>.roster-print-page:last-child{break-after:auto;page-break-after:auto}.ward-map-layer{display:block!important}.ward-map-layer .room-grid{height:185mm!important;overflow:hidden!important}.calendar-workspace{display:block}.calendar-workspace .calendar-scroll{height:auto!important;min-height:0!important;overflow:visible!important}.calendar-workspace .calendar-card{break-inside:avoid!important;margin:0!important}.calendar-workspace .day-grid{grid-template-columns:34px repeat(7,minmax(0,1fr))!important;min-width:0!important}.calendar-workspace .doctor-column{min-height:480px!important}@page{size:A4 landscape;margin:4mm}}.planner-shift-stack{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:1px;display:flex;position:absolute;bottom:1px;left:1px;right:1px}.planner-shift-stack i{color:#fff;background:#168f8a;border-radius:3px;place-items:center;min-width:17px;min-height:11px;padding:1px 2px;font-size:5px;font-style:normal;font-weight:900;line-height:1;display:grid}.planner-shift-stack i.night{background:#244e73}.planner-shift-stack i.on_call{background:#b36e2f}.planner-shift-stack i.bleeding_call{background:#a54842}.planner-shift-stack i.ambulatory{color:#286d91;background:#e4f4ff}.doctor-duty-roster-row{background:#f5faf9;border-top:2px solid #c8dddc}.doctor-duty-roster-row>.planner-sticky-name{color:#245f5b;background:#e7f3f1}.doctor-duty-roster-row>div:not(.planner-sticky-name):not(.planner-sticky-hours){flex-direction:column;justify-content:center;align-items:stretch;gap:1px;padding:2px 1px;display:flex}.doctor-duty-roster-row span{text-align:center;border-radius:3px;padding:2px 1px;font-size:4.8px;font-weight:900;line-height:1.05;display:block}.doctor-duty-filled{color:#185d49;background:#dcefe9}.doctor-duty-filled span{background:#fff;border:1px solid #a8cec1}.doctor-duty-empty{color:#849398;background:#f4f7f7}@media print{body:has(.view-final){background:#fff!important;width:100%!important;height:auto!important;overflow:visible!important}body:has(.view-final) .app-shell{min-height:0!important;display:block!important}body:has(.view-final) .app-shell>.sidebar{display:none!important}body:has(.view-final) .calendar-workspace{display:none!important}body:has(.view-final) .app-shell>.main-area{width:100%!important;height:auto!important;margin:0!important;display:block!important;overflow:visible!important}:is(.planner-layer:has(.view-final),.view-final){background:#fff!important;width:100%!important;height:auto!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.view-final .planner-header{border-bottom:1px solid #9bacb0!important;min-height:12mm!important;padding:2mm 3mm!important;display:flex!important}.view-final .planner-header h2{font-size:14pt!important}.view-final .planner-header small{font-size:6pt!important}.view-final .final-roster{width:100%!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;overflow:visible!important}.view-final .final-summary,.view-final .roster-warnings,.view-final .final-roster-scroll>.roster-category{display:none!important}.view-final .final-roster-scroll{width:100%!important;height:auto!important;display:block!important;overflow:visible!important}.view-final .final-roster-scroll>.roster-print-page{break-before:auto!important;page-break-before:auto!important;break-after:page!important;page-break-after:always!important;break-inside:avoid-page!important;page-break-inside:avoid!important;border:0!important;border-radius:0!important;width:100%!important;margin:0!important;padding-top:2mm!important;display:block!important;overflow:visible!important}.view-final .final-roster-scroll>.roster-print-page:last-child{break-after:auto!important;page-break-after:auto!important}.view-final .roster-print-page>header{background:#eef4f4!important;border:1px solid #9bacb0!important;min-height:8mm!important;padding:1.5mm 2mm!important}.view-final .roster-print-page>header b{font-size:8pt!important}.view-final .roster-print-page>header span{font-size:5.5pt!important}.view-final .roster-matrix,.view-final .roster-duty-summary{border-color:#9bacb0!important;grid-template-columns:35mm repeat(31,minmax(0,1fr))!important;width:100%!important;min-width:0!important;margin-top:0!important}.view-final .roster-matrix-corner,.view-final .roster-matrix-name,.view-final .roster-duty-title,.view-final .roster-duty-label{position:static!important}.view-final .roster-matrix-name,.view-final .roster-matrix-cell{min-height:7mm!important}.view-final .roster-duty-label,.view-final .roster-duty-cell{min-height:8mm!important}.view-final .roster-matrix-cell.present,.view-final .roster-duty-cell.filled{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#2f745e!important}.view-final .roster-matrix-cell.absent{color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#a94440!important}.view-final .roster-duty-page .roster-duty-summary{margin-top:0!important}.view-final .roster-name-chip{color:#163f35!important;box-shadow:none!important;background:#fff!important}@page{size:A4 landscape;margin:5mm}}.ambulatory-schedule-fields>div{grid-template-columns:minmax(90px,1fr) 125px 105px 105px}.ambulatory-schedule-fields select{border:1px solid var(--line);background:#fff;border-radius:7px;height:34px;padding:0 7px;font-size:8px}.presence-night b{color:#315f78}.presence-night span{color:#294e65}.staff-presence-panel>div{grid-template-columns:repeat(3,1fr)}.staff-presence-panel article:nth-child(3n){border-right:0}.staff-presence-panel article:nth-child(n+4){border-top:1px solid var(--line)}.patient-editor input,.patient-editor textarea,.patient-editor select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;padding:8px;font-size:9px}.patient-editor label small{color:#7b8d93;font-size:6px;font-weight:600}.ward-print-time{color:#4e6972;margin-top:2px;font-size:7px;font-weight:800;display:none}.outcome-workload{width:min(780px,100% - 28px)}.outcome-workload article{grid-template-columns:minmax(150px,1fr) auto minmax(260px,1.5fr)}.outcome-workload article small{color:#6e8188;grid-column:1/-1;font-size:6px;line-height:1.4}@media (width<=760px){.ambulatory-schedule-fields>div{grid-template-columns:1fr 1fr}.staff-presence-panel>div{grid-template-columns:1fr}.staff-presence-panel article{border-right:0}.outcome-workload article{grid-template-columns:1fr}.outcome-workload article small{grid-column:auto}}@media print{body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel{break-inside:avoid!important;border-radius:0!important;margin:0 0 1.5mm!important;display:block!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel>header{min-height:5mm!important;padding:.7mm 1.5mm!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel>header b{font-size:6pt!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel>header small{font-size:4.5pt!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel>header>span{display:none!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel>div{grid-template-columns:repeat(3,1fr)!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel article{min-height:0!important;padding:.7mm 1mm!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel h3{margin-bottom:.5mm!important;font-size:5pt!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel p{grid-template-columns:12mm 1fr!important;margin:.3mm 0!important;font-size:4.3pt!important;line-height:1.15!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .staff-presence-panel p b{font-size:4pt!important}body:not(:has(.view-final)):not(:has(.ward-map-layer)) .day-calendar{--slot:18px!important}body:has(.ward-map-layer) .ward-map-header small{font-size:5pt!important;display:block!important}body:has(.ward-map-layer) .ward-print-time{font-size:5pt!important;display:block!important}body:has(.ward-map-layer) .print-patient-data>p{max-height:6mm!important;font-size:3.7pt!important}}
