@media screen{
.mobile-menu-button,.manager-mobile-section,.mobile-programme{display:none}
.nav-btn.shl-only:not(.visible){display:none}
.table-wrap,.accom-table-wrap,.group-programme-sheet,.campus-viewport{min-width:0;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.form-grid>*,.grid>*,.layout>*,.house-grid>*,.report-grid>*,.manager-panel,.card,.resource>div,.doc-row>div{min-width:0}
.resource,.doc-row,.upload-status,.house-meta,.report-status,.notification-reader-body{overflow-wrap:anywhere}
@media(max-width:760px){
body{font-size:14px}.container{padding:0 12px;margin:20px auto 32px}.topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:12px 14px;align-items:center}.brand{min-width:0}.brand img{height:36px;max-width:135px;object-fit:contain}.brand strong{font-size:.9rem}.brand span{display:none}.user-strip{grid-column:1;grid-row:2;justify-content:flex-start;margin:0;gap:10px;flex-wrap:wrap}.user-strip>div{min-width:0}.user-strip strong{font-size:.78rem;font-weight:600}.user-role{font-size:.68rem}.logout-btn{font-size:.75rem;min-height:44px;padding:8px 13px}.mobile-menu-button:not([hidden]){display:block;grid-column:2;grid-row:1/3;align-self:center;background:#ffffff12;border:1px solid #ffffff45;border-radius:8px;color:white;padding:10px 13px;min-height:44px;font-size:.82rem}.app-navigation:not(.mobile-open){display:none}.app-navigation.mobile-open:not([hidden]){display:block;max-height:65dvh;overflow:auto}.app-navigation.mobile-open .nav-scroll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 12px 12px;gap:6px;overflow:visible}.nav-btn{white-space:normal;border:1px solid var(--border);border-radius:8px;min-height:48px;padding:11px;font-size:.82rem;justify-content:flex-start}.nav-btn.active{border:1px solid #d3a1bc;background:#faf0f5}.group-only.visible{display:inline-flex!important}.nav-btn.shl-only.visible{display:inline-flex}.topbar{padding-top:env(safe-area-inset-top)}
.welcome{gap:12px;align-items:flex-start}.welcome h1,.shl-welcome h1{font-size:1.4rem}.welcome p,.shl-welcome p{font-size:.85rem;line-height:1.6}.shl-welcome{align-items:flex-start;flex-direction:column}.card{padding:17px;border-radius:11px}.tile,.house-card,.report-card{padding:16px}.section-head{gap:12px;align-items:flex-start}.section-head h2,.calendar-head h2{font-size:1.15rem}.section-head p{font-size:.83rem}.grid.two,.grid.three,.house-grid,.report-grid,.form-grid{grid-template-columns:minmax(0,1fr)!important}.form-grid{gap:15px}.form-grid label,.report-field,.login-field label{font-size:.84rem;gap:7px}.form-grid input,.form-grid textarea,.form-grid select,.report-field input,.report-field select,.login-field input,.search,.supplies-top-grid input,.supplies-add input,.supply-number,input[type=date],input[type=time],select{font-size:16px!important;min-height:46px;min-width:0;max-width:100%}input[type=file]{width:100%;min-width:0;font-size:14px!important}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;flex:0 0 20px}.small-btn,.chip,.rota-tab,.close{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 13px}.report-actions,.supplies-actions,.supplies-toolbar{gap:9px}.report-actions>.small-btn,.supplies-actions>.small-btn{flex:1 1 140px}.report-checks{gap:5px 15px}.report-checks label{min-height:44px}.live-house-banner{gap:10px;padding:14px}.fclc-account-actions{display:grid;grid-template-columns:1fr;width:100%}.fclc-account-actions a{width:100%;font-size:.85rem}.fclc-account-note{font-size:.76rem;line-height:1.6}
.manager-mobile-section{display:grid;gap:6px;padding:6px 4px 12px;font-size:.78rem;font-weight:600;color:var(--muted)}.manager-mobile-section select{width:100%;font-size:16px;min-height:46px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.manager-navigation .manager-tabs,.manager-navigation .manager-nav-hint{display:none}.manager-navigation{padding:8px 9px 0}.manager-panel{margin-top:16px}.manager-supply-selector{grid-template-columns:1fr;padding:14px 14px 4px}.manager-supplies-panel>.section-head{padding:16px}.manager-supply-order-head{padding:14px;gap:12px}.manager-supply-order-actions{width:100%;justify-content:flex-start}.manager-supply-order-actions button{flex:1 1 auto}.manager-supplies-panel>#managerSupplyOrders{padding:0 14px 14px}.manager-supply-selector label{min-height:48px}.catalogue-chip button,.manager-supply-choice button{min-width:40px;min-height:40px}.manager-supply-header-actions{justify-content:flex-start;width:100%}.campus-settings{grid-template-columns:1fr}.campus-setting{min-height:52px}.campus-setting strong{font-size:.82rem}
.rota-days{grid-template-columns:1fr;gap:12px}.rota-summary{gap:7px}.rota-metric{padding:11px 9px}.rota-metric span{font-size:.7rem}.rota-metric strong{font-size:1.3rem}.rota-help{padding:16px}.rota-tabs:has([data-rota-panel]){display:flex;width:100%;margin-bottom:20px}.rota-tab[data-rota-panel]{flex:1}.whole-rota-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.whole-rota-days button{min-height:66px;padding:9px 4px}.whole-rota-days strong{font-size:.8rem}.whole-rota-cards{grid-template-columns:1fr}.whole-rota-duty{padding:16px}.whole-rota-duty p{font-size:.88rem}.whole-rota-toolbar{align-items:flex-start;gap:14px}.whole-rota-toggle{width:100%}.whole-rota-toggle button{flex:1;min-height:44px}.whole-rota-label{gap:8px}.whole-rota-legend{font-size:.73rem}.rota-dutyname{font-size:.85rem}.rota-dutyvalue{font-size:.82rem}.rota-dayhead{padding:13px}.rota-none{font-size:.83rem}
.table-wrap{width:100%;overflow-x:auto}.table-wrap:has(table)::before,.accom-table-wrap::before{content:'Swipe sideways to see all columns';display:block;font-size:11px;color:var(--muted);padding:9px 11px;background:#f8fafc}.table th,.table td{padding:12px 10px}.table button{min-height:44px}.programme-grid textarea{font-size:16px;min-height:100px}.supplies-table-wrap::before{content:none!important}.supplies-table{table-layout:fixed}.supplies-table th:first-child,.supplies-table td:first-child{width:auto;overflow-wrap:anywhere}.supplies-table th:nth-child(2),.supplies-table th:nth-child(3),.supplies-table td:nth-child(2),.supplies-table td:nth-child(3){width:82px}.supplies-table th,.supplies-table td{padding:9px 4px}.supply-number{min-width:0;padding:10px 7px!important;text-align:center}.supplies-head{gap:12px}.supplies-top-grid{grid-template-columns:1fr}.supplies-add{flex-wrap:wrap}.supplies-add input{flex-basis:100%}.resource,.doc-row{align-items:flex-start;gap:12px;flex-wrap:wrap}.resource>a,.doc-row>a,.resource>button,.doc-row>button{min-height:44px}.specific-recipient-picker{grid-template-columns:1fr}.specific-recipient-option{min-height:48px}.notification-inbox-row{min-height:64px;padding:14px 12px}.notification-inbox-row .notice-priority{margin:0;font-size:10px}.notification-reader{padding:16px}.notification-reader-body{font-size:15px}.notification-reader-head{gap:10px}.modal{padding:10px}.modal-box{padding:18px;max-height:calc(100dvh - 20px)}.modal-head{align-items:flex-start;gap:12px}.modal-head h2{font-size:1.2rem}.overlay-page{padding:14px!important}#sharedDocViewer{padding:12px!important}
.mobile-programme{display:grid;gap:11px;margin-top:16px}.mobile-programme details{border:1px solid var(--border);border-radius:9px;background:#fff;min-width:0}.mobile-programme summary{white-space:pre-line;padding:15px;min-height:48px;cursor:pointer;font-weight:600;font-size:.88rem}.mobile-programme dl{margin:0;padding:0 15px 15px}.mobile-programme dt{font-size:.8rem;font-weight:600;padding-top:13px;border-top:1px solid var(--border);color:var(--deep)}.mobile-programme dd{font-size:.88rem;margin:5px 0 13px;white-space:pre-line;overflow-wrap:anywhere}.mobile-programme+ .group-programme-note{font-size:.75rem}.group-programme-sheet.has-mobile-programme{border:0;background:transparent;overflow:visible}.group-programme-sheet.has-mobile-programme>table{display:none}.campus-sidebar{display:block}.campus-detail{padding:14px}.campus-key{max-height:350px}.campus-key button{min-height:48px;font-size:.85rem}.campus-tools{align-items:flex-start;font-size:.8rem}.campus-viewport{max-height:60dvh}.campus-pin{width:34px;height:34px;font-size:12px}.campus-pin.shared-first{margin-left:-18px}.campus-pin.shared-last{margin-left:18px}.campus-key{gap:7px}.campus-detail{scroll-margin-top:150px}#serverSync{bottom:calc(10px + env(safe-area-inset-bottom));font-size:12px!important;max-width:calc(100vw - 24px)!important}
}
@media(min-width:761px) and (max-width:1100px){.topbar-inner{padding:15px 20px}.container{padding:0 20px}.form-grid{gap:16px}.whole-rota-cards{gap:14px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(pointer:coarse){button,a.small-btn{touch-action:manipulation}input[type=range]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.app-navigation{scroll-behavior:auto}}
}
/* Balanced sign-in branding on every screen size. */
@media screen{
.login-card{padding:34px 32px;width:min(440px,100%)}
.login-logo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:28px}
.login-logo img{display:block;width:min(240px,100%);height:auto;max-height:100px;object-fit:contain}
.login-logo>div{width:100%}
.login-logo h1{font-size:1.65rem;font-weight:650;letter-spacing:-.035em;line-height:1.25;margin:0;color:var(--text)}
.login-logo p{font-size:.9rem;line-height:1.5;color:var(--muted);margin:9px 0 0}
.login-field{margin:17px 0}.login-submit{margin-top:10px;min-height:46px}.login-error{font-size:.85rem}
@media(max-width:600px){.login-screen{padding:24px 16px;min-height:100svh}.login-card{padding:28px 24px}.login-logo{gap:17px;margin-bottom:25px}.login-logo img{width:min(220px,100%)}.login-logo h1{font-size:1.5rem}.login-logo p{font-size:.88rem}.demo-creds{font-size:.76rem;line-height:1.6}}
}
/* Account directory: use the available width and separate each field clearly. */
@media screen{
#accountTable{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.88rem}
#accountTable th,#accountTable td{text-align:left;vertical-align:middle;padding:18px 20px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
#accountTable th{background:#f5f7fa;color:#536178;font-size:.78rem;font-weight:650;padding-top:14px;padding-bottom:14px}
#accountTable th:nth-child(1){width:17%}#accountTable th:nth-child(2){width:23%}#accountTable th:nth-child(3){width:18%}#accountTable th:nth-child(4){width:20%}#accountTable th:nth-child(5){width:22%}
#accountTable tbody tr:last-child td{border-bottom:0}
#accountTable tbody tr:hover{background:#fafbfc}
#accountTable td:last-child{white-space:normal}
#accountTable td:last-child .small-btn{margin:4px 8px 4px 0;padding:10px 16px;min-height:42px}
#accountTable td:last-child .small-btn:last-child{margin-right:0}
#manager-panel-accounts>.table-wrap{margin-top:24px!important;border:1px solid var(--border);border-radius:10px}
@media(max-width:760px){#accountTable{min-width:740px;font-size:.85rem}#accountTable th,#accountTable td{padding:16px}#accountTable th:nth-child(5){width:25%}#accountTable th:nth-child(2){width:20%}#accountTable td:last-child .small-btn{min-height:44px}}
}

@media screen{.password-field{display:grid;gap:7px;align-content:start;min-width:0}.password-field>label{font-size:.82rem;font-weight:600;color:#47566d}.password-field>input{width:100%;min-width:0;max-width:100%;font-family:ui-monospace,monospace}.password-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}.password-field>.muted,.password-tools-status{font-size:.76rem;line-height:1.55}.password-tools-status{color:var(--deep)}@media(max-width:760px){.password-field>input{font-size:16px;min-height:46px}.password-tools button{min-height:44px}}}
