@font-face{font-family:Poppins;src:url('/brand/poppins-light.woff') format('woff');font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url('/brand/poppins-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/brand/poppins-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:MonteCarlo;src:url('/brand/montecarlo.woff') format('woff');font-weight:400;font-display:swap}
:root{font-family:Poppins,system-ui,-apple-system,sans-serif;color:#2e2e2d;background:#f5f4ef;font-synthesis:none;--olive:#465033;--sage:#667652;--cream:#e7e5da;--gold:#d09b40;--ink:#2e2e2d}
*{box-sizing:border-box}body{margin:0}a{color:var(--olive);text-underline-offset:4px}a:hover{color:#765315}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a,input,select{scroll-margin-top:24px}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{background:var(--cream);border-top:11px solid var(--olive);border-bottom:1px solid #46503320;padding:0;color:var(--ink)}.header-inner{max-width:1160px;margin:auto;min-height:112px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;line-height:0;flex-shrink:0}.brand img{display:block;width:144px;max-width:100%;height:144px;object-fit:contain;mix-blend-mode:multiply}.staff-brand{text-align:right;color:var(--olive)}.staff-name{font-family:MonteCarlo,cursive;display:block;font-size:46px;font-weight:400;line-height:1.08}.staff-subtitle{display:block;font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin-top:6px}.site-header nav{max-width:1160px;margin:0 auto;padding:0 24px 16px;display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;font-size:14px;font-weight:300}.site-header nav a,.site-header nav button.link{color:var(--olive)}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.language-choice{margin-left:auto;display:inline-flex;gap:8px;align-items:center;font-size:12px}.language-choice a{font-weight:700;min-width:29px;padding:5px 3px;text-align:center}.language-choice a:hover{background:#ffffff70;text-decoration:none}.inline{display:inline;margin:0}button.link{padding:0;border:0;background:transparent;text-decoration:underline;border-radius:0;box-shadow:none;font-weight:400;min-height:24px}
main{max-width:1120px;margin:34px auto 60px;padding:0 24px;min-height:calc(100vh - 310px)}h1{font-family:MonteCarlo,cursive;font-size:58px;font-weight:400;line-height:1.12;color:var(--olive);margin:12px 0 26px}h2{font-size:21px;font-weight:400;line-height:1.45;color:var(--olive);margin:0 0 18px}h3{font-size:16px;font-weight:700;color:var(--olive);margin:26px 0 10px}p{line-height:1.75;margin:12px 0 18px}.panel{background:#fff;border:1px solid #46503317;border-radius:3px;padding:28px;margin:22px 0;box-shadow:0 5px 24px #46503306}.panel h1:first-child{margin-top:0}.muted{color:#686e5f}.small{font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.grid .panel{margin:0;background:var(--olive);color:white;border:0}.grid .muted{color:#e7e5da}.big{font-family:Poppins,system-ui,sans-serif;font-size:46px;font-weight:400;line-height:1.3;margin:14px 0 4px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.btn,button{background:var(--gold);color:#282b20;border:1px solid transparent;border-radius:1px;padding:12px 20px;font-weight:400;line-height:1.5;min-height:48px;cursor:pointer;transition:background-color .15s,box-shadow .15s;box-shadow:0 2px 0 #4650330a}.btn:hover,button:hover{background:#e5b562;box-shadow:0 3px 8px #46503315}button:disabled{opacity:.5;cursor:not-allowed}.site-header button.link:hover{background:none;box-shadow:none}label{display:block;font-size:13px;font-weight:400;margin:18px 0 7px;color:var(--olive)}input,select{max-width:100%;font-size:14px;padding:12px;border:1px solid #b5b9a8;border-radius:2px;color:var(--ink);background:#fff;line-height:1.5;min-height:46px}input:not([type='hidden']):not([type='checkbox']),select{width:min(100%,400px)}input[type='checkbox']{accent-color:var(--olive);min-height:0;width:17px;height:17px;vertical-align:middle;margin:0 8px 0 0}fieldset{border:1px solid #d9dccf;padding:4px 16px 16px;margin:18px 0}legend{font-size:13px;color:var(--olive);padding:0 5px}.department-options label{white-space:nowrap;margin-top:10px;font-size:12px}.department-options{min-width:200px}
.notice{background:#f4eddc;border-left:3px solid var(--gold);padding:14px 18px;border-radius:0;font-size:13px;line-height:1.7}.error{color:#922c28}.success{color:var(--olive)}.pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:#edf0e6;border-radius:2px;color:var(--olive);font-size:14px;line-height:1.5}.pill:before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:var(--sage)}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:15px 11px;border-bottom:1px solid #e6e8de;vertical-align:top}th{font-weight:400;color:var(--olive);font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}tbody tr:hover{background:#f8f9f4}td button{font-size:12px;padding:8px 12px;min-height:36px}td p{margin:9px 0}code{word-break:break-all}
.auth-page{max-width:560px;margin:52px auto 70px}.auth-page .panel{border-top:3px solid var(--gold);padding:36px}.auth-page h1{font-size:66px;text-align:center;margin-bottom:18px}.auth-page .panel>p:first-of-type{text-align:center;font-size:13px;color:#68705d}.auth-page input{width:100%!important}.auth-page form>p:last-child button{width:100%;margin-top:12px}.clock-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.clock-page>.panel{margin:0}.clock-page>.notice{grid-column:1/-1}.clock-page .panel:first-of-type h1{font-size:52px}.clock-page form[action='/employee/clock'] button{width:100%;text-align:left;padding:16px 20px}.clock-page form[action='/employee/clock'] p{margin:10px 0}.clock-page form:has(input[name='action'][value='out']) button{background:var(--olive);color:white}.clock-page form:has(input[name='action'][value='out']) button:hover{background:var(--sage)}.clock-page h2{margin-top:26px;font-size:17px}.clock-page section h2{font-family:MonteCarlo,cursive;font-size:37px;line-height:1.25;margin-top:0;margin-bottom:20px}.instructions{margin:12px 0 24px;padding-left:23px}.instructions li{padding:8px 0 12px 6px;line-height:1.7;font-size:13px}.instructions li::marker{color:var(--gold);font-weight:700}.instructions strong{font-weight:400;color:var(--olive);font-size:15px}.site-footer{background:var(--olive);color:#e7e5da;padding:20px 24px;text-align:center;font-weight:300;font-size:11px;letter-spacing:.04em}.site-footer strong{font-family:MonteCarlo,cursive;font-size:26px;font-weight:400;margin-right:18px;color:white}
@media(max-width:720px){.header-inner{min-height:104px;padding:20px 18px;gap:16px}.brand img{width:126px;height:126px}.staff-name{font-size:34px}.staff-subtitle{font-size:9px;letter-spacing:.1em}.site-header nav{padding:0 18px 15px;gap:10px 17px;font-size:12px}main{padding:0 16px;margin-top:24px;margin-bottom:34px}.panel{padding:22px;margin:18px 0}h1{font-size:49px}.clock-page{display:block}.clock-page>.panel{margin:18px 0}.clock-page .panel:first-of-type h1{font-size:46px}.auth-page{margin-top:32px}.auth-page .panel{padding:25px}.auth-page h1{font-size:58px}.big{font-size:38px}.grid{gap:12px}.grid .panel{padding:20px}.site-footer strong{display:block;margin:0 0 5px}.language-choice{gap:3px}table{font-size:12px}th,td{padding:13px 9px}}
@media(max-width:380px){.brand img{width:112px;height:112px}.staff-name{font-size:30px}.staff-subtitle{font-size:8px}.header-inner{gap:10px}.site-header nav{gap:10px 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

button.delete-shift{background:#fff;color:#922c28;border-color:#b75f59}button.delete-shift:hover{background:#f8eae7}

/* Balanced staff header: title left, supplied logo right. */
.header-inner{min-height:144px;padding:14px 24px;gap:28px}.header-inner .staff-brand{order:1;text-align:left}.header-inner .brand{order:2;margin-left:auto}.header-inner .brand img{width:122px;height:122px}.staff-name{font-size:47px}.staff-subtitle{letter-spacing:.12em;font-size:10px}.site-header nav{gap:12px 20px}.panel form+form{margin-top:10px}.panel button+button{margin-top:6px}.roster-own{background:#edf0e6}
@media(max-width:720px){.header-inner{min-height:124px;padding:12px 18px;gap:18px}.header-inner .brand img{width:100px;height:100px}.staff-name{font-size:33px;max-width:210px}.staff-subtitle{font-size:9px;letter-spacing:.06em}.site-header nav{gap:10px 14px}}
@media(max-width:380px){.staff-name{font-size:29px}.header-inner .brand img{width:88px;height:88px}.header-inner{gap:12px}}

/* Weekly schedule builder */
main:has(.schedule-builder){max-width:1640px;padding:0 28px}.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.schedule-heading h1{margin:4px 0 0;font-size:52px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#7b806e}.schedule-badge{font-size:12px;border:1px solid #d8ddcf;border-radius:20px;padding:9px 15px;background:#fff;color:var(--olive)}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #d1d7c8;border-bottom:1px solid #d1d7c8;padding:20px 0}.week-picker,.week-picker form,.week-actions{display:flex;gap:8px;align-items:center}.week-picker input{width:160px!important}.square-button{display:grid;place-items:center;border:1px solid #aeb79e;background:#fff;border-radius:6px;width:44px;min-height:46px;text-decoration:none;font-size:28px;line-height:1}.today-link{font-size:11px;margin:0 8px}.week-actions button{border-radius:5px}.week-actions details{position:relative}.week-actions summary{cursor:pointer;border:1px solid #aeb79e;padding:13px 16px;background:white;border-radius:5px;font-size:12px}.week-menu{position:absolute;right:0;top:54px;width:300px;background:white;box-shadow:0 14px 45px #26311728;z-index:8;border:1px solid #d5dacb;border-radius:8px;padding:20px}.week-menu form+form{border-top:1px solid #e0e4d8;margin-top:22px;padding-top:8px}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;margin-top:24px}.schedule-main{min-width:0}.schedule-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:15px;color:var(--olive)}.schedule-caption span{font-size:10px;color:#707866}.schedule-sidebar{border-left:1px solid #d4d9cc;padding-left:24px}.schedule-sidebar h2{font-size:22px}.schedule-sidebar label{font-size:11px}.schedule-sidebar select{width:100%;font-size:12px}.schedule-sidebar button{width:100%}.schedule-sidebar hr{border:0;border-top:1px solid #d4d9cc}.schedule-sidebar>a{font-size:12px}.schedule-scroll{overflow:auto;max-height:720px;border:1px solid #d6ddcd;border-radius:9px;background:#f2f3ee;isolation:isolate}.schedule-grid{min-width:1060px;border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-grid th,.schedule-grid td{padding:9px 7px;border-right:1px solid #dde1d5;border-bottom:1px solid #dde1d5}.schedule-grid thead th{position:sticky;top:0;z-index:3;background:#f5f6f0;height:65px;font-size:13px;text-transform:none;letter-spacing:0;text-align:center;font-weight:700}.schedule-grid thead th span{display:block;font-size:11px;font-weight:400;margin-top:3px}.schedule-grid .person-col{position:sticky;left:0;width:178px;min-width:178px;background:white;text-align:left;z-index:2;padding:18px 12px}.schedule-grid thead .person-col{z-index:5;background:#f5f6f0}.schedule-grid .hours-col{width:66px;text-align:center;font-size:13px;font-weight:700;color:#6d795f;background:#f6f7f1}.person-name{display:block;font-size:12px;font-weight:700;overflow-wrap:anywhere}.person-meta{display:block;font-size:9px;color:#818674;font-weight:400;margin-top:6px;line-height:1.5;letter-spacing:0;text-transform:none}.schedule-grid tbody tr:hover{background:transparent}.schedule-grid .day-cell{height:94px;vertical-align:top}.schedule-grid .today{background:#e8eddf}.schedule-grid thead .today{background:#e0e7d4;color:#35432b}.shift-card{display:block;text-decoration:none;border:1px solid #becaaa;border-left:3px solid #6c8053;border-radius:6px;background:white;padding:8px 7px;margin-bottom:7px;font-size:10px;line-height:1.5;color:#465b35;box-shadow:0 2px 3px #38482a07;overflow-wrap:anywhere}.shift-card strong{font-size:11px;font-weight:700;display:block}.shift-card span{display:block;font-variant-numeric:tabular-nums}.shift-card small{font-size:8px;color:#79816e}.shift-card .shift-note{font-size:9px;color:#606a54;margin-top:4px}.shift-card.housekeeping{border-left-color:#b38533;color:#8e631f;background:#fffdf8}.shift-card.draft{border-style:dashed}.shift-card:hover{box-shadow:0 3px 10px #38482a25;outline:1px solid #859675}.add-shift{display:block;border:1px solid #ccd3c2;border-radius:6px;background:#ffffffa0;color:#7a8969;font-size:25px;font-weight:300;text-decoration:none;text-align:center;line-height:36px;min-height:36px}.add-shift:hover{background:#e4eadb;color:var(--olive)}.schedule-grid tfoot th,.schedule-grid tfoot td{position:sticky;bottom:0;background:white;z-index:3;font-weight:700;vertical-align:middle;height:58px;font-size:12px}.schedule-grid tfoot .person-col{z-index:5}.schedule-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#7b836f;margin:14px 0}.schedule-legend span:before{content:'';display:inline-block;width:8px;height:8px;background:#dce1d4;border-radius:2px;margin-right:6px}.schedule-legend .legend-maintenance:before{background:#6c8053}.schedule-legend .legend-housekeeping:before{background:#b38533}.leave-card{padding:8px 5px;background:#e0e3db;border-radius:5px;font-size:10px;text-align:center;margin-bottom:6px;color:#5f6855}.leave-card.pending{border:1px dashed #b9b095;background:#f3eddd}.editor-heading{display:flex;justify-content:space-between;gap:16px}.editor-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.editor-fields input,.editor-fields select{width:100%!important}.shift-editor{scroll-margin-top:20px;border-top:3px solid var(--gold)}.shift-editor:target{box-shadow:0 5px 35px #46503320}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-sidebar{border-left:0;border-top:1px solid #d4d9cc;padding:18px 0 0}.schedule-sidebar form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end}.schedule-sidebar label{grid-row:1}.schedule-sidebar select{grid-row:2}.schedule-sidebar form p{grid-column:1/-1;max-width:220px;margin:4px 0}.schedule-sidebar hr,.schedule-sidebar .muted{display:none}.schedule-sidebar>a{display:block;margin-top:14px}.schedule-sidebar h2{font-size:17px;margin:0}.schedule-caption span{display:none}}
@media(max-width:720px){main:has(.schedule-builder){padding:0 14px}.schedule-heading{align-items:flex-start}.schedule-heading h1{font-size:43px}.schedule-badge{font-size:9px;padding:7px 9px;white-space:nowrap}.eyebrow{font-size:8px}.schedule-toolbar{padding:14px 0}.week-picker{flex-wrap:wrap}.week-picker input{width:138px!important}.week-picker button{padding:10px}.today-link{margin:0 4px}.week-actions{width:100%;justify-content:space-between}.week-menu{right:0;width:min(290px,85vw)}.schedule-grid .person-col{width:135px;min-width:135px}.schedule-grid{min-width:990px}.schedule-scroll{max-height:65vh}.editor-fields{grid-template-columns:1fr 1fr;gap:8px 12px}.schedule-sidebar form{grid-template-columns:1fr 1fr}.schedule-sidebar label{grid-row:auto;margin-bottom:0}.schedule-sidebar select{grid-row:auto}.schedule-sidebar label:nth-of-type(1){grid-column:1;grid-row:1}.schedule-sidebar label:nth-of-type(2){grid-column:2;grid-row:1}.schedule-sidebar select:nth-of-type(1),.schedule-sidebar select:nth-of-type(2){grid-row:2}.schedule-sidebar label:nth-of-type(3),.schedule-sidebar label:nth-of-type(4){grid-row:3}.schedule-sidebar select:nth-of-type(3),.schedule-sidebar select:nth-of-type(4){grid-row:4}.schedule-grid thead th{height:57px}}

/* Functional portal: compact authentication and accessible daily workflows. */
h1,h2,h3{font-family:Poppins,system-ui,sans-serif;font-weight:400}h1{font-size:30px;line-height:1.3}h2{font-size:20px}.staff-name{font-family:MonteCarlo,cursive}.language-choice{gap:5px}.language-choice a{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #a6b095;border-radius:5px;font-size:12px;text-decoration:none}.language-choice a.active{color:white;background:var(--olive);border-color:var(--olive);font-weight:700}.login-layout .header-inner{min-height:100px;padding:6px 22px;max-width:600px}.login-layout .header-inner .brand img{width:100px;height:100px;mix-blend-mode:normal;border-radius:6px}.login-layout .staff-name{font-size:36px}.login-layout .staff-subtitle{font-size:9px}.login-layout .site-header{border-top-width:5px}.login-layout nav{justify-content:center;max-width:600px;padding:0 18px 8px}.login-layout .language-choice{margin:0}.login-layout .auth-page{margin:14px auto 30px;min-height:0;padding:0 18px}.login-layout .login-card{padding:22px;margin:0}.login-layout .login-card h1{font-family:Poppins,system-ui,sans-serif;font-size:27px;line-height:1.3;margin:0 0 8px}.login-layout .login-card>p{font-size:12px;margin:7px 0 14px;text-align:left;line-height:1.6}.login-card label{margin:12px 0 5px}.password-control{display:flex;align-items:stretch;width:100%;gap:0}.password-control input{min-width:0;flex:1;border-radius:4px 0 0 4px}.login-card .password-control input{width:calc(100% - 82px)!important}.toggle-password{flex:none;min-width:82px;padding:8px;border:1px solid #b5b9a8;border-left:0;background:#f0f2e9;font-size:12px;border-radius:0 4px 4px 0}.login-layout .login-card form>p:last-child button{margin-top:2px}.forgot-password{font-size:12px}.forgot-password summary{cursor:pointer;min-height:40px;display:flex;align-items:center;text-decoration:underline}.login-layout .site-footer{padding:12px 18px}.login-layout .site-footer strong{font-size:20px}.login-card .notice{padding:9px 12px}.primary{background:var(--olive);color:white;width:100%;border-radius:5px;font-size:16px;min-height:52px}.primary:hover{background:#63754c}.clock-page:has(.staff-home){display:block}.staff-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.staff-home>.panel{margin:0}.staff-home .clock-card h1{font-family:Poppins,system-ui,sans-serif;font-size:27px}.clock-card details summary{padding:10px 0;font-size:13px}.clock-card select{width:100%!important}.clock-card p{margin:10px 0}.status{display:inline-block;border-radius:16px;font-size:12px;padding:7px 12px;background:#eceee7;color:var(--olive)}.status.running,.status.approved{background:#dcead7;color:#37552b}.status.pending{background:#f5ecd1;color:#7b5a22}.status.correction{background:#fae3dd;color:#913e30}.hour-card dl{display:grid;grid-template-columns:1fr 1.4fr;gap:9px 16px;font-size:13px}.hour-card dt{color:#747c66}.hour-card dd{margin:0}.hour-card form{margin:14px 0}.hour-card details{margin-top:20px}.hour-card .small{overflow-wrap:anywhere}textarea{display:block;width:100%;min-height:110px;max-width:700px;font:inherit;font-size:14px;border:1px solid #b5b9a8;border-radius:4px;padding:12px;line-height:1.6}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:14px}.instruction-body{font-size:16px}.attachments{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.attachments img{width:auto;max-width:240px;max-height:240px;border-radius:6px;object-fit:contain}.attachments a{font-size:13px}.comment{padding:14px;background:#f4f5f0;border-left:3px solid #98a584;margin:14px 0;font-size:12px}.badge{display:inline-grid;place-items:center;border-radius:12px;background:var(--gold);color:#3a3e30;min-width:25px;min-height:25px;padding:2px 7px;font-size:12px}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.action-grid>a{display:flex;flex-direction:column;border:1px solid #d7decb;border-radius:7px;padding:16px;text-decoration:none;color:var(--olive);background:#f7f8f2}.action-grid strong{font-size:25px}.action-grid span{font-size:12px;margin-top:6px}.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.nav-group summary:after{content:'⌄';font-size:13px}.nav-group>div{position:absolute;top:44px;left:0;min-width:230px;padding:10px;background:#fff;border:1px solid #d8ddcf;border-radius:8px;box-shadow:0 8px 30px #26311720;z-index:20}.nav-group>div a{display:block;padding:11px 12px;min-height:43px}.nav-group>div a:hover{background:#f0f3e8}.nav-home{font-weight:700}.site-header nav{gap:5px 18px}.staff-schedules{max-width:780px;margin:auto}.staff-week-nav{display:flex;align-items:center;gap:8px;margin:16px 0}.staff-week-nav form{display:flex;align-items:center;gap:6px;flex:1}.staff-week-nav input{min-width:0;flex:1;width:100%!important}.staff-week-nav>a{border:1px solid #9ca98b;border-radius:6px;width:44px;min-height:46px;display:grid;place-items:center;text-decoration:none;font-size:26px;background:white}.schedule-tabs{display:flex;border:1px solid var(--olive);border-radius:7px;overflow:hidden}.schedule-tabs a{flex:1;text-align:center;text-decoration:none;padding:13px 8px;color:var(--olive);background:#fff;font-size:14px}.schedule-tabs a.active{background:var(--olive);color:white}.schedule-department{display:flex;gap:8px;margin:12px 0 24px}.schedule-department select{flex:1;width:100%!important}.staff-day{background:white;border:1px solid #c9d1bd;border-radius:8px;margin:15px 0;overflow:hidden}.staff-day h2{display:flex;align-items:center;gap:9px;margin:0;padding:13px 17px;border-bottom:1px solid #e1e5da;font-size:14px}.staff-day h2 strong{font-size:28px;font-weight:700}.staff-day h2 span{margin-left:auto;font-size:11px;color:#7b846e}.staff-shift{border-left:4px solid #6b8054;margin:14px 17px;padding:0 12px;font-size:14px}.staff-shift.housekeeping{border-left-color:var(--gold)}.staff-shift strong,.staff-shift span,.staff-shift small{display:block;margin:4px 0}.staff-shift span{font-weight:700}.staff-shift small{color:#808675}.staff-shift p{font-size:12px;margin:5px 0}.staff-shift form button{background:#fff;border:1px solid #b9c3aa;border-radius:4px;min-height:42px;font-size:12px;padding:7px 12px}.availability-calendar{table-layout:fixed;border-collapse:collapse}.availability-calendar th{text-transform:none;letter-spacing:0;font-size:12px;padding:9px 0;text-align:center}.availability-calendar td{padding:7px 4px;height:68px;border:1px solid #d9dfcf;text-align:center;font-size:12px}.availability-calendar .outside{color:#b8bdaf;background:#f8f9f5}.availability-calendar .approved{background:#e5eedc}.availability-calendar .pending{background:#f6efd9}.availability-calendar small{display:block;font-size:8px;overflow-wrap:anywhere}.availability .staff-week-nav{justify-content:space-between}
@media(max-width:720px){.staff-home{display:block}.staff-home>.panel{margin:14px 0}.portal-layout .header-inner{min-height:100px}.portal-layout .header-inner .brand img{width:84px;height:84px}.portal-layout .staff-name{font-size:30px}.site-header nav{font-size:12px;gap:4px 14px}.nav-group>div{left:auto;right:0;max-width:85vw}.site-header nav>.language-choice{width:100%;justify-content:flex-end}.login-layout .header-inner{padding:4px 18px;gap:12px}.login-layout .staff-name{font-size:31px;max-width:220px}.login-layout .header-inner .brand img{width:90px;height:90px}.login-layout .auth-page{margin-top:12px}.login-layout .login-card{padding:18px 20px}.login-layout .site-header nav>.language-choice{width:auto}.login-layout .site-footer{font-size:9px}.login-layout .site-footer strong{display:inline;margin-right:8px}.action-grid{grid-template-columns:1fr 1fr}.availability{padding:18px 12px}.staff-week-nav button{font-size:12px;padding:10px}.staff-schedules h1{font-size:27px}.staff-shift{margin:14px}.instruction-body{font-size:15px}.attachments img{max-width:100%}.hour-card dl{font-size:12px}.password-control input,.login-card input{font-size:16px}}
#staff-service-dialog{width:min(92vw,520px);max-height:85vh;overflow:auto;padding:24px;border:1px solid #bac5ad;border-radius:12px}#staff-service-dialog::backdrop{background:#27351b80}#staff-service-options{display:grid;gap:10px;margin:18px 0}#staff-service-options button{min-height:48px;border:1px solid #b8c4a7;border-radius:7px;background:#f1f3e9;color:#35432d}#staff-service-options .suggested{border:2px solid #cd9b3b;background:#fbf5e4}#staff-service-keep{min-height:44px;width:100%}
/* Shared action palette and compact Staff header. */
.btn,button{background:#35452d;color:#fff}.btn:hover,button:hover{background:#263720;color:#fff}.btn:disabled,button:disabled{opacity:.55}.btn.primary,button.primary{background:#35452d;color:#fff}
.portal-layout .site-header{border-top-width:4px}.portal-layout .header-inner{min-height:86px;padding:8px 24px}.portal-layout .header-inner .brand img{width:74px;height:74px}.portal-layout .staff-name{font-size:37px}.portal-layout .staff-subtitle{font-size:9px;margin-top:3px}.portal-layout .site-header nav{padding-bottom:8px}.portal-layout .clock-card h1{font-size:25px!important;line-height:1.35;overflow-wrap:anywhere;margin:0 0 14px}.shift-card.restaurant-team,.staff-shift.restaurant-team{border-left-color:#4c7970}.legend-restaurant:before{background:#4c7970}
@media(max-width:720px){.portal-layout .header-inner{min-height:66px;padding:6px 14px;gap:10px}.portal-layout .header-inner .brand img{width:54px;height:54px}.portal-layout .staff-name{font-size:clamp(23px,6.2vw,28px);line-height:1.05}.portal-layout .staff-subtitle{font-size:8px;letter-spacing:.08em}.portal-layout .site-header nav{padding:0 14px 6px;gap:2px 12px;font-size:12px}.portal-layout .site-header nav>.language-choice{width:auto;margin-left:auto;gap:3px}.portal-layout .language-choice a{min-width:36px;min-height:36px;padding:4px;font-size:11px}.portal-layout .clock-card h1{font-size:23px!important;line-height:1.3}.portal-layout .staff-home>.clock-card{padding:18px;margin-top:8px}.portal-layout .clock-page{margin-top:10px}}
.portal-layout .push-welcome{padding:10px 12px;font-size:12px;line-height:1.5;margin:12px 0}.portal-layout .push-welcome strong{font-size:13px}.portal-layout .push-welcome p{font-size:11px;line-height:1.5;margin:5px 0 8px}.portal-layout .push-welcome .btn{font-size:12px;min-height:38px;padding:7px 12px;display:inline-block}
@media(max-width:720px){.site-header .nav-group>div{position:fixed;left:14px;right:14px;top:140px;min-width:0;max-width:none;width:auto;max-height:calc(100dvh - 165px);overflow:auto;z-index:100}.site-header nav{position:relative;z-index:30}.site-header .nav-group>div a{white-space:normal;overflow-wrap:anywhere}}
/* Explicit field colors keep native controls readable. */
body input,body select,body textarea{color:#172015;background-color:#fff;-webkit-text-fill-color:currentColor}
