:root{--bg:#f7f7f5;--surface:#fff;--text:#1c1c1a;--muted:#5f5f5a;--ok:#1f7a4d;--error:#b42318;--warning:#93370d;--border:#e4e4df;--accent:#f0f0ec;--overdue-bg:#fdecea;--soon-bg:#fef5d8;--suggest-bg:#eef4ff;--suggest-border:#84adff;--holiday-bg:#fdf2e9;--approved-bg:#e3f4ea;--hatch:#0000002e;--tone-vacation-bg:#d1fadf;--tone-vacation:#05603a;--tone-sick-bg:#fee4e2;--tone-sick:#912018;--tone-child-sick-bg:#ffead5;--tone-child-sick:#93370d;--tone-unpaid-bg:#eaecf0;--tone-unpaid:#344054;--tone-special-bg:#ebe9fe;--tone-special:#4a1fb8;--tone-school-bg:#d1e9ff;--tone-school:#1849a9;--tone-lieu-bg:#ccfbef;--tone-lieu:#125d56;--tone-unexcused-bg:#fce7f6;--tone-unexcused:#9e165f;--tone-other-bg:#fef7c3;--tone-other:#713b12;--tone-absent-bg:#e4e4df;--tone-absent:#3f3f3b;--stamp-start:#1f7a4d;--brand:#000;--brand-ink:#fff;--brand-text:#000;--brand-dark:#f2f2ee;--brand-dark-ink:#141413;--brand-logo-scale:1;--link:var(--brand-text)}@media (prefers-color-scheme:dark){:root{--bg:#141413;--surface:#1e1e1c;--text:#f2f2ee;--muted:#a3a39c;--ok:#4cc38a;--error:#f97066;--warning:#fdb022;--border:#2e2e2b;--accent:#262624;--overdue-bg:#3b1814;--soon-bg:#3a2c0c;--suggest-bg:#14213d;--suggest-border:#528bff;--holiday-bg:#33240f;--approved-bg:#12301f;--hatch:#ffffff38;--tone-vacation-bg:#0b3b24;--tone-vacation:#6ce9a6;--tone-sick-bg:#4a1512;--tone-sick:#fda29b;--tone-child-sick-bg:#4a2410;--tone-child-sick:#fdb022;--tone-unpaid-bg:#2e3238;--tone-unpaid:#d0d5dd;--tone-special-bg:#2a1f5c;--tone-special:#bdb4fe;--tone-school-bg:#102a56;--tone-school:#84caff;--tone-lieu-bg:#0b3a35;--tone-lieu:#5fe9d0;--tone-unexcused-bg:#4e0d33;--tone-unexcused:#faa7e0;--tone-other-bg:#3d2f05;--tone-other:#fde272;--tone-absent-bg:#3a3a36;--tone-absent:#e4e4df;--link:var(--text)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main.centered{place-items:center;min-height:100dvh;padding:64px 16px 24px;display:grid}.page-corner{position:absolute;top:12px;right:16px}.card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:32px 24px}.card h1{letter-spacing:.04em;margin:0 0 12px;font-size:1.75rem}.card h1.card-logo{justify-content:center;margin-bottom:20px;display:flex}.card-logo img{height:calc(44px * var(--brand-logo-scale,1));width:auto;max-width:100%;display:block}.status{margin:0 0 4px;font-size:1.125rem;font-weight:600}.status[data-status=ok]{color:var(--ok)}.status[data-status=error]{color:var(--error)}.detail{color:var(--muted);margin:0}.greeting{margin:0 0 12px;font-size:1.125rem}.stack{gap:12px;display:grid}.button{appearance:none;font:inherit;background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:12px;padding:14px 16px;font-weight:600}@media (prefers-color-scheme:dark){.button{background:var(--brand-dark);color:var(--brand-dark-ink)}}.button:disabled{opacity:.6;cursor:progress}.button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.card>.button.secondary{margin-top:20px}a.button{text-decoration:none;display:block}.divider{color:var(--muted);margin:0;font-size:.875rem}.error{color:var(--error);margin:0}.hint{color:var(--muted);margin:0;font-size:.9375rem}.app-header{background:var(--surface);border-bottom:2px solid var(--brand);flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 16px;display:flex}.brand{border-radius:8px;align-items:center;text-decoration:none;display:inline-flex}.brand img{height:calc(32px * var(--brand-logo-scale,1));width:auto;display:block}@media (min-width:721px){.brand img{height:calc(40px * var(--brand-logo-scale,1))}}@media (prefers-color-scheme:dark){.brand-plate img{box-sizing:content-box;background:#fff;border-radius:6px;padding:4px 8px}.app-header{border-bottom-color:var(--brand-dark)}}.app-nav,.tabs{flex-wrap:wrap;gap:4px;display:flex}.app-nav{flex:1}.app-nav a,.tabs a{color:var(--text);border-radius:10px;padding:8px 12px;text-decoration:none}.app-nav a[aria-current=page],.tabs a[aria-current=page]{background:var(--accent);color:var(--link);font-weight:600}.app-header .button{padding:8px 12px}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.lang{position:relative}.lang-button{border:1px solid var(--border);min-height:40px;font:inherit;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:.875rem;font-weight:600;display:inline-flex}.lang-button:hover,.lang-button[aria-expanded=true]{background:var(--accent)}.lang-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:180px;max-height:calc(100dvh - 80px);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000029}.lang-list[hidden]{display:none}.lang-list button{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lang-list button:hover,.lang-list button:focus-visible{background:var(--accent)}.lang-list button[aria-current=true]{font-weight:600}.lang-list .lang-error{padding:8px 12px;font-size:.875rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card.setup{gap:16px;max-width:520px;display:grid}.card.setup h1{margin:0}.setup-title{margin:0;font-size:1.25rem}.card.setup .greeting{margin:0}.lang-options{border:0;grid-template-columns:1fr;gap:8px;min-width:0;margin:0;padding:0;display:grid}@media (min-width:480px){.lang-options{grid-template-columns:1fr 1fr}}.lang-option{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:12px 16px;font-size:1.125rem;display:flex}.lang-option:hover{background:var(--accent)}.lang-option input{width:20px;height:20px;accent-color:var(--text);flex:none;margin:0}.lang-option:has(input:checked){border-color:var(--text);background:var(--accent);font-weight:600}.lang-option:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.lang-options[aria-busy=true]{opacity:.7}.brand-option img{height:calc(24px * var(--brand-logo-scale,1));flex:none;width:auto;display:block}.app-main{padding:24px 16px 48px}.wide.narrow{max-width:720px}.wide{max-width:1200px;margin:0 auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.panel h2,.page-head h1{margin:0 0 8px}.panel h2{font-size:1.125rem}.count{margin:0 0 4px;font-size:1.5rem;font-weight:600}.panel .error,.panel .hint{margin-bottom:8px}.list{gap:6px;margin:0;padding-left:20px;display:grid}a{color:var(--link)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.check{align-items:center;gap:6px;display:inline-flex}.button.small{border-radius:10px;padding:8px 12px;font-size:.9375rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px 12px}.table th{color:var(--muted);white-space:nowrap;font-weight:600}.table tr:last-child td{border-bottom:0}.nowrap{white-space:nowrap}.file{word-break:break-word;font-weight:600}.muted{color:var(--muted);font-size:.875rem}p.muted{margin:0}.table .error{font-size:.875rem}.suggestion{color:var(--ok);margin-top:4px;font-size:.875rem}.decision{gap:8px;display:grid}.decision-fields,.decision-buttons{flex-wrap:wrap;gap:8px;display:flex}.decision label{gap:2px;display:grid}.label{color:var(--muted);font-size:.75rem}select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.field{gap:4px;display:grid}.stack.tight{gap:4px}.substitution-object h3,.substitution-object h4,.substitution-object>p{margin:0}.substitution-object h4{margin-top:8px}.substitution-object+.substitution-object{border-top:1px solid var(--border);padding-top:16px}.tabs button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 12px}.tabs button[aria-current=page]{background:var(--accent);font-weight:600}.summary{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.summary li{background:var(--accent);border-radius:999px;padding:4px 10px}.changes{margin:0;padding-left:18px}.warning{color:var(--warning);font-size:.875rem}.success{color:var(--ok)}.due{border-radius:8px;gap:2px;margin:-2px -8px;padding:2px 8px;display:inline-grid}.due[data-status=OVERDUE]{background:var(--overdue-bg);color:var(--error);font-weight:600}.due[data-status=SOON]{background:var(--soon-bg);color:var(--warning);font-weight:600}.due-note{white-space:nowrap;font-size:.8125rem}.status-pill[data-licence-status=NOT_OK],.status-pill[data-licence-status=OVERDUE]{background:var(--overdue-bg);color:var(--error)}.status-pill[data-licence-status=DUE],.status-pill[data-licence-status=FIRST_CHECK_MISSING]{background:var(--soon-bg);color:var(--warning)}.status-pill[data-licence-status=DONE]{background:var(--approved-bg);color:var(--ok)}.class-grid{flex-wrap:wrap;align-items:flex-start;gap:8px 16px;display:flex}.class-item{min-width:4.5em}.class-limited{grid-template-columns:repeat(auto-fill,minmax(min(19em,100%),1fr));gap:8px 16px;display:grid}.class-valid-until{align-items:center;gap:8px;display:flex}.class-valid-until>span{min-width:7.5em}.licence-check-date{max-width:14em}.licence-confirm{max-width:24em;margin:0}.facts.licence-facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.table a.button{white-space:nowrap;display:inline-block}.table.wrap-head th{white-space:normal;vertical-align:bottom}.table tr.inactive td{color:var(--muted)}.facts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;margin:0;display:grid}.facts dd{margin:2px 0 0}.facts .fact-wide{grid-column:1/-1}.facts .fact-wide dd{overflow-wrap:anywhere}input:not([type=checkbox]):not([type=file]),textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px}textarea{resize:vertical;width:100%}input:disabled,select:disabled{opacity:.6}.field.grow{flex:280px}.field.small input{width:9em}.field.fit select{justify-self:start}.field-pair{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.field-pair input[type=number]{width:7em}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:8px;padding:0;font-weight:600}.button.danger{color:var(--error)}.sheet-head{flex-wrap:wrap;align-items:center;gap:8px 16px;display:inline-flex}.ai-proposal{border:1px solid var(--suggest-border);background:var(--suggest-bg);border-radius:8px;padding:10px 12px}.ai-proposal p{margin:0}.item-row+.item-row{border-top:1px solid var(--border);padding-top:8px}.field input.suggested,.field select.suggested{border-color:var(--suggest-border);background:var(--suggest-bg)}.month-nav{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.month-title{text-align:center;min-width:9em;margin:0;font-size:1.125rem}.cal-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow-x:auto}.cal{border-collapse:collapse;width:100%;font-size:.8125rem}.cal th,.cal td{text-align:center;border-bottom:1px solid var(--border);padding:0}.cal tbody tr:last-child th,.cal tbody tr:last-child td{border-bottom:0}.cal thead th{color:var(--muted);padding:6px 0;font-weight:600}.cal .cal-name{z-index:1;text-align:left;white-space:nowrap;background:var(--surface);border-right:1px solid var(--border);min-width:11em;padding:6px 12px;position:sticky;left:0}.cal tbody .cal-name{font-weight:600}.cal-day{width:30px;min-width:30px;height:32px}.cal-weekday{font-size:.6875rem;font-weight:400;display:block}.cal .weekend{background:var(--accent)}.cal .holiday{background:var(--holiday-bg)}.cal thead .today{color:var(--text);box-shadow:inset 0 -3px 0 var(--text)}.cal-mark{border-radius:6px;place-items:center;height:24px;margin:0 1px;font-size:.75rem;font-weight:700;text-decoration:none;display:grid}.cal-mark.requested,.cal-dot.requested{background-image:repeating-linear-gradient(135deg, transparent 0 4px, var(--hatch) 4px 6px);outline-offset:-1px;outline:1px dashed}.cal-dot{vertical-align:-1px;border-radius:4px;width:12px;height:12px;margin-right:6px;display:inline-block}.cal-dot.requested{color:var(--muted)}.tone-VACATION{background-color:var(--tone-vacation-bg);color:var(--tone-vacation)}.tone-SICK{background-color:var(--tone-sick-bg);color:var(--tone-sick)}.tone-CHILD_SICK{background-color:var(--tone-child-sick-bg);color:var(--tone-child-sick)}.tone-UNPAID_LEAVE{background-color:var(--tone-unpaid-bg);color:var(--tone-unpaid)}.tone-SPECIAL_LEAVE{background-color:var(--tone-special-bg);color:var(--tone-special)}.tone-VOCATIONAL_SCHOOL{background-color:var(--tone-school-bg);color:var(--tone-school)}.tone-TIME_OFF_IN_LIEU{background-color:var(--tone-lieu-bg);color:var(--tone-lieu)}.tone-UNEXCUSED{background-color:var(--tone-unexcused-bg);color:var(--tone-unexcused)}.tone-OTHER{background-color:var(--tone-other-bg);color:var(--tone-other)}.tone-ABSENT{background-color:var(--tone-absent-bg);color:var(--tone-absent)}.cal-dot[class*=tone-]{box-shadow:inset 0 0 0 1px}.cal-legend{font-size:.875rem}.absence-list{margin:0;padding:0;list-style:none;display:grid}.absence-list.cal-mobile{display:none}.absence-item{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:10px 0;display:flex}.absence-item:first-child{padding-top:0}.absence-item:last-child{border-bottom:0;padding-bottom:0}.absence-item>div{min-width:0}.cal-line{overflow-wrap:anywhere;padding:2px 0;text-decoration:none;display:block}.link-button{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:.875rem;text-decoration:underline}.status-pill{background:var(--accent);border-radius:999px;padding:2px 10px;font-size:.875rem;font-weight:600;display:inline-block}.status-REQUESTED{background:var(--soon-bg);color:var(--warning)}.status-APPROVED{background:var(--approved-bg);color:var(--ok)}.status-REJECTED{background:var(--overdue-bg);color:var(--error)}.status-WITHDRAWN{color:var(--muted)}.preview{background:var(--accent);border-radius:12px;gap:4px;padding:12px;display:grid}.preview .warning p,.preview .hint p{margin:0 0 4px}.type-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;display:grid}.type-card h3{margin:0;font-size:1rem}.type-card.inactive{opacity:.7}.type-card .form-row>.field:not(.small){flex:240px;min-width:0}.type-card select,.absence-item select{width:100%;max-width:100%}.sick-note h3{margin:0;font-size:1rem}.sick-note p{margin:0}.cover-hint{background:var(--soon-bg);border-radius:10px;padding:10px 12px}.sick-checks{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}@media (max-width:720px){.app-nav{flex-basis:100%;order:3}.table thead{display:none}.table,.table tbody,.table tr,.table td{width:100%;display:block}.table tr{border-bottom:1px solid var(--border);padding:8px 0}.table td{border:0;padding:4px 12px}.table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:.875rem}.table td.empty,.cal-wrap{display:none}.absence-list.cal-mobile{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;display:grid}.month-title{flex:auto;min-width:0}}.table th.num,.table td.num{text-align:right;white-space:nowrap}.negative{color:var(--error);font-weight:600}.search-field{max-width:360px}.vacation-impact p{margin:0}.vacation-after{font-weight:600}@media (max-width:720px){.table td.num{text-align:left}}.status-TO_CHECK{background:var(--soon-bg);color:var(--warning)}.status-CONFIRMED{background:var(--approved-bg);color:var(--ok)}.doc-review{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:16px;display:grid}.doc-review>*{min-width:0}.doc-image{border:1px solid var(--border);border-radius:8px;max-width:100%;height:auto;display:block}.type-facts{margin:0;padding-left:18px}.value-row{flex-wrap:wrap;align-items:flex-start;gap:4px 16px;display:flex}.value-row .field{flex:240px;min-width:0}.value-row .check{white-space:nowrap;padding-top:26px}@media (max-width:720px){.value-row .check{padding-top:0}}.field textarea.suggested{border-color:var(--suggest-border);background:var(--suggest-bg)}.change-type{border-top:1px solid var(--border);padding-top:12px}.change-type .form-row>.field{flex:240px;min-width:0}.change-type select,.upload-form select{width:100%;max-width:100%}.upload-form .warning{margin:0}.stamp-card{gap:20px;display:grid}.card h1.stamp-object{letter-spacing:normal;overflow-wrap:anywhere;margin:0;font-size:1.5rem}.button.stamp-button{border-radius:16px;width:100%;min-height:96px;font-size:1.375rem}.button.stamp-button:not(.end),.button.stamp-start{background:var(--stamp-start);color:#fff}.stamp-done{color:var(--ok);margin:0;font-size:1.25rem;font-weight:600}.time-open{margin:0;font-weight:600}.time-company{margin:8px 0 0;font-size:1.25rem}.time-totals dd{font-size:1.125rem}.time-days{gap:12px;margin:0;padding:0;list-style:none;display:grid}.time-day{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:8px;padding:14px 16px;display:grid}.time-day-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.time-day-head h3{margin:0;font-size:1rem}.time-entries{gap:4px;margin:0;padding:0;list-style:none;display:grid}.time-entry{grid-template-columns:9em minmax(0,1fr) auto;gap:2px 12px;display:grid}.time-place{overflow-wrap:anywhere}.time-duration{text-align:right}.time-entry.end-missing{border-left:3px solid var(--warning);grid-template-columns:minmax(9em,max-content) minmax(0,1fr) auto;padding-left:10px}.time-missing{color:var(--warning)}.time-entry-note{color:var(--warning);grid-column:1/-1;font-size:.875rem}@media (max-width:720px){.time-entry,.time-entry.end-missing{grid-template-columns:minmax(0,1fr) auto}.time-place{color:var(--muted);grid-area:2/1/auto/-1}.time-entry-note{grid-row:3}}.qr-sheet{color:#000;border:1px solid var(--border);text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:12px;padding:32px 24px;display:grid}.qr-sheet h1{overflow-wrap:anywhere;margin:0;font-size:2rem}.qr-sheet h2{margin:8px 0 0;font-size:1.5rem}.qr-sheet-company,.qr-sheet-address,.qr-sheet-keep,.qr-sheet-foot{color:#3f3f3b;margin:0}.qr-code{width:min(100%,320px);height:auto;display:block}.qr-sheet-steps{text-align:left;gap:4px;margin:0;padding-left:1.5em;font-size:1.125rem;display:grid}.qr-sheet-langs{text-align:left;border-top:1px solid #d0d0ca;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:6px 16px;width:100%;margin:0;padding:12px 0 0;font-size:.875rem;list-style:none;display:grid}.qr-sheet-foot{font-size:.8125rem}@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff}.app-header,.no-print{display:none!important}.app-main{padding:0}.qr-sheet{border:0;gap:10px;padding:0}.qr-code{width:100mm}}.count-badge{background:var(--accent);text-align:center;vertical-align:middle;border-radius:999px;min-width:1.75em;padding:0 8px;font-size:.875rem;display:inline-block}.review-reasons{flex-wrap:wrap;gap:4px 6px;margin:0;display:flex}.review-reasons:empty{display:none}.status-pill.reason-END_MISSING,.status-pill.reason-OPEN_TOO_LONG{background:var(--soon-bg);color:var(--warning)}.status-pill.reason-DISPUTED{background:var(--overdue-bg);color:var(--error)}.status-pill.reason-ADDED,.status-pill.reason-LONG_DAY{color:var(--muted)}.status-pill.reason-TRAVEL_CHECK{background:var(--soon-bg);color:var(--warning)}.status-pill.reason-GAP_NO_TRAVEL{color:var(--muted)}.time-tag.travel{margin-left:0;margin-right:8px}.time-entry.travel .time-period,.time-entry.travel .time-place{color:var(--muted)}.next-order{border-top:1px solid var(--border);padding-top:12px}.next-order p,.review-item p{margin:0}.review-earlier{background:var(--soon-bg);color:var(--warning);border-radius:10px;gap:2px;margin:0;padding:10px 14px;font-weight:600;display:grid}.review-earlier a{color:inherit}.review-item>div{flex:20rem}.review-item>.button{flex:none}.time-history{gap:12px;margin:0;padding:0;list-style:none;display:grid}.time-history li{border-left:3px solid var(--border);overflow-wrap:anywhere;gap:2px;padding-left:10px;display:grid}.time-history p{margin:0}.time-tag{background:var(--accent);color:var(--muted);white-space:nowrap;border-radius:999px;margin-left:8px;padding:0 8px;font-size:.8125rem;display:inline-block}.time-tag.cancelled{background:var(--overdue-bg);color:var(--error)}.time-entry.cancelled .time-period,.time-entry.cancelled .time-duration{color:var(--muted);text-decoration:line-through}.time-entry.cancelled,.time-entry.disputed{border-left:3px solid var(--border);padding-left:10px}.time-entry.disputed{border-left-color:var(--warning)}.time-changes{overflow-wrap:anywhere;grid-column:1/-1;gap:2px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.time-entry-action{grid-column:1/-1}.time-dispute{justify-self:start}@media (max-width:720px){.time-entry .time-entry-note{grid-row:auto}}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr)) auto;gap:6px;display:grid}.week-day{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-content:center;justify-items:center;gap:2px;min-width:0;padding:8px 2px;font-size:.875rem;text-decoration:none;display:grid}.week-day.today{border-color:var(--text)}.week-day.all{padding:8px 12px;font-weight:600}.week-day[aria-current=date]{border-color:var(--text);background:var(--text);color:var(--surface)}.week-day-name{color:var(--muted)}.week-day[aria-current=date] .week-day-name{color:inherit}.week-day-date,.week-day-num{font-variant-numeric:tabular-nums;font-weight:600}.week-day-num{display:none}.count-badge.filled{background:var(--approved-bg);color:var(--ok);font-weight:600}.week-day[aria-current=date] .count-badge:not(.filled){color:var(--text)}.work-order-filter .field{flex:12rem;min-width:0}.work-order-filter select{width:100%}.order-link{flex:20rem;grid-template-columns:7.5em minmax(0,1fr);gap:2px 12px;min-width:0;text-decoration:none;display:grid}.order-time{font-variant-numeric:tabular-nums;font-weight:600}.order-link .order-time{grid-row:span 4}.order-main,.order-line,.order-people{overflow-wrap:anywhere;grid-column:2;min-width:0}.order-main .time-tag{margin-left:6px}.order-people{flex-wrap:wrap;gap:2px 12px;font-size:.875rem;display:flex}.person{white-space:nowrap}.person .time-tag{margin-left:4px}.time-tag.absent{background:var(--soon-bg);color:var(--warning)}.vehicle-use-removed .use-plate{color:var(--muted);text-decoration:line-through}.status-pill.order-status-DONE{background:var(--approved-bg);color:var(--ok)}.status-pill.order-status-CANCELLED{background:var(--overdue-bg);color:var(--error)}.order-CANCELLED .order-time,.order-CANCELLED .order-main .file{color:var(--muted);text-decoration:line-through}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.my-order>div{flex:100%}.my-order p{margin:0}.order-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.employee-picks{margin:0;padding:0;list-style:none;display:grid}.employee-picks.scroll{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-height:22rem;overflow-y:auto}.employee-picks .check{overflow-wrap:anywhere;align-items:flex-start;padding:6px 0;display:flex}.employee-picks input{margin-top:4px}.order-form .stack,.order-form .field{grid-template-columns:minmax(0,1fr)}@media (max-width:560px){.week-nav{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.week-nav .month-title{min-width:0;font-size:1rem}.week-nav .week-today{grid-column:1/-1;justify-self:center}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.week-day-date{display:none}.week-day-num{display:inline}.week-day{font-size:.8125rem}.week-day.all{grid-column:1/-1}.order-link{grid-template-columns:minmax(0,1fr)}.order-link .order-time{grid-row:auto}.order-main,.order-line,.order-people{grid-column:1}}.order-stamp-head{margin:0;font-size:1rem}.order-stamp-lines p{margin:0}.order-group{gap:6px;margin:0;padding:0;list-style:none;display:grid}.order-group-row{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:6px 0;display:flex}.order-stamp-team{border:0;min-width:0;margin:0;padding:0}.order-stamp-team .check{min-height:40px;padding:8px 0}.order-stamp-team input{width:20px;height:20px}.order-times{gap:12px;margin:0 0 8px;padding:0;list-style:none;display:grid}.time-order{color:var(--muted);overflow-wrap:anywhere;grid-column:2/-1;font-size:.875rem}@media (max-width:720px){.time-order{grid-column:1/-1}}.plan-counts strong{font-variant-numeric:tabular-nums;margin-left:4px}.plan-counts .plan-count-free{background:var(--approved-bg);color:var(--ok)}.count-badge.open{background:var(--soon-bg);color:var(--warning);font-weight:600}.plan-item>.plan-person,.plan-item>.plan-order{flex:20rem;min-width:0}.plan-person{gap:6px;display:grid}.plan-person p{margin:0}.plan-person-head{overflow-wrap:anywhere}.plan-orders{gap:8px;margin:0;padding:0;list-style:none;display:grid}.plan-order{grid-template-columns:7.5em minmax(0,1fr);gap:2px 12px;min-width:0;text-decoration:none;display:grid}.plan-order .order-time{grid-row:span 2}.order-time-note{color:var(--muted);font-size:.85em;font-weight:400;display:block}.plan-order-main,.plan-order-line{overflow-wrap:anywhere;grid-column:2;min-width:0}.plan-order-main .time-tag{margin-left:6px}.plan-order.overlap{border-left:3px solid var(--error);padding-left:8px}.time-tag.free,.time-tag.order-tag-DONE{background:var(--approved-bg);color:var(--ok)}.time-tag.double{background:var(--overdue-bg);color:var(--error)}.plan-assign{flex:none}.plan-assign-form{flex:100%}.plan-assign-form select{width:100%}.plan-assign-form p{margin:0}.plan-vehicle-order{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;display:flex}.plan-vehicle-order>.plan-order{flex:20rem}.plan-subhead{border-top:1px solid var(--border);margin:4px 0 0;padding-top:12px;font-size:1rem}.cal-week{gap:12px;display:grid}.cal-week-day{align-content:start;gap:8px;min-width:0;padding:14px;display:grid}.cal-week-day.today{border-color:var(--text)}.cal-week-day .cal-week-head{margin:0;font-size:1rem}.cal-week-head a{color:inherit}.cal-week-counts{flex-wrap:wrap;gap:6px;margin:0;display:flex}.cal-week-day>p.muted{margin:0}.cal-week-orders{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cal-week-order{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.cal-week-order.open{background:var(--soon-bg);border-color:var(--warning)}.cal-week-order.order-DONE{opacity:.75}.cal-week-link{min-width:0;color:inherit;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;gap:2px;text-decoration:none;display:grid}.cal-week-customer{font-weight:600}.cal-week-line{font-size:.875rem}.cal-week-line.warning{font-weight:600}.cal-week-vehicle{font-variant-numeric:tabular-nums}.cal-week-link .status-pill{justify-self:start}.cal-week-new{font-size:.875rem}@media (min-width:1100px){.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-week-day{padding:8px;font-size:.875rem}.cal-week-day .cal-week-head{font-size:.875rem}.cal-week-order{padding:6px 8px}.cal-week-line{font-size:.8125rem}.cal-week-counts .count-badge{text-align:left;border-radius:8px;font-size:.8125rem}}.cal-month{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%}.cal-month th{color:var(--muted);padding:4px 0;font-size:.875rem;font-weight:600}.cal-month td{vertical-align:top;padding:0}.cal-month-day{border:1px solid var(--border);background:var(--surface);min-height:4.75rem;color:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:6px;text-decoration:none;display:flex}.cal-month-day.outside{color:var(--muted);background:0 0}.cal-month-day.open{border-color:var(--warning)}.cal-month-day.today{border-color:var(--text);border-width:2px}.cal-month-num{font-variant-numeric:tabular-nums;font-weight:600}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}@media (max-width:560px){.cal-month{border-spacing:2px}.cal-month th{font-size:.75rem}.cal-month-day{border-radius:8px;align-items:center;min-height:4rem;padding:4px 2px}.cal-month-day .count-badge{min-width:0;padding:0 5px;font-size:.75rem}}@page plan-sheet{size:A4 landscape;margin:10mm}.plan-sheet{border:1px solid var(--border);background:var(--surface);page:plan-sheet;border-radius:16px;gap:14px;padding:20px;display:grid}.plan-sheet-head{flex-wrap:wrap;align-items:baseline;gap:4px 24px;display:flex}.plan-sheet-head h2,.plan-sheet-head p,.plan-sheet h3,.plan-sheet-foot p,.plan-sheet-asof{margin:0}.plan-sheet-head h2{letter-spacing:.02em;font-size:1.5rem}.plan-sheet-logo{align-self:center}.plan-sheet-logo img{height:calc(30px * var(--brand-logo-scale,1));width:auto;display:block}.plan-sheet-day{font-weight:600}.plan-sheet-company{color:var(--muted);margin-left:auto!important}.plan-sheet-scroll{overflow-x:auto}.plan-sheet-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.875rem}.plan-sheet-table th,.plan-sheet-table td{border:1px solid var(--text);text-align:left;vertical-align:top;padding:6px 8px}.plan-sheet-table th{background:var(--accent);white-space:nowrap}.plan-sheet-table .col-vehicle{white-space:nowrap;width:8.5em}.plan-sheet-table .col-team{width:13em}.plan-sheet-table .col-hours,.plan-sheet-table .col-report{text-align:center;font-variant-numeric:tabular-nums;width:5.5em}.plan-sheet-person,.plan-sheet-task{display:block}.plan-sheet-driver{color:var(--muted);font-size:.9em}.plan-sheet .muted{font-size:inherit}.plan-print .page-head .toolbar{margin-top:8px}.plan-sheet-plus{font-weight:700}.plan-sheet-open ul{margin:4px 0 0;padding-left:1.25em;font-size:.875rem}.plan-sheet-foot{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:8px 24px;font-size:.875rem;display:grid}.plan-sheet-foot h3,.plan-sheet-open h3{font-size:.9375rem}.plan-sheet-asof{color:var(--muted);font-size:.75rem}@media print{.plan-print{max-width:none}.plan-sheet{color:#000;background:#fff;border:0;border-radius:0;gap:8px;padding:0}.plan-sheet-scroll{overflow:visible}.plan-sheet-table{min-width:0;font-size:9.5pt}.plan-sheet-table th,.plan-sheet-table td{border-color:#000;padding:3px 6px}.plan-sheet-table th{background:#e8e8e8}.plan-sheet-table thead{display:table-header-group}.plan-sheet-table tr{break-inside:avoid}.plan-sheet-company,.plan-sheet-driver,.plan-sheet .muted,.plan-sheet-asof{color:#333}.plan-sheet-foot,.plan-sheet-open ul{font-size:9.5pt}.plan-sheet-logo img{height:calc(7.5mm * var(--brand-logo-scale,1))}}@media (max-width:560px){.day-nav{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.day-nav .month-title{min-width:0;font-size:1rem}.day-nav .week-today{grid-column:1/-1;justify-self:center}.plan-order{grid-template-columns:minmax(0,1fr)}.plan-order .order-time{grid-row:auto}.plan-order-main,.plan-order-line{grid-column:1}}.depot-companies{gap:8px;margin:0;padding:0;list-style:none;display:grid}.depot-companies .button{width:100%}.person.subcontractor{font-weight:600}.plan-with,.firm-line{overflow-wrap:anywhere;margin:0;font-size:.875rem}.plan-subcontractor{border-left:4px solid #93c5fd;padding-left:12px}.plan-sheet-table tr.plan-sheet-sub td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#dbeafe}.invite-link-url{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:8px;font-size:.875rem;display:block}.invite-qr{flex:none;width:160px;height:160px}
