:root{font-family:Segoe UI,Arial,sans-serif;color:#24342d;background:#f3f5f0;font-size:15px;line-height:1.5;--accent:#23664a;--line:#dce2d9}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:244px;flex-shrink:0;background:#183b2e;color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:34px}.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand small{display:block;color:#b9cfc2;font-weight:400}.mark{display:grid;place-items:center;width:42px;height:42px;background:#d7e7ac;color:#234431;border-radius:12px;font-size:24px}nav{display:flex;flex-direction:column;gap:7px}nav button{background:transparent;color:#dce8df;text-align:left;border:0;padding:13px 14px;min-height:48px}nav button:hover{background:#244c3c}nav button.active{background:#d7e7ac;color:#183b2e;font-weight:600}.sidebar-bottom{margin-top:auto;color:#c6d7cb;padding:16px 10px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b6d17e}main{width:100%;max-width:1600px;padding:34px 42px;min-width:0}header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}h1{font-size:30px;letter-spacing:-.7px;margin:3px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 10px}.eyebrow{color:#637367;font-size:13px}.operator{max-width:220px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:#526156}input,select{width:100%;min-width:0;padding:12px 13px;font:inherit;color:#24342d;background:#fff;border:1px solid #c9d3c8;border-radius:8px;min-height:47px}input:focus,select:focus{outline:2px solid #8eb299;outline-offset:2px}button{font:inherit;border:1px solid transparent;border-radius:8px;min-height:44px;padding:10px 18px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eaf0e5;color:#294935;border:1px solid #d2dec9}.quiet{background:transparent;color:#536558;border:1px solid var(--line)}button:hover{filter:brightness(.96)}button:focus-visible{outline:3px solid #93b1f0;outline-offset:2px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}.metric strong{display:block;font-size:30px;font-weight:600;margin:8px 0 2px}.muted,small{color:#647365;font-size:13px}.metric .muted{font-size:14px}.forms{max-width:760px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.hint{margin:0 0 22px;color:#647365}.empty{text-align:center;padding:38px 20px;color:#647365}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{color:#657267;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:12px;background:#f5f7f2}td{padding:15px 12px;border-bottom:1px solid #e7ece3;vertical-align:middle}td small{display:block}td button{padding:8px 12px;white-space:nowrap}tr:last-child td{border-bottom:0}.pill{display:inline-block;border-radius:6px;padding:3px 8px;background:#eef3e8;color:#426334;font-size:12px}.pill.warn{background:#fff0d9;color:#8a5815}.pill.danger{background:#ffe7e3;color:#963c2f}.row-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.row-head h2{margin:0}.row-head input{max-width:300px}.notice{padding:18px 20px;border-left:3px solid #ce9944;background:#fff8e9;border-radius:7px;margin-bottom:12px;white-space:pre-line}.notice.success{background:#edf4e8;border-color:#73945b}.task{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.task input{width:22px;min-height:22px;flex-shrink:0}.task span{flex:1}.task.done span{text-decoration:line-through;color:#6f7d70}#message,#connection{padding:16px 20px;background:#e4efdf;border:1px solid #c5d9bd;border-radius:10px;margin-bottom:20px;white-space:pre-line}#message.error,#connection{background:#ffebe5;border-color:#e2b9ae;color:#7c3327}footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;color:#647365;font-size:12px}footer span{margin-right:auto}dialog{border:1px solid var(--line);border-radius:14px;max-width:520px;padding:28px;color:#24342d}dialog::backdrop{background:#12271c77}dialog p{white-space:pre-line}.history-item{padding:14px 0;border-bottom:1px solid var(--line);white-space:pre-line}.tabs{display:flex;gap:10px;margin-bottom:20px}.subtle{background:#f7f9f3;padding:14px;border-radius:8px}.split-title{display:flex;align-items:center;justify-content:space-between;gap:12px}@media(max-width:1050px){aside{width:210px;padding:24px 12px}main{padding:28px 24px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:25px}}@media(max-width:760px){body{display:block}aside{width:100%;padding:16px;gap:16px}nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}nav button{padding:9px;font-size:13px}.sidebar-bottom{display:none}main{padding:22px 16px}header{align-items:start;gap:12px}h1{font-size:24px}.operator{max-width:150px}.metrics{grid-template-columns:1fr}.metric strong{font-size:25px}.grid{grid-template-columns:1fr}.panel{padding:18px}th,td{padding:10px}.brand{font-size:16px}}
.header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.header-controls #auth-toggle{max-width:280px;overflow-wrap:anywhere}.header-controls .operator{width:220px}@media(max-width:760px){header{flex-wrap:wrap}.header-controls{margin-left:auto;max-width:100%}.header-controls #auth-toggle{max-width:100%}}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.permission-choice{display:flex;flex-direction:row;align-items:center;gap:10px;margin:10px 0}.permission-choice input{width:20px;min-height:20px;height:20px;flex-shrink:0}.forms h3{margin-top:22px}@media(max-width:760px){.permission-grid{grid-template-columns:1fr}}
.scan-row{display:flex;align-items:flex-end;gap:12px}.scan-row label{flex:1}.label-preview{display:block;max-width:100%;width:464px;image-rendering:pixelated;border:1px solid #dce2d9;margin:16px 0}@media(max-width:760px){.scan-row{flex-wrap:wrap}.scan-row label{min-width:100%}}
.download-button{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:8px;background:var(--accent);color:white;text-decoration:none}.revision-weight{min-width:135px}.revision-weight input{max-width:170px}
.brand-telegraf{flex-direction:column;align-items:stretch;gap:12px}.brand-logo{position:relative;width:100%;aspect-ratio:2;overflow:hidden;border-radius:10px;background:#fff}.brand-logo img{position:absolute;width:125%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}.brand-caption{padding:0 5px}.brand-caption small{font-size:12px}@media(max-width:760px){.brand-telegraf{flex-direction:row;align-items:center;gap:16px}.brand-logo{width:180px;flex-shrink:0}}
.expiry-expired{color:#a02e25}.expiry-today{color:#805900}.expiry-tomorrow{color:#23664a}.assigned-task{padding:20px 0;border-bottom:1px solid var(--line)}#package-history-body{margin-top:20px}
.workshop-picker{position:relative;width:100%}.brand-caption{position:relative;display:block;width:100%;padding:8px 28px 8px 5px;background:transparent;color:#fff;text-align:left;line-height:1.45;border:0}.brand-caption:hover{background:#244c3c}.brand-caption:disabled{opacity:1;cursor:default}.brand-caption small{display:block}.workshop-chevron{position:absolute;right:8px;top:14px;color:#b9cfc2}.brand-caption[aria-expanded=true] .workshop-chevron{transform:rotate(180deg)}.workshop-options{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-width:calc(100vw - 32px);padding:6px;background:#fff;border:1px solid #dce2d9;border-radius:12px;box-shadow:0 12px 30px #10251a33;z-index:30}.workshop-options button{display:block;width:100%;text-align:left;color:#24342d;background:transparent;padding:11px 12px;border-radius:7px;font-size:14px}.workshop-options button:hover,.workshop-options button:focus-visible{background:#edf3e7}.workshop-options button[aria-pressed=true]{background:#d7e7ac;color:#183b2e;font-weight:600}.brand .workshop-options small{display:block;color:#647367;font-size:11px;margin-top:3px}aside{gap:24px}
.auth-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.auth-buttons button{white-space:nowrap}@media(max-width:760px){.auth-buttons{gap:7px}.auth-buttons button{padding:9px 12px}}
.global-search{position:relative;margin-bottom:24px}.global-search label{margin-bottom:7px}.pf-results{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 25px #183b2e22;z-index:20;max-height:440px;overflow:auto}.pf-result{padding:16px 20px;border-bottom:1px solid var(--line)}.pf-result small{display:block;color:#637367}.pf-result p{margin:8px 0}.workshop-task-heading{margin-top:24px;padding:12px 16px;background:#eaf0e5;border-radius:8px}

.keyboard-trigger{align-self:flex-end;min-height:36px;padding:5px 10px;font-size:13px}.keyboard-open{padding-bottom:var(--touch-keyboard-space,340px)}#touch-keyboard{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(820px,100%);padding:12px;background:#edf2e8;border:1px solid #b9cbb7;border-radius:16px 16px 0 0;box-shadow:0 -5px 30px #183b2e44;z-index:1000}.keyboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.keyboard-head button{padding:5px 14px;min-height:38px}.keyboard-row{display:flex;gap:5px;justify-content:center;margin:5px 0}.keyboard-row button{flex:1;min-width:0;padding:8px 2px;min-height:48px;background:white;color:#183b2e;border-color:#c9d3c8;font-size:20px;touch-action:manipulation}.keyboard-row [data-key=space]{flex:3}.danger-button{background:#9e392e;color:white}.pin-value{font-size:24px;letter-spacing:5px;padding:12px}.password-panel{margin-top:20px}@media(max-width:600px){.keyboard-row{gap:3px}.keyboard-row button{font-size:16px;min-height:44px}#touch-keyboard{padding:8px}}

#touch-keyboard.numeric-keyboard{width:min(320px,100%)}.numeric-keyboard .keyboard-head{gap:8px}.numeric-keyboard .keyboard-row button{flex:0 0 56px;width:56px;min-height:48px}.numeric-keyboard .keyboard-row [data-key=done]{flex:0 1 96px;width:auto}.keyboard-row [data-key=shift][aria-pressed=true]{background:#d7e7ac;border-color:#749b61;color:#183b2e}.keyboard-row [data-key=shift][data-caps=true]{background:#23664a;color:white}

.keyboard-trigger{font-size:20px;width:40px;min-height:36px;padding:2px;line-height:1}.timesheet-panel{padding:16px}.timesheet-controls .actions{margin-top:0}.timesheet-scroll{overflow:auto;max-height:70vh;border:1px solid #bdc9b9}.timesheet-grid{width:max-content;min-width:100%;table-layout:fixed;font-size:13px}.timesheet-grid th,.timesheet-grid td{padding:2px;border:1px solid #c5cfc0;min-width:58px;text-align:center}.timesheet-grid thead th{position:sticky;top:0;background:#edf2e8;z-index:3;height:38px}.timesheet-grid th:first-child{position:sticky;left:0;width:240px;min-width:240px;text-align:left;background:#f3f6ef;z-index:2}.timesheet-grid thead th:first-child{z-index:4}.timesheet-grid .timesheet-group th{position:static;background:#cd7129;color:#fff;font-weight:bold;padding:7px;text-align:left}.timesheet-grid input{font-size:14px;padding:6px;min-height:38px;border-color:transparent;border-radius:2px;background:transparent}.timesheet-grid .timesheet-hour{width:58px;text-align:center}.timesheet-grid td{position:relative}.timesheet-grid .keyboard-trigger{display:none}.timesheet-grid td:focus-within .keyboard-trigger,.timesheet-grid th:focus-within .keyboard-trigger{display:inline-block;width:28px;height:24px;min-height:24px;font-size:17px}.timesheet-grid .timesheet-weekend{background:#f8e2c8}.timesheet-grid .timesheet-total,.timesheet-grand{font-weight:bold;background:#e4eddc}.timesheet-print-title{font-size:18px}.timesheet-grid .timesheet-error{border:2px solid #a53228;background:#fff0ec}
@media print{@page{size:A4 landscape;margin:8mm}body.printing-timesheet{display:block;background:white;color:black;padding:0!important;font-size:8pt}body.printing-timesheet>aside,body.printing-timesheet header,body.printing-timesheet footer,body.printing-timesheet #global-pf-search,body.printing-timesheet #message,body.printing-timesheet #connection,body.printing-timesheet #touch-keyboard,body.printing-timesheet .timesheet-controls,body.printing-timesheet .keyboard-trigger{display:none!important}body.printing-timesheet main{padding:0;max-width:none;width:100%}body.printing-timesheet .panel{padding:0;border:0;margin:0}body.printing-timesheet .timesheet-scroll{overflow:visible;max-height:none;border:0}body.printing-timesheet .timesheet-grid{width:100%;min-width:0;table-layout:fixed;font-size:6.5pt}body.printing-timesheet .timesheet-grid th,body.printing-timesheet .timesheet-grid td{position:static!important;min-width:0;padding:1px;border:0.3pt solid #555;line-height:1.2}body.printing-timesheet .timesheet-grid th:first-child{width:39mm;min-width:0}body.printing-timesheet .timesheet-grid th:last-child,body.printing-timesheet .timesheet-grid td:last-child{width:13mm}body.printing-timesheet .timesheet-grid input{width:100%!important;min-height:0;height:5mm;padding:0;border:0!important;font-size:6.5pt;color:black;box-shadow:none;outline:none}body.printing-timesheet .timesheet-grid small{font-size:5.5pt}body.printing-timesheet .timesheet-grid thead{display:table-header-group}body.printing-timesheet .timesheet-grid tr{break-inside:avoid}body.printing-timesheet .timesheet-group{break-after:avoid}body.printing-timesheet .timesheet-print-title{font-size:12pt;margin-bottom:3mm}body.printing-timesheet *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.timesheet-grid .timesheet-total,.timesheet-grid thead th:last-child,.timesheet-grid .timesheet-grand td:last-child{position:sticky;right:0;min-width:76px;z-index:2;background:#e4eddc}.timesheet-grid thead th:last-child{z-index:4}

@media screen{
 .timesheet-panel{padding:12px}
 .timesheet-grid{font-size:12px;line-height:1.2}
 .timesheet-grid th,.timesheet-grid td{padding:1px;min-width:40px}
 .timesheet-grid thead th{height:28px;font-size:11px;letter-spacing:0}
 .timesheet-grid th:first-child{width:190px;min-width:190px}
 .timesheet-grid th>small{display:none}
 .timesheet-grid input{font-size:12px;line-height:1.2;padding:3px 2px;min-height:28px;height:28px}
 .timesheet-grid .timesheet-hour{width:38px}
 .timesheet-grid .timesheet-group th{padding:4px 6px;font-size:11px}
 .timesheet-grid .timesheet-total,.timesheet-grid thead th:last-child,.timesheet-grid .timesheet-grand td:last-child{min-width:60px;width:60px}
 .timesheet-grid .timesheet-grand th,.timesheet-grid .timesheet-grand td{height:28px}
 .timesheet-grid td:focus-within .keyboard-trigger,.timesheet-grid th:focus-within .keyboard-trigger{position:absolute;right:1px;bottom:1px;width:18px;height:18px;min-height:18px;font-size:14px;z-index:5;background:#f3f6efdd;padding:0}
 .timesheet-grid .timesheet-name{padding-right:20px}
}

@media screen{.timesheet-grid{width:100%;min-width:0;table-layout:fixed}.timesheet-grid .timesheet-person-column{width:clamp(120px,14vw,170px)}.timesheet-grid .timesheet-sum-column{width:46px}.timesheet-grid th,.timesheet-grid td,.timesheet-grid th:first-child,.timesheet-grid .timesheet-total,.timesheet-grid thead th:last-child,.timesheet-grid .timesheet-grand td:last-child{min-width:0;width:auto;padding:1px}.timesheet-grid th:first-child{white-space:normal;overflow-wrap:anywhere}.timesheet-grid .timesheet-hour{width:100%;min-width:0;padding:1px 0;font-size:10px}.timesheet-grid thead th{font-size:9px;letter-spacing:0}.timesheet-grid .timesheet-name{width:100%;font-size:11px;padding:2px;min-width:0}.timesheet-grid .timesheet-total,.timesheet-grid .timesheet-grand td{font-size:10px}.timesheet-grid .timesheet-group th{padding:4px 6px}.timesheet-scroll{overflow-x:hidden}}

.birthday-notices{padding:14px 18px;border:1px solid #c8d9a6;background:#eef5df;border-radius:10px;margin:0 0 20px}.birthday-notices>div{padding:6px 0}.birthday-notices summary{cursor:pointer;font-weight:600}.birthday-today{font-size:16px}.birthday-people>div{padding:12px 0;border-bottom:1px solid var(--line)}.birthday-people strong{display:inline-block;min-width:65px}.date-picker-button{width:40px;min-height:36px;padding:2px;font-size:20px;align-self:flex-end}#birthdate-picker{width:min(440px,95vw);padding:22px}.birthdate-wheel-labels{display:grid;grid-template-columns:1fr 1.5fr 1fr;text-align:center;color:#647365;font-size:13px}.birthdate-wheels{position:relative;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:4px}.birthdate-wheels::after{content:'';position:absolute;left:0;right:0;top:72px;height:36px;border-top:1px solid #b9cbb7;border-bottom:1px solid #b9cbb7;pointer-events:none;background:#b6d17e22}.birthdate-wheel{height:180px;overflow-y:auto;scroll-snap-type:y mandatory;padding:72px 0;scrollbar-width:none}.birthdate-wheel::-webkit-scrollbar{display:none}.birthdate-wheel button{display:block;width:100%;height:36px;min-height:36px;padding:0 2px;border:0;border-radius:0;line-height:36px;background:transparent;color:#647365;font-size:17px;scroll-snap-align:center}.birthdate-wheel button[aria-selected=true]{color:#183b2e;font-weight:700}.birthdate-wheels button:focus-visible{outline-offset:-3px}#birthdate-picked{text-align:center;font-weight:600}@media print{body.printing-timesheet #birthday-notices{display:none!important}}

.birthday-notices{position:static;box-shadow:0 3px 12px #183b2e1a}

.login-combo{display:flex;position:relative;gap:6px}.login-combo input{flex:1}.login-dropdown-button{width:44px;flex-shrink:0;padding:6px;font-size:20px}.login-options{position:absolute;left:0;right:0;top:calc(100% + 5px);background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 9px 22px #183b2e33;max-height:270px;overflow:auto;z-index:45;padding:5px}.login-options button{display:block;width:100%;text-align:left;background:transparent;color:#24342d;overflow-wrap:anywhere}.login-options button:hover,.login-options button:focus-visible{background:#edf3e7}.login-options p{padding:8px;margin:0}

@media screen{
 body.timesheet-view main{padding:10px 20px}
 body.timesheet-view header{margin-bottom:6px;gap:12px}
 body.timesheet-view h1{font-size:23px;margin:0}
 body.timesheet-view .header-controls{flex-direction:row;align-items:center;gap:12px}
 body.timesheet-view .header-controls .operator{width:130px;font-size:11px;gap:0}
 body.timesheet-view .header-controls input{min-height:30px;height:30px;padding:3px 8px}
 body.timesheet-view .auth-buttons button{min-height:32px;padding:4px 10px;font-size:12px}
 body.timesheet-view #auth-user{font-size:11px;max-width:110px}
 body.timesheet-view .global-search{display:flex;align-items:center;gap:8px;margin:4px 0 8px;padding:0}
 body.timesheet-view .global-search[hidden]{display:none}
 body.timesheet-view .global-search label{font-size:11px;white-space:nowrap}
 body.timesheet-view .global-search input{min-height:30px;height:30px;padding:3px 8px}
 body.timesheet-view .global-search .keyboard-trigger{min-height:28px;height:28px;align-self:center}
 body.timesheet-view .timesheet-panel{padding:8px;margin:0}
 body.timesheet-view .timesheet-controls.row-head{margin:0 0 4px;gap:8px}
 body.timesheet-view .timesheet-controls.row-head label{flex-direction:row;align-items:center;font-size:12px}
 body.timesheet-view .timesheet-controls select{min-height:30px;padding:3px 6px}
 body.timesheet-view .timesheet-controls .actions{gap:6px}
 body.timesheet-view .timesheet-controls button,body.timesheet-view .timesheet-controls .download-button{min-height:30px;padding:4px 9px;font-size:12px}
 body.timesheet-view .timesheet-help{font-size:11px;color:#647365;display:inline-block;margin:0 12px 3px 0}
 body.timesheet-view .timesheet-help summary,body.timesheet-view .timesheet-add-details summary{cursor:pointer}
 body.timesheet-view .timesheet-help p{margin:4px 0;max-width:850px}
 body.timesheet-view #timesheet-save-status{font-size:11px;margin:0 0 3px;display:inline-block}
 body.timesheet-view .timesheet-print-title{font-size:13px;margin:0 0 4px}
 body.timesheet-view .timesheet-scroll{max-height:none;overflow:visible}
 body.timesheet-view .timesheet-grid tr{height:var(--timesheet-row-height,22px)}
 body.timesheet-view .timesheet-grid th,body.timesheet-view .timesheet-grid td{padding:0 1px;line-height:1;white-space:nowrap}
 body.timesheet-view .timesheet-grid thead th,body.timesheet-view .timesheet-grid .timesheet-grand th,body.timesheet-view .timesheet-grid .timesheet-grand td{height:var(--timesheet-row-height,22px)}
 body.timesheet-view .timesheet-grid input{height:calc(var(--timesheet-row-height,22px) - 1px);min-height:0;padding:0 1px;font-size:10px;line-height:1}
 body.timesheet-view .timesheet-grid .timesheet-group th{padding:0 5px;font-size:10px}
 body.timesheet-view .timesheet-grid .timesheet-name{font-size:10px}
 body.timesheet-view .timesheet-add-details{font-size:11px;margin-top:4px}
 body.timesheet-view footer{margin-top:5px;font-size:10px;gap:8px}
 body.timesheet-view footer button{min-height:26px;padding:2px 8px;font-size:11px}
 body.timesheet-view #message,body.timesheet-view #connection{margin:4px 0;padding:5px 10px;font-size:12px}
 body.timesheet-view .birthday-notices{padding:5px 10px;margin-bottom:6px;font-size:12px}
}
.brand-home{display:block;padding:0;border:0;min-height:0;flex-shrink:0;cursor:pointer}.brand-home:hover{filter:none;box-shadow:0 0 0 2px #d7e7ac}.brand-home:focus-visible{outline:3px solid #d7e7ac;outline-offset:4px}
.product-ttk-panel{padding:0;overflow:hidden}.ttk-hero{position:relative;height:200px;background:#213b32}.ttk-hero img{width:100%;height:100%;object-fit:cover;display:block}.ttk-hero-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(transparent,#10251ed9);color:white}.ttk-hero-title small{color:#e8f0e6;font-size:12px}.ttk-hero-title h2{font-size:27px;margin:6px 0 0}.ttk-source,.ttk-image-note,.ttk-controls,.ttk-output-summary,.product-ttk-panel>.table-wrap,.ttk-rounding,.ttk-text,.ttk-source-note{margin-left:24px;margin-right:24px}.ttk-source{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#647365;font-size:12px;margin-top:14px}.ttk-image-note{font-size:11px;color:#647365;margin-top:4px}.ttk-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:20px;margin-bottom:16px}.ttk-controls label{width:190px}.ttk-controls .actions{margin-top:0;gap:7px}.ttk-export{margin-left:auto}.ttk-output-summary{padding:12px 16px;background:#edf4e8;border-radius:8px;margin-bottom:18px}.ttk-output-summary>span{font-size:12px;color:#647365}.ttk-ingredients th{white-space:normal;text-transform:none;font-size:12px;letter-spacing:0}.ttk-ingredients td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ttk-ingredients th:not(:first-child){text-align:right}.ttk-ingredients td{font-size:16px}.ttk-ingredients td:first-child{min-width:190px}.ttk-rounding{margin-top:8px;font-size:12px}.ttk-text{margin-top:24px}.ttk-text h3{font-size:16px}.ttk-text p{white-space:pre-line;margin:0;line-height:1.65}.ttk-source-note{font-size:11px;color:#647365;margin-top:24px;margin-bottom:24px}#ttk-output-error{margin:0 24px 16px;color:#9e392e}.ttk-export [aria-disabled=true]{opacity:.5;pointer-events:none}.ttk-export .download-button{white-space:nowrap}@media(max-width:760px){.ttk-hero-title{padding:18px}.ttk-hero-title h2{font-size:21px}.ttk-source,.ttk-image-note,.ttk-controls,.ttk-output-summary,.product-ttk-panel>.table-wrap,.ttk-rounding,.ttk-text,.ttk-source-note{margin-left:16px;margin-right:16px}.ttk-export{margin-left:0}}
@media print{
 @page product-recipe{size:A4 portrait;margin:12mm}
 body.printing-product-ttk{display:block;background:white;color:black;padding:0!important}
 body.printing-product-ttk main{page:product-recipe;width:100%;max-width:none;padding:0}
 body.printing-product-ttk>aside,body.printing-product-ttk header,body.printing-product-ttk footer,body.printing-product-ttk #global-pf-search,body.printing-product-ttk #birthday-notices,body.printing-product-ttk #message,body.printing-product-ttk #connection,body.printing-product-ttk #touch-keyboard,body.printing-product-ttk .ttk-controls,body.printing-product-ttk .keyboard-trigger{display:none!important}
 body.printing-product-ttk .product-ttk-panel{border:0;margin:0;padding:0;overflow:visible}
 body.printing-product-ttk .ttk-hero{height:105px;break-inside:avoid}
 body.printing-product-ttk .ttk-hero-title{padding:12px}
 body.printing-product-ttk .ttk-hero-title h2{font-size:20px}
 body.printing-product-ttk .ttk-source,body.printing-product-ttk .ttk-image-note,body.printing-product-ttk .ttk-output-summary,body.printing-product-ttk .product-ttk-panel>.table-wrap,body.printing-product-ttk .ttk-rounding,body.printing-product-ttk .ttk-text,body.printing-product-ttk .ttk-source-note{margin-left:0;margin-right:0}
 body.printing-product-ttk .ttk-output-summary{margin-top:8px;margin-bottom:10px;padding:8px}
 body.printing-product-ttk .ttk-text{margin-top:14px}
 body.printing-product-ttk .ttk-text p{font-size:10pt;line-height:1.4}
 body.printing-product-ttk .ttk-text h3{font-size:11pt;margin-bottom:4px;break-after:avoid}
 body.printing-product-ttk .ttk-ingredients td{font-size:10pt;padding:8px}
 body.printing-product-ttk .ttk-ingredients th{padding:8px;font-size:9pt}
 body.printing-product-ttk .table-wrap{overflow:visible}
 body.printing-product-ttk .ttk-ingredients tr{break-inside:avoid}
 body.printing-product-ttk *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
.product-ttk-view main{padding-top:20px}.product-ttk-view header{margin-bottom:14px}.product-ttk-view .ttk-controls{align-items:center;display:grid;grid-template-columns:210px 1fr;gap:10px 16px}.ttk-controls>label{position:relative;width:210px;padding-right:42px}.ttk-controls>label>.keyboard-trigger{position:absolute;right:0;bottom:5px}.product-ttk-view .ttk-export{grid-column:1/-1;justify-content:flex-end}.ttk-controls>label input{width:100%}@media(max-width:760px){.product-ttk-view .ttk-controls{grid-template-columns:1fr}.product-ttk-view .ttk-export{justify-content:flex-start}}
@media screen{
 .product-ttk-view main{padding-top:14px}
 .product-ttk-view header{margin-bottom:10px;gap:12px}
 .product-ttk-view h1{font-size:24px}
 .product-ttk-view .header-controls{flex-direction:row;align-items:center;gap:12px}
 .product-ttk-view .header-controls .operator{width:130px;font-size:11px;gap:0}
 .product-ttk-view .header-controls input{min-height:32px;height:32px;padding:4px 8px}
 .product-ttk-view .auth-buttons button{min-height:34px;padding:5px 10px;font-size:12px}
 .product-ttk-view #auth-user{font-size:11px;max-width:110px}
 .product-ttk-view .global-search{display:flex;align-items:center;gap:10px;margin-bottom:12px}
 .product-ttk-view .global-search[hidden]{display:none}
 .product-ttk-view .global-search label{font-size:12px;white-space:nowrap;margin:0}
 .product-ttk-view .global-search input{min-height:34px;height:34px;padding:5px 8px}
 .product-ttk-view .global-search .keyboard-trigger{min-height:30px;height:30px;align-self:center}
 .product-ttk-view .ttk-hero{height:160px}
 .product-ttk-view #message{padding:6px 12px;margin-bottom:10px;font-size:12px}
}
.ttk-directory .hint{margin-bottom:16px}.ttk-directory .scan-row{margin:16px 0}.ttk-directory .scan-row select{max-width:650px}.ttk-directory-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.ttk-directory-card small{display:block;margin-top:4px}.ttk-back{margin-bottom:12px}@media print{body.printing-product-ttk .ttk-controls-back{display:none!important}}
.permission-choice[hidden]{display:none}
.ttk-print-only{display:none}
@media print{
 body.printing-product-ttk .product-ttk-panel>:not(.ttk-print-only){display:none!important}
 body.printing-product-ttk .product-ttk-panel>.ttk-print-only{display:block!important;margin:0;padding:0}
 body.printing-product-ttk .ttk-print-only table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:Arial,sans-serif;font-size:10pt;color:#000;background:#fff}
 body.printing-product-ttk .ttk-print-only td{border:0.5pt solid #333;background:#fff;color:#000;font-size:10pt;font-weight:normal;line-height:1.3;padding:5px;vertical-align:top;overflow-wrap:anywhere}
 body.printing-product-ttk .ttk-print-only td:first-child{width:40%}
 body.printing-product-ttk .ttk-print-text{white-space:pre-line}
 body.printing-product-ttk .ttk-print-only tr{break-inside:avoid}
}
.ttk-name{display:block;min-height:32px;text-align:left;padding:2px 0;background:transparent;color:#24342d;border:0;font-weight:600;touch-action:manipulation;user-select:none}.ttk-name:hover{filter:none;color:#23664a;text-decoration:underline}.ttk-name:focus-visible{outline:2px solid #8eb299;outline-offset:3px}
.ttk-floating-back{position:fixed;top:50%;left:252px;transform:translateY(-50%);z-index:35;width:34px;height:54px;min-height:54px;margin:0;padding:0;font-size:34px;line-height:1;background:#edf3e8;color:#183b2e;border:1px solid #b9cbb7;border-radius:9px;box-shadow:0 2px 8px #183b2e22;touch-action:manipulation}.ttk-floating-back:hover{background:#d7e7ac}.ttk-floating-back:focus-visible{outline:3px solid #8eb299;outline-offset:2px}@media(max-width:1050px){.ttk-floating-back{left:214px}}@media(max-width:760px){.ttk-floating-back{left:5px;width:32px;height:48px;min-height:48px}.product-ttk-view #content{padding-left:24px}}

.personal-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.personal-header h2{margin-bottom:6px}.personal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.personal-metrics>div{padding:16px;background:#f3f6ef;border-radius:10px}.personal-metrics small,.personal-metrics strong{display:block}.personal-metrics strong{font-size:24px;margin:8px 0}.personal-calculation{padding:14px 18px;border:1px solid #d9e2d4;border-radius:10px}.personal-total{font-size:22px}.personal-shifts{display:flex;flex-wrap:wrap;gap:10px}.personal-shifts span{padding:9px 14px;background:#edf3e8;border-radius:8px}.schedule-event-alert{font-size:22px;line-height:1.4;font-weight:750;color:#b62121;border:2px solid #c53a32;background:#fff0ed;padding:16px 20px;border-radius:10px;margin-bottom:14px}.schedule-event-alert p{margin:4px 0}.schedule-event-day{background:#ffe0dc!important}.schedule-events-list{display:grid;gap:10px}.schedule-events-list>div{padding:10px;border:1px solid #e8c3bb;border-radius:8px}.schedule-event-form{margin-top:16px}
@media(max-width:760px){.personal-header{display:block}.personal-metrics{grid-template-columns:1fr}.personal-metrics strong{font-size:21px}.schedule-event-alert{font-size:20px}}
@media print{#schedule-notices,.schedule-events-manager{display:none!important}}

body.personal-view main{padding-top:24px}body.personal-view header{margin-bottom:22px}body.personal-view .personal-header{padding-top:18px;padding-bottom:18px}

.personal-header{position:relative;isolation:isolate;overflow:hidden}.personal-header>.personal-watermark{position:absolute;inset:0;z-index:0;opacity:.12;pointer-events:none;user-select:none}.personal-watermark img{position:absolute;width:min(650px,100%);max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-45%);mix-blend-mode:multiply}.personal-header>div:not(.personal-watermark){position:relative;z-index:1}

.vacation-cell{display:block;background:#e3d4ed;color:#000;font-size:9px;font-weight:400;min-height:100%}.vacation-manager .forms{margin-top:16px}@media print{.vacation-manager{display:none!important}}
.timesheet-grid .timesheet-person .timesheet-cook-note{display:block;font-size:8px;color:#000;line-height:1.1}
.shift-dialog .grid:has([name=day])>label:has([name=end]){grid-column:2}
.timesheet-grid td:has(>.vacation-cell){position:relative}
.timesheet-grid td>.vacation-cell{position:absolute;inset:4px;min-height:0;display:grid;place-items:center;line-height:1;font-size:9px;color:#000}
.timesheet-grid td[data-shift-workshop]:not([data-shift-workshop=""]){position:relative;padding-top:9px!important}
.shift-workshop-marker{position:absolute;right:0;top:0;pointer-events:none;padding:1px 5px 0 1px;font-size:7px;line-height:8px;color:#000;font-weight:500;white-space:nowrap;z-index:1}
.shift-workshop-marker::after{content:'';position:absolute;right:0;top:0;width:0;height:0;border-top:6px solid var(--shift-marker-color);border-left:6px solid transparent}
[data-shift-workshop=cold]{--shift-marker-color:#36a859}[data-shift-workshop=hot]{--shift-marker-color:#e54646}[data-shift-workshop=prep]{--shift-marker-color:#377bd3}[data-shift-workshop=pastry]{--shift-marker-color:#e77bb5}
.shift-dialog label:has([name=workshop]){margin:12px 0}
.shift-dialog .shift-workshop-pay{font-size:12px;margin:6px 0}
.app-update-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;white-space:normal;margin-bottom:16px}.app-update-banner button{flex-shrink:0;min-height:36px;padding:6px 12px;font-size:13px}.update-setup-note{font-size:12px;margin-top:16px;margin-bottom:0}@media(max-width:650px){.app-update-banner{align-items:flex-start;flex-direction:column}}
.camera-qr-dialog{width:min(560px,calc(100vw - 24px));max-width:560px;max-height:92dvh;overflow:auto}.camera-qr-dialog video{display:block;width:100%;max-height:48dvh;object-fit:contain;background:#14251d;border-radius:8px}.camera-qr-dialog video[hidden]{display:none}.camera-qr-dialog .hint{font-size:13px;margin-bottom:12px}.camera-qr-dialog .actions{gap:8px;margin-top:12px}.camera-qr-dialog .camera-private{font-size:11px;margin-top:14px;margin-bottom:0}.camera-photo{cursor:pointer;position:relative;overflow:hidden}.camera-photo input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;padding:0}.camera-qr-status{font-size:14px;white-space:normal}.camera-photo:focus-within{outline:3px solid #93b1f0;outline-offset:2px}
.timesheet-review-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#a52c24;background:#fff0e8;font-size:17px;font-weight:600;white-space:normal}.timesheet-review-notice button{flex-shrink:0;font-size:13px;font-weight:400}.timesheet-review-panel{padding:16px}.timesheet-review-panel h2{font-size:18px;margin-bottom:8px}.timesheet-review-panel .hint{font-size:13px;margin-bottom:10px}.timesheet-review-panel .actions{margin:10px 0;gap:8px}.timesheet-review-panel details{margin-top:12px}.timesheet-review-panel summary{cursor:pointer;padding:7px 0;font-weight:600}.timesheet-review-panel textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical;width:100%;min-height:70px}.timesheet-review-panel .forms{margin-top:10px}.review-correction{border-top:1px solid var(--line);padding:12px 0}.review-correction p{font-size:14px;white-space:pre-line}.timesheet-review-panel button{min-height:36px;padding:6px 12px;font-size:13px}@media(max-width:650px){.timesheet-review-notice{align-items:flex-start;flex-direction:column;font-size:15px}}@media print{.timesheet-review-notice,.timesheet-review-panel{display:none!important}}
@media(max-width:760px){.shift-dialog .grid:has([name=day])>label:has([name=end]){grid-column:1}}

/* Navigation keeps the same geometry on every page. */
.sidebar-nav{display:flex;flex-direction:column;gap:10px}.nav-group{flex-shrink:0}.nav-group>summary{position:relative;display:flex;align-items:center;list-style:none;min-height:44px;padding:9px 24px 9px 10px;border-radius:8px;font-size:14px;font-weight:650;line-height:1.3;cursor:pointer;color:#fff;user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary::after{content:'';position:absolute;right:9px;width:7px;height:7px;border-right:2px solid #a9c2b2;border-bottom:2px solid #a9c2b2;transform:rotate(-45deg);transition:transform .15s}.nav-group[open]>summary::after{transform:rotate(45deg)}.nav-group>summary:hover{background:#244c3c}.nav-group>summary:focus-visible{outline:2px solid #d7e7ac;outline-offset:1px}.nav-group:has(.active)>summary{color:#d7e7ac}.nav-group-items{display:flex;flex-direction:column;gap:3px;margin-top:4px}.sidebar-nav .nav-group-items>button{width:100%;min-height:40px;padding:8px 12px 8px 18px;font-size:14px;line-height:1.35}.sidebar-nav .nav-group-items>button[hidden],.sidebar-nav .nav-group[hidden]{display:none}
@media screen and (min-width:761px){body>aside{height:100dvh;position:sticky;top:0;overflow-y:auto;gap:20px;padding:18px;scrollbar-width:thin}.brand-telegraf{flex-shrink:0}.sidebar-bottom{flex-shrink:0;padding:12px 10px}.brand-logo{height:104px;aspect-ratio:auto}body>aside{width:244px}}
@media screen and (min-width:761px) and (max-width:1050px){body>aside{width:210px;padding:18px 12px}.brand-logo{height:93px}}
@media(max-width:760px){.sidebar-nav{display:flex;gap:7px}.nav-group>summary{min-height:44px}.sidebar-nav .nav-group-items>button{min-height:42px}}

@media screen and (min-width:761px){body>aside{overflow:visible}body>aside>.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}body>aside>.sidebar-bottom{margin-top:0}}

.access-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.access-row-actions button{white-space:normal}#salary-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:90dvh;overflow:auto}.salary-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}#salary-dialog .panel{border:0;margin:0;padding:0}#salary-dialog .hint{font-size:13px}

.timesheet-grid .timesheet-shift{display:block;width:100%;min-width:0;min-height:var(--timesheet-row-height,24px);padding:0 1px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:1.05;box-shadow:none}.timesheet-shift span,.shift-display span{display:block;font-size:clamp(6px,.63vw,10px);white-space:nowrap;letter-spacing:-.3px}.shift-dialog{width:min(600px,94vw);max-height:90dvh;overflow:auto;border:1px solid #bdc9b9;border-radius:16px;padding:24px}.shift-dialog::backdrop{background:#122d2580}.shift-dialog input[type=time]{font-size:22px;min-height:48px}.shift-dialog .error[hidden]{display:none}
@media print{body.printing-timesheet .timesheet-shift{min-height:0!important;height:auto;background:none;color:black;font-size:6.5pt}.timesheet-shift span,.shift-display span{font-size:5pt!important}.shift-dialog{display:none!important}}

.timesheet-grid .timesheet-money-column{width:64px}.timesheet-grid .pay-bonus,.timesheet-grid .pay-base,.timesheet-grid .pay-total{font-size:9px;overflow-wrap:anywhere;background:#eef3e7}.timesheet-grid .pay-total{font-weight:bold}.timesheet-grid .timesheet-total:not(:last-child){position:static}
@media print{.timesheet-grid .timesheet-money-column{width:16mm}.timesheet-grid .pay-bonus,.timesheet-grid .pay-base,.timesheet-grid .pay-total{font-size:5.5pt}}

.bulk-pay-dialog .panel{padding:8px 0}.bulk-pay-dialog .panel>h2{display:none}.bulk-pay-dialog .forms{gap:8px}.bulk-pay-dialog p{margin:6px 0}.bulk-pay-dialog .bulk-pay-group{gap:12px}.bulk-pay-dialog #bulk-pay-form input{min-height:38px}.bulk-pay-dialog #bulk-pay-form .keyboard-trigger{min-height:28px;height:28px}

.timesheet-grid .timesheet-pay-grand th,.timesheet-grid .timesheet-pay-grand td{position:static;background:#dbe9c8;font-weight:bold;padding:5px 3px;font-size:10px}.timesheet-grid .timesheet-pay-grand th{text-align:right}.notice[hidden]{display:none!important}

/* One scrolling calendar, with names and every summary column pinned at its edges. */
@media screen{
 .timesheet-grid{--person-width:164px;--day-width:24px;--hours-width:60px;--other-width:0px;--bonus-width:58.667px;--base-width:58.667px;--pay-width:66.667px;--summary-width:calc(var(--hours-width) + var(--other-width))}
 .timesheet-grid.has-other-hours{--other-width:56px}
 .timesheet-grid.has-pay{--summary-width:calc(var(--hours-width) + var(--other-width) + var(--bonus-width) + var(--base-width) + var(--pay-width))}
 .timesheet-grid.is-schedule{--day-width:39px}
 body.timesheet-view .timesheet-scroll,.timesheet-scroll{overflow:auto;max-width:100%;max-height:none;position:relative;isolation:isolate;overscroll-behavior-x:contain;scrollbar-gutter:stable}
 body.timesheet-view .timesheet-grid,.timesheet-grid{width:calc(var(--person-width) + var(--timesheet-days)*var(--day-width) + var(--summary-width));min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
 .timesheet-grid .timesheet-person-column{width:var(--person-width)}
 .timesheet-grid .timesheet-day-column{width:var(--day-width)}
 .timesheet-grid .timesheet-sum-column{width:var(--hours-width)}
 .timesheet-grid .timesheet-bonus-column{width:var(--bonus-width)}
 .timesheet-grid .timesheet-base-column{width:var(--base-width)}
 .timesheet-grid .timesheet-pay-column{width:var(--pay-width)}
 body.timesheet-view .timesheet-grid th,body.timesheet-view .timesheet-grid td{min-width:0;width:auto;padding:0 3px;border-width:0 1px 1px 0;line-height:1.15;font-variant-numeric:tabular-nums}
 body.timesheet-view .timesheet-grid .timesheet-person,body.timesheet-view .timesheet-grid .timesheet-name-head,body.timesheet-view .timesheet-grid .timesheet-group-name{position:sticky;left:0;z-index:6;min-width:var(--person-width);width:var(--person-width);max-width:var(--person-width);overflow:hidden;background:#f3f6ef;text-align:left;box-shadow:2px 0 2px #183b2e22}
 body.timesheet-view .timesheet-grid .timesheet-person,body.timesheet-view .timesheet-grid .timesheet-person span,body.timesheet-view .timesheet-grid .timesheet-name{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis}
 body.timesheet-view .timesheet-grid .timesheet-name{width:100%;padding:0;min-width:0;max-width:100%}
 body.timesheet-view .timesheet-grid .timesheet-person span{display:block;overflow:hidden}
 body.timesheet-view .timesheet-grid .timesheet-total,body.timesheet-view .timesheet-grid .timesheet-hours-head,body.timesheet-view .timesheet-grid .pay-bonus,body.timesheet-view .timesheet-grid .pay-base,body.timesheet-view .timesheet-grid .pay-total{position:sticky;z-index:5;background:#e4eddc;right:0;overflow:hidden;white-space:nowrap;overflow-wrap:normal;font-size:11px;box-shadow:-1px 0 #c5cfc0}
 body.timesheet-view .timesheet-grid .timesheet-total,body.timesheet-view .timesheet-grid .timesheet-hours-head{right:var(--other-width)}
 body.timesheet-view .timesheet-grid.has-pay .timesheet-total,body.timesheet-view .timesheet-grid.has-pay .timesheet-hours-head{right:calc(var(--other-width) + var(--bonus-width) + var(--base-width) + var(--pay-width))}
 .timesheet-grid .timesheet-other-column{width:var(--other-width)}
 body.timesheet-view .timesheet-grid .timesheet-other-hours,body.timesheet-view .timesheet-grid .timesheet-other-head{position:sticky;right:0;z-index:5;background:#eef3e7;font-size:10px;white-space:nowrap;box-shadow:-1px 0 #c5cfc0}
 body.timesheet-view .timesheet-grid.has-pay .timesheet-other-hours,body.timesheet-view .timesheet-grid.has-pay .timesheet-other-head{right:calc(var(--bonus-width) + var(--base-width) + var(--pay-width))}
 body.timesheet-view .timesheet-grid thead .timesheet-other-head{z-index:9;font-size:9px}
 body.timesheet-view .timesheet-grid.has-pay .pay-bonus{right:calc(var(--base-width) + var(--pay-width))}
 body.timesheet-view .timesheet-grid.has-pay .pay-base{right:var(--pay-width)}
 body.timesheet-view .timesheet-grid.has-pay .pay-total{right:0}
 body.timesheet-view .timesheet-grid thead th{font-size:10px;letter-spacing:0;z-index:7}
 body.timesheet-view .timesheet-grid thead .timesheet-name-head{z-index:10}
 body.timesheet-view .timesheet-grid thead .timesheet-hours-head,body.timesheet-view .timesheet-grid thead .pay-bonus,body.timesheet-view .timesheet-grid thead .pay-base,body.timesheet-view .timesheet-grid thead .pay-total{z-index:9;font-size:10px}
 body.timesheet-view .timesheet-grid thead .pay-bonus,body.timesheet-view .timesheet-grid thead .pay-base,body.timesheet-view .timesheet-grid thead .pay-total{font-size:9px;white-space:normal}
 body.timesheet-view .timesheet-grid .timesheet-shift{width:100%;overflow:hidden;font-size:12px;line-height:1.15;min-height:var(--timesheet-row-height,22px);padding:0;touch-action:pan-x pan-y}
 body.timesheet-view .timesheet-grid .timesheet-shift span,body.timesheet-view .timesheet-grid .shift-display span{display:inline;font-size:11px;letter-spacing:0;white-space:nowrap}
 body.timesheet-view .timesheet-grid .timesheet-shift span+span::before,body.timesheet-view .timesheet-grid .shift-display span+span::before{content:'–'}
 body.timesheet-view .timesheet-grid td:has(.timesheet-shift),body.timesheet-view .timesheet-grid td:has(.shift-display){padding-left:1px;padding-right:1px}
 body.timesheet-view .timesheet-grid:not(.is-schedule) .timesheet-shift,body.timesheet-view .timesheet-grid:not(.is-schedule) .shift-display{font-size:10px;letter-spacing:-.2px}
 body.timesheet-view .timesheet-grid.is-schedule .timesheet-shift span,body.timesheet-view .timesheet-grid.is-schedule .shift-display span{display:block;font-size:10px;line-height:1.1}
 body.timesheet-view .timesheet-grid.is-schedule .timesheet-shift span+span::before,body.timesheet-view .timesheet-grid.is-schedule .shift-display span+span::before{content:none}
 body.timesheet-view .timesheet-grid .timesheet-shift:focus-visible{outline-offset:-2px}
 body.timesheet-view .timesheet-grid .timesheet-group th,body.timesheet-view .timesheet-grid .timesheet-group td{background:#cd7129;color:white}
 body.timesheet-view .timesheet-grid .timesheet-group-fixed{position:sticky;right:0;z-index:5;width:var(--summary-width);min-width:var(--summary-width)}
 body.timesheet-view .timesheet-grid .timesheet-group-name{font-weight:600;font-size:10px}
 body.timesheet-view .timesheet-grid .timesheet-pay-grand th,body.timesheet-view .timesheet-grid .timesheet-pay-grand td{background:#dbe9c8;font-size:10px;padding:3px;white-space:normal}
 body.timesheet-view .timesheet-grid .timesheet-pay-grand .timesheet-person{font-weight:600}
 @media(max-width:700px){.timesheet-grid{--person-width:132px;--hours-width:48px;--bonus-width:50.667px;--base-width:53.333px;--pay-width:61.333px}}
}

.ttk-text>summary{cursor:pointer;min-height:44px;padding:10px 0;color:#24342d}.ttk-text>summary h3{display:inline;margin:0;font-size:16px}.ttk-text>summary:focus-visible{outline:2px solid #8eb299;outline-offset:3px;border-radius:4px}.ttk-text[open]>summary{margin-bottom:4px}.ttk-text>p{padding-bottom:8px}

.tomorrow-roster-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;margin-bottom:12px}.tomorrow-roster-column{display:flex;flex-direction:column;gap:12px;min-width:0}.tomorrow-roster-groups h3{font-size:14px;margin:0 0 5px;color:#526156}.tomorrow-roster-groups ul{list-style:none;padding:0;margin:0}.tomorrow-roster-groups li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.tomorrow-roster-groups li strong{white-space:nowrap;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}#tomorrow-open-schedule{min-height:34px;padding:5px 10px;font-size:13px}
.ttk-ingredient-link{display:inline;padding:4px 0;min-height:32px;background:transparent;color:#23664a;border:0;border-radius:0;text-align:left;font:inherit;white-space:normal;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.ttk-ingredient-link:hover{text-decoration-style:solid}.ttk-ingredient-link:focus-visible{outline:2px solid #8eb299;outline-offset:3px}
@media screen{
 .product-ttk-view .ttk-hero{height:120px}
 .ttk-hero-title{padding:16px 20px}
 .ttk-hero-title h2{font-size:23px;line-height:1.2;margin-top:4px}
 .ttk-source,.ttk-image-note,.ttk-controls,.ttk-output-summary,.product-ttk-panel>.table-wrap,.ttk-rounding,.ttk-text,.ttk-source-note{margin-left:20px;margin-right:20px}
 .ttk-source{margin-top:8px;font-size:11px;gap:4px 10px}
 .ttk-image-note{margin-top:2px;margin-bottom:6px}
 .product-ttk-view .ttk-controls{margin-top:10px;margin-bottom:10px;gap:8px 12px;grid-template-columns:190px 1fr}
 .ttk-controls>label{width:190px;gap:3px;font-size:12px}
 .ttk-controls input{min-height:36px;padding:6px 9px;font-size:14px}
 .ttk-controls button,.ttk-controls .download-button{min-height:36px;padding:6px 10px;font-size:13px}
 .ttk-controls>label>.keyboard-trigger{width:34px;min-height:32px;bottom:2px;padding:2px;font-size:20px}
 .product-ttk-view .ttk-export{grid-column:auto;margin-left:0;justify-content:flex-start;gap:6px}
 .ttk-output-summary{padding:7px 10px;margin-bottom:10px;font-size:14px;line-height:1.4}
 .ttk-ingredients{font-size:14px;line-height:1.35}
 .ttk-ingredients th{padding:8px 10px;font-size:12px;line-height:1.3}
 .ttk-ingredients td{padding:6px 10px;font-size:14px;line-height:1.4}
 .ttk-ingredients td:first-child{min-width:180px;width:46%;overflow-wrap:anywhere}
 .ttk-ingredients td:not(:first-child){white-space:nowrap}
 .ttk-ingredients tbody tr:nth-child(even){background:#f8faf6}
 .ttk-ingredients .ttk-ingredient-link{padding:3px 0;min-height:0;white-space:normal;line-height:inherit}
 .ttk-rounding{font-size:11px;margin-top:6px;margin-bottom:10px}
 .ttk-text{margin-top:8px;border-top:1px solid var(--line)}
 .ttk-text>summary{min-height:38px;padding:7px 0}
 .ttk-text>summary h3{font-size:14px}
 .ttk-text p{font-size:14px;line-height:1.5}
 .ttk-source-note{margin-top:12px;margin-bottom:14px;font-size:10px}
 .ttk-directory-card{padding:10px 0}
 @media(min-width:1250px){.product-ttk-view .ttk-controls{grid-template-columns:190px auto 1fr}.product-ttk-view .ttk-export{justify-content:flex-end}}
 @media(max-width:760px){
  .product-ttk-view .ttk-hero{height:100px}
  .ttk-hero-title{padding:12px 14px}.ttk-hero-title h2{font-size:20px}
  .ttk-source,.ttk-image-note,.ttk-controls,.ttk-output-summary,.product-ttk-panel>.table-wrap,.ttk-rounding,.ttk-text,.ttk-source-note{margin-left:12px;margin-right:12px}
  .product-ttk-view .ttk-controls{grid-template-columns:1fr}
  .ttk-ingredients th,.ttk-ingredients td{padding:6px;font-size:13px}
  .ttk-ingredients td:first-child{min-width:150px}
 }
}

@media(max-width:750px){.tomorrow-roster-groups{grid-template-columns:1fr}}

/* Reserve the same space for every employee, including shifts with workshop markers. */
@media screen{
 .timesheet-grid tr[data-timesheet-row],
 body.timesheet-view .timesheet-grid tr[data-timesheet-row]{height:34px}
}

.timesheet-grid .timesheet-group{cursor:pointer}
.timesheet-grid .timesheet-group-toggle{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;white-space:nowrap;box-shadow:none}
.timesheet-grid .timesheet-group-toggle:hover{background:transparent;filter:none}
.timesheet-grid .timesheet-group-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media screen{
 .timesheet-grid tr[data-timesheet-row][hidden]{display:none!important}
 body.timesheet-view .timesheet-grid .timesheet-shift{min-height:min(var(--timesheet-row-height,22px),24px)}
 body.timesheet-view .timesheet-scroll{max-height:min(var(--timesheet-scroll-height,70dvh),70dvh);overflow:auto;overscroll-behavior:contain}
 body.timesheet-view .timesheet-grid thead th{position:sticky;top:0}
}
@media print{
 .timesheet-grid tr[data-timesheet-row][hidden]{display:table-row!important}
 .timesheet-group-toggle>span{display:none}
}

.prep-checklist{padding:16px}
.prep-checklist>h2{margin-bottom:8px;font-size:20px}
.prep-checklist .checklist-help{margin-bottom:10px;font-size:12px;color:#647367}
.prep-checklist .checklist-help summary{cursor:pointer}
.prep-checklist .checklist-help p{margin:6px 0}
.prep-checklist .checklist-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:8px 14px;margin-bottom:10px}
.prep-checklist label{font-size:11px;gap:3px;margin:0}
.prep-checklist .checklist-toolbar>label:first-child{width:160px}
.prep-checklist .checklist-toolbar .permission-choice{align-self:center;font-size:13px;gap:7px}
.prep-checklist .checklist-toolbar input[type=checkbox]{width:18px;height:18px;min-height:18px}
.prep-checklist input,.prep-checklist select{min-height:34px;padding:5px 8px}
.prep-checklist button{min-height:34px;padding:6px 10px;font-size:12px}
.prep-checklist .workshop-task-heading{font-size:14px;margin:12px 0 0;padding:7px 10px}
.prep-checklist .assigned-task{display:grid;grid-template-columns:minmax(180px,1fr) minmax(390px,1fr);align-items:center;gap:8px 16px;padding:9px 0}
.prep-checklist .assigned-task-info{min-width:0}
.prep-checklist .assigned-task h3{font-size:14px;line-height:1.3;margin:0 0 4px}
.prep-checklist .assigned-task p{font-size:11px;line-height:1.35;margin:0;color:#647367}
.prep-checklist .assigned-task form{display:flex;align-items:flex-end;gap:8px;min-width:0;margin:0}
.prep-checklist .assigned-task .grid{flex:1;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px;margin:0}
.prep-checklist .assigned-task .grid label{min-width:0}
.prep-checklist .assigned-task .actions{margin:0;gap:0;flex-shrink:0}
@media(min-width:761px){.prep-checklist select,.prep-checklist input{font-size:13px}}
@media(max-width:1000px){.prep-checklist .assigned-task{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .prep-checklist{padding:12px}
 .prep-checklist .assigned-task{padding:10px 0;gap:7px}
 .prep-checklist .assigned-task form{flex-wrap:wrap}
 .prep-checklist .assigned-task .grid{flex-basis:100%}
 .prep-checklist select,.prep-checklist input{font-size:16px;min-height:40px}
 .prep-checklist .assigned-task .actions{margin-left:auto}
 .prep-checklist button{min-height:40px}
}
.checklist-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.checklist-section>summary::-webkit-details-marker{display:none}
.checklist-section>summary::before{content:'▸';color:var(--accent);font-size:16px}
.checklist-section[open]>summary::before{content:'▾'}
.checklist-section>summary h2{font-size:20px;margin:0}
.checklist-section[open]>summary{margin-bottom:10px}
.checklist-section>summary:focus-visible,.brakerage-workshop>summary:focus-visible,.brakerage-seasonal>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.brakerage-panel{padding:16px}
.brakerage-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.brakerage-toolbar>label{font-size:11px;width:160px;gap:3px}
.brakerage-toolbar input{min-height:34px;padding:5px 8px}
.brakerage-toolbar .hint{font-size:12px;flex:1;min-width:180px;margin:0}
.brakerage-workshop{margin:10px 0;border:1px solid var(--line)}
.brakerage-workshop>summary,.brakerage-seasonal>summary{cursor:pointer;padding:8px 10px;font-size:14px;font-weight:600}
.brakerage-workshop>summary{background:#e4eddc}
.brakerage-workshop>summary small,.brakerage-seasonal>summary small{font-size:11px;font-weight:400;margin-left:12px;white-space:nowrap}
.brakerage-seasonal{margin:6px 10px;border-top:1px solid var(--line)}
.brakerage-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;margin:0;border-top:1px solid var(--line);font-size:14px;line-height:1.3;cursor:pointer}
.brakerage-item input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;accent-color:#26b1a0}
.brakerage-item small{font-size:11px;color:#647367;max-width:270px;text-align:right}
.brakerage-item.is-approved{background:#26b1a00c}
.timesheet-grid .calendar-day-number{display:block}
.timesheet-grid .calendar-event-label{display:block;font-size:7px;line-height:1.15;margin:2px 0;color:#176b60;font-weight:700;white-space:nowrap;letter-spacing:-.15px}
@media(max-width:760px){
 .brakerage-panel{padding:12px}
 .brakerage-item{grid-template-columns:22px minmax(0,1fr);min-height:44px;font-size:14px}
 .brakerage-item small{grid-column:2;text-align:left;max-width:none}
 .brakerage-item input{grid-row:1 / span 2}
 .brakerage-toolbar input{font-size:16px;min-height:40px}
 .brakerage-workshop>summary small,.brakerage-seasonal>summary small{display:block;margin:4px 0 0 14px}
}
/* Schedule date cards retain the compact pinned calendar headings. */
.timesheet-grid .schedule-date-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:26px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;gap:1px}
.timesheet-grid .schedule-date-button:hover,.timesheet-grid .schedule-date-button:focus-visible{background:#26b1a033;outline:2px solid #26b1a0;outline-offset:-2px}
.schedule-date-dialog{width:min(640px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);overflow:auto;padding:26px;background:var(--surface-cream,#fffff0);color:#202726;border:1px solid #bdceca;box-sizing:border-box}
.schedule-date-dialog h2{padding-right:35px;margin-bottom:20px}.event-popup-close{position:absolute;right:10px;top:8px;min-height:36px;width:36px;padding:0;font-size:28px}
.event-popup-item{padding:12px 0;border-bottom:1px solid #bdceca}.event-popup-item h3{margin:0 0 8px}.event-popup-item p{margin:8px 0}.event-description{white-space:pre-wrap;overflow-wrap:anywhere}.event-editor{max-width:none}.event-editor label{margin-bottom:12px}.event-editor fieldset{min-width:0;border:1px solid #bdceca;padding:12px}.event-editor .permission-choice{font-size:14px;line-height:1.3}.event-participants{max-height:220px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.event-participants[hidden]{display:none}.event-editor .event-save-error{color:#a02e25;white-space:pre-line}.schedule-events-manager>summary{cursor:pointer}.schedule-events-manager>summary h2{display:inline}.schedule-event-alert small{display:block;font-size:14px;font-weight:400}.personal-upcoming p{white-space:pre-wrap}
@media(max-width:760px){.schedule-date-dialog{padding:20px 16px}.event-participants{grid-template-columns:1fr}.event-editor .grid{grid-template-columns:1fr}.schedule-event-alert{font-size:16px;padding:12px}}
@media print{.schedule-date-dialog{display:none!important}.schedule-date-button{display:block!important;color:inherit!important}}
.replenishment-panel>summary h2{display:inline}.replenishment-panel h2 small{font-size:14px;font-weight:400;margin-left:8px}.replenishment-workshop{border-top:1px solid var(--line);margin-top:12px}.replenishment-workshop>summary{padding:12px 0;cursor:pointer;color:#173b35}.replenishment-workshop>summary>span{float:right;font-size:13px;padding:1px 8px;background:#26b1a022;border-radius:3px}.replenishment-item{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.replenishment-item>div{min-width:0;flex:1}.replenishment-item p{margin:7px 0;font-size:14px}.replenishment-item small{color:#667872;font-size:12px}.replenishment-assignment{display:flex;gap:10px;align-items:end;flex:0 0 300px}.replenishment-assignment label{flex:1;min-width:0;margin:0;font-size:12px}.replenishment-assignment select{min-height:36px;padding:6px;font-size:13px}.replenishment-assignment button{min-height:36px;padding:6px 10px;font-size:13px}
@media(max-width:760px){.replenishment-item{display:block}.replenishment-assignment{margin-top:10px;width:100%}.replenishment-assignment select{font-size:16px}.replenishment-assignment button{min-height:44px}}
.timesheet-grid td.birthday-confetti::before{content:'';position:absolute;inset:0;background:#fff4c7 url('/assets/birthday-confetti.svg') top right/64px 48px;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;z-index:0;opacity:.82}
.timesheet-grid td.birthday-confetti>.timesheet-shift,.timesheet-grid td.birthday-confetti>.shift-display,.timesheet-grid td.birthday-confetti>.vacation-cell{position:relative;z-index:1}
.home-qr-camera{display:none}.home-qr-camera[hidden]{display:none!important}.home-qr-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box;background:var(--surface-cream,#fffff0);padding:24px}.home-qr-dialog h2{padding-right:32px}.home-qr-options{display:grid;gap:10px}.home-qr-options[hidden]{display:none}.home-qr-options button{width:100%;min-height:48px;text-align:left}.home-qr-operation form{margin-top:20px}.home-qr-error{color:#a02e25;white-space:pre-line}#waste-approvals h2{display:inline;font-size:20px}#waste-approvals .actions{flex-wrap:wrap}
@media screen and (max-width:760px){
 body.overview-view .brand-telegraf{justify-content:space-between;align-items:center;gap:16px;width:100%}
 body.overview-view .brand-telegraf .brand-logo{width:calc(100% - 141px);max-width:180px;min-width:0;flex:0 1 auto}
 body.overview-view .home-qr-camera{position:static;display:flex;align-items:center;justify-content:center;border-radius:50%;width:125px;height:125px;min-width:125px;min-height:125px;padding:0;flex:0 0 125px;background:var(--accent);color:#092520;border:0;box-shadow:0 2px 8px #0002}
 body.overview-view .home-qr-camera svg{width:65px;height:65px}
 body.overview-view main>header{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 body.overview-view main>header>div:first-child{padding-right:0;min-width:0}
 body.overview-view main>header .workshop-picker{width:100%;max-width:100%;margin-top:12px}
 body.overview-view main>header .brand-caption{text-align:left;padding-left:0}
 body.overview-view main>header .workshop-options{max-width:100%;min-width:min(240px,100%)}
 body.overview-view .header-controls{width:100%;min-width:0;align-items:flex-end;margin-left:0}
 body.overview-view .auth-buttons{width:100%;justify-content:flex-start}
 .home-qr-dialog{padding:22px 16px}#waste-approvals .replenishment-item{display:block}
}
@media print{.home-qr-camera,#waste-approvals,.home-qr-dialog{display:none!important}}
.camera-qr-preview{position:relative;width:100%;margin:12px 0}.camera-qr-preview video,.camera-qr-photo-preview{display:block;width:100%;height:auto;max-height:48dvh;object-fit:contain}.camera-qr-preview [hidden]{display:none!important}.camera-qr-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.camera-qr-frame polygon{fill:#ffd60018;stroke:#ffd600;stroke-width:5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0008)}
.camera-qr-dialog.qr-recognized [data-camera-start],.camera-qr-dialog.qr-recognized [data-camera-switch],.camera-qr-dialog.qr-recognized .camera-photo{display:none!important}.camera-qr-dialog.qr-recognized .camera-qr-status{color:#685100;font-weight:600}

/* Fill the live preview; keep the detection overlay on the same centered crop. */
.camera-qr-preview{overflow:hidden;border-radius:8px}
.camera-qr-preview video{height:48dvh;max-height:none;object-fit:cover;object-position:center}
#waste-employee-field[hidden]{display:none}

.qr-camera-button{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;min-width:64px;min-height:64px;padding:0;border-radius:50%;background:var(--accent);color:#092520;border:0;flex:0 0 64px}
.qr-camera-button svg{width:38px;height:38px}
.qr-camera-button:focus-visible{outline:3px solid #ffd600;outline-offset:3px}
.waste-view details.panel[hidden]{display:none}

.camera-scan-actions{display:flex;align-items:center;gap:12px;flex:0 0 220px}
.qr-camera-slot{display:flex;align-items:center;justify-content:center;flex:1}
.scan-row button.qr-camera-button{background:var(--accent,#22b3a5);color:#092520;border:0}
@media(max-width:760px){.scan-row .camera-scan-actions{flex:1 0 100%;width:100%}}

.camera-scan-actions>button:not(.qr-camera-button){height:44px;min-height:44px;max-height:44px;padding:10px 18px;align-self:center;flex:none}

.scan-row button.qr-camera-button{width:96px;height:96px;min-width:96px;min-height:96px;flex-basis:96px}
.scan-row .qr-camera-button svg{width:57px;height:57px}

.scan-row .camera-scan-actions{display:grid;grid-template-columns:max-content minmax(120px,1fr);align-items:center;gap:0;flex:0 0 320px;min-width:0}
.scan-row>label{min-width:0}
@media(max-width:760px){.scan-row .camera-scan-actions{flex-basis:100%;width:100%}}

#global-pf-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
#global-pf-search[hidden]{display:none}
#global-pf-search>label,#global-pf-search>.pf-results{grid-column:1/-1}
#global-pf-search>#pf-query{grid-column:1;min-width:0;margin:0}
#global-pf-search>.keyboard-trigger{grid-column:2;grid-row:2;align-self:center;margin:0}

@media(max-width:360px){
 .scan-row .camera-scan-actions{grid-template-columns:minmax(0,1fr) minmax(96px,1fr)}
 .camera-scan-actions>button:not(.qr-camera-button){min-width:0;width:100%;max-width:100%;padding:4px 6px;font-size:13px;line-height:1.15;white-space:normal}
}

.goods-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.goods-picker>label,.goods-suggestions{grid-column:1/-1}
.goods-picker>input{grid-column:1;min-width:0}
.goods-picker>.keyboard-trigger{grid-column:2;grid-row:2;margin:0}
.goods-picker [hidden]{display:none!important}
.goods-suggestions{max-height:280px;overflow:auto;border:1px solid var(--line);background:var(--surface-cream,#fffff0)}
.goods-suggestions button{display:block;width:100%;min-height:44px;text-align:left;background:transparent!important;color:inherit!important;border:0;border-radius:0;border-bottom:1px solid var(--line)}
.goods-suggestions button:hover,.goods-suggestions button:focus-visible{background:#d5ece6!important}
.goods-suggestions small{margin-left:8px;color:#526960}

#goods-label-form{gap:12px}
#goods-label-form .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;align-items:start}
#goods-label-form label{position:relative;min-width:0;font-size:13px;line-height:1.3;gap:4px}
#goods-label-form input:not([type=checkbox]),#goods-label-form select{min-width:0;width:100%;min-height:38px;height:38px;padding:6px 10px;font-size:14px}
#goods-label-form label:has(>.keyboard-trigger)>input{padding-right:40px}
#goods-label-form label>.keyboard-trigger{position:absolute;right:3px;bottom:3px;width:32px;height:32px;min-height:32px;padding:0;margin:0;font-size:18px}
#goods-label-form .goods-picker>.keyboard-trigger{width:32px;height:32px;min-height:32px;padding:0;margin:0}
#goods-label-form [hidden]{display:none!important}
#goods-label-form .permission-choice{margin:0;align-self:center}
#goods-label-form .hint{font-size:12px;margin:0}
@media(max-width:760px){
 #goods-label-form .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #goods-label-form input:not([type=checkbox]),#goods-label-form select{height:44px;min-height:44px}
 #goods-label-form label:has(>input[type=datetime-local]){grid-column:1/-1}
 #goods-label-form .permission-choice{grid-column:1/-1}
}

.home-qr-operation [data-waste-employee][hidden]{display:none}

#goods-label-form .goods-quantity>#goods-scale{position:absolute;right:0;top:-4px;height:24px;min-height:24px;padding:2px 6px;font-size:12px;line-height:1.2}

.production-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.production-switch button{min-height:44px}

/* Keep the optional keyboard beside its input in every form. */
.keyboard-field{display:flex;align-items:center;gap:10px;min-width:0;width:100%}
.keyboard-field>input,.keyboard-field>textarea{flex:1 1 0;min-width:0;width:0;max-width:none;margin:0}
.keyboard-field>.keyboard-trigger{position:static;flex:0 0 50px;align-self:center;width:50px;height:44px;min-height:44px;padding:2px;margin:0;font-size:20px;line-height:1}
.keyboard-field>.keyboard-trigger[hidden]{display:none}
#global-pf-search>.keyboard-field,.goods-picker>.keyboard-field{grid-column:1/-1;grid-row:2}
.ttk-controls>label:has(>.keyboard-field){padding-right:0}
#goods-label-form .keyboard-field>.keyboard-trigger{position:static;flex-basis:44px;width:44px;height:38px;min-height:38px;margin:0;padding:0}
#goods-label-form .keyboard-field>input{width:0}

@media(min-width:761px){
 .scan-row:has(>.camera-scan-actions)>label{display:grid;grid-template-rows:auto 96px;gap:7px}
 .scan-row>label>.keyboard-field{align-self:center}
 .scan-row>.camera-scan-actions{height:96px;align-self:flex-end}
}

#goods-label-form .keyboard-field>#goods-scale{position:static;flex:0 0 auto;align-self:center;height:38px;min-height:38px;margin:0;padding:2px 6px;font-size:12px;line-height:1.2;white-space:nowrap}
@media(max-width:760px){#goods-label-form .goods-quantity{grid-column:1/-1}}

#goods-label-form .keyboard-field>#goods-scale{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:var(--accent);color:#143f3b}
#goods-scale svg{display:block;flex-shrink:0}

.scan-row .camera-scan-actions{grid-template-columns:max-content 96px;gap:12px;justify-content:start}
.camera-scan-actions>.qr-camera-slot{justify-content:flex-start}
@media(max-width:360px){.scan-row .camera-scan-actions{grid-template-columns:minmax(0,1fr) 96px}}

.ttk-directory>.grid{column-gap:10px;align-items:end}
.ttk-directory>.grid>.permission-choice{height:47px;margin:0;align-self:end;align-items:center}
.ttk-directory #ttk-directory-other{margin:0}

/* Shared account and workshop positions on every page. */
body .brand-telegraf{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
body .brand-telegraf .brand-logo{width:100%;max-width:100%;min-width:0}
body .brand-telegraf .header-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;min-width:0;max-width:100%;margin:0;font-weight:400}
.brand-telegraf .auth-buttons{justify-content:flex-start;gap:6px;width:100%}
.brand-telegraf .auth-buttons button{font-size:12px;padding:8px 10px;min-height:36px;max-width:100%;min-width:0}
.brand-telegraf #auth-user{font-size:11px;overflow-wrap:anywhere;color:#b7c4c1}
body .brand-telegraf .header-controls .operator{width:100%;max-width:100%;font-size:11px;gap:4px;color:#b7c4c1}
body .brand-telegraf .header-controls input{height:36px;min-height:36px;padding:5px 8px;font-size:13px}
main>header>div:first-child{min-width:0;width:100%}
main>header .workshop-picker{width:min(320px,100%);margin-top:12px}
main>header .brand-caption{padding-left:0}
main>header .workshop-options{min-width:min(240px,100%);max-width:100%}
@media screen and (max-width:760px){
 body .brand-telegraf,body.overview-view .brand-telegraf{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 18px;align-items:center}
 body .brand-telegraf .brand-logo,body.overview-view .brand-telegraf .brand-logo{grid-column:1;grid-row:1;width:100%;max-width:180px;height:auto;aspect-ratio:632/262;min-width:0}
 body .brand-telegraf .header-controls{grid-column:2;grid-row:1/span 2;align-self:start}
 body.overview-view .brand-telegraf .home-qr-camera{grid-column:1;grid-row:2;justify-self:center}
 main>header{display:block}
 main>header .workshop-picker{width:100%;max-width:100%}
}

.login-options[hidden]{display:none!important}
body main>header .workshop-picker .brand-caption{padding-left:8px}

.ttk-directory>summary h2{margin:0}.ttk-directory[open]>summary{margin-bottom:18px}
.ttk-pf-list,.ttk-workshop{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.ttk-pf-list>summary,.ttk-workshop>summary{cursor:pointer;color:#173b35;font-weight:500;min-height:40px;padding:6px 0}
.ttk-pf-list>summary small,.ttk-workshop>summary small{margin-left:8px;color:#526960}
.ttk-workshop{margin-left:12px}.ttk-pf-list>summary:focus-visible,.ttk-workshop>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

#goods-label-form .goods-expiry{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;grid-column:span 2;min-width:0}
#goods-label-form .goods-expiry label{margin:0}
@media(max-width:760px){#goods-label-form .goods-expiry{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 110px}}
body .brand-home:focus,body .brand-home:focus-visible{outline-offset:4px}

.shelf-alert{white-space:normal}.shelf-alert>summary{cursor:pointer;font-weight:500;min-height:32px}.shelf-alert[open]>summary{margin-bottom:16px}
.shelf-search{display:block;max-width:760px;margin:14px 0}.shelf-search input{width:100%}.shelf-workshop[hidden],.shelf-missing-item[hidden],.shelf-search-result[hidden]{display:none}
.cook-panel{margin-bottom:18px}.cook-panel>summary{cursor:pointer}.cook-panel>label{display:block;max-width:760px;margin:12px 0}.cook-panel input[type=search]{width:100%}.cook-panel small{overflow-wrap:anywhere}.cook-panel .replenishment-item>div{min-width:0;flex:1}.cook-panel .actions{display:flex;flex-wrap:wrap;gap:10px}.cook-panel .actions button{max-width:100%;white-space:normal}.cook-panel [hidden]{display:none!important}.use-first-item,.shift-note{padding:14px 0;border-top:1px solid #d5dcd0;overflow-wrap:anywhere}.use-first-item p,.shift-note p{margin:8px 0}.shift-note-text{white-space:pre-wrap}.shift-resolved{opacity:.72}.cook-panel textarea{width:100%;resize:vertical;min-height:76px}.cook-panel [data-shift-note]{margin:16px 0;padding-bottom:18px;border-bottom:1px solid #d5dcd0}.cook-panel [data-shift-note]>button{align-self:start;max-width:100%}
@media(max-width:760px){.cook-panel .replenishment-item{display:flex;flex-direction:column;align-items:stretch}.cook-panel .replenishment-assignment{width:100%;min-width:0;flex:0 0 auto}.cook-panel .replenishment-assignment label{min-width:0;flex:1}.cook-panel .replenishment-assignment select{width:100%;min-width:0}.cook-panel h2 small{display:inline-block;font-size:14px}.cook-panel .grid{grid-template-columns:minmax(0,1fr)}}
.shelf-workshop,.shelf-missing-item{border-top:1px solid #d5dcd0;margin-top:10px;padding-top:10px}.shelf-workshop>summary,.shelf-missing-item>summary{cursor:pointer;padding:6px 0}.shelf-missing-item{margin-left:12px}.shelf-missing-item small{margin-left:8px}
.shelf-editor{padding:14px 0;max-width:760px;white-space:normal}.shelf-editor h4{margin:0 0 10px}.shelf-editor .hint{font-size:13px;margin:8px 0 12px}.shelf-mode{padding:8px 0;border-top:1px solid #d6e2df}.shelf-mode .permission-choice{margin:0 0 8px;gap:10px}.shelf-duration{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:end;gap:10px}.shelf-duration[hidden]{display:none}.shelf-frozen{grid-column:1/-1}.shelf-form-error{color:#a02e25}.shelf-form-error[hidden]{display:none}
.shelf-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:calc(100dvh - 32px);overflow:auto;background:#fffff0;padding:24px}.shelf-dialog h2{padding-right:30px}.shelf-editor input:not([type=checkbox]),.shelf-editor select{min-height:42px}.shelf-editor .keyboard-field>.keyboard-trigger{flex-basis:42px;width:42px;height:38px;min-height:38px}
.ttk-directory-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.ttk-directory-card>div{min-width:0}.ttk-directory-card>[data-edit-shelf]{flex-shrink:0;font-size:13px}
@media(max-width:760px){.shelf-dialog{padding:22px 16px}.ttk-directory-card{flex-wrap:wrap;gap:8px}.shelf-missing-item{margin-left:4px}.shelf-duration{grid-template-columns:minmax(0,1fr) 100px}}

body .brand-telegraf .brand-home,body.overview-view .brand-telegraf .brand-home{padding:4px;height:auto;aspect-ratio:auto;outline-offset:0}
body .brand-telegraf .brand-home img{display:block;width:100%;height:auto;position:static;transform:none;object-fit:contain}

.shopping-panel{margin-bottom:18px}.shopping-panel>summary{cursor:pointer}.shopping-panel>label{display:block;max-width:300px;margin:14px 0}.shopping-panel [data-shopping-create]{padding:16px 0;border-bottom:1px solid #d5dcd0}.shopping-panel .grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.shopping-item{border-top:1px solid #d5dcd0;padding:14px 0;overflow-wrap:anywhere}.shopping-panel .shopping-check{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 8px}.shopping-check span{min-width:0;flex:1}.shopping-check input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:0}.shopping-bought .shopping-check span{text-decoration:line-through;color:#697c73}.shopping-item small{display:block}.shopping-edit{margin-top:12px}.shopping-edit>summary{cursor:pointer}.shopping-panel [hidden]{display:none!important}.shopping-panel .actions{display:flex;gap:10px;flex-wrap:wrap}.shopping-panel .forms>button{align-self:start;max-width:100%}.shopping-panel button{white-space:normal;max-width:100%}.shopping-panel .keyboard-field{min-width:0}
@media(max-width:760px){.shopping-panel .grid{grid-template-columns:minmax(0,1fr)}.shopping-panel h2 small{display:block;font-size:14px;margin-top:6px}.shopping-panel input,.shopping-panel select{min-width:0;max-width:100%}}

.shopping-add{margin-top:16px;padding-top:12px;border-top:1px solid #d5dcd0}.shopping-add>summary{cursor:pointer;color:#07515a;font-weight:600}

body.timesheet-view .timesheet-grid thead .timesheet-hours-head{white-space:normal;overflow-wrap:normal;word-break:normal;text-overflow:clip;line-height:1.15;height:auto;min-height:44px;padding:5px 2px}
@media screen and (max-width:480px){body.timesheet-view .timesheet-grid.has-pay{--hours-width:56px}body.timesheet-view .timesheet-grid thead .timesheet-hours-head{font-size:9px}}

.employment-panel{margin-top:18px}.employment-panel>summary{cursor:pointer}.employment-panel h2 small{font-size:14px}.employment-panel form{margin:14px 0}.employment-panel textarea{width:100%;resize:vertical}.employment-panel select{max-width:100%;min-width:0}.employment-request{border-top:1px solid #d5dcd0;padding:16px 0;overflow-wrap:anywhere}.employment-reason{white-space:pre-wrap}.employment-panel .actions,.employment-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.employment-panel button{max-width:100%;white-space:normal}.employment-notice{justify-content:space-between}.dismissed-staff-label{display:block;white-space:normal;font-size:9px;color:#986338}

body.personal-view .management-cycle{background:#454545;color:#fffff0;border:1px solid #26b1a066;margin:18px 0;padding:18px 22px}.management-cycle>summary{cursor:pointer}.management-cycle>summary h2{display:inline;color:#26b1a0}.management-cycle figure{margin:20px auto 0;max-width:680px}.management-cycle-open{display:block;width:100%;padding:0;border:0;background:transparent!important;box-shadow:none;cursor:zoom-in}.management-cycle-open:hover{background:transparent!important;opacity:.96}.management-cycle img,.management-cycle-dialog img{display:block;width:100%;height:auto;object-fit:contain}.management-cycle figcaption{margin-top:14px;color:#c5d8d2;text-align:center;font-size:14px;line-height:1.5}.management-cycle figcaption small{display:block;font-size:11px;color:#b0c5bf}.management-cycle-dialog{background:#454545;color:#fffff0;border:1px solid #26b1a0;width:min(920px,calc(100vw - 24px));max-width:920px;max-height:calc(100dvh - 24px);padding:16px;overflow:auto}.management-cycle-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-16px;background:#454545;padding:12px 0;z-index:1}.management-cycle-dialog-head h2{margin:0;color:#26b1a0}.management-cycle-dialog-head button{color:#fffff0;border-color:#8fd6c8;min-width:44px;min-height:44px;font-size:24px}.management-cycle-zoom{overflow:auto;max-height:calc(100dvh - 140px);touch-action:pan-x pan-y pinch-zoom}.management-cycle-credit{font-size:11px;text-align:center;color:#b0c5bf}
@media(max-width:760px){body.personal-view .management-cycle{padding:16px 8px}.management-cycle figure{margin-top:16px}.management-cycle-dialog{padding:10px}.management-cycle-dialog-head{top:-10px}.management-cycle-dialog-head h2{font-size:20px}.management-cycle-zoom img{min-width:560px;max-width:none}}

.management-cycle-pan-hint{display:none}@media(max-width:760px){.management-cycle-pan-hint{display:block;color:#c5d8d2;font-size:13px;margin:4px 0 12px}}

.mentorship-panel{margin:18px 0}.mentorship-panel>summary,.mentorship-rate>summary{cursor:pointer}.mentorship-panel h2 small{font-size:14px}.mentorship-panel form{margin:16px 0}.mentorship-panel select{min-width:0;width:100%;max-width:100%}.mentorship-item{padding:14px 0;border-top:1px solid #d5dcd0;overflow-wrap:anywhere}.mentorship-item p{margin:8px 0}.mentorship-panel button{max-width:100%;white-space:normal}.mentorship-panel .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mentorship-panel .grid>label{min-width:0}.mentorship-rate{padding-top:16px;border-top:1px solid #d5dcd0}.mentorship-panel .notice ul{padding-left:20px}.mentorship-panel input{min-width:0;max-width:100%}
@media(max-width:760px){.mentorship-panel .grid{grid-template-columns:minmax(0,1fr)}.mentorship-panel .notice{overflow-wrap:anywhere}}
/* Management diagram beside the shorter upcoming-events panel. */
.personal-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:20px;align-items:start;margin-bottom:20px}.personal-overview-info{grid-column:1;grid-row:1;display:grid;gap:16px;min-width:0}.personal-overview-info:empty{display:none}.personal-overview-info>.personal-upcoming,.personal-overview-info>.personal-overview-notice{min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere}body.personal-view:has(.personal-overview-notice) main>#cloud-preview{display:none}body.personal-view .personal-overview>.management-cycle{grid-column:2;grid-row:1;min-width:0;margin:0;padding:12px;border:0;background:transparent}.personal-overview .management-cycle>h2{color:#26b1a0;font-size:18px;margin:0 0 8px;text-align:center}.personal-overview .management-cycle figure{margin:0;max-width:100%}.personal-overview .management-cycle figcaption{font-size:11px;margin-top:8px}.personal-overview .management-cycle figcaption small{font-size:10px}@media(max-width:760px){.personal-overview{grid-template-columns:minmax(0,1fr);gap:16px}.personal-overview-info{grid-column:1;grid-row:2}.personal-overview>.management-cycle{width:100%;max-width:340px;justify-self:center}body.personal-view .personal-overview>.management-cycle{grid-column:1;grid-row:1}}

.assigned-prep>summary,.generated-prep>summary,.schedule-roster>summary{cursor:pointer}.assigned-prep>summary h2{display:inline;font-size:20px}.assigned-prep-item{padding:12px 0;border-bottom:1px solid var(--line)}.assigned-prep-item p{margin:6px 0}.generated-prep>summary{padding:12px 0;font-weight:600}.schedule-roster form{margin-top:20px}.schedule-roster form>button{margin-top:12px}.timesheet-grid .schedule-remove{font-size:10px;min-height:22px;padding:1px 5px;max-width:100%;white-space:normal}.review-worked-dates{max-width:480px;margin:18px 0}.review-worked-dates td:last-child,.review-worked-dates th:last-child{text-align:right}
#message:has(.generated-task-notice){white-space:normal}.generated-task-notice>summary{cursor:pointer;font-weight:600}.generated-task-notice-body{white-space:pre-line;margin-top:12px;overflow-wrap:anywhere}
.assigned-workshop{margin:12px 0}.assigned-workshop>summary{cursor:pointer;background:#e9f5ef;padding:10px 12px;border-radius:8px}.assigned-workshop>summary .workshop-task-heading{display:inline;margin:0;padding:0;background:transparent;font-size:16px}
.assigned-prep-status{max-width:280px;margin:12px 0}.assigned-prep-item>.error{color:#a02e1c;white-space:pre-line}
/* Compact personal preparation list, with status beside the task. */
.panel.assigned-prep{padding:14px 18px}.assigned-prep>summary h2{font-size:18px}.assigned-prep-item{padding:10px 0}.assigned-prep-item:has(.assigned-prep-status){display:grid;grid-template-columns:minmax(0,1fr) 180px;column-gap:16px;row-gap:4px;align-items:center}.assigned-prep-item>strong{min-width:0;overflow-wrap:anywhere;line-height:1.35}.assigned-prep-item>p:not(.error){grid-column:1;margin:0;font-size:13px;line-height:1.3}.assigned-prep-status{grid-column:2;grid-row:1 / 3;width:100%;margin:0;max-width:180px}.assigned-prep-status select{min-height:40px;padding:7px 10px}.assigned-prep-item>.error{grid-column:1 / -1;margin:4px 0}.assigned-prep-item:last-child{border-bottom:0;padding-bottom:0}@media(max-width:600px){.panel.assigned-prep{padding:12px}.assigned-prep>summary h2{font-size:17px}.assigned-prep-item:has(.assigned-prep-status){grid-template-columns:minmax(0,1fr) minmax(145px,48%);gap:6px 10px}.assigned-prep-item>strong{grid-column:1 / -1;font-size:15px}.assigned-prep-status{grid-column:2;grid-row:2}.assigned-prep-status select{min-height:44px;font-size:14px}.assigned-prep-item>p:not(.error){grid-row:2;font-size:12px}}
.prep-report>summary,.prep-report-workshop>summary,.prep-report-employee>summary{cursor:pointer}.prep-report>summary h2{display:inline;font-size:20px}.prep-report-day{max-width:220px;margin:16px 0}.prep-report-workshop{margin:12px 0}.prep-report-workshop>summary{padding:10px 12px;background:#e9f5ef;border-radius:8px;font-weight:600}.prep-report-employee{margin:10px 0 10px 12px}.prep-report-employee>summary{font-weight:600;padding:8px 0}.prep-report-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.prep-report-item>small{grid-column:1/-1}.prep-report-item>strong{overflow-wrap:anywhere}.prep-report>.hint{margin:16px 0}
.receive-picker{position:relative;min-width:0}.receive-picker-input{display:flex;align-items:center;gap:10px}.receive-picker-input input{flex:1;min-width:0}.receive-picker-input>[data-receive-options]{width:44px;min-width:44px;padding:6px;font-size:22px}.receive-picker .receive-other{margin:10px 0 0}.receive-product-options{position:relative;max-height:280px;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fffff0}.receive-product-options[hidden]{display:none}.receive-product-options>button{display:block;width:100%;text-align:left;white-space:normal;min-height:48px;background:transparent;color:#07515a;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:9px 12px}.receive-product-options>button:hover,.receive-product-options>button:focus{background:#e9f5ef}.receive-product-options small{display:block;margin-top:4px}.receive-picker-status{font-size:12px;color:#647365;margin:7px 0 0}
.metrics>.low-stock-toggle{display:block;text-align:left;background:#fffff0;color:#07515a;border:1px solid var(--line);border-radius:10px;width:100%}.metrics>.low-stock-toggle[aria-expanded=true]{outline:2px solid #26b1a0;outline-offset:-2px}.metric-plan>summary{display:none}.metric-plan[hidden]{display:none!important}
.inventory-area-picker{max-width:320px;margin:14px 0}.inventory-workshop{margin:12px 0}.inventory-workshop>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9f5ef;padding:12px;border-radius:8px}.inventory-workshop>summary::before{content:'▸';color:#26b1a0}.inventory-workshop[open]>summary::before{content:'▾'}.inventory-workshop>summary h3{margin:0;flex:1}.inventory-area-empty{padding:12px;color:#647365}.inventory-workshop td select{min-width:170px}.inventory-workshop .table-wrap{margin-top:10px}

/* Keep the logo and account visible; only navigation items scroll. */
@media screen and (min-width:761px){
 body{--sidebar-width:244px}
 body>aside{position:fixed;top:var(--window-drag-height,0px);bottom:0;left:0;height:auto;width:var(--sidebar-width);overflow:hidden;z-index:40}
 body>aside>.brand,body>aside>.sidebar-bottom{flex-shrink:0}
 body>aside>.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}
 body>main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}
}
@media screen and (min-width:761px) and (max-width:1050px){body{--sidebar-width:210px}}
@media screen and (max-width:760px){
 body.mobile-menu-open{overflow:hidden}
 body.mobile-menu-open>aside{position:fixed;inset:var(--window-drag-height,0px) 0 0;height:auto;overflow:hidden;z-index:40;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
 body.mobile-menu-open>aside>.brand,body.mobile-menu-open>aside>.mobile-menu-toggle{flex-shrink:0}
 body.mobile-menu-open>aside>.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
}

.medical-books form{margin:12px 0 20px}.medical-books .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.medical-books input{min-width:0}.medical-books summary,.medical-alert>summary{cursor:pointer;font-weight:600}.medical-team{margin-top:20px}.medical-team>label{margin:16px 0;max-width:360px}.medical-team>details{padding:12px 0;border-top:1px solid var(--line)}.medical-books [hidden]{display:none!important}.medical-alert p{margin:10px 0}.medical-alert>button{margin-top:8px}@media(max-width:760px){.medical-books .grid{grid-template-columns:minmax(0,1fr)}}

.medical-section{margin:14px 0;padding:12px 0;border-top:1px solid var(--line)}.medical-section>.grid{margin-top:12px}.medical-record{margin:12px 0;padding:12px;background:#f1f5ef;border-radius:6px}.medical-record>button{margin-top:10px}.medical-section[open]>label{margin-top:12px}.medical-books summary{overflow-wrap:anywhere}

.medical-books>summary{cursor:pointer}.medical-books>summary h2{display:inline;margin:0}.medical-books[open]>summary{margin-bottom:18px}

#dismissal-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto}#dismissal-dialog label{margin:14px 0}#dismissal-dialog textarea{width:100%;min-height:90px;font:inherit;padding:10px;resize:vertical}#dismissal-dialog .actions{justify-content:flex-end;gap:10px}

.personal-fold>summary{cursor:pointer;font-weight:600}.personal-fold>summary h2{display:inline;margin:0}.personal-fold[open]>summary{margin-bottom:18px}.medical-analysis-table{min-width:610px;font-size:13px;line-height:1.3}.medical-analysis-table th{padding:7px 8px;font-size:11px}.medical-analysis-table td{padding:5px 8px;vertical-align:middle}.medical-analysis-table td:first-child{min-width:200px}.medical-analysis-table input[type=date]{width:145px;min-width:145px;min-height:34px;height:34px;padding:4px 7px;font-size:13px}.medical-deadline{display:flex;align-items:center;gap:8px}.medical-analysis-table .permission-choice{margin:0;gap:5px;font-size:12px;white-space:nowrap;min-height:34px}.medical-analysis-table .permission-choice input{width:18px;height:18px;min-height:18px;margin:0;padding:0}

.station-settings>summary{cursor:pointer}.station-settings>summary h2{display:inline;margin:0}.station-settings[open]>summary{margin-bottom:14px}.station-settings form{margin:16px 0}.station-settings form button{margin-top:12px}.station-settings p button{margin-left:10px}

#staff-onboarding{width:min(700px,calc(100vw - 24px));max-width:700px;max-height:calc(100dvh - 28px);overflow:auto}#staff-onboarding fieldset{border:0;padding:0;margin:0}#staff-onboarding legend{font-weight:600;margin-bottom:14px}#staff-onboarding fieldset[hidden]{display:none}#staff-onboarding .hint{margin-top:16px}#staff-onboarding [data-close]{margin-top:16px}



/* Fold totals without changing the size of names or day cells. Printing keeps all columns. */
@media screen{
 body.timesheet-view .timesheet-grid.totals-collapsed{--summary-width:0px}
 .timesheet-grid.totals-collapsed :is(.timesheet-sum-column,.timesheet-other-column,.timesheet-bonus-column,.timesheet-base-column,.timesheet-pay-column,.timesheet-hours-head,.timesheet-total,.timesheet-other-head,.timesheet-other-hours,.pay-bonus,.pay-base,.pay-total,.timesheet-group-fixed),.timesheet-grid.totals-collapsed tfoot{display:none}
}
@media screen and (max-width:760px){
 body.timesheet-view .timesheet-scroll{height:auto;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-y:auto;scrollbar-gutter:auto}
}
.roster-day-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.roster-day-navigation>span{flex:1;min-width:0}.roster-day-navigation button{flex:0 0 40px;min-height:40px;padding:4px;color:var(--accent,#168C82)}.roster-day-navigation button:disabled{opacity:.3}

.personal-section-group>summary{cursor:pointer}.personal-section-group>summary h2{display:inline;margin:0}.personal-group-body{padding-top:16px}.personal-group-body>.panel{margin-bottom:16px}.personal-group-body>.panel:last-child{margin-bottom:0}

/* PERSONAL_BLOCKS_START — this section can be released independently. */
@media screen{
 body.personal-view #content details.panel{border:1px solid var(--block-border,#cbdad6);border-radius:var(--block-radius,4px);background:var(--block-surface,#fffff0);margin:6px 0;padding:0;box-shadow:none}
 body.personal-view #content details.panel>summary{box-sizing:border-box;min-height:var(--block-control-height,44px);padding:var(--block-summary-padding-y,10px) var(--block-summary-padding-x,14px);margin:0;font-size:var(--block-summary-size,16px);font-weight:600;line-height:1.4;color:var(--block-title,#173b35);overflow-wrap:anywhere;cursor:pointer}
 body.personal-view #content details.panel>summary :is(h2,h3){display:inline;margin:0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}
 body.personal-view #content details.panel[open]{padding:var(--block-padding,16px)}
 body.personal-view #content details.panel[open]>summary{min-height:var(--block-control-height,44px);padding:0 0 var(--block-space-md,12px);margin:0}
 body.personal-view #content .personal-section-group{margin:var(--block-gap,12px) 0}
 body.personal-view #content .personal-section-group>summary{font-size:var(--block-title-size,18px)}
 body.personal-view #content .personal-group-body{padding-top:var(--block-space-sm,8px)}
 body.personal-view #content .personal-group-body>.panel{margin-bottom:var(--block-space-sm,8px)}
 body.personal-view #content .personal-group-body>.panel:last-child{margin-bottom:0}
 body.personal-view #content details.panel>summary:focus-visible{outline:2px solid var(--accent,#26b1a0);outline-offset:2px}
}
@media screen and (max-width:760px){
 body.personal-view{--block-padding:12px;--block-summary-padding-x:12px;--block-body-size:16px}
 body.personal-view #content details.panel>summary{min-height:44px}
}


/* DISCLOSURE_TRIANGLES_START — one indicator for every expandable section. */
@media screen{
 body details>summary{list-style:none!important}
 body details>summary::marker{content:''}
 body details>summary::-webkit-details-marker{display:none}
 body details>summary::before{content:''!important;display:inline-block!important;box-sizing:border-box;width:8px!important;height:10px!important;min-width:8px;flex:0 0 8px;margin:0 8px 0 0!important;border:0!important;border-radius:0;background:currentColor!important;color:inherit!important;clip-path:polygon(0 0,100% 50%,0 100%);transform:rotate(0deg)!important;transform-origin:center;vertical-align:middle;align-self:center;font-size:0!important;line-height:0}
 body details[open]>summary::before{transform:rotate(90deg)!important}
 body .nav-group>summary::after,body .dish-group summary::after{content:none!important;display:none!important}
}


/* KEYBOARD_VISIBILITY_START */
dialog.touch-keyboard-host{padding-bottom:calc(16px + var(--touch-keyboard-space,340px))!important}
#touch-keyboard{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
/* KEYBOARD_VISIBILITY_END */

/* SEARCH_KEYBOARD_VISIBILITY_START */
.keyboard-open #global-pf-search>.pf-results{position:static;max-height:clamp(70px,calc(100dvh - var(--touch-keyboard-space,340px) - 130px),240px);overflow:auto}
/* SEARCH_KEYBOARD_VISIBILITY_END */
