*{box-sizing:border-box} :root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#203438;background:#f4f6f7;font-size:16px}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cd812a;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:236px;background:#162c31;color:#e4eded;padding:34px 22px;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:650;letter-spacing:-1px;display:flex;gap:10px;align-items:center;color:white;text-decoration:none}.logo{background:#d9ee85;color:#203438;width:38px;height:38px;border-radius:11px;text-align:center}.workspace{margin:52px 10px 22px;font-size:11px;letter-spacing:1.7px;color:#9fb3b6}.workspace strong{display:block;margin-top:12px;font-size:16px;letter-spacing:0;color:white}.workspace strong span{display:block;font-size:13px;color:#aebfc1;font-weight:400;margin-top:7px}nav{display:grid;gap:7px}nav button{text-align:left;padding:14px 12px;color:#b8cacc;border:0;background:none;border-radius:7px;font-size:14px;display:flex;gap:12px;align-items:center}nav button span{font-size:23px;line-height:20px}nav button.active{background:#2b4145;color:#e4f5b3;box-shadow:inset 3px 0 #d9ee85}.sidefoot{margin-top:auto;display:flex;gap:12px;align-items:center;font-size:14px}.sidefoot small{display:block;margin-top:5px;color:#aebfc1}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#e9edef;border-radius:50%;font-size:12px;color:#52676c;flex-shrink:0}main{margin-left:236px;padding:0 38px}header{height:83px;display:flex;align-items:center;justify-content:space-between;font-size:14px;border-bottom:1px solid #dce3e5}header i{font-style:normal;color:#a5b0b2;margin:0 14px}.draft{font-size:11px;letter-spacing:1.5px;background:#e5ebdc;padding:7px 10px;border-radius:4px}.demo{font-size:13px;color:#64777a;margin-top:20px}.heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0}.eyebrow{font-size:12px;font-weight:600;color:#637778;letter-spacing:1.5px;text-transform:uppercase}h1{font-size:32px;font-weight:600;letter-spacing:-1px;margin:7px 0 9px}p{color:#63767b;line-height:1.6;margin:0}button.primary{background:#243f3f;color:white;border:1px solid #243f3f;border-radius:7px;padding:12px 19px;font-weight:600;font-size:14px}button.secondary,.icon{background:white;border:1px solid #d9e0e2;border-radius:6px;padding:10px 15px;font-size:14px;color:#344e53}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:27px}.stat{background:white;border:1px solid #e0e6e7;padding:20px 23px;border-radius:10px}.stat label{font-size:14px;color:#667b7d;display:block}.stat strong{display:block;font-size:30px;font-weight:600;margin:11px 0 7px;letter-spacing:-1px}.stat small{color:#75868a;font-size:13px}.stat.accent{background:#edf3e0;border-color:#dce6c8}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0 17px}.weeknav{display:flex;align-items:center;gap:12px}.weeknav strong{font-size:16px}.weeknav .icon{padding:6px 12px;font-size:20px}.filters{display:flex;gap:10px}input,select{border:1px solid #d9e1e3;border-radius:6px;background:white;padding:11px;color:#314b50;font-size:14px}input[type=search]{width:190px}.tablewrap{overflow:auto;background:white;border:1px solid #dce3e5;border-radius:10px;max-height:650px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th{position:sticky;top:0;z-index:2;background:#f9fafb;padding:16px 10px;text-align:center;border-bottom:1px solid #dce3e5;font-weight:500;color:#5c7176}th:first-child{text-align:left;padding-left:20px;min-width:202px}th.today{background:#eff4e4;color:#34452c}th strong{display:block;font-size:18px;margin-top:5px;color:#293f44}td{padding:10px 7px;border-bottom:1px solid #edf0f1;min-width:110px;text-align:center}td:first-child{padding-left:18px;text-align:left;white-space:nowrap}td.person{display:table-cell}.personbox{display:flex;gap:10px;align-items:center}.personbox strong{font-weight:550;font-size:14px}.personbox small{display:block;font-size:12px;color:#75878b;margin-top:5px}.shift{width:100%;padding:10px 7px;border-radius:6px;border:1px solid #d4e7e1;background:#eaf4ef;color:#315f50;font-size:13px;text-align:left;white-space:nowrap;min-height:56px;border-left:3px solid #73a791}.shift small{display:block;font-size:12px;margin-top:5px;color:#5e8071}.shift.evening{background:#edf0fa;border-color:#dce2f2;border-left-color:#939fd3;color:#546288}.shift.evening small{color:#737fa2}.shift.off{border:1px dashed transparent;background:none;text-align:center;color:#a1adb0}.shift.off:hover{border-color:#b5c1c4}.total{font-weight:600;color:#4c666b;min-width:70px}.legend{display:flex;gap:22px;align-items:center;font-size:13px;color:#6b7e82;margin:18px 0}.legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;background:#84af9c;margin-right:7px}.legend span:nth-child(2):before{background:#939fd3}.legend p{margin-left:auto;font-size:13px}footer{display:flex;justify-content:space-between;font-size:12px;color:#7f9094;margin:32px 0 24px}.clocklayout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.panel{border:1px solid #dde5e6;border-radius:12px;background:white;padding:28px}.panel h2{font-size:20px;font-weight:600;margin:0 0 20px}.clockpanel{text-align:center;padding:38px}.clockpanel select{width:100%;margin-bottom:30px}.bigtime{font-size:56px;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:12px 0}.status{color:#476456;font-size:14px;margin:17px 0}.clockbuttons{display:flex;justify-content:center;gap:10px;margin:24px 0}.clockbuttons .primary{background:#d9ee85;border-color:#c7df70;color:#243b2a}.planned{border-top:1px solid #e3e8e9;margin-top:25px;padding-top:24px}.line{padding:17px 0;border-bottom:1px solid #edf0f1;display:flex;justify-content:space-between;gap:20px}.line small{display:block;margin-top:6px;color:#74898b}.badge{background:#edf2e8;color:#556c46;border-radius:5px;padding:5px 8px;font-size:12px}.empty{padding:35px;text-align:center;color:#6b7c80}dialog{width:440px;max-width:calc(100% - 32px);border:0;border-radius:14px;padding:28px;color:#203438;box-shadow:0 20px 90px #172c3155}dialog::backdrop{background:#152c3155}dialog label{display:flex;flex-direction:column;gap:8px;font-size:14px;margin:18px 0}.modalhead,.modalactions{display:flex;justify-content:space-between;align-items:center;gap:12px}.modalhead h2{font-size:22px;margin:0}.formrow{display:flex;gap:15px}.formrow label{flex:1;min-width:0}.modalactions{justify-content:flex-end;margin-top:24px}#formError{color:#a33b32;font-size:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203e40;color:white;padding:14px 22px;border-radius:8px;z-index:10;display:none}button:hover{filter:brightness(.97)}@media(min-width:1500px){main{max-width:1580px;padding:0 50px}}@media(max-width:1000px){aside{width:195px;padding:28px 14px}main{margin-left:195px;padding:0 22px}.filters{flex-wrap:wrap}.toolbar{align-items:flex-start}.clocklayout{grid-template-columns:1fr}.heading{gap:15px}.stats{gap:10px}.stat{padding:17px}.legend p{display:none}}@media(max-width:700px){aside{position:static;width:100%;padding:16px 18px}.brand{font-size:24px}.logo{width:30px;height:30px}.workspace,.sidefoot{display:none}nav{display:flex;margin-top:18px;gap:5px}nav button{font-size:12px;padding:10px 8px;flex:1;justify-content:center;gap:5px}nav button span{font-size:18px}main{margin:0;padding:0 16px}header{height:58px;font-size:12px}.demo{font-size:12px;line-height:1.5}.heading{margin:22px 0;align-items:flex-start}h1{font-size:26px}.heading p{font-size:14px}.heading .primary{padding:11px;white-space:nowrap}.stats{gap:7px}.stat{padding:13px 10px}.stat label{font-size:12px}.stat strong{font-size:24px}.stat small{font-size:11px}.toolbar{flex-direction:column}.filters{width:100%}.filters input{flex:1;width:120px}.weeknav{width:100%;justify-content:space-between}.tablewrap{max-height:580px}.legend{gap:13px;font-size:12px}footer span{display:none}.panel{padding:20px}.bigtime{font-size:46px}}

.department-row th{position:static;background:#e6edef;border-bottom:1px solid #d1dddf;border-top:1px solid #d1dddf;padding:13px 20px;text-align:left}.department-heading{display:flex;align-items:center;gap:14px;color:#243f44;font-weight:650;font-size:15px}.department-heading small{font-size:13px;font-weight:400;color:#657e83}.department-row:first-child th{border-top:0}

.resultcount{font-size:14px;color:#657e83}.employee-table th,.employee-table td{text-align:left;padding:16px 20px}.employee-table td:last-child{color:#60777c}.department-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.department-card{padding:24px;min-width:0}.department-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.department-card-head h2{margin:0}.member-list{list-style:none;padding:0;margin:20px 0}.member-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f1;font-size:14px}.department-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.department-actions button{flex:1;white-space:nowrap}@media(max-width:1200px){.department-cards{grid-template-columns:1fr}}@media(max-width:700px){nav{flex-wrap:wrap}nav button{flex:1 0 28%;white-space:nowrap}.employee-table th:first-child{min-width:175px}.employee-table td{padding:14px 12px}.department-cards{gap:14px}}

#entityError{color:#a33b32;font-size:14px}.employee-table td:last-child{width:110px}.department-card h2,.personbox strong{overflow-wrap:anywhere}.department-actions button{white-space:normal}

#entityDialog:has(#workMode){width:650px;max-height:90vh;overflow:auto}.field-help{font-size:13px;line-height:1.5;margin:8px 0 14px}#fixedFields{border:1px solid #dce5e7;padding:14px;border-radius:8px;margin:18px 0}#fixedFields legend{font-size:14px;font-weight:600}.fixed-day{padding:8px 0;border-bottom:1px solid #edf0f1}.fixed-day:last-child{border:0}.fixed-day .day-toggle{display:flex;flex-direction:row;align-items:center;margin:5px 0;gap:9px}.day-toggle input{width:18px;height:18px;accent-color:#243f3f}.day-times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.day-times label{font-size:12px;margin:8px 0}.day-times input{width:100%;min-width:0;padding:9px 5px}input:disabled{opacity:.5}#fixedFields[hidden]{display:none}

.plan-departments{background:white;border:1px solid #dce3e5;border-radius:10px;padding:16px 20px;margin:0 0 20px;min-width:0}.plan-departments legend{font-size:14px;font-weight:600;padding:0 6px}.department-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.department-options label{display:flex;align-items:center;gap:8px;border:1px solid #dce3e5;border-radius:6px;padding:10px 12px;font-size:14px;cursor:pointer}.department-options label:has(input:checked){background:#edf3e0;border-color:#cad9ac}.department-options input{accent-color:#314e3e;width:17px;height:17px;margin:0}.plan-departments p{font-size:12px;margin-top:10px}.department-options button[aria-pressed=true]{background:#243f3f;color:white}
.template-palette{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:white;border:1px solid #dce3e5;border-radius:8px;padding:14px;margin-bottom:12px}.template-palette>strong{font-size:14px;margin-right:8px}.template-chip{font-size:13px;background:#edf3f1;border:1px solid #d4e2dd;border-radius:5px;padding:7px 10px}.template-chip b{display:inline-block;margin-right:5px;color:#254c3e}.template-chip small{color:#677f78}.template-palette button{margin-left:auto}.sheet-help{font-size:13px;margin:7px 0;color:#64797d}.sheet-section{margin:25px 0 30px}.sheet-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.sheet-heading h2{margin:0;font-size:20px}.sheet-heading span{font-size:13px;color:#6c8083}.sheet-wrap{max-height:none}.roster-sheet{width:max-content;min-width:100%;table-layout:fixed}.roster-sheet th,.roster-sheet td{min-width:145px;width:145px;border-right:1px solid #e1e7e9;padding:10px;text-align:center}.roster-sheet thead th{position:static;vertical-align:top;background:#eaf0f1}.roster-sheet thead th:first-child,.roster-sheet tbody th{position:sticky;left:0;width:110px;min-width:110px;padding:12px 8px;background:#f7f9fa;z-index:2;text-align:left}.roster-sheet thead th:nth-child(2),.roster-sheet .weekday{position:sticky;left:110px;min-width:110px;width:110px;background:#f7f9fa;text-align:left;z-index:2;box-shadow:2px 0 0 #dce3e5}.sheet-name{display:block;max-width:155px;white-space:normal;overflow-wrap:anywhere;color:#243f44;font-weight:600}.roster-sheet thead small{display:block;font-size:11px;color:#6e8387;margin-top:7px;font-weight:400}.roster-sheet .sheet-cell{padding:0;background:white}.roster-input{border:0;border-radius:0;padding:12px 8px 4px;width:100%;min-width:0;font-size:15px;text-align:center;color:#2a604b;font-weight:650;background:transparent}.roster-input:focus{outline:2px solid #618c49;outline-offset:-2px;background:#f0f6e7}.sheet-cell>small{display:block;font-size:11px;color:#668477;padding:1px 6px 8px;pointer-events:none}.roster-sheet .locked{background:#f0f2f3}.locked .roster-input{color:#7b8688}.roster-sheet .sheet-today>th,.roster-sheet .sheet-today>.weekday{background:#edf3df}.roster-sheet tfoot td,.roster-sheet tfoot th{background:#f5f8f8;font-size:13px;font-weight:600;border-bottom:0}.roster-sheet tfoot th{position:sticky;left:0;z-index:2;text-align:left}.roster-sheet tr:last-child td{border-bottom:0}.template-palette button:disabled{opacity:.45;cursor:default}#templateDialog{width:580px;max-height:90vh;overflow:auto}#templateError{font-size:14px;color:#a33b32}.sheet-wrap:focus-within{border-color:#789a83}@media(max-width:700px){.template-palette button{margin-left:0}.roster-sheet thead th:first-child,.roster-sheet tbody th{min-width:95px;width:95px}.roster-sheet thead th:nth-child(2),.roster-sheet .weekday{left:95px;min-width:85px;width:85px;font-size:12px}.template-chip{font-size:12px}}

.sheet-cell .roster-input,.sheet-cell.locked .roster-input,.sheet-cell>small{color:inherit}.sheet-cell .roster-input:focus{background:transparent;outline:2px solid currentColor;outline-offset:-3px}.template-chip{border-color:#0002}.template-palette>button.primary{margin-left:0}#templateColor{width:100%;height:46px;padding:5px;cursor:pointer}.template-list .template-chip{display:inline-flex;align-items:center;margin:0;font-size:15px;min-width:125px;justify-content:center}

main.plan-fullscreen{position:fixed;inset:0;z-index:20;margin:0;max-width:none;width:100%;height:100dvh;overflow:auto;background:#f4f6f7;padding:0 28px 28px}main.plan-fullscreen>header,main.plan-fullscreen>footer{display:none}body:has(main.plan-fullscreen){overflow:hidden}body:has(main.plan-fullscreen)>aside{display:none}main.plan-fullscreen .heading{margin-top:18px}.plan-heading-actions{display:flex;align-items:center;gap:10px}.month-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.month-nav strong{font-size:16px}.extend-plan{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0 26px;padding:16px;background:#e9efec;border-radius:8px}.extend-plan span{font-size:14px;color:#5d7377}.roster-sheet tr.month-start>th,.roster-sheet tr.month-start>td{border-top:3px solid #879f9c}main.plan-fullscreen~#toast{z-index:30}.plan-fullscreen .stats{margin-bottom:18px}.plan-fullscreen .stat{padding:12px 20px}.plan-fullscreen .stat strong{font-size:24px;margin:7px 0}@media(max-width:700px){main.plan-fullscreen{padding:0 12px 20px}.plan-heading-actions{flex-wrap:wrap;justify-content:flex-end}.month-nav strong{font-size:14px}.extend-plan{flex-wrap:wrap}.plan-fullscreen .stat{padding:10px}.plan-fullscreen .heading{flex-wrap:wrap}}

.draggable-shift{cursor:grab;user-select:none}.draggable-shift:active{cursor:grabbing}.draggable-shift.dragging{opacity:.5}.roster-sheet .sheet-cell.drop-target{outline:3px solid #214d34;outline-offset:-3px;box-shadow:inset 0 0 0 5px #ffffffa0}.plan-fullscreen .template-palette{position:sticky;top:0;z-index:8;box-shadow:0 4px 12px #18352e16}#fillWeekDialog{width:570px;max-height:90vh;overflow:auto}#fillError{font-size:14px;color:#a33b32}#fillWeekDialog .formrow{flex-wrap:wrap}#fillWeekDialog .formrow label{min-width:190px}

/* Focused planning workspace: grid plus floating shift tools. */
main.plan-fullscreen>.demo,main.plan-fullscreen #content>.heading,main.plan-fullscreen #content>.stats,main.plan-fullscreen #content>.plan-departments,main.plan-fullscreen #content>.toolbar,main.plan-fullscreen #content>.sheet-help{display:none}main.plan-fullscreen{padding-top:12px}.plan-fullscreen .template-palette{top:12px;border-radius:12px;border:1px solid #b9c9c3;box-shadow:0 5px 22px #18352e26;margin:0 0 18px;padding:12px 16px}.palette-close{display:none}.plan-fullscreen .palette-close{display:inline-block}.drag-week-toggle{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #c4d2ca;border-radius:6px;font-size:14px;white-space:nowrap;background:#f5f8f3;cursor:pointer}.drag-week-toggle:has(input:checked){background:#e4efcf;border-color:#8ba55b}.drag-week-toggle input{width:18px;height:18px;accent-color:#315b3b;margin:0}.drag-mode-hint{font-size:12px;color:#60746a}.template-palette button{margin-left:0}.plan-fullscreen .sheet-section:first-child{margin-top:0}.plan-fullscreen .sheet-heading{margin-bottom:8px}@media(max-width:700px){.plan-fullscreen .template-palette{top:6px;padding:9px;gap:6px}.plan-fullscreen .template-palette button{padding:8px}.drag-mode-hint{width:100%}}

#absenceColor{width:100%;height:46px;padding:5px;cursor:pointer}

.roster-sheet tr.calendar-holiday>th,.roster-sheet tr.calendar-holiday>.weekday{background:#ffe4e9;color:#a11c35}.roster-sheet tr.calendar-holiday>.calendar-empty{background-color:#fff0f3!important;color:#a11c35!important}.roster-sheet tr.calendar-sunday>th,.roster-sheet tr.calendar-sunday>.weekday{background:#f4e8eb;color:#914452}.roster-sheet tr.calendar-sunday>.calendar-empty{background-color:#faf3f5!important}.calendar-day-label{display:block;font-size:11px;font-weight:600;margin-top:4px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.roster-sheet tr.calendar-holiday>th{box-shadow:inset 3px 0 #c73550}.roster-sheet tr.calendar-sunday>th{box-shadow:inset 3px 0 #b2828d}
#stickyNames{position:fixed;z-index:21;overflow:hidden;pointer-events:none;background:#eaf0f1;border-bottom:2px solid #879f9c;box-shadow:0 4px 8px #18352e16}#stickyNames[hidden]{display:none}#stickyNames .roster-sheet{margin:0;border:0}#stickyNames .roster-sheet thead th{position:static}#stickyNames .roster-sheet thead th:first-child{position:sticky;left:0;z-index:3}#stickyNames .roster-sheet thead th:nth-child(2){position:sticky;z-index:3}#stickyNames .roster-sheet th{box-sizing:border-box}

#stickyNames{border:1px solid #b9c9c3;border-radius:12px;box-shadow:0 5px 18px #18352e26;background:#f5f8f7;overflow:hidden}.sticky-department{height:40px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid #d7e1df;background:#f5f8f7;color:#203f43;white-space:nowrap}.sticky-department strong{font-size:16px;overflow:hidden;text-overflow:ellipsis}.sticky-department span{font-size:12px;color:#637b7e;flex-shrink:0}.sticky-names-viewport{overflow:hidden;width:100%}#stickyNames .roster-sheet{border-radius:0}.sheet-heading{border-radius:10px;background:#edf2f1;padding:10px 14px}

.secondment-box{border:1px solid #d4dfe0;border-radius:8px;margin:20px 0;padding:14px 16px}.secondment-box legend{font-size:15px;font-weight:600;padding:0 6px}.secondment-box .secondment-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;margin:6px 0;font-size:14px}.secondment-toggle input{width:18px;height:18px;margin:0;accent-color:#315b3b}#secondmentDetails[hidden]{display:none}#secondmentDetails .formrow input{width:100%;min-width:0}
/* Compact planning rows; keep holiday labels and readable time values. */
.roster-sheet tbody th,.roster-sheet tbody td{height:30px;padding:3px 8px;line-height:1.35;font-size:14px}
.roster-sheet tbody .sheet-cell{padding:0;height:30px}
.roster-sheet .roster-input{display:block;height:29px;min-height:0;padding:3px 6px;font-size:14px;line-height:1.35}
.roster-sheet .sheet-cell>small{display:none}
.roster-sheet .calendar-day-label{font-size:11px;line-height:1.15;margin-top:0}
.roster-sheet thead th{padding:9px 8px}
.roster-sheet thead small{margin-top:3px}
.roster-sheet tfoot th,.roster-sheet tfoot td{padding:7px 8px}

.roster-sheet .sheet-cell.outside-department{background:repeating-linear-gradient(135deg,#f0f2f3,#f0f2f3 6px,#e8edef 6px,#e8edef 7px)!important;color:#a0adb0!important}.outside-department .roster-input{cursor:not-allowed;opacity:.65}

#secondmentFixedFields{border:1px solid #dce5e7;border-radius:8px;padding:12px;margin-top:16px}#secondmentFixedFields[hidden]{display:none}#secondmentFixedFields legend{font-size:14px}

body:has(main.employee-screen)>aside{display:none}main.employee-screen{margin:0;max-width:none;width:100%;min-height:100dvh;padding:0 28px;background:#f5f8f7}main.employee-screen>header,main.employee-screen>.demo,main.employee-screen>footer{display:none}.employee-top{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.employee-brand{font-size:24px;letter-spacing:-1px;font-weight:700;color:#213e37}.employee-admin{border:0;background:transparent;color:#60746f;font-size:13px;padding:10px}.employee-punch{max-width:780px;margin:clamp(35px,11vh,125px) auto 30px;text-align:center}.employee-punch h1{font-size:clamp(28px,4vw,48px);line-height:1.2;margin:0 0 22px;letter-spacing:-1px;overflow-wrap:anywhere}.employee-schedule{font-size:clamp(19px,2.4vw,26px);color:#536c63;line-height:1.6}.employee-schedule strong{color:#213e37;white-space:nowrap}.punch-button{display:block;width:100%;min-height:160px;margin:42px 0 22px;padding:32px 24px;border:0;border-radius:22px;background:#d9ee85;color:#213a24;font-size:clamp(34px,5vw,54px);font-weight:700;box-shadow:0 8px 24px #405d1712}.punch-button.punch-out{background:#b83232;color:#fff}.punch-button.punch-out:hover:not(:disabled){background:#a12828}.punch-button:disabled{opacity:.6}.punch-status{min-height:30px;font-size:16px;color:#4e6b5a}.employee-demo{max-width:420px;margin:50px auto 24px;color:#788880;font-size:12px}.employee-demo summary{text-align:center;cursor:pointer;padding:8px}.employee-demo label{display:grid;gap:8px;margin:12px 0;font-size:14px}.employee-demo p{font-size:12px}.employee-demo select{width:100%}@media(max-width:600px){main.employee-screen{padding:0 20px}.employee-punch{margin-top:55px}.punch-button{min-height:170px;margin-top:32px}.employee-top{padding:18px 0}.employee-demo{margin-top:32px}}

.test-clock{max-width:600px;margin:24px auto;padding:20px;border:1px dashed #b39448;border-radius:12px;background:#fff9e8}.test-clock-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.test-clock-heading label{display:flex;gap:8px;align-items:center}.test-clock>label{display:grid;gap:8px;margin:16px 0;font-size:14px}.test-clock input[type=checkbox]{width:18px;height:18px;accent-color:#8c6b20}.test-clock-buttons{display:flex;flex-wrap:wrap;gap:8px}.test-clock p{font-size:12px;line-height:1.5;margin-top:12px}.test-clock-buttons button:disabled{opacity:.4;cursor:default}.punch-deviation-note{background:#fff2d8;border:1px solid #ebd099;border-radius:10px;padding:14px;text-align:left;font-size:14px;margin-top:16px}.punch-deviation-note p{font-size:14px;margin-top:5px}.test-indicator{font-size:12px;color:#8b681e}#deviationMessage{color:#7e5415;font-size:18px}#deviationComment{font:inherit;border:1px solid #d4ddda;border-radius:6px;padding:10px;resize:vertical}.employee-screen .employee-punch{margin-top:40px}

.punch-adjustment{font-size:14px;color:#526c61;margin-top:12px}

.reason-settings{max-width:840px}.reason-card{background:white;border:1px solid #d4dfdd;border-radius:12px;padding:22px;margin-bottom:18px}.reason-card h2{margin-bottom:16px}.reason-edit-row{display:flex;gap:10px;margin-bottom:10px}.reason-edit-row input{flex:1;min-width:0}.reason-settings>p{margin:18px 0}.reason-choices{border:0;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:8px}.reason-choices legend{margin-bottom:10px;font-size:14px}.reason-choices label{margin:0;position:relative}.reason-choices input{position:absolute;opacity:0;width:1px;height:1px}.reason-choices span{display:block;border:1px solid #bbceca;border-radius:9px;background:#f0f6f3;padding:12px 16px;font-size:14px;cursor:pointer}.reason-choices input:checked+span{background:#213e37;color:white;border-color:#213e37}.reason-choices input:focus-visible+span{outline:3px solid #759b8e;outline-offset:2px}#deviationDialog{max-height:90dvh;overflow:auto}#setScheduledTime{margin-top:12px}#setScheduledTime[hidden]{display:none}

#deviationDialog{width:min(560px,calc(100vw - 32px))}#deviationForm .reason-choices{display:flex;flex-direction:column;gap:10px}#deviationForm .reason-choices label{display:block;width:100%}#deviationForm .reason-choices span{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;padding:16px;font-size:17px;font-weight:600;text-align:center;border-radius:12px}#deviationForm #setScheduledTime{display:block;width:100%;min-height:80px;padding:20px 16px;margin-top:22px;background:#d9ee85;color:#213a24;border:2px solid #bbd861;border-radius:14px;font-size:23px;font-weight:750;box-shadow:0 4px 14px #405d1720}#deviationForm #setScheduledTime:hover{background:#cbe471}#deviationForm #setScheduledTime[hidden]{display:none}#scheduledTimeHint{margin-top:10px}#deviationForm .modalactions{display:flex;flex-direction:column;gap:10px}#deviationForm .modalactions button{width:100%;min-height:56px;font-size:17px;border-radius:12px}#confirmDeviation{order:0;background:#edf3f1;color:#213e37;border:1px solid #b8cbc5}#cancelDeviation{order:1;background:transparent}#deviationForm button:focus-visible{outline:3px solid #456c60;outline-offset:3px}

.return-expected{display:flex;align-items:center;gap:10px;background:#eef5f2;border-radius:10px;padding:14px}.return-expected[hidden]{display:none}.return-expected input{width:20px;height:20px;flex-shrink:0}.work-absence-status{margin:20px auto;padding:18px;background:#eef5f2;border:1px solid #cedfd7;border-radius:12px;font-size:16px;line-height:1.7}.work-absence-status p+p{margin-top:14px}.work-absence-status button{margin-top:14px}.absence-history{margin-top:30px}.absence-history>p{margin:12px 0}

.employee-week{max-width:900px;margin:32px auto;background:white;border:1px solid #d7e2df;border-radius:16px;padding:22px;text-align:left}.employee-week-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.employee-week h2{font-size:22px}.employee-week-heading p{margin-top:6px;color:#61766e;font-size:14px}.employee-week table{width:100%;min-width:440px}.employee-week th,.employee-week td{padding:12px 10px;text-align:left}.employee-week small{display:block;font-size:12px;color:#657970;margin-top:4px}.employee-week td>div+div{margin-top:8px}.employee-week-today{background:#f1f7e4}.employee-week tfoot{background:#f0f5f2;font-weight:600}.employee-week-note{font-size:12px;color:#657970;line-height:1.5;margin-top:14px}@media(max-width:600px){.employee-week{padding:14px;margin:24px auto}.employee-week .weeknav{gap:6px}.employee-week .secondary{padding:10px}.employee-week th,.employee-week td{padding:10px 8px}}

.rule-settings label{display:grid;gap:8px;margin:12px 0;font-size:14px}.rule-settings .rule-toggle{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px}.rule-toggle input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#264c3f}.rule-settings input[type=number]{width:150px;max-width:100%}.rule-row{padding:12px 0;border-bottom:1px solid #e2ebe6}.rule-settings .field-help{line-height:1.6;margin-top:12px}#rulesError{color:#ad3434}

#returnExpected{width:100%;min-height:60px;font-size:18px;border-radius:12px;margin-bottom:8px}#returnExpected[aria-pressed=true]{background:#dcebdc;border:2px solid #5e8c63;color:#244e2a}#returnExpectedField[hidden]{display:none}#deviationError{color:#a72525;font-weight:600;margin:12px 0}.employee-week .employee-week-missing{background:#fff0f0;color:#8d2525}.employee-week .missing-punch{display:block;color:#b02121;margin-top:6px;font-size:13px}.employee-week-missing th{border-left:3px solid #c84444}.global-reason-heading{margin:28px 0 18px}

#cloudStatus{position:fixed;bottom:12px;right:16px;z-index:10020;background:#203e37;color:white;padding:9px 14px;border-radius:9px;font-size:13px;box-shadow:0 3px 15px #0002;max-width:calc(100vw - 32px)}#cloudPanel{position:fixed;inset:0;z-index:11000;background:#edf4f1;display:grid;place-items:center;padding:24px}#cloudPanel section{background:white;border:1px solid #c7d8d1;border-radius:16px;padding:32px;max-width:600px}#cloudPanel h1{font-size:26px;margin-bottom:20px}#cloudPanel p{line-height:1.7;margin-bottom:20px}#cloudPanel button{display:block;width:100%;margin-top:12px;min-height:52px}#backupList a{display:block;margin:10px 0}.reason-card>p{line-height:1.6;margin:12px 0}

#deviationForm #otherDeviationReason{display:inline-block;width:auto;min-height:36px;padding:7px 14px;font-size:14px;border-radius:8px;margin:8px 0}#otherDeviationReason[aria-expanded="true"]{background:#213e37;color:white}#deviationCommentField[hidden]{display:none}

.employee-plan-button{display:block;margin:0 auto 22px;padding:12px 22px;font-size:16px;border-radius:10px}.employee-plan-sheet{margin-bottom:28px}.employee-plan-cell{min-width:125px;padding:10px 12px;text-align:center;white-space:nowrap;font-size:14px}

.employee-clock{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 24px;color:#213e37}.employee-clock-label{font-size:14px;color:#60746f}.employee-clock time{font-size:clamp(32px,5vw,48px);font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:1px}#elapsed{white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}

.employee-top:has(#liveClock){display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.employee-top .employee-clock{margin:0;gap:2px}.employee-top .employee-clock time{font-size:clamp(24px,4vw,36px)}.employee-top #employeeAdmin{justify-self:end}@media(max-width:480px){.employee-top:has(#liveClock){grid-template-columns:1fr auto;gap:6px 12px}.employee-top #employeeAdmin{grid-column:1 / -1}.employee-top .employee-clock-label{font-size:12px}}

.registered-work-total{margin:12px 0 20px;font-size:18px;color:#536c63}.registered-work-total strong{color:#213e37;white-space:nowrap;font-variant-numeric:tabular-nums}

#missedPunchDialog{width:min(560px,calc(100vw - 32px));max-height:90dvh;overflow:auto}#missedPunchDialog p{margin:16px 0;line-height:1.5}#missedPunchError{color:#a72525;font-weight:600}

.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;border-bottom:1px solid #ccd9d3;padding-bottom:12px}.settings-tabs button{border:1px solid #c8d8d0;background:#fff;color:#36564a;border-radius:9px;padding:12px 16px;font:inherit;font-size:15px;cursor:pointer}.settings-tabs button[aria-selected="true"]{background:#213e37;color:#fff;border-color:#213e37}.settings-tabs button:focus-visible{outline:3px solid #759b8e;outline-offset:2px}#reasonSettings > [role="tabpanel"][hidden],#settingsSave[hidden]{display:none}#settings-panel-templates .template-list{margin:18px 0}#settings-panel-templates .line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}

.workspace-label{display:block;font-size:14px;margin:14px 0 6px;color:#b9cdcc}.workspace select{width:100%;min-width:0;background:#213e43;color:white;border:1px solid #607d7f;border-radius:8px;font:inherit;font-weight:600;padding:10px 8px}.workspace select option{background:#213e43;color:white}#workspaceCount{display:block;margin-top:9px;font-size:14px;color:#b9cdcc}.secondment-badge{display:inline-flex;align-items:center;gap:4px;margin:5px 0 0 6px;padding:3px 6px;border-radius:6px;background:#e6edf9;color:#304d7d;font-size:12px;font-weight:500;white-space:normal}.sheet-name .secondment-badge{display:flex;margin:4px 0 0}.sheet-cell small{white-space:normal}

.settings-department-list{margin:18px 0}.settings-department-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #dce5e1}.settings-department-row small{display:block;margin-top:5px;color:#60746f;font-size:14px}.department-row-actions{display:flex;gap:8px;flex-wrap:wrap}.danger-button{color:#a72525!important}.danger-button:disabled{opacity:.45;cursor:not-allowed}#deleteDepartmentDialog p{margin:18px 0}#deleteDepartmentDialog .primary.danger-button{background:#a72525;color:white!important;border-color:#a72525}@media(max-width:650px){.settings-department-row{align-items:flex-start;flex-direction:column}}

.readonly-shift{display:block;min-width:115px;padding:9px 7px;font-size:14px;text-align:center;white-space:nowrap}.readonly-plan .sheet-cell{cursor:default}.readonly-plan .sheet-cell small{padding:3px 6px}.readonly-plan .sheet-section{margin-top:12px}
.approval-table td{vertical-align:top}.approval-table td small{display:block;margin-top:6px;color:#607779}.approval-table td:nth-child(4){max-width:290px;font-size:13px;line-height:1.6}.approval-status{display:inline-block;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap;background:#edf1f2;color:#425b61}.approval-status.approved{background:#e5f3d6;color:#315726}.approval-status.clarify{background:#fff0ce;color:#87590f}.approval-example{padding:12px 16px;background:#f7f2dd;border-radius:10px;color:#765f20;margin-bottom:18px;font-size:13px}#approvalDialog{width:min(650px,calc(100vw - 32px));max-height:90vh;overflow:auto}#approvalDialog h3{margin-top:24px}#approvalDialog textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid #bdcece;border-radius:8px;font:inherit}.approval-details{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:24px 0;padding:18px;background:#f0f5f3;border-radius:12px}.approval-details dt{color:#607779}.approval-details dd{margin:0}.approval-history{font-size:13px;line-height:1.7}#approvalError{color:#a63434}
.approval-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px;font-size:14px}.approval-status.pending{background:#fff0c6;color:#78540a}.approval-status.clarify{background:#fbe0de;color:#912d2d}.approval-grid{min-width:1050px;width:100%;table-layout:fixed}.approval-grid th:first-child{width:190px;position:sticky;left:0;z-index:1;background:#f8faf9}.approval-grid thead th{text-transform:capitalize}.approval-grid th,.approval-grid td{padding:10px;vertical-align:top;border-right:1px solid #e1e8e6}.approval-grid small{display:block;margin-top:5px;font-size:12px}.approval-day.approved{background:#e4f3df}.approval-day.pending{background:#fff2cd}.approval-day.clarify{background:#fbe2df}.approval-day.running{background:#e4eef7}.approval-day.empty-day{color:#71817f;background:#f7f9f8;font-size:13px}.approval-day-button{display:block;width:100%;padding:8px 3px;text-align:left;background:transparent;border:0;border-radius:6px;color:#233c34;cursor:pointer;font:inherit}.approval-day-button:hover{background:#ffffff80}.approval-day-button:focus-visible{outline:3px solid #315d58}.approval-day-button+button{border-top:1px solid #0002;margin-top:6px}.approval-day-button strong{display:block;font-size:16px}.approval-day-button span{display:block;margin-top:5px;font-size:12px}.approval-day-button .example-label{font-size:11px;opacity:.7}.approval-week-total{background:#f0f5f3}.approval-grid-wrap{margin-bottom:18px}.approval-grid .approval-week-total strong{white-space:nowrap}
.approval-day-button small{font-size:14px}.approval-day-button .example-label{font-size:12px}.approval-grid .empty-day>span{font-size:14px}
/* Each day has one summary with the same three positions, regardless of reason or number of sessions. */
.approval-grid .approval-day{padding:6px;vertical-align:middle}.approval-grid .approval-day-button,.approval-grid .approval-day-face{display:grid;grid-template-rows:1.6rem 1.3rem 1.4rem;align-content:center;gap:7px;min-height:112px;box-sizing:border-box;padding:12px 5px;text-align:center;width:100%;margin:0}.approval-grid .day-amount{font-size:1rem;font-weight:700;line-height:1.6rem;font-variant-numeric:tabular-nums;white-space:nowrap}.approval-grid .day-kind{font-size:.8125rem;line-height:1.3rem;margin:0;white-space:nowrap}.approval-grid .day-status{font-size:.8125rem;font-weight:600;line-height:1.4rem;margin:0;white-space:nowrap}.approval-grid .empty-day .day-amount{color:#a5b3af}.approval-grid tbody>tr>th,.approval-grid .approval-week-total{vertical-align:middle}.day-entry-list{display:grid;gap:12px}.day-entry-list button{display:grid;gap:8px;text-align:left;white-space:normal}.day-entry-list span{font-weight:400;font-size:14px}#approvalDayDialog{width:min(640px,calc(100vw - 32px));max-height:85vh;overflow:auto}
.missing-day-notice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:16px;margin-bottom:24px;border:1px solid #dbb356;border-radius:12px;background:#fff3d5;font-size:16px}.missing-day-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.missing-day-choices [aria-pressed=true]{background:#e4f3df;border-color:#527a45}#missingDayDialog{width:min(620px,calc(100vw - 32px));max-height:90vh;overflow:auto}#missingDayFields label{display:block;margin:14px 0}#missingDayFields input:not([type=checkbox]),#missingDayFields textarea{width:100%;box-sizing:border-box;padding:10px;font:inherit;border:1px solid #bacbc6;border-radius:8px}#missingDayFields .declaration-confirm{display:flex;gap:10px;align-items:flex-start;font-size:15px}#missingDayError{color:#a42d2d}.punch-segment-history{margin:18px 0}
#missingDayFields select,#declarationReviewDialog input,#declarationReviewDialog select,#declarationReviewDialog textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #bacbc6;border-radius:8px;font:inherit}#declarationReviewDialog{width:min(620px,calc(100vw - 32px));max-height:90vh;overflow:auto}#declarationReviewDialog label{display:block;margin:16px 0}#declarationChildFields{border:1px solid #c4d4cf;border-radius:10px;padding:14px;margin:18px 0}#declarationChildFields[hidden],#declarationOtherField[hidden]{display:none}#reviewDeclarationError{color:#a42d2d}
.punch-correction,.punch-correction-history{margin:20px 0;padding:16px;border:1px solid #c8d7d1;border-radius:10px;background:#f4f8f5}.punch-correction summary,.punch-correction-history summary{font-weight:700;cursor:pointer}.punch-correction p{font-size:14px;line-height:1.5}.punch-correction input,.punch-correction textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #bacbc6;border-radius:8px;font:inherit}.punch-correction-history li{margin:12px 0;font-size:14px;line-height:1.6}#punchCorrectionError{color:#a42d2d}
.payroll-settings{max-width:780px}.payroll-settings .formrow{gap:24px}.payroll-settings select{width:100%;padding:12px;font:inherit;border:1px solid #bacbc6;border-radius:8px;background:white}.payroll-period-preview{display:flex;flex-wrap:wrap;gap:24px 48px;padding:8px 20px;background:#f1f6f3;border-radius:12px;margin:20px 0}.payroll-period-preview p{line-height:1.7}#payrollSettingsError{color:#a42d2d}
.report-options{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:18px 0;font-size:14px}.report-options label{display:flex;align-items:center;gap:8px}.report-options input{width:auto}.report-options span{color:#617a70}.report-state{padding:14px 18px;border-radius:10px;background:#e8f3e5}.report-state.preliminary{background:#fff2d2;color:#77560a}.payroll-report-table td:nth-child(n+3),.payroll-report-table th:nth-child(n+3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.report-issues{margin:24px 0;padding:18px;background:#f6f8f7;border-radius:10px}.report-issues summary{cursor:pointer;font-weight:700}.report-issues li{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:14px 0}.report-issues ul{padding:0;list-style:none}
#plannedAbsenceDialog{width:min(570px,calc(100vw - 32px));max-height:90vh;overflow:auto}#plannedAbsenceHours{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #bacbc6;border-radius:8px;font:inherit;margin:8px 0}#plannedAbsenceError{color:#a42d2d}
.payroll-report-table .payroll-person-heading th{text-align:left;padding:20px 18px 10px;background:#f2f6f4;text-transform:none;letter-spacing:normal;white-space:normal;font-size:16px;border-top:2px solid #d9e4df}.payroll-report-table .payroll-person-heading strong{font-weight:750}.payroll-report-table .payroll-type-label{padding:13px 18px 13px 42px;text-align:left;font-size:14px;font-weight:400;text-transform:none;letter-spacing:normal;background:white}.payroll-report-table .payroll-type-row td,.payroll-report-table thead th:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-report-table .payroll-type-row:last-child>*{padding-bottom:20px}
.leader-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start}.leader-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.leader-section-heading h2,.leader-card h2{margin:0;font-size:20px}.leader-section-heading span{font-size:14px;color:#647c73}.leader-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.leader-filters button{font-size:13px;padding:9px 12px}.leader-filters [aria-pressed=true]{background:#193a32;color:white;border-color:#193a32}.leader-filters span{margin-left:5px;opacity:.75}.leader-task-list{display:grid;gap:12px}.leader-task{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:white;border:1px solid #dce5e0;border-radius:12px;border-left:4px solid #bfcfc4}.leader-task.priority{border-left-color:#b36140}.leader-task h3{font-size:17px;margin:6px 0}.leader-task p{margin:8px 0 0;font-size:14px;line-height:1.5;color:#586f65;overflow-wrap:anywhere}.leader-task-date{font-size:12px;color:#6f7e77}.leader-task>button{flex-shrink:0}.leader-side{display:grid;gap:18px}.leader-card{background:#f1f6f3;border:1px solid #dce5e0;border-radius:12px;padding:22px}.leader-card>p{font-size:14px;line-height:1.6}.leader-on-duty{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:18px}.leader-on-duty small{display:block;margin-top:5px;color:#61766a}.leader-on-duty .leader-overdue{color:#994422}.leader-show-more{margin:18px 0}.leader-tasks>.sheet-help{margin-top:20px}@media(max-width:1100px){.leader-layout{grid-template-columns:1fr}.leader-side{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:650px){.leader-task{align-items:flex-start;flex-direction:column}.leader-task>button{align-self:flex-end}}
.employee-name-button{border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:0;font:inherit}.employee-name-button strong{text-decoration:underline;text-underline-offset:3px}.employee-profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.employee-profile-tabs button{font:inherit;padding:10px 16px;border:1px solid #b7cac7;border-radius:8px;background:#fff;color:#193037;cursor:pointer}.employee-profile-tabs [aria-selected=true]{background:#193037;color:#fff}.employee-info-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.access-check{display:flex!important;align-items:center;gap:10px;padding:8px 0}.access-check input{width:auto!important;margin:0}.employee-document{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #d7e1df}.employee-document p{margin:6px 0}#employeeVisiblePeople{max-height:320px;overflow:auto}#employeeHoursPanel table{width:100%}@media(max-width:600px){.employee-info-fields{grid-template-columns:1fr}.employee-document{align-items:start;flex-direction:column}}
.auth-loading>aside,.auth-loading>main,.auth-loading>#cloudStatus{display:none!important}.signed-in-employee>aside{display:none}.signed-in-employee>main{margin-left:0;width:100%}.signed-in-employee .employee-admin{display:none!important}#loginScreen{min-height:100dvh;display:grid;place-items:center;background:#162c31;padding:24px}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:36px}.login-card .brand{color:#162c31;margin-bottom:32px}.login-card h1{font-size:30px}.login-card label{display:grid;gap:8px;margin:18px 0}.login-card input{width:100%;font:inherit;padding:12px;border:1px solid #adbfbe;border-radius:8px}.login-card button{width:100%;margin-top:12px}#loginError{color:#9a2222}#logout{position:fixed;right:20px;top:12px;z-index:50}.signed-in-employee .employee-top{padding-right:100px}
.signed-in-employee:not(.manual-clock-user) .test-clock,.signed-in-employee .employee-demo{display:none!important}
.declaration-submitted{background:#f1f6f5;border:1px solid #cadbd7;border-radius:12px;padding:20px;margin:20px 0 28px}.declaration-submitted h3{margin:0 0 16px}.declaration-submitted dl{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.4fr);gap:10px 18px;margin:0}.declaration-submitted dt{font-weight:600}.declaration-submitted dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:550px){.declaration-submitted dl{grid-template-columns:1fr;gap:5px}.declaration-submitted dd{margin-bottom:12px}}
.leave-balance{background:#f1f6f5;border:1px solid #cadbd7;border-radius:12px;padding:18px;margin:16px 0}.leave-balance h3{margin:0 0 12px}.leave-balance p{margin:8px 0}

.swap-badge{display:inline-block;margin-left:6px;font-weight:800;font-size:18px;line-height:1;vertical-align:middle}.swap-panel{max-width:1000px;margin:24px auto;padding:20px;border:1px solid #bdd0ce;border-radius:12px;background:#fff}.swap-panel>p{margin:12px 0}.swap-request{padding:16px 0;border-top:1px solid #dde5e3}.swap-request p{margin:8px 0}.swap-actions{display:flex;gap:10px;margin-top:12px}.swap-panel table{font-size:14px}.swap-panel th,.swap-panel td{padding:8px}#swapDialog{max-width:640px;width:calc(100% - 32px)}#swapForm>label{display:grid;gap:6px;margin:14px 0}#swapForm>p{margin:12px 0}.sheet-cell .swap-badge{position:absolute;right:4px;top:4px;pointer-events:none}.sheet-cell{position:relative}

.access-matrix{width:100%;margin-top:16px}.access-matrix th,.access-matrix td{padding:12px;text-align:left}.access-matrix input{width:20px;height:20px;accent-color:#264b43}.employee-bakrom-link{display:flex;justify-content:center;margin:40px 0 20px}.employee-bakrom-link button{min-width:180px}.readonly-note{margin:16px 0;padding:12px 16px;background:#eaf1ee;border-radius:8px}nav button[hidden],[data-view][hidden]{display:none!important}#backToMyClock{margin-top:20px}.access-matrix input:disabled{opacity:.5}

.weeknav .period-range{font-weight:400;color:#6b7f83}

.plan-date-range{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.plan-date-range label{display:grid;gap:5px;font-size:14px}.plan-date-range input{min-height:42px}.plan-date-range [role="alert"]{color:#9b2c2c;width:100%}.plan-date-range [role="alert"]:empty{display:none}

.punch-button{transition:transform 100ms ease,box-shadow 100ms ease;touch-action:manipulation}.punch-button:active:not(:disabled){transform:scale(.975);box-shadow:0 3px 10px #203e3726}@media(prefers-reduced-motion:reduce){.punch-button{transition:none}.punch-button:active:not(:disabled){transform:none}}

.punch-confirmation{text-align:center;width:min(460px,calc(100vw - 32px));padding:34px 28px;border:0;border-radius:22px}.punch-confirmation::backdrop,#deviationDialog::backdrop{background:#142d286b;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.punch-confirmation h2{font-size:28px;margin:16px 0}.punch-confirmation p{font-size:17px;line-height:1.5}.punch-confirmation-mark{display:grid;place-items:center;margin:auto;width:64px;height:64px;border-radius:50%;background:#d9ee85;color:#213a24;font-size:34px}#punchCountdown{font-variant-numeric:tabular-nums;font-weight:600;margin:24px 0}.punch-confirmation button{min-height:48px;width:100%}

.punch-confirmation-actions{display:grid;gap:12px}

.punch-shift-summary{margin:22px 0;padding:18px;border-radius:14px;background:#f0f5f3;text-align:left}.punch-shift-summary h3{margin:0 0 14px;font-size:18px}.punch-shift-summary dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;margin:0;font-size:15px}.punch-shift-summary dt{color:#536c63}.punch-shift-summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.punch-shift-summary .shift-summary-total{border-top:1px solid #cbd9d3;padding-top:12px;font-weight:700;color:#213e37}.punch-shift-summary .shift-summary-note{font-size:13px;line-height:1.5;margin:14px 0 0;color:#536c63}.punch-confirmation{max-height:calc(100dvh - 32px);overflow-y:auto}@media(max-width:380px){.punch-confirmation{padding:24px 16px}.punch-shift-summary{padding:14px}.punch-shift-summary dl{font-size:14px;gap:10px}}

.employee-personal-panel>summary{cursor:pointer;font-size:22px;font-weight:700;color:#263d40;padding:4px 0}.employee-personal-panel[open]>summary{margin-bottom:20px}.employee-personal-panel:not([open]){padding-top:20px;padding-bottom:20px}.employee-balance-year{color:#61766e;font-size:14px}.employee-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.employee-balance-grid>div{padding:18px;background:#f0f5f3;border-radius:10px}.employee-balance-grid dt{font-size:14px;color:#536c63}.employee-balance-grid dd{margin:8px 0 0;font-size:24px;font-weight:700}.employee-personal-panel .leave-balance{margin:14px 0}.employee-personal-panel .employee-week-heading p{margin:0}@media(max-width:550px){.employee-balance-grid{grid-template-columns:1fr}.employee-balance-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.employee-balance-grid dd{margin:0;font-size:21px}}

.signed-in-employee .employee-top:has(#liveClock){padding-right:0}.employee-top:has(#liveClock){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.employee-top .employee-brand{grid-column:1}.employee-top .employee-clock{grid-column:2}.employee-clock-logout{display:block;margin:12px auto 22px}body:has(.employee-punch)>#logout{display:none}@media(max-width:480px){.employee-top:has(#liveClock){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.employee-top:has(#liveClock) .employee-brand{font-size:18px}}

.employee-request-button{display:block;margin:12px auto 24px}.leave-request-types{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.leave-request-types [aria-pressed="true"]{background:#203e37;color:#fff}.request-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.request-date-fields[hidden]{display:none}#leaveRequestDialog label{display:grid;gap:6px}#leaveRequestDialog textarea{width:100%}.my-request-history{margin-top:24px}.my-request-history article{border-top:1px solid #d7e2df;padding:14px 0}.request-comment{white-space:pre-wrap}.sheet-cell,.employee-plan-cell,.employee-week td{position:relative}.planned-absence-dot{display:inline-block;position:absolute;right:7px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#c02e32;box-shadow:0 0 0 2px #fff;cursor:help;z-index:1}.sheet-cell:has(.planned-absence-dot) input,.employee-plan-cell:has(.planned-absence-dot),.employee-week td:has(.planned-absence-dot){padding-right:24px}.planned-absence-dot:focus-visible{outline:3px solid #203e37;outline-offset:3px}#leaveRequestDialog::backdrop,#leaveReviewDialog::backdrop{background:#142d286b;backdrop-filter:blur(7px)}@media(max-width:450px){.request-date-fields{grid-template-columns:1fr}}

.employee-punch-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 24px}.employee-punch-actions .employee-plan-button{display:inline-flex;align-items:center;justify-self:start;gap:9px;margin:0;max-width:100%;min-width:0;min-height:46px;padding:12px 18px;background:#dfece8;border:1px solid #b6d0c6;color:#203e37;font-weight:600;text-align:left;white-space:normal;line-height:1.3}.employee-plan-button svg{flex:none}.employee-punch-actions .employee-plan-button:hover{background:#cfe2da;border-color:#85ad9d}.employee-punch-actions .employee-clock-logout{grid-column:2;justify-self:end;margin:0;min-height:46px;padding:12px 18px;border-radius:10px}.employee-punch-actions button:focus-visible{outline:3px solid #416b5b;outline-offset:3px}@media(max-width:480px){.employee-punch-actions{gap:10px}.employee-punch-actions .employee-plan-button,.employee-punch-actions .employee-clock-logout{font-size:14px;padding:11px 12px}}

.employee-punch-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.employee-punch-actions .employee-request-button,.employee-punch-actions .employee-clock-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;min-height:46px;padding:12px 16px;border-radius:10px;font-size:14px;line-height:1.3}.employee-punch-actions .employee-request-button{grid-column:2;justify-self:center}.employee-punch-actions .employee-clock-logout{grid-column:3;justify-self:end}.employee-punch-actions svg{flex:none}.employee-punch-actions:not(:has(.employee-plan-button)){grid-template-columns:minmax(0,1fr) auto}.employee-punch-actions:not(:has(.employee-plan-button)) .employee-request-button{grid-column:1;justify-self:start}.employee-punch-actions:not(:has(.employee-plan-button)) .employee-clock-logout{grid-column:2}@media(max-width:650px){.employee-punch-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto;gap:6px}.employee-punch-actions .employee-plan-button,.employee-punch-actions .employee-request-button,.employee-punch-actions .employee-clock-logout{padding:10px 8px;font-size:14px;gap:5px;white-space:normal;overflow-wrap:anywhere}.employee-punch-actions svg{width:17px;height:17px}}

.planned-punch-choices{display:grid;gap:12px;margin-top:22px}.planned-punch-choices button{min-height:48px;white-space:normal}#plannedAbsencePunchDialog::backdrop{background:#142d286b;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}

/* Shared Vaktrom mark on employee screens. */
.employee-brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.employee-brand .logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:10px;font-size:27px;line-height:1;font-weight:700;letter-spacing:-1px}@media(max-width:650px){.employee-top:has(#liveClock) .employee-brand{font-size:16px;gap:6px}.employee-brand .logo{width:26px;height:26px;border-radius:8px;font-size:21px}}

/* Finger-sized calendar controls, including dialogs opened above another dialog. */
input[type=date],input[type=datetime-local],input[type=time],.month-nav button,.month-nav select,.weeknav button{min-height:48px;font-size:16px}
input[type=date],input[type=datetime-local]{cursor:pointer}
.touch-date-dialog{width:440px;max-width:calc(100% - 16px);max-height:calc(100dvh - 24px);overflow:auto;padding:20px}
.touch-date-dialog::backdrop{background:#152c3166;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.touch-date-dialog h2{font-size:21px;margin:0 0 18px}.touch-date-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 88px 48px;gap:6px;align-items:center;margin-bottom:12px}
.touch-date-nav button,.touch-date-nav input,.touch-date-nav select{height:48px;min-width:0;padding:6px;font-size:16px}.touch-date-nav button{font-size:28px}
.touch-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.touch-weekday{font-size:14px;color:#526c6b;padding:8px 0}
.touch-day{min-height:48px;border:1px solid transparent;border-radius:9px;background:#edf3f1;color:#203e37;font-size:17px;font-weight:600;padding:0;touch-action:manipulation}
.touch-day[aria-current=date]{border-color:#487768}.touch-day[aria-pressed=true]{background:#243f3f;color:white}.touch-day:disabled{opacity:.35;cursor:default}.touch-day:focus-visible{outline:3px solid #cd812a;outline-offset:-3px}
.touch-date-time{display:flex;align-items:center;gap:10px;margin-top:18px}.touch-date-time strong{margin-right:auto}.touch-date-time select{min-height:48px;font-size:18px}
.touch-date-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.touch-date-actions button{min-height:48px;font-size:16px}.touch-date-error{color:#a33b32;margin-top:10px}
@media(max-width:380px){.touch-date-dialog{padding:12px}.touch-date-nav{grid-template-columns:44px minmax(0,1fr) 74px 44px;gap:3px}.touch-date-grid{gap:0}.touch-day{min-height:44px}}

.weeknav button,.month-nav button{min-width:48px}.weeknav select,select[id*=month i],select[id*=year i],select[id*=week i],input[id*=year i],.plan-date-range button{min-height:48px;font-size:16px}

input[type=time]{cursor:pointer}.touch-date-time{display:grid;grid-template-columns:1fr;gap:12px}.touch-date-time>strong,.touch-date-time>span{display:none}.touch-time-unit{min-width:0}.touch-time-label{display:block;margin-bottom:6px;font-size:16px;font-weight:600}.touch-time-stepper{display:grid;grid-template-columns:56px 1fr 56px;gap:8px}.touch-time-stepper button{min-height:52px;font-size:26px}.touch-time-value{border:1px solid #adc8bd;background:#edf3f1;color:#203e37;border-radius:8px;font-size:30px!important;font-variant-numeric:tabular-nums;font-weight:700}.touch-time-options:not([hidden]){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;max-height:224px;overflow:auto;margin-top:8px;padding:3px}.touch-time-option{min-height:48px;padding:0;border:1px solid #d9e1de;border-radius:7px;background:#edf3f1;color:#203e37;font-size:17px}.touch-time-option[aria-pressed=true]{background:#243f3f;color:#fff}

/* Bakrom logout belongs to the sidebar, after its account/navigation footer. */
aside #logout.sidebar-logout{position:static;inset:auto;z-index:auto;display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;width:100%;margin-top:18px;background:#2b4145;color:#e4eded;border-color:#496064;flex-shrink:0}

#companyIdentity{color:#d9ee85;margin:14px 0 0;font-weight:600;overflow-wrap:anywhere}.superadmin-sidebar-bottom{margin-top:auto}.superadmin-sidebar-bottom button{min-height:48px;width:100%;background:#2b4145;color:#e4eded;border-color:#496064}.superadmin-page main{max-width:1250px}.superadmin-page .panel{margin-bottom:24px}.superadmin-page form label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.superadmin-page form input{min-height:48px;font-size:16px}.superadmin-page .formrow label{flex:1}.superadmin-page #companyMessage{margin:14px 0;color:#245548}.company-row{display:grid;gap:6px;padding:20px 0;border-bottom:1px solid #dce3e5;overflow-wrap:anywhere}.company-row small{color:#64777a}.company-list-panel h2{margin:0}.company-list-panel #companyList{margin-top:20px}@media(max-width:700px){.superadmin-page .formrow{flex-direction:column;gap:0}.superadmin-page main{padding:0 18px}.superadmin-page .panel{padding:20px}.superadmin-page .workspace{margin:20px 0}.superadmin-sidebar-bottom{margin-top:12px}}
.login-company-info{margin-bottom:20px}.login-card>button.secondary{margin-top:18px;min-height:48px}

/* Compact entry to employee shift swaps. */
.swap-toolbar{margin:16px 0}.swap-toolbar button{min-height:44px;display:inline-flex;align-items:center;gap:8px}#swapInbox{width:min(720px,calc(100vw - 32px));max-height:85vh;overflow:auto}#swapInbox .swap-panel{margin:0;padding:0;border:0;box-shadow:none}

/* Employee plan grows with visible colleagues, without stretching columns. */
.employee-plan-sheet{width:fit-content;max-width:100%;overflow:auto}
.employee-plan-sheet .roster-sheet{min-width:0;table-layout:fixed}
.employee-plan-sheet .roster-sheet th,.employee-plan-sheet .roster-sheet td{width:145px;min-width:145px;max-width:145px;overflow-wrap:anywhere}
.employee-plan-sheet .roster-sheet thead th:first-child,.employee-plan-sheet .roster-sheet tbody th{width:110px;min-width:110px;max-width:110px;left:0}
.employee-plan-sheet .roster-sheet thead th:nth-child(2),.employee-plan-sheet .roster-sheet .weekday{width:110px;min-width:110px;max-width:110px;left:110px}

/* Center employee plan and retain column headings while scrolling. */
.employee-plan-sheet{margin-left:auto;margin-right:auto}
.employee-plan-sheet .roster-sheet thead th{position:sticky;top:0;z-index:4}
.employee-plan-sheet .roster-sheet thead th:first-child,.employee-plan-sheet .roster-sheet thead th:nth-child(2){z-index:5}

.employee-plan-navigation{justify-content:center}.employee-plan-navigation .month-nav{justify-content:center;flex-wrap:wrap;text-align:center}

body.signed-in-employee:has(.employee-plan-sheet) #logout{display:none}

.sidefoot .sidebar-identity{min-width:0;overflow-wrap:anywhere}.sidebar-identity strong{font-size:14px;font-weight:600}

.employee-punch>.employee-punch-actions{margin:32px 15px 14px}.employee-punch>.employee-punch-actions+.punch-button{margin-top:0}

/* Align personal overviews with the punch controls and daily summary. */
.employee-screen .employee-personal-panel{width:100%;max-width:780px;margin-left:auto;margin-right:auto}

.bakrom-department-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 20px}.bakrom-department-choices label{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #d7e2df;border-radius:8px;min-height:44px}

.employee-notification-bell{grid-column:3;grid-row:1;justify-self:end;position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:10px;border:1px solid #ccdcd6;border-radius:50%;background:#fff;color:#213e37}
.employee-notification-bell:hover{background:#e5efeb}.notification-count{position:absolute;right:-6px;top:-6px;width:26px;min-width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#be303b;color:#fff;font-size:12px;font-weight:700;border:2px solid #f5f8f7}
#employeeNotificationsDialog{width:min(580px,calc(100vw - 32px));max-height:85dvh;overflow:auto}#employeeNotificationsDialog::backdrop{background:#142d286b;backdrop-filter:blur(7px)}.notifications-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.notifications-heading h2{margin:0}.notifications-list{margin-top:20px}.employee-notification{padding:18px 0;border-bottom:1px solid #dae5df}.employee-notification h3{font-size:17px;margin:0 0 8px}.employee-notification p{overflow-wrap:anywhere}.notification-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.notification-actions button{min-height:44px}#notificationsError{color:#a12632;margin-top:12px}

.dashboard-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:#fff5df;border:1px solid #e8cc8a;border-radius:16px;margin-bottom:20px}.dashboard-status.clear{background:#eef5e5;border-color:#cbdcb7}.dashboard-status h2{margin:0 0 6px}.dashboard-status p{margin:0}.dashboard-task{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid #e0e8e5}.dashboard-task small{display:block;margin-top:5px;color:#647976}.dashboard-task p{margin:5px 0 0;font-size:14px}.dashboard-work,.dashboard-payroll,.dashboard-today{margin-bottom:20px}.dashboard-today summary{cursor:pointer;font-weight:700;padding:8px 0}.dashboard-payroll ul{max-height:180px;overflow:auto}@media(max-width:650px){.dashboard-task{grid-template-columns:1fr auto;gap:10px}.dashboard-task>div:nth-child(2){grid-column:1/-1;grid-row:2}.dashboard-status{align-items:flex-start;flex-direction:column}}

nav button .overview-task-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;min-width:26px;margin-left:auto;border-radius:50%;background:#c83038;color:#fff;font-size:12px;font-weight:750;line-height:1;letter-spacing:0;padding:0}nav button .overview-task-count[hidden]{display:none}

.period-lock-panel{display:flex;align-items:center;flex-wrap:wrap;gap:16px;justify-content:space-between;background:#eef3f1;border:1px solid #ccdcd4;border-radius:12px;padding:18px 22px;margin:16px 0}.period-lock-panel p{margin:6px 0 0}.period-lock-panel details,.period-lock-panel [role=alert]{flex-basis:100%}.period-lock-panel.locked{background:#e2f2df;border-color:#91bd88}.period-is-locked .approval-grid th,.period-is-locked .approval-grid td,.period-is-locked .approval-grid .approval-day{background:#ddf0d9!important;color:#23482b}.period-is-locked .approval-grid button{background:#ddf0d9!important;border-color:#a2c69a}
.period-readiness{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#72511b;font-size:14px}.period-readiness.ready{color:#315d39}.period-readiness button{flex-shrink:0}

.column-order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.column-move-controls{display:flex;justify-content:center;gap:6px;margin-top:8px}.column-move-controls button{min-width:44px;min-height:44px;padding:6px;border:1px solid #b9ceca;border-radius:8px;background:#edf5f2;color:#244541;font-size:20px}.column-move-controls button:disabled{opacity:.3}.roster-sheet th[draggable=true]{cursor:grab}.roster-sheet th.column-drop-target{box-shadow:inset 4px 0 #477d6c;background:#dceee4}.column-dragging{opacity:.5}

.employee-week .approval-day.approved{background:#e4f3df}.employee-week .approval-day.pending{background:#fff2cd}.employee-week .approval-day.clarify{background:#fbe2df}.employee-week .approval-day.running{background:#e4eef7}.employee-record-status{border-radius:5px;padding:4px 6px}.employee-record-status.approved{background:#e4f3df}.employee-record-status.pending{background:#fff2cd}.employee-record-status.clarify{background:#fbe2df}.employee-week.employee-week-locked{background:#eef8eb;border-color:#91bd88}.employee-week-locked table th,.employee-week-locked table td,.employee-week-locked .employee-record-status{background:#ddf0d9!important;color:#23482b}.employee-week-locked summary{color:#23482b}

.overtime-settings .ot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}.overtime-settings .ot-check{display:flex;align-items:center;gap:10px;min-height:44px}.overtime-settings .ot-check input{width:22px;height:22px;flex:0 0 auto;margin:0}.ot-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px;padding:12px;background:#f3f7f5;border-radius:10px}.ot-people[hidden]{display:none}.ot-days{display:flex;gap:18px;flex-wrap:wrap}.overtime-settings input,.overtime-settings select{min-height:44px}.overtime-settings details{margin:22px 0}.overtime-settings summary{cursor:pointer;min-height:44px;align-content:center}.overtime-settings h3{margin-top:28px}#otError{color:#a12828}

.report-options label[hidden],#employeeHoursPanel label[hidden]{display:none!important}

/* Approved tidstavla identity: a rounded t, shared across all screens. */
.brand-wordmark{display:block;width:230px;max-width:100%;height:auto;flex:none}.login-card .brand-wordmark{width:258px}.employee-brand .brand-wordmark{width:185px}.brand img.logo{display:block;width:38px;height:38px;border-radius:0;background:transparent}.employee-brand{display:flex;align-items:center}aside .brand:has(.brand-wordmark){background:#f5f8f7;border-radius:12px;padding:10px}aside .brand .brand-wordmark{width:100%}@media(max-width:600px){.employee-brand .brand-wordmark{width:140px}}@media(max-width:400px){.employee-brand .brand-wordmark{width:116px}}

#loginScreen:has(.install-app-button){position:relative;padding-bottom:104px}.install-app-button{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 18px;border:1px solid #617873;border-radius:12px;background:#203c38;color:#f5f8f7;font-weight:600}.install-app-button[hidden]{display:none}.install-app-button:hover{background:#304f49}.install-app-button:disabled{opacity:.65}#installHelp{max-width:480px;width:calc(100% - 32px);border:0;border-radius:16px;padding:28px}#installHelp::backdrop{background:#162c3180;backdrop-filter:blur(6px)}

.company-login-group{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:16px}.company-login-group .login-card{width:100%}.company-login-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;color:#d9ee85;text-decoration:none}.company-login-contact:hover{text-decoration:underline}

#loginScreen.personal-login{position:relative;padding:24px}.login-chalk-note{position:absolute;top:24px;right:32px;width:190px;height:auto;opacity:1;pointer-events:none;user-select:none}@media(max-width:600px){.login-chalk-note{width:140px;top:15px;right:18px}#loginScreen.personal-login{padding:24px}}

/* Decorative board patina stays outside the login layout. */
#loginScreen{position:relative;isolation:isolate}#loginScreen::before{content:"";position:absolute;left:0;right:0;bottom:0;height:33.333%;z-index:-1;pointer-events:none;background:url('/chalkboard-bottom.png') center bottom/cover no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 38%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 38%);opacity:.8}

.chalk-message-text{font-family:"Tidstavla Hand",cursive;font-weight:600;font-feature-settings:"calt" 1,"liga" 1;color:#fffdf2;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3;letter-spacing:.5px;text-shadow:.6px .4px 0 #ffffff65,-.5px -.3px 0 #ffffff40}.login-board-message{position:absolute;top:28px;left:32px;max-width:min(26vw,300px);font-size:clamp(28px,3.2vw,44px);transform:rotate(-5deg);pointer-events:none}.login-board-message[hidden]{display:none}.board-preview{margin-top:20px;padding:24px;background:#162c31;border-radius:12px;min-height:110px}.board-preview .chalk-message-text{font-size:38px}#boardText{width:100%;min-height:100px}#loginScreen.personal-login>.login-card{position:relative;z-index:1}@media(max-width:600px){.login-board-message{top:12px;left:18px;max-width:44vw;font-size:28px;overflow:visible}}

#boardText{font:inherit;padding:12px;border:1px solid #bdcdcc;border-radius:9px;resize:vertical}#settings-panel-board .formrow label{display:grid;gap:8px}.chalk-message-text{filter:url(#boardChalkTexture);padding:.1em .5em .2em .12em;overflow:visible}.board-preview .chalk-message-text{display:inline-block;max-width:100%}

@font-face{font-family:"Tidstavla Hand";src:url("/caveat-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}

#cloudStatus:empty{display:none}

.personal-login-clock{position:absolute;bottom:calc(100% + 14px);left:0;right:0;display:block;text-align:center;color:#fffdf2;font-size:28px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:1px;pointer-events:none}@media(max-height:640px){#loginScreen.personal-login{min-height:640px}}

.login-company-name{text-align:center;font-size:24px;font-weight:650;line-height:1.3;color:#203438;overflow-wrap:anywhere}

.login-card button.login-company-switch{display:flex;width:auto;max-width:100%;padding:0;margin:0 0 32px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;touch-action:manipulation}.login-company-switch img{pointer-events:none;user-select:none}

.login-card .pin-login-open{border:0;min-height:90px;font-size:28px;background:#d9ee85;color:#203438;border-radius:14px}.login-card .pin-login-alternative{width:auto;display:block;margin:18px auto 0;padding:8px 4px;min-height:40px;border:0;background:transparent;color:#627975;font-size:13px;text-decoration:underline}.login-card #loginForm[hidden],.pin-login-open[hidden]{display:none}#pinLoginDialog{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto;border:0;border-radius:20px;padding:24px;color:#203438}#pinLoginDialog::backdrop{background:#102529a6;backdrop-filter:blur(8px)}.pin-login-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.pin-login-heading h2{font-size:23px;margin:0;overflow-wrap:anywhere}.pin-close{border:0;background:transparent;min-width:44px;min-height:44px;font-size:28px}#pinLoginPrompt{margin:6px 0 14px;font-size:20px}#pinLoginValue{width:100%;height:62px;border:1px solid #b8ccca;border-radius:10px;background:#f4f8f6;text-align:center;font-size:30px;letter-spacing:3px;font-variant-numeric:tabular-nums}#pinLoginError{min-height:20px;color:#a12828;font-size:14px;margin:8px 0}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-keypad button{min-height:64px;border:1px solid #c4d4d0;border-radius:12px;background:#edf4f0;color:#203438;font-size:27px;touch-action:manipulation}.pin-keypad button:active{background:#d9ee85;transform:scale(.96)}#pinLoginDialog .pin-next{width:100%;min-height:52px;margin-top:16px;font-size:20px}#pinLoginDialog .pin-back{width:100%;min-height:44px;margin-top:8px}#pinLoginDialog .pin-back[hidden]{display:none}@media(max-height:640px){#pinLoginDialog{padding:16px}.pin-keypad{gap:6px}.pin-keypad button{min-height:48px}#pinLoginValue{height:48px}#pinLoginDialog .pin-next{margin-top:10px}}

#pinLoginValue{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;user-select:none}

.login-tagline{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));left:24px;text-align:right;color:#d9e3df;font-size:13px;line-height:1.5;pointer-events:none}

.hms-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hms-settings-grid select{min-height:48px;width:100%}.hms-intro{max-width:850px}@media(max-width:700px){.hms-settings-grid{grid-template-columns:1fr}}

.hms-dialog{width:min(760px,94vw)}.hms-dialog textarea{width:100%;min-height:85px}.hms-dialog fieldset{border:0;padding:0}.hms-prose{white-space:pre-wrap;overflow-wrap:anywhere}.hms-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.hms-toolbar label{margin:0}.hms-dialog select,.hms-dialog input{min-height:46px}

.hms-dialog textarea{border:1px solid #bbcece;border-radius:10px;padding:12px;font:inherit;color:inherit}.hms-dialog::backdrop{backdrop-filter:blur(5px)}

.hms-dialog .modalhead{flex-wrap:wrap;gap:12px}

.employee-hms-link{display:flex;justify-content:center;width:100%;max-width:780px;margin:32px auto 20px}.employee-hms-link button{min-height:44px}

/* Punching screen: secondary actions above punch, logout always within reach. */
.employee-punch .employee-punch-actions,.employee-punch .employee-punch-actions:not(:has(.employee-plan-button)){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.employee-punch-actions .employee-request-button{margin-left:auto;max-width:100%}
.employee-screen .employee-floating-logout{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:0;min-height:48px;padding:13px 20px;border:1px solid #213e37;border-radius:12px;background:#213e37;color:#fff;font-size:15px;line-height:1.3;box-shadow:0 5px 18px #162c3126}
.employee-screen .employee-floating-logout:hover{background:#30564b;border-color:#30564b}
.employee-screen .employee-floating-logout svg{flex:none;width:20px;height:20px}
.employee-screen:has(.employee-floating-logout){padding-bottom:calc(90px + env(safe-area-inset-bottom))}

.template-palette .plan-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px}
.template-palette .plan-icon-button[aria-pressed="true"]{background:#dcebdc;border-color:#50775b;color:#213e37}
.plan-fullscreen [data-plan-fullscreen]{background:#213e37;border-color:#213e37;color:#fff;min-height:44px}
.plan-fullscreen [data-plan-fullscreen]:hover{background:#30564b;border-color:#30564b}

.plan-fullscreen .template-palette .palette-close{margin-left:auto}

.company-theme-picker{border:0;padding:0;margin:20px 0 28px;min-width:0}.company-theme-picker legend{font-size:18px;font-weight:700}.company-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.company-theme-option{display:flex!important;align-items:center;gap:10px;padding:12px;border:2px solid #d7e0de;border-radius:10px;min-height:60px;cursor:pointer}.company-theme-option:has(input:checked){border-color:var(--theme-primary,#213e37);background:var(--theme-soft,#e2eee7)}.company-theme-option input{width:18px;height:18px;accent-color:var(--theme-primary,#213e37);flex:none}.company-theme-swatch{width:34px;height:30px;border-radius:6px;border-right:11px solid;flex:none}@media(max-width:650px){.company-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.company-theme-option{padding:10px;gap:7px}}
html[data-theme]:not([data-theme=forest]){background:var(--theme-page)}
html[data-theme]:not([data-theme=forest]) aside,html[data-theme]:not([data-theme=forest]) #loginScreen,html[data-theme]:not([data-theme=forest]) .board-preview{background-color:var(--theme-dark)}
html[data-theme]:not([data-theme=forest]) main.employee-screen{background:var(--theme-page)}
html[data-theme]:not([data-theme=forest]) nav button.active{background:var(--theme-primary);color:var(--theme-accent);box-shadow:inset 3px 0 var(--theme-accent)}
html[data-theme]:not([data-theme=forest]) .primary:not(.danger-button),html[data-theme]:not([data-theme=forest]) .employee-screen .employee-floating-logout,html[data-theme]:not([data-theme=forest]) .plan-fullscreen [data-plan-fullscreen]{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}
html[data-theme]:not([data-theme=forest]) .punch-button:not(.punch-out){background:var(--theme-accent);color:var(--theme-dark)}
html[data-theme]:not([data-theme=forest]) .employee-plan-button{background:var(--theme-soft);color:var(--theme-primary);border-color:var(--theme-primary)}
html[data-theme]:not([data-theme=forest]) aside #logout.sidebar-logout{background:var(--theme-primary);border-color:var(--theme-primary)}
html[data-theme]:not([data-theme=forest]) .settings-tabs [aria-selected=true]{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}
html[data-theme]:not([data-theme=forest]) #workspaceDepartment{background-color:var(--theme-primary);color:#fff}
.company-logo-settings{border:0;padding:0;margin:20px 0 28px}.company-logo-settings legend{font-size:18px;font-weight:700}.company-logo-settings #companyLogoPreview img{display:block;max-width:280px;max-height:100px;object-fit:contain;background:#fff;margin:16px 0}.company-logo-upload{display:inline-flex!important;align-items:center;position:relative;min-height:46px;cursor:pointer}.company-logo-upload input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.company-logo-upload:focus-within{outline:3px solid #cd812a;outline-offset:3px}.company-login-logo{display:block;max-width:240px;max-height:85px;object-fit:contain;background:white;border-radius:6px;margin:0 auto 20px;padding:6px}

.login-company-name .company-login-logo{margin:0 auto}
.smart-settings{border-top:1px solid #d5e0dc;margin-top:24px;padding-top:12px}.smart-suggestion-card{padding:16px;margin-top:12px;background:#edf3ee;border:1px solid #c9d9cf;border-radius:12px}.smart-suggestion-card p{margin-top:0}#smartSuggestionDialog{max-width:650px}#smartSuggestionDialog p{line-height:1.65}
