/* Phone-first schedule layouts. Desktop schedule and dedicated print layout remain intact. */
.ms-board{border:1px solid #d8e3ed;border-radius:12px;background:#fff;overflow:hidden;margin:0 0 12px}.ms-board-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e5ebf1}.ms-board-head strong{font-size:14px}.ms-board-head>span{font-size:11px;color:#526c80;text-align:right}.ms-own-day{display:grid;grid-template-columns:49px minmax(0,1fr);gap:10px;align-items:center;border-bottom:1px solid #e6ecf1;padding:6px 12px;min-height:54px}.ms-date{display:flex;flex-direction:column;text-align:center;gap:2px;color:#526478;font-size:11px;padding:4px;border-radius:8px}.ms-date strong{font-size:19px;line-height:1.1;color:#19354e}.ms-date.today{background:#eaf2fa}.ms-own-shifts{min-width:0;display:flex;flex-direction:column;gap:4px}.ms-shift{border:0;border-left:3px solid #a8c6dc;border-radius:5px;background:#eef4fa;padding:7px 9px;text-align:left;font:inherit;color:#19354e;display:flex;flex-direction:column;gap:3px;width:100%;min-height:44px;cursor:pointer;overflow-wrap:anywhere}.ms-shift>strong{font-size:14px;font-weight:650;line-height:1.3}.ms-shift>span{font-size:11px;color:#405b72;line-height:1.3}.ms-shift.morning{background:#edf7f1;border-left-color:#80b9a0}.ms-shift.evening{background:#eaf1fc;border-left-color:#8baeda}.ms-shift.audit{background:#f0edf9;border-left-color:#aea0d6}.ms-shift.custom{background:#fcf5e6;border-left-color:#cfb47f}.ms-shift.ms-off{background:#f2f5f8;border-left-color:#c6d1dc;min-height:38px;padding:6px 9px;flex-direction:row;align-items:center;gap:8px}.ms-empty{display:block;color:#65798b;font-size:12px;padding:10px}.ms-footnote{margin:0;padding:8px 12px;color:#667c8c;font-size:11px;line-height:1.4}.ms-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:8px;background:#fff;border-radius:10px;border:1px solid #d8e3ed;margin-bottom:10px}.ms-day-strip>button{appearance:none;background:#f2f6fa;border:0;border-radius:7px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 1px;cursor:pointer;min-height:61px;color:#36536c;font:inherit}.ms-day-strip>button>span{font-size:10px}.ms-day-strip>button>strong{font-size:17px;line-height:1.1}.ms-day-strip>button>small{font-size:10px}.ms-day-strip>button.selected,.ms-month-day.selected{background:#173d5b!important;color:#fff!important;box-shadow:inset 0 -3px #d7b271}.ms-day-strip>button.selected strong{color:#fff}.ms-search{display:block;padding:10px 12px}.ms-search input{min-height:40px;font-size:16px;width:100%}.ms-team-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8px;padding:12px;border-top:1px solid #e1e9f0}.ms-person{display:flex;flex-direction:column;gap:5px;min-width:0}.ms-person>strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.ms-person>span{font-size:10px;color:#5a7488;line-height:1.5}.ms-assignments{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0}.ms-assignments .ms-shift>strong{font-size:12px}.ms-assignments .ms-shift>span{font-size:10px}.ms-add{background:#fff;border:1px dashed #a9bece;border-radius:6px;min-height:40px;padding:6px;font:inherit;font-size:12px;color:#315d81;cursor:pointer}.ms-busy-note{grid-column:1/-1;color:#5a7185;background:#f3f6f9;border-radius:5px;padding:8px;font-size:10px;margin:0;line-height:1.5}.ms-row-week{grid-column:1/-1;justify-self:start;min-height:36px;font-size:11px;padding:4px 0}.ms-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:8px;background:white;border:1px solid #dae4ed;border-radius:10px}.ms-weekday{font-size:10px;text-align:center;padding:4px 0 6px;color:#647789}.ms-month-day{appearance:none;border:1px solid transparent;border-radius:6px;background:#f3f6fa;color:#23465f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:47px;cursor:pointer;font:inherit}.ms-month-day>strong{font-size:14px;line-height:1.2}.ms-month-day>span{font-size:10px;line-height:1}.ms-month-day.today:not(.selected){border-color:#a4b7ce}.ms-month-day.adjacent:not(.selected){color:#8995a4;background:#fafbfd}.ms-review{border:1px solid #dce6ee;border-radius:10px;margin:12px 0;background:#fff}.ms-review>summary{cursor:pointer;padding:13px;font-size:13px;font-weight:650}.ms-review>section{padding:12px;margin:0}.ms-review .card{box-shadow:none;border:0}.ms-shift:focus-visible,.ms-day-strip button:focus-visible,.ms-month button:focus-visible,.ms-add:focus-visible{outline:3px solid #356895;outline-offset:2px}
@media(max-width:780px){
 body.ms-schedule #content{padding:12px 12px 90px!important}body.ms-schedule .page-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 10px}body.ms-schedule .page-head h1{font-size:20px;line-height:1.25;margin:0}body.ms-schedule .page-head>div>p,body.ms-schedule .page-head .eyebrow{display:none}body.ms-schedule .ms-tools{position:relative;flex-shrink:0}body.ms-schedule .ms-tools>summary{min-height:40px;padding:8px 10px;font-size:11px;list-style:none;display:flex;gap:5px;align-items:center}body.ms-schedule .ms-tools>summary::-webkit-details-marker{display:none}body.ms-schedule .ms-tools-panel{position:absolute;right:0;top:45px;width:min(312px,calc(100vw - 24px));background:#fff;border:1px solid #cfdae4;border-radius:10px;padding:12px;z-index:15;box-shadow:0 10px 25px #0b243025;max-height:60dvh;overflow:auto}body.ms-schedule .ms-tools:not([open]) .ms-tools-panel{display:none}body.ms-schedule .ms-tools .actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0}body.ms-schedule .ms-tools .actions .btn{white-space:normal;min-height:44px;justify-content:flex-start}body.ms-schedule .ms-tools .workspace-tabs{display:flex;flex-direction:column;align-items:stretch;white-space:normal;margin:10px 0 0;border:0}body.ms-schedule .ms-tools .workspace-tab{min-height:44px;padding:10px}body.ms-schedule .ms-tools .action-menu-panel{position:static;width:auto;box-shadow:none;border:0}body.ms-schedule .ms-tools details{width:100%}body.ms-schedule .ds-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 10px;gap:4px}body.ms-schedule .ds-tabs:has(.ds-tab:only-child){grid-template-columns:1fr}body.ms-schedule .ds-tab{padding:8px 4px;min-height:44px;font-size:11px;text-align:center;border-radius:7px;overflow-wrap:normal}body.ms-schedule .ds-tab small{display:none}body.ms-schedule .schedule-toolbar{padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:8px;border:0;background:transparent}body.ms-schedule .schedule-period{width:100%;display:flex;gap:6px}body.ms-schedule .schedule-period .icon-btn{min-width:40px;height:42px}body.ms-schedule .schedule-period #schedule-date{flex:1;width:100%;max-width:none;min-width:0;font-size:16px}body.ms-schedule .schedule-period .btn{min-height:42px;padding:9px 12px}body.ms-schedule .schedule-filters{width:100%;display:block}body.ms-schedule .schedule-toolbar .segmented{width:100%;display:flex}body.ms-schedule .schedule-toolbar .segmented button{flex:1;min-height:40px;padding:7px 10px;font-size:12px}body.ms-schedule #schedule-density{display:none}body.ms-schedule .period-context{padding:0 0 8px;margin:0;font-size:11px;display:block}body.ms-schedule .period-context strong{font-size:12px}body.ms-schedule .period-context .pill{font-size:10px}body.ms-schedule .period-hints{display:none}body.ms-schedule #content>p.muted{font-size:11px;margin:4px 0 9px}body.ms-schedule #nm-receipts>p{display:none}body.ms-schedule .nm-receipt{padding:12px;gap:8px;margin:8px 0}body.ms-schedule .nm-receipt>div{font-size:12px;gap:3px}body.ms-schedule .nm-receipt button{min-height:42px;font-size:13px}body.ms-schedule .nm-receipt[hidden]{display:none}body.ms-schedule .ms-review #coverage-panel{margin:0}body.ms-schedule .ds-busy{padding:12px;margin:12px 0}body.ms-schedule .ds-busy summary{font-size:12px}body.ms-schedule .ds-busy p{font-size:11px}.schedule-drawer{max-height:var(--ms-dialog-height,94dvh);height:var(--ms-dialog-height,94dvh);bottom:var(--ms-keyboard-inset,0px)!important;overflow:auto}.schedule-drawer #modal-content{padding:16px 16px 26px}.schedule-drawer .form-actions{bottom:-26px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.schedule-drawer input,.schedule-drawer select,.schedule-drawer textarea{font-size:16px}
 /* Keep language and notifications visible without covering the hotel title. */
 .topbar .top-actions{gap:5px}.topbar .language-quick{gap:0}.topbar .language-quick>span{display:none}.topbar .language-quick select{min-width:76px;width:76px;max-width:76px;padding-left:5px;padding-right:15px;font-size:11px}.topbar #live-status{font-size:9px;max-width:39px;line-height:1.15}.topbar .top-hotel{max-width:27vw}.topbar #role-label{max-width:25vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#toast{max-width:calc(100vw - 24px);bottom:calc(76px + env(safe-area-inset-bottom));font-size:12px;padding:10px 14px}
}
@media(max-width:360px){body.ms-schedule .page-head h1{font-size:17px}body.ms-schedule .ds-tab{font-size:9.5px}.ms-team-row{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);padding:10px}.ms-person>strong{font-size:13px}.ms-own-day{grid-template-columns:42px minmax(0,1fr);gap:6px;padding:6px 8px}.ms-shift>strong{font-size:13px}.topbar .top-hotel{max-width:18vw}.topbar #role-label{max-width:18vw}.topbar #avatar{width:30px;height:30px;min-width:30px}.topbar #live-status{max-width:32px}.topbar{gap:4px}}

.ms-name{border:0;background:none;text-align:left;color:#19354e;padding:0;min-height:36px;font:inherit;font-size:14px;font-weight:650;cursor:pointer;overflow-wrap:anywhere}.ms-name>span{color:#5c7e98;margin-left:4px}.ms-name:focus-visible{outline:3px solid #356895;outline-offset:2px}#ms-day-pane{scroll-margin-top:76px}
@media(max-width:780px){body.ms-schedule .workspace{padding-bottom:0}.topbar #notification-live-status{max-width:42px;font-size:9px;line-height:1.15}body.ms-schedule .ms-team-row{align-items:center}body.ms-schedule .ms-team-row .ms-person{align-self:start}}
/* Full connection text stays available to assistive technology and on Alerts.
   A small state dot avoids multi-line labels crowding the phone header. */
@media(max-width:780px){.topbar #notification-live-status{width:14px;min-width:14px;max-width:14px;height:14px;flex:0 0 14px;font-size:0;line-height:0;white-space:nowrap;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:0}.topbar #notification-live-status::before{width:7px;height:7px;flex:0 0 7px;margin:0}}
