:root{--mobile-radius-sm:12px;--mobile-radius-md:18px;--mobile-radius-lg:24px;--mobile-surface:#fffffff5;--mobile-surface-soft:#f3fafdeb;--mobile-border:#7dcae275;--mobile-shadow:0 12px 32px #003b7117;--mobile-shadow-strong:0 22px 60px #002c542e}:where(a,button,input,select,textarea,summary):focus-visible{outline-offset:2px;outline:3px solid #00a9d652}@media (max-width:760px){html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{overscroll-behavior-y:none;background:radial-gradient(circle at 100% 0,#00a9d629,#0000 22rem),linear-gradient(#fff 0,#f2fafd 18rem,#f7fbfd 100%)}.app-frame{min-height:100dvh;overflow-x:clip}.site-header{min-height:72px;padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));border-bottom-color:#bfeaf5b8;box-shadow:0 8px 28px #003b7112}.brand-logo-header{width:min(190px,58vw);height:42px}.header-module-link{min-height:40px;padding-left:10px}.header-module-link .module-logo-compact{max-width:104px}.site-nav,.role-menu,.hub-menu,.module-nav,.hub-admin-nav,.session-identity:not(.session-identity-mobile),.profile-menu{display:none}.page-shell{width:100%;min-height:calc(100dvh - 72px);padding:18px max(14px, env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.page-shell.dashboard-shell,.page-shell.form-page-shell,.page-shell.duty-rota-page-shell,.page-shell.daily-assignment-page{align-content:start;gap:16px;display:grid}.intro,.page-heading{border:1px solid var(--mobile-border);border-radius:var(--mobile-radius-lg);max-width:none;box-shadow:var(--mobile-shadow);background:radial-gradient(circle at 100% 0,#00a9d638,#0000 58%),linear-gradient(145deg,#fffffffc,#eef9fdf0);margin:0;padding:20px;position:relative;overflow:hidden}.page-heading:after,.intro:after{content:"";pointer-events:none;border:24px solid #0078b80b;border-radius:999px;width:150px;height:150px;position:absolute;bottom:-54px;right:-36px}.page-heading>*,.intro>*{z-index:1;position:relative}.page-heading .module-logo-compact,.page-heading .duty-rota-page-logo{max-width:148px;max-height:40px;margin:0 0 12px}.eyebrow{width:fit-content;color:var(--brand-secondary);letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:900;line-height:1.3;display:inline-flex}.page-heading h1,.intro h1,.duty-rota-hero h1,.daily-assignment-hero h1{color:var(--brand-dark);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.08}.page-heading .description,.intro .description,.duty-rota-hero .description,.daily-assignment-hero .description{color:#536c7c;margin:10px 0 0;font-size:.94rem;line-height:1.58}.duty-rota-hero,.daily-assignment-hero,.department-dashboard-panel,.dashboard-section-card,.daily-panel,.filter-panel,.form-card,.content-card,.claim-form,.detail-panel,.info-panel,.calculation-summary,.ledger-table-panel,.module-card,.stat-card,.shift-exchange-panel,.support-ticket-card{border-color:var(--mobile-border);border-radius:var(--mobile-radius-md);background:var(--mobile-surface);box-shadow:var(--mobile-shadow)}.duty-rota-hero,.daily-assignment-hero{border-radius:var(--mobile-radius-lg);background:radial-gradient(circle at 100% 0,#00a9d633,#0000 55%),linear-gradient(145deg,#fff,#edf9fc);margin:0;padding:20px}.stat-grid,.daily-summary-grid,.notification-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-card{min-width:0;min-height:116px;padding:15px;overflow:hidden}.stat-card strong,.stat-card .stat-value{color:var(--brand-primary);font-size:1.65rem;line-height:1}.stat-card p,.stat-card span{overflow-wrap:anywhere}.dashboard-section-stack,.review-layout,.form-layout,.employee-duty-rota-selected-layout,.shift-exchange-detail-layout{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.claim-form,.detail-panel,.info-panel,.filter-panel,.form-card,.content-card,.dashboard-section-card,.daily-panel{min-width:0;padding:18px}.field-grid,.form-grid,.daily-oncall-grid,.daily-staff-status-grid,.shift-exchange-preview-grid{grid-template-columns:minmax(0,1fr);gap:14px}.form-field{gap:7px;min-width:0}.form-field label,.confirmation-field label,.field-label{color:var(--brand-dark);font-size:.82rem;font-weight:850}input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:var(--mobile-radius-sm);width:100%;min-height:50px;color:var(--brand-dark);background:#fffffffa;border-color:#7dcae2ad;padding:12px 14px;font-size:16px;line-height:1.35;box-shadow:inset 0 1px 2px #003b7109}textarea{resize:vertical;min-height:116px}input:focus,select:focus,textarea:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 4px #00a9d61f}input[type=file]{min-height:58px;padding:8px}input[type=file]::file-selector-button{background:var(--surface-muted);min-height:40px;color:var(--brand-primary);border:0;border-radius:10px;margin-right:10px;padding:0 12px;font-weight:850}.phone-input span{border-radius:var(--mobile-radius-sm) 0 0 var(--mobile-radius-sm);border-color:#7dcae2ad;min-height:50px}.phone-input input{border-radius:0 var(--mobile-radius-sm) var(--mobile-radius-sm) 0}.confirmation-field{border:1px solid var(--mobile-border);border-radius:var(--mobile-radius-sm);background:var(--mobile-surface-soft);align-items:flex-start;min-height:52px;padding:13px}.confirmation-field input{width:22px;height:22px;accent-color:var(--brand-secondary);flex:none;margin-top:1px}.helper-text,.muted-copy,.empty-state-text{color:#667d8b;font-size:.82rem;line-height:1.5}.form-actions,.action-row,.report-filter-actions,.shift-exchange-card-actions,.assignment-modal-footer,.daily-assignment-toolbar,.duty-rota-action-bar{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;display:grid}.primary-button,.secondary-button,.primary-link,.secondary-link,.compact-action-link,.shift-exchange-start-button{border-radius:var(--mobile-radius-sm);text-align:center;justify-content:center;align-items:center;width:100%;min-height:48px;padding:11px 16px;font-size:.9rem;font-weight:900;line-height:1.2;display:inline-flex}.primary-button,.primary-link,.shift-exchange-start-button.active{border-color:var(--brand-primary);background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;box-shadow:0 10px 24px #003b712e}.secondary-button,.secondary-link,.compact-action-link{color:var(--brand-primary);background:#fff;border-color:#0078b83d}.text-link{min-height:42px;padding-block:10px;font-weight:850}button:disabled,a[aria-disabled=true]{box-shadow:none;opacity:.55}.success-message,.error-message,.form-success,.form-error,.alert,.compact-alert{border-radius:var(--mobile-radius-sm);margin:0;padding:13px 14px;font-size:.84rem;line-height:1.45}.success-message,.form-success,.success-alert{color:#17633e;background:#edf9f2;border:1px solid #1f7a4e33}.error-message,.form-error,.error-alert{color:#9c241a;background:#fff3f1;border:1px solid #b423182e}.panel-heading-row,.announcement-card-heading,.support-ticket-card-header,.shift-exchange-panel-header{align-items:flex-start;gap:10px}.request-list,.announcement-card-list,.support-ticket-list,.shift-exchange-request-list,.compact-notification-list{gap:12px;display:grid}.announcement-card,.notification-card,.support-ticket-card,.shift-exchange-request-card,.mobile-data-card{border-radius:var(--mobile-radius-md);padding:16px}.unread-announcement,.unread-notification{border-left:4px solid var(--brand-accent);background:linear-gradient(90deg,#00a9d614,#0000 60%),#fff}.status-badge,.status-pill,.coverage-badge,.change-badge,.module-status{border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:28px;padding:4px 9px;font-size:.72rem;font-weight:900;line-height:1.2;display:inline-flex}.table-scroll,.attachment-table-wrap,.daily-assignment-table-shell{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;width:calc(100% + 12px);margin-right:-12px;padding:0 12px 10px 0;overflow-x:auto}.ledger-table,.attachment-table,.daily-assignment-table,.rota-table{border-collapse:separate;border-spacing:0;min-width:680px;font-size:.8rem}.ledger-table th,.attachment-table th,.daily-assignment-table th,.rota-table th{z-index:1;color:var(--brand-primary);letter-spacing:.035em;text-transform:uppercase;background:#eef8fb;font-size:.7rem;position:sticky;top:0}.ledger-table th,.ledger-table td,.attachment-table th,.attachment-table td,.daily-assignment-table th,.daily-assignment-table td,.rota-table th,.rota-table td{border-bottom-color:#bfeaf5b8;min-height:46px;padding:11px 10px}.mobile-data-list,.attachment-mobile-list,.employee-duty-rota-summary-mobile{gap:10px;display:grid}.attachment-mobile-row,.employee-duty-rota-summary-list{border-color:var(--mobile-border);border-radius:var(--mobile-radius-sm);background:#fff}.modal-backdrop,.mobile-drawer-layer{padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#06254380}.duty-rota-modal,.modal-panel{width:100%;max-width:none;max-height:min(90dvh,840px);padding:20px max(16px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));box-shadow:var(--mobile-shadow-strong);background:#fff;border:0;border-radius:26px 26px 0 0;margin:0;animation:.18s ease-out mobile-sheet-in;position:fixed;inset:auto 0 0;overflow-y:auto}.modal-close-button{background:var(--surface-muted);border-radius:999px;width:44px;height:44px}.duty-rota-mobile-scroll-hint{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:flex}.duty-rota-tabs,.announcement-filter-tabs,.daily-filter-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;width:calc(100% + 28px);margin-inline:-14px;padding:2px 14px 8px;display:flex;overflow-x:auto}.duty-rota-tabs::-webkit-scrollbar{display:none}.announcement-filter-tabs::-webkit-scrollbar{display:none}.daily-filter-chips::-webkit-scrollbar{display:none}.duty-rota-tabs>*,.announcement-filter-tabs>*,.daily-filter-chips>*{white-space:nowrap;flex:none;min-height:42px}.daily-sticky-actions{bottom:calc(78px + env(safe-area-inset-bottom));z-index:8;border-radius:var(--mobile-radius-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #bfeaf5db;margin:0 -4px;padding:10px;position:sticky;box-shadow:0 14px 36px #003b7124}.mobile-bottom-nav{padding-bottom:max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top-color:#bfeaf5c7;box-shadow:0 -10px 32px #003b7117}.mobile-bottom-nav>a,.mobile-bottom-nav>button{border-radius:14px;min-width:0;min-height:64px}.mobile-bottom-nav>.active{color:var(--brand-primary);background:linear-gradient(#00a9d61f,#0078b812)}.mobile-drawer{box-shadow:var(--mobile-shadow-strong);border-radius:0 24px 0 0}.mobile-drawer-links a{border-radius:12px;min-height:54px}.mobile-drawer-logout{border-radius:12px;min-height:50px}.app-footer{display:none}}@keyframes mobile-sheet-in{0%{opacity:.7;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (max-width:380px){.page-shell{padding-inline:10px}.stat-grid,.daily-summary-grid,.notification-summary-grid{grid-template-columns:minmax(0,1fr)}.page-heading,.intro,.duty-rota-hero,.daily-assignment-hero{padding:17px}.mobile-bottom-nav>a,.mobile-bottom-nav>button{font-size:.66rem}}@media (max-width:760px) and (orientation:landscape){.duty-rota-modal,.modal-panel{max-height:96dvh}.mobile-drawer{overflow-y:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
