/* Company identity: bronze, architectural stone and the original company mark. */
:root{--navy:#342c23;--navy2:#594936;--teal:#80613b;--teal-light:#f1e9d9;--bronze:#80613b;--gold:#b99a60;--canvas:#f6f3eb;--ink:#342c23;--muted:#71685c;--line:#e6e0d4;--amber:#90651f;--red:#ad4540;--green:#35704f;--radius:16px;font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-size:15px;line-height:1.6}
[hidden]{display:none!important}
h1{font-size:29px;letter-spacing:-.6px}h2{font-size:18px}h3{font-size:16px}small{font-size:13px}
button,a,input,select,textarea,summary{outline-offset:4px;-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--bronze)}button:disabled{cursor:default}
.shell{grid-template-columns:252px minmax(0,1fr)}
.sidebar{width:252px;padding:25px 16px 16px;background:#fcfaf5;color:var(--ink);border-inline-end:1px solid var(--line);overflow-y:auto}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.sidebar .brand{padding:0 5px 25px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.brand-emblem{display:block;position:relative;isolation:isolate;width:62px;height:54px;flex:0 0 auto;overflow:hidden;border-radius:11px;border:1px solid #c8b185;background:#dfcc96;direction:ltr}
.brand-emblem img{position:absolute;width:348%;height:auto;max-width:none;left:50%;top:-36%;transform:translateX(-50%);display:block}
.brand-wordmark{min-width:0}.brand-wordmark>b,.brand-name{font:700 20px/1.3 'Segoe UI',Arial,sans-serif;letter-spacing:-.7px;direction:ltr;display:block}.brand-wordmark>small{display:block;margin-top:5px;font-size:12px;color:var(--muted);line-height:1.7}
.brand-compact .brand-emblem{width:36px;height:32px;border-radius:8px}.brand-compact .brand-wordmark>b{font-size:16px}.brand-compact .brand-wordmark>small{display:none}
.brand-mark{background:var(--bronze);clip-path:none;border-radius:12px}
.sidebar .brand small{color:var(--muted);font-size:12px}.nav{flex:1}.nav-caption,.nav-group-label{font-size:12px;font-weight:600;color:#83745f;padding:17px 13px 7px}.nav-group{display:grid;gap:4px}
.nav button{color:#655c4f;padding:12px 13px;min-height:46px;font-size:14px;line-height:1.5;border-radius:10px;gap:11px}.nav button:hover{background:#f1eadc;color:var(--ink)}.nav button.active{background:var(--bronze);color:#fff;font-weight:600}
.nav .count{font-size:12px;background:#e7ddcb;color:#594328;border-radius:6px}.nav button.active .count{background:#fff2;color:#fff}
.sidebar-bottom{margin-top:25px;border-color:var(--line);padding-top:14px}.workspace-label{color:var(--muted);font-size:12px;padding:0 7px 12px}.workspace-label b{color:var(--ink);font-weight:600;font-size:13px}.status-dot{background:var(--green)}
.user-pill{background:#f1eadc;border-radius:12px;padding:11px}.avatar{height:40px;width:40px;border-radius:12px;background:#f2eadb;color:#73552e;font-weight:650}.user-pill .avatar{background:#fffaf0;color:#73552e}.user-pill small{color:var(--muted);font-size:12px}.user-pill button{color:var(--muted);min-width:36px;min-height:40px;display:grid;place-items:center}
.topbar{height:78px;background:#ffffffef;padding-inline:34px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.breadcrumb{font-size:14px;min-width:0}.breadcrumb strong{font-weight:600}.breadcrumb .brand-compact{display:none}.top-actions{gap:13px;flex-shrink:0}.time-display{font-size:12px}
.icon-btn{height:44px;width:44px;border-radius:11px;flex-shrink:0}.lang-btn{font-size:14px;padding:8px 12px;border-radius:10px;min-height:44px}.notification-dot{background:#ad6b30;width:7px;height:7px;top:8px;right:9px}
.content{padding:30px 34px 42px;max-width:1600px}.page-heading p{font-size:14px;max-width:620px}.heading-actions{flex-wrap:wrap}.button{min-height:44px;font-size:14px;font-weight:500;border-radius:10px;padding:11px 16px}.button:hover{border-color:#b59b70;background:#fbf8f1}.button.primary{background:var(--bronze);border-color:var(--bronze);font-weight:600;box-shadow:0 2px 1px #4937210c}.button.primary:hover{background:#6c5030;border-color:#6c5030}.button.small{padding:8px 12px;min-height:40px;font-size:13px}.button.danger{border-color:#e8c6c2}.flex{min-width:0}
.welcome-strip{background:#efe7d5;border-color:#ded0af;border-radius:12px}.welcome-strip h3{color:#674c26}.welcome-strip p{font-size:13px;color:#776747}.welcome-strip .strip-icon{color:var(--bronze);background:#fffcf6;border-radius:12px}
/* Workday panel: three clear destinations before the financial detail. */
.workday-panel{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:25px;overflow:hidden;box-shadow:0 2px 10px #6d4d2010}
.workday-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px 20px;border-bottom:1px solid #efe9dc}.workday-intro h2{font-size:23px;letter-spacing:-.3px}.workday-intro p{font-size:14px;color:var(--muted);margin-top:4px}.workday-date{color:var(--bronze);font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;margin-bottom:5px}.workday-brand{font-size:12px;color:#8b7859}
.workday-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 23px}.workday-action{display:flex;align-items:center;gap:13px;padding:17px 15px;text-align:start;border:1px solid #e7ddca;background:#fcfaf5;border-radius:12px;color:var(--ink);min-height:90px;min-width:0}.workday-action:hover{background:#f1e9d8;border-color:#bea470}.workday-action>svg:last-child{margin-inline-start:auto;width:16px;color:#91764e}.workday-action-icon{color:var(--bronze);background:#eee4d0;border-radius:11px;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.workday-action b{font-size:16px;font-weight:650;display:block}.workday-action small{font-size:12px;display:block;margin-top:3px;line-height:1.6}
.workday-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding:0 25px 22px}.workday-progress-item{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center}.workday-progress-item>strong{font-size:17px;font-weight:650;color:var(--ink);direction:ltr;unicode-bidi:isolate}.workday-progress-item>span{font-size:13px;color:var(--muted)}.workday-progress-item>progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:4px;overflow:hidden;appearance:none;margin-top:3px}progress::-webkit-progress-bar{background:#eee7d9;border-radius:5px}progress::-webkit-progress-value{background:var(--gold);border-radius:5px}progress::-moz-progress-bar{background:var(--gold)}.workday-progress-item>small{grid-column:1/-1;font-size:12px}.workday-history-note{font-size:13px;color:var(--muted);padding:0 25px 18px}
.metric{border-radius:14px;padding:20px}.metric-label{font-size:13px}.metric-icon{background:#f4eee2;color:var(--bronze);border-radius:10px}.metric-value{margin:16px 0 10px}.metric-value strong{font-size:31px;letter-spacing:-.8px}.metric-value span{font-size:12px}.metric small{font-size:12px}.metric small.positive{color:var(--green)}
.dashboard-grid{gap:22px;margin-bottom:25px}.panel-head{padding:22px 24px}.panel-head p{font-size:12px}.panel-body{padding:0 24px 24px}.chart{height:225px}.chart text{font-size:11px;fill:#786e5e}.chart line{stroke:#e9e3d7}.chart-empty{height:215px;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#eee8dc 50px,transparent 51px)}.chart-empty svg{color:#b29b75}.chart-empty strong{font-size:14px;font-weight:500}.legend{font-size:12px;flex-wrap:wrap}.legend i{width:7px;height:7px}.donut-center small{font-size:12px}.breakdown>div{font-size:13px}.breakdown i{width:8px;height:8px;border-radius:3px}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}.data-table{font-size:14px}.data-table th{font-size:12px;font-weight:600;background:#faf8f2;padding-block:13px}.data-table td{border-bottom-color:#f0ebe0}.data-table tbody tr:hover{background:#fdfbf6}.person{display:flex;align-items:center;gap:11px;min-width:0}.person small,.data-table .person small{font-size:12px;display:block}.person>div{min-width:0}.person .text-link{font-size:14px;font-weight:600}
.badge{padding:5px 9px;font-size:12px;border-radius:7px;background:#f0eade;color:#756346}.badge.green{color:#2f6749;background:#e9f3eb}.badge.amber{color:#865d1e;background:#fbf0db}.badge.red{color:#a43f3c;background:#f9e9e6}.badge.blue{color:#5e6582;background:#efeff6}.empty .empty-icon{color:#967546;background:#f5eddd;border-radius:15px}.empty h3{color:#655744;font-size:16px}.empty p{font-size:14px;max-width:400px}
.activity-icon{height:36px;width:36px;background:#f4ecdc;color:var(--bronze);border-radius:10px}.activity-item{border-bottom-color:#eee8dc}.activity-item p{font-size:13px}.activity-item small{font-size:11px}.footer-note{color:#867b6b;font-size:11px}
.field{gap:7px;margin-bottom:18px;min-width:0}.field label{font-size:14px;font-weight:500;color:#5e5242}.field small{font-size:12px}.field input,.field select,.field textarea,input.filter,select.filter,.filters input,.filters select{border-color:#d9cebb;border-radius:9px;min-height:46px;padding:10px 12px;font-size:15px;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze)}.field input[readonly]{background:#f5f1e8;color:#73664e}.field textarea{min-height:90px}.field input::placeholder,.field textarea::placeholder,input.filter::placeholder{color:#8d8373;opacity:1}
.form-grid{gap:0 20px;min-width:0}.form-error{background:#fbefec;color:#a13d36;border-color:#e8c7be;font-size:14px;border-radius:10px;padding:13px 15px}.form-note{background:#f6f0e2;color:#73603e;font-size:13px;padding:14px 16px;border-radius:11px}.checkbox{gap:9px;font-size:14px}.checkbox input{width:18px;height:18px;flex-shrink:0;accent-color:var(--bronze)}
.tabs{max-width:100%}.tabs button{font-size:14px;min-height:48px;border-bottom-width:3px}.tabs button.active{font-weight:600;color:var(--bronze);border-color:var(--bronze)}
/* Attendance: native, keyboard-accessible status controls. */
.attendance-panel{overflow:visible}.attendance-filters{border-radius:var(--radius) var(--radius) 0 0;background:#fff;justify-content:space-between}.day-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.day-navigation input{max-width:170px;min-height:46px}.day-navigation .icon-btn{width:42px;height:46px}.day-navigation .next-day svg{transform:rotate(180deg)}
.attendance-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 23px;background:#fcfaf5;border-bottom:1px solid var(--line);flex-wrap:wrap}.attendance-progress{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted);flex-wrap:wrap}.attendance-progress strong{color:var(--ink);font-size:16px}.attendance-search-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.attendance-search-actions input{width:210px;min-width:130px;min-height:44px;background:#fff;border:1px solid #d9cebb;border-radius:9px;padding:9px 12px;font-size:14px;color:var(--ink)}
.attendance-row{grid-template-columns:minmax(145px,1fr) minmax(320px,1.8fr) minmax(155px,.9fr);gap:16px;padding:22px 23px;background:white}.attendance-row>.person{align-self:center;font-weight:600}.attendance-row>.attendance-note{grid-column:2/-1;min-height:42px;width:100%;background:#fdfbf6}.attendance-row .person small{font-size:12px}
.attendance-status{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.status-choice{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:0;font-size:13px}.status-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.status-choice>span{min-height:47px;width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 5px;border:1px solid #dfd7c8;border-radius:9px;color:#756b5b;background:white;font-weight:500;white-space:nowrap}.status-choice svg{width:15px;height:15px}.status-choice:hover>span{background:#f8f4eb;border-color:#baa37a}.status-choice:has(input:focus-visible)>span{outline:3px solid var(--bronze);outline-offset:3px}.status-choice:has(input:checked)>span{border-color:var(--bronze);background:#eee4d2;color:#694e2a;font-weight:650}.status-choice[data-status=present]:has(input:checked)>span{border-color:#4c8561;background:#eaf5ec;color:#2c633f}.status-choice[data-status=absent]:has(input:checked)>span{border-color:#bb6460;background:#fae9e6;color:#a03c38}.status-choice[data-status=paid_leave]:has(input:checked)>span{border-color:#9b804a;background:#f7f0df;color:#7d602b}
.hours{min-width:0;font-size:13px}.hours summary{font-size:13px;line-height:1.8;color:var(--muted)}.hours summary small{font-size:12px}.hours details[open] summary{color:var(--bronze);margin-bottom:9px}.hours-fields,.hours .flex{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.hours-fields label,.attendance-row .hours label{font-size:12px;font-weight:400}.hours input,.attendance-row .hours input{display:block;width:72px;min-height:44px;margin-top:5px;border:1px solid #d9cebb;padding:8px;border-radius:8px;color:var(--ink)}.hours input:disabled{background:#f3f0e9;color:#958a76}
.attendance-no-results{padding:25px;text-align:center;font-size:14px;color:var(--muted)}.attendance-bottom{padding:18px 23px;background:#fcfaf6;position:sticky;bottom:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);z-index:12}.attendance-bottom>div{display:grid;gap:3px}.attendance-bottom strong{font-size:14px;font-weight:600}.attendance-bottom small{font-size:13px;max-width:none}.attendance-bottom .button{min-width:160px;min-height:48px}
.details-grid dt{font-size:12px}.details-grid dd{font-size:14px}.notice{background:#fcf3df;color:#7c5c25;border-color:#e8d7b0;border-radius:12px;font-size:14px}.notice.info{background:#f3efe3;color:#75603b;border-color:#e1d5ba}.audit-item{font-size:14px;padding:17px 23px}.audit-item.unread{background:#fbf5e8}.audit-item h3{font-size:14px;font-weight:500}.audit-item p{font-size:13px}.audit-item small{font-size:12px}
/* Authentic artwork, rather than decorative effects, carries the welcome screen. */
.auth-screen{grid-template-columns:1.08fr 1fr}.auth-story{background:#f0e6cb;color:var(--ink);padding:42px 48px;align-items:flex-start;justify-content:center}.auth-brand{margin-bottom:28px}.auth-story .brand-wordmark>b{font-size:23px}.auth-story .brand-wordmark>small{color:#78613b;font-size:13px}.brand-image-frame{width:100%;max-width:620px;align-self:center;line-height:0;border-radius:18px;overflow:hidden;border:1px solid #c7ad74;box-shadow:0 12px 40px #634b1b13}.auth-logo{display:block;width:100%;height:auto;aspect-ratio:1408/768;object-fit:contain}.auth-story-rule{width:54px;height:3px;background:#ab864a;margin:30px 0 19px;border:0}.auth-story h1{font-size:29px;line-height:1.7;margin-top:0;max-width:450px;color:#4e3d27}.auth-story p{font-size:15px;color:#796747;line-height:2;max-width:470px;margin-top:10px}.auth-story .auth-foot{font-size:12px;margin-top:30px;color:#7b6846}.auth-art{display:none}
.auth-form-area{padding:55px}.auth-lang{top:27px;left:28px}.auth-card{max-width:420px}.auth-card h2{font-size:28px}.auth-card>p{font-size:15px;margin-bottom:29px}.auth-card .button{min-height:49px;font-size:15px}.auth-card .security-note{font-size:12px}.auth-card:before{display:none}.boot{color:var(--bronze)}.boot .brand-emblem{width:94px;height:81px;border-radius:17px}
#toast{background:#4e3c27;font-size:14px;border-radius:11px;box-shadow:0 8px 30px #5c411c26}#toast.error{background:#a34238}
dialog{border-radius:18px;width:min(640px,94vw);max-height:90dvh;box-shadow:0 25px 100px #4b361d30;overflow:auto}dialog::backdrop{background:#342c2366}.modal-head{position:sticky;top:0;background:#fff;z-index:2}.modal-body{padding:24px 25px}.modal-foot{background:#faf8f2;position:sticky;bottom:0;z-index:2}
.text-link{font-size:14px;color:var(--bronze);text-underline-offset:4px}.text-link:hover{text-decoration:underline}.month-label{font-size:13px}.progress{background:#eee7d8}.progress div{background:var(--gold)}.report-summary dt{font-size:13px}.report-summary dd{font-size:25px}.notification-count{background:var(--bronze);font-size:12px}.detail-list>div{font-size:14px}.status-save{font-size:13px}.mobile-bottom-nav{display:none}
.auth-story{display:flex}.breadcrumb-divider{display:none}.hours summary small{display:block}
@media(min-width:1550px){.content{padding-top:38px}.metric{padding:23px}.workday-actions{gap:18px}.sidebar{padding-top:30px}}
@media(max-width:1250px){.shell{grid-template-columns:232px minmax(0,1fr)}.sidebar{width:232px;padding-inline:13px}.content{padding:27px 25px}.topbar{padding-inline:25px}.metrics{gap:12px}.metric{padding:17px}.metric-value strong{font-size:28px}.workday-action{padding:14px 12px;gap:10px}.workday-action-icon{width:37px;height:40px}.workday-action b{font-size:15px}.workday-action small{font-size:11px}.attendance-row{grid-template-columns:minmax(130px,.8fr) minmax(300px,1.8fr)}.attendance-row>.hours{grid-column:2}.attendance-row>.attendance-note{grid-column:1/-1}.time-display{display:none}.auth-story{padding:37px}.auth-form-area{padding:42px}}
@media(max-width:1000px){.shell{grid-template-columns:212px minmax(0,1fr)}.sidebar{width:212px;padding-inline:11px}.sidebar .brand{gap:9px}.brand-emblem{width:51px;height:45px}.brand-wordmark>b{font-size:18px}.brand-wordmark>small{font-size:11px}.nav button{padding:11px 10px;font-size:13px;gap:9px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.grid2{grid-template-columns:1fr}.workday-actions{grid-template-columns:1fr;gap:9px;padding:17px 20px}.workday-action{min-height:70px;padding:13px 16px}.workday-action b{font-size:16px}.workday-action small{font-size:13px}.attendance-row{grid-template-columns:1fr}.attendance-row>.attendance-status,.attendance-row>.hours,.attendance-row>.attendance-note{grid-column:1}.attendance-status{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-story h1{font-size:25px}.auth-story p{font-size:14px}.auth-form-area{padding:35px}}
@media(max-width:760px){
 .shell{display:block}.main{display:block}.sidebar{transform:translateX(110%);width:min(280px,88vw);transition:transform .18s;overscroll-behavior:contain;box-shadow:-15px 0 40px #36250f12;visibility:hidden;pointer-events:none}.sidebar.open{transform:translateX(0);visibility:visible;pointer-events:auto}.sidebar .brand-emblem{width:62px;height:54px}.sidebar .brand-wordmark>b{font-size:21px}.sidebar .brand-wordmark>small{font-size:12px}.nav button{font-size:15px;min-height:46px}.sidebar-bottom{margin-top:22px}
 .topbar{height:70px;padding:0 17px;gap:10px}.mobile-menu{display:inline-grid}.top-actions{gap:8px}.top-actions>.avatar{display:none}.breadcrumb{font-size:13px;gap:8px}.breadcrumb .root{display:none}.breadcrumb .brand-compact{display:flex}.breadcrumb .brand-compact .brand-wordmark{display:none}.content{padding:24px 18px 110px}.page-heading{gap:15px;margin-bottom:23px}h1{font-size:26px}.page-heading p{font-size:14px}.heading-actions{width:100%;justify-content:space-between;gap:9px}.heading-actions input{max-width:170px}
 .workday-intro{padding:20px}.workday-intro h2{font-size:23px}.workday-brand{display:none}.workday-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:17px 20px}.workday-action{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 12px;min-height:145px}.workday-action>svg:last-child{display:none}.workday-action small{font-size:12px}.workday-action b{font-size:15px}.workday-action-icon{width:38px;height:38px}.workday-progress{padding:0 20px 20px;gap:16px}.workday-progress-item>strong{font-size:16px}.workday-progress-item>span{font-size:12px}.workday-history-note{padding-inline:20px}
 .metrics{gap:12px}.metric{padding:17px}.metric-label{font-size:12px}.metric-icon{padding:6px}.metric-value{margin:12px 0 9px}.metric-value strong{font-size:28px}.metric small{font-size:11px}.attendance-row{padding:20px;gap:15px}.attendance-status{grid-template-columns:repeat(4,minmax(0,1fr))}.status-choice>span{min-height:47px;font-size:14px}.attendance-row>.hours{max-width:100%}.attendance-row>.attendance-note{min-height:44px}
 .attendance-filters{padding:17px 18px;gap:13px}.attendance-filters h2{width:100%}.day-navigation{width:100%;justify-content:space-between;gap:6px}.day-navigation input{max-width:150px}.day-navigation .button{padding-inline:12px}.attendance-tools{padding:17px 18px;gap:12px}.attendance-search-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.attendance-search-actions input{width:100%;min-width:0}.attendance-bottom{bottom:calc(72px + env(safe-area-inset-bottom));padding:14px 18px;box-shadow:0 -5px 16px #5c411c09;gap:12px}.attendance-bottom .button{min-width:145px;min-height:48px}
 .mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));min-height:72px;background:#fffdf8;border-top:1px solid #ded3bd;box-shadow:0 -4px 18px #4a351612}.mobile-bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:transparent;border-radius:10px;font-size:12px;color:#7f725e;min-height:53px;padding:5px 3px}.mobile-bottom-nav button.active,.mobile-bottom-nav button[aria-current=page]{background:#eee4d0;color:#70512a;font-weight:650}.mobile-bottom-nav svg{width:20px;height:20px}.sidebar-shade{background:#342c2366;backdrop-filter:blur(1px)}
 .auth-screen{grid-template-columns:1fr;min-height:100dvh}.auth-story{display:flex;padding:24px 26px;align-items:center;background:#f0e6cb;justify-content:center}.auth-brand{display:none}.brand-image-frame{max-width:330px;border-radius:13px;box-shadow:none}.auth-story h1,.auth-story p,.auth-story-rule,.auth-story .auth-foot{display:none}.auth-form-area{min-height:initial;padding:36px 25px 45px;align-items:flex-start}.auth-lang{top:15px;left:17px}.auth-card{max-width:430px;padding-top:25px}.auth-card h2{font-size:26px}.auth-card>p{font-size:14px;margin-bottom:23px}.auth-card .security-note{font-size:12px}.auth-form-area .auth-lang{position:fixed;top:16px;left:17px;background:#fffef8;z-index:3;box-shadow:0 1px 5px #5c411c0a}
 #toast{bottom:calc(92px + env(safe-area-inset-bottom));font-size:14px}.button.small{min-height:44px}.profile-hero{padding:20px}.details-grid{padding:20px}.panel-head{padding:20px}.panel-body{padding:0 20px 20px}.settings-body{padding:20px}.data-table td,.data-table th{padding-inline:17px}.audit-item{padding-inline:20px;flex-wrap:wrap}.audit-item small{white-space:normal}.footer-note{margin-top:26px;font-size:11px}
}
@media(max-width:480px){
 .topbar{padding-inline:13px}.top-actions{gap:7px}.top-actions .icon-btn{width:41px}.lang-btn{padding-inline:10px;font-size:13px}.breadcrumb .brand-compact{display:none}.breadcrumb strong{font-size:13px}.content{padding:22px 14px 110px}.page-heading{margin-bottom:22px}h1{font-size:25px}.page-heading p{font-size:13px}.heading-actions .button{padding-inline:12px;font-size:13px}.heading-actions input{max-width:155px;font-size:14px}.month-label{font-size:12px}
 .workday-panel{border-radius:15px}.workday-intro{padding:18px}.workday-intro h2{font-size:22px}.workday-intro p{font-size:13px}.workday-actions{padding:14px 16px;gap:8px}.workday-action{min-height:132px;padding:12px 9px;border-radius:11px;gap:9px}.workday-action-icon{width:36px;height:36px}.workday-action-icon svg{width:19px;height:19px}.workday-action b{font-size:14px}.workday-action small{font-size:11px;line-height:1.7}.workday-progress{grid-template-columns:1fr;padding:0 18px 18px;gap:15px}.workday-progress-item{grid-template-columns:auto 1fr}.workday-progress-item>small{font-size:11px}
 .metric{padding:15px}.metric-label{font-size:12px;align-items:flex-start}.metric-icon{padding:5px}.metric-icon svg{width:15px;height:15px}.metric-value strong{font-size:25px}.metric-value span{font-size:10px}.metric small{font-size:11px}.metrics{gap:10px;margin-bottom:20px}.attendance-row{padding:18px 16px;gap:14px}.attendance-status{grid-template-columns:1fr 1fr;gap:8px}.status-choice>span{min-height:47px;font-size:14px;gap:7px}.status-choice svg{width:16px;height:16px}
 .attendance-filters{padding:16px}.day-navigation{gap:5px;justify-content:space-between}.day-navigation input{max-width:141px;padding-inline:7px;font-size:14px}.day-navigation .icon-btn{width:35px}.day-navigation .button{padding-inline:10px;font-size:13px;min-width:48px}.attendance-tools{padding:16px}.attendance-search-actions{grid-template-columns:1fr}.attendance-search-actions .button{justify-self:start}.attendance-progress{font-size:13px}.attendance-progress strong{font-size:15px}.attendance-bottom{padding:13px 15px;align-items:center;gap:10px}.attendance-bottom .button{min-width:136px;padding:10px 12px;font-size:14px}.attendance-bottom strong{font-size:13px}.attendance-bottom small{font-size:12px}.attendance-bottom>div{min-width:0}
 .dashboard-grid{gap:19px;margin-bottom:20px}.panel-head{padding:18px;flex-wrap:wrap}.panel-body{padding:0 18px 18px}.legend{font-size:11px;gap:10px}.breakdown>div{font-size:13px}.welcome-strip{padding:17px;flex-wrap:wrap;gap:13px}.welcome-strip .strip-icon{display:none}.welcome-strip p{font-size:13px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .span2{grid-column:auto}.field input,.field select,.field textarea,input.filter,select.filter,.filters input,.filters select{font-size:16px}.field label{font-size:14px}.filters{padding:16px;gap:10px}.filters input,.filters select{min-width:0;max-width:100%}.filters .search{min-width:100%;order:2}.filters input[type=date]{max-width:160px}.filters label{font-size:13px}
 .modal-head{padding:16px}.modal-body{padding:18px 16px}.modal-foot{padding:14px 16px}.modal-foot .button{flex:1;min-height:46px}.modal-head h2{font-size:18px}dialog{width:calc(100vw - 20px);max-height:92dvh;border-radius:15px}.notice{padding:14px;font-size:13px}.notice>.text-link{font-size:13px}.notice .flex{flex-wrap:wrap}.settings-body{padding:18px}.checkbox{font-size:13px}.details-grid{grid-template-columns:1fr 1fr;padding:18px;gap:18px}.profile-hero{padding:18px;flex-wrap:wrap;gap:13px}.profile-hero .avatar{width:54px;height:54px}.details-grid dd{font-size:13px;overflow-wrap:anywhere}.report-summary{padding:18px;grid-template-columns:1fr 1fr;gap:18px}.report-summary dd{font-size:24px}.report-summary dt{font-size:12px}.grid2{grid-template-columns:minmax(0,1fr)}.audit-item{padding-inline:17px;gap:9px}.audit-item h3{font-size:13px}.audit-item small{font-size:11px}.auth-story{padding:20px 26px}.brand-image-frame{max-width:305px}.auth-form-area{padding:30px 23px 35px}.auth-card{padding-top:17px}.auth-card h2{font-size:24px}.auth-card>p{font-size:14px}.auth-card .field{margin-bottom:17px}
}
@media(max-width:350px){.content{padding-inline:12px}.topbar{padding-inline:11px}.top-actions{gap:6px}.breadcrumb strong{max-width:133px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topbar .icon-btn{width:39px}.workday-actions{padding-inline:12px;gap:6px}.workday-action{padding-inline:7px}.workday-action b{font-size:13px}.workday-action small{font-size:11px}.metric{padding:12px}.metric-value strong{font-size:23px}.metric-label{font-size:11px}.metric-icon{display:none}.day-navigation input{max-width:132px}.day-navigation .button{min-width:44px;padding-inline:8px}.attendance-bottom .button{min-width:130px}.auth-form-area{padding-inline:21px}.brand-image-frame{max-width:275px}.mobile-bottom-nav{padding-inline:7px}.mobile-bottom-nav button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Keep the first worker's controls close on a phone. The date already identifies the cycle. */
.attendance-heading{margin-bottom:22px}
@media(max-width:760px){
 .attendance-heading{margin-bottom:18px}.attendance-heading p{margin-top:3px}
 .attendance-filters>div:first-child{display:none}.attendance-filters{padding:15px 16px}
 .attendance-tools{display:grid;grid-template-columns:1fr;padding:13px 16px;gap:10px}
 .attendance-tools>div:first-child>p{display:none}
 .attendance-search-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .attendance-search-actions .button{font-size:13px;padding-inline:11px;min-height:44px}
 .attendance-progress{font-size:13px;line-height:1.6}.attendance-search-actions input{min-height:44px}
}
/* Operational forms and the field assistant's focused workspace. */
.ops-help{font-size:12px;line-height:1.9;color:var(--text-muted,#746b60);margin:10px 0 18px;max-width:850px}
.ops-presets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}.ops-presets .button{white-space:normal;line-height:1.6;min-height:60px;justify-content:flex-start;border-color:#d7c9b0;background:#faf7ef}
.ops-presets .button:hover{background:#f0e8d8;border-color:#80613b}.ops-details{border:1px solid #e6ddce;border-radius:12px;padding:14px;margin-bottom:12px}.ops-details>summary{cursor:pointer;color:#80613b;font-weight:600;min-height:30px;line-height:1.8}.ops-details .form-grid{margin-top:16px}
.ops-day-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 20px;border:1px solid #ded4c2;border-radius:14px;background:#faf7ef;margin-bottom:18px}.ops-day-strip>div{flex:1;min-width:180px}.ops-day-strip p{font-size:12px;color:#746b60;margin:8px 0 0}.ops-readonly{padding:14px;border-radius:9px;background:#f4f0e7;line-height:1.7}
.ops-handover{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;margin-top:22px}.ops-handover p{font-size:12px;line-height:1.9;max-width:650px;margin-top:8px;color:#746b60}
.ops-calendar-stats{display:flex;gap:20px;align-items:center;margin:20px 0 24px}.ops-calendar-stats>strong{font-size:52px;color:#80613b}.ops-calendar-stats p{line-height:1.9;font-size:12px;max-width:700px;color:#746b60;margin:8px 0}
.ops-calendar-day{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid #eee8dd}.ops-calendar-day:last-child{border-bottom:0}.ops-calendar-day.off{background:#faf8f3}.ops-calendar-day>div{flex:1;min-width:0}.ops-calendar-day small{display:block;line-height:1.8;color:#746b60;overflow-wrap:anywhere;margin-top:4px}.ops-calendar-day b{font-size:13px}.ops-calendar-day .button{min-height:44px}
.ops-offday{padding:28px}.ops-offday p{line-height:1.9;margin:12px 0 20px;color:#746b60}.ops-summary-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ops-summary-toolbar label{display:flex;align-items:center;gap:10px}.ops-summary-toolbar input{min-height:44px;max-width:100%}.ops-summary-content{display:grid;gap:22px}.ops-summary-content .metrics{margin:0}.ops-summary-content .metric{min-width:0}.ops-summary-content .notice{margin:0}
.ops-role-label{margin:0 22px 18px;font-size:12px;font-weight:700;color:#b99a60}.ops-desk-intro{display:flex;gap:12px;align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e4dccd}.ops-desk-intro p{font-size:13px;line-height:1.9;color:#746b60}.deputy-mode .topbar{border-bottom:3px solid #b99a60}.deputy-mode .sidebar{background:#342c23}.deputy-mode .sidebar .nav>button{margin-bottom:6px}.deputy-mode .sidebar .nav button.active{background:#b99a60;color:#241e16}.deputy-mode .sidebar .brand-wordmark b{color:#fff}.deputy-mode .sidebar .brand-wordmark small{color:#d5c6ae}.deputy-mode .sidebar .nav button{color:#e7ddcc}.deputy-mode .sidebar .user-pill{color:#342c23}.deputy-mode .sidebar .user-pill h3{color:#342c23}.deputy-mode .sidebar .user-pill small{color:#746b60}
.ops-rental>.field{margin:0}.ops-summary-content .metric-value{flex-wrap:wrap}.ops-owned{padding-top:10px}.ops-owned #purchase-fields{margin-top:18px}
@media(max-width:700px){.ops-presets{grid-template-columns:1fr}.ops-day-strip{padding:14px;gap:10px}.ops-day-strip>div{flex-basis:100%}.ops-day-strip>.button{flex:1;font-size:11px;padding:10px}.ops-handover{align-items:stretch;flex-direction:column;padding:20px}.ops-calendar-day{gap:8px;padding:14px 12px;flex-wrap:wrap}.ops-calendar-day>div{flex-basis:55%}.ops-calendar-day .badge{font-size:10px}.ops-calendar-day>.button{width:100%}.ops-calendar-stats{gap:12px}.ops-calendar-stats>strong{font-size:40px}.ops-calendar-stats p{font-size:11px}.ops-summary-toolbar>*{flex:1 1 100%}.ops-summary-toolbar label{justify-content:space-between}.ops-desk-intro{align-items:flex-start;flex-direction:column}.ops-summary-content .metrics{grid-template-columns:1fr 1fr}.ops-summary-content .metric-value strong{font-size:23px}.ops-summary-content .metric{padding:15px}.ops-summary-content .notice{align-items:flex-start}.deputy-mode .mobile-bottom-nav button{padding:8px 3px}.deputy-mode .mobile-bottom-nav button span{font-size:10px}}
