.attendance-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;margin:1.5rem 0}.attendance-panel,.attendance-report,.attendance-sites,.worker-clock-card,.worker-history{background:var(--surface,#fff);border:1px solid var(--border,#dfe5eb);border-radius:18px;padding:1.35rem;box-shadow:0 12px 35px rgba(20,44,65,.06)}.attendance-panel h2,.attendance-report h2,.attendance-sites h2,.worker-history h2{margin:.15rem 0}.attendance-link-list{display:grid;grid-gap:.55rem;gap:.55rem;max-height:420px;overflow:auto;margin-top:1rem}.attendance-link-list form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.3fr) auto;align-items:flex-end;grid-gap:.55rem;gap:.55rem;padding:.65rem;border:1px solid #e6ebef;border-radius:12px}.attendance-link-list small,.attendance-link-list span{display:block}.attendance-inline-form,.attendance-site-form{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.attendance-adjust-form label,.attendance-inline-form label,.attendance-report>header label,.attendance-site-form label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.85rem;font-weight:650}.attendance-coordinates{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.65rem;gap:.65rem}.attendance-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.5rem!important}.attendance-warning{padding:.65rem;border-radius:10px;background:#fff4d8;color:#6f5010}.attendance-sites{margin:1.5rem 0}.attendance-sites>article{border:1px solid #dfe5eb;border-radius:14px;padding:1rem;margin-top:.8rem}.attendance-sites>article.is-inactive{opacity:.7}.attendance-report>header,.attendance-sites>article>header,.worker-history>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.attendance-sites header small,.attendance-sites header strong{display:block}.attendance-authorizations{margin-top:1rem}.attendance-authorizations>div:first-of-type{display:flex;gap:.75rem}.attendance-people-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.5rem;gap:.5rem;margin:1rem 0}.attendance-people-checks label{display:flex;align-items:center;gap:.55rem;padding:.6rem;border:1px solid #e2e8ec;border-radius:10px}.attendance-people-checks label.disabled{opacity:.55}.attendance-people-checks small,.attendance-people-checks span{display:block}.attendance-report{margin:1.5rem 0}.attendance-report>header form{display:flex;align-items:flex-end;gap:.6rem}.attendance-totals{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.6rem;gap:.6rem;margin:1rem 0}.attendance-totals article{padding:.75rem;border-radius:12px;background:#f2f7fa}.attendance-totals article.is-open{background:#fff4d8}.attendance-totals small,.attendance-totals span,.attendance-totals strong{display:block}.attendance-table-wrap{overflow:auto}.attendance-table-wrap table{width:100%;border-collapse:collapse;min-width:1050px}.attendance-table-wrap td,.attendance-table-wrap th{padding:.65rem;border-bottom:1px solid #e3e9ed;text-align:left;vertical-align:top}.attendance-table-wrap td small{display:block}.attendance-location{display:inline-flex;padding:.22rem .5rem;border-radius:999px;background:#eef2f4;font-size:.78rem;font-weight:700}.attendance-location.verified{background:#dff4e7;color:#176a39}.attendance-location.uncertain{background:#fff0c9;color:#775300}.attendance-location.outside{background:#ffe0df;color:#9c2520}.attendance-location.admin{background:#e5e7ff;color:#373c89}.attendance-adjust-form{display:grid;grid-gap:.5rem;gap:.5rem;min-width:280px;padding:.7rem}.attendance-adjust-form textarea{min-height:70px}.attendance-add-event{margin-top:1rem}.worker-attendance{max-width:820px;margin:0 auto;padding:2rem 1rem}.worker-clock-card{padding:clamp(1.2rem,4vw,2.2rem)}.worker-clock-card h1{font-size:clamp(2rem,7vw,3.5rem);margin:.1rem 0}.worker-clock-card>label{display:grid;grid-gap:.45rem;gap:.45rem;margin:1.15rem 0;font-weight:700}.worker-selfie{display:grid;grid-gap:.7rem;gap:.7rem;margin:1.15rem 0}.worker-selfie img,.worker-selfie video{display:block;width:100%;max-height:480px;aspect-ratio:1;object-fit:cover;border-radius:16px;background:#10202b}.worker-selfie video{transform:scaleX(-1)}.worker-selfie>button{min-height:56px}.worker-camera-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.worker-selfie small{font-weight:400}.worker-punch-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1.2rem}.worker-punch-actions button{min-height:62px;font-size:1.05rem}.worker-clock-message{padding:.9rem;border-radius:12px;background:#edf5fa;margin-top:1rem}.attendance-empty{padding:1.2rem;background:#fff4d8;border-radius:12px;margin-top:1rem}.worker-history{margin-top:1rem}.worker-history>div>article{display:grid;grid-template-columns:140px 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem 0;border-bottom:1px solid #e5eaee}.worker-history article span small,.worker-history article span strong{display:block}@media(max-width:900px){.attendance-admin-grid,.attendance-coordinates,.attendance-link-list form{grid-template-columns:1fr}.attendance-report>header{align-items:flex-start;flex-direction:column}.worker-history>div>article{grid-template-columns:1fr}.attendance-sites>article>header{align-items:flex-start;flex-direction:column}}.attendance-thread-messages{display:grid;grid-gap:.55rem;gap:.55rem;margin:1rem 0}.attendance-thread-messages p{max-width:760px;margin:0;padding:.65rem .8rem;border-radius:12px;background:#edf2f4}.attendance-thread-messages p.worker{background:#dff0f5}.attendance-thread-messages p.system{background:#fff1cf}.attendance-thread-messages p small{display:block;margin-top:.25rem;color:#607680}.attendance-review-card{display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem 0;border-bottom:1px solid #e4e9ec}.attendance-review-card small{color:#607680}.attendance-review-card p{margin:0}.attendance-review-card a{color:#176b87;font-weight:700}.attendance-inbox-grid{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);grid-gap:1rem;gap:1rem;margin-top:1rem;min-height:560px}.attendance-inbox-grid>aside{min-width:0;border-right:1px solid #dde5e9;padding-right:1rem}.attendance-inbox-search{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.8rem;font-weight:700}.attendance-inbox-search input{width:100%;padding:.7rem;border:1px solid #cbd7dc;border-radius:10px}.attendance-conversation-list{display:grid;grid-gap:.4rem;gap:.4rem;max-height:620px;margin-top:.7rem;overflow:auto}.attendance-conversation-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.55rem;gap:.55rem;width:100%;padding:.75rem;border:1px solid transparent;border-radius:12px;background:#f4f7f8;color:#17303c;text-align:left}.attendance-conversation-list>button.is-active{border-color:#74a9b8;background:#e8f3f6}.attendance-conversation-list span small,.attendance-conversation-list span strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-conversation-list span small{margin-top:.15rem;color:#637882}.attendance-conversation-list i{display:flex;gap:.25rem;font-style:normal}.attendance-conversation-list b,.attendance-conversation-list em{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#d9473f;color:#fff;font-size:.72rem;font-style:normal}.attendance-conversation-list em{background:#d48b18}.attendance-conversation{min-width:0;padding:.25rem!important;margin:0!important;border:0!important}.attendance-conversation>header{align-items:flex-start!important}.attendance-conversation>header form{margin-left:auto}.attendance-inbox-empty{display:grid;place-content:center;min-height:360px;text-align:center;color:#607680}.attendance-inbox-empty strong{color:#17303c}.attendance-message{max-width:86%;padding:.7rem .8rem;border-radius:13px;background:#edf2f4}.attendance-message.worker{margin-left:auto;background:#dff0f5}.attendance-message.system{background:#fff1cf}.attendance-message p{padding:0!important;background:transparent!important}.attendance-message footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#607680}.attendance-message footer form{margin-left:auto}.attendance-message footer button{width:26px;height:26px;border:0;border-radius:50%;background:#f4d7d4;color:#8f2620;font-size:1.15rem;line-height:1}.worker-ack-all{width:100%;margin:0 0 12px;padding:9px 12px}@media(max-width:900px){.attendance-inbox-grid{grid-template-columns:1fr}.attendance-inbox-grid>aside{border-right:0;border-bottom:1px solid #dde5e9;padding:0 0 1rem}.attendance-conversation-list{max-height:320px}.attendance-message{max-width:94%}}.attendance-message-audience{margin:0;padding:.7rem .8rem;border-radius:10px;background:#f2f7fa;color:#415463;font-size:.86rem}.sms-length-hint{display:block;margin-top:.15rem;color:#536b77;font-weight:500}.sms-length-hint.is-warning{color:#9a4d10;font-weight:700}.attendance-field-help{display:block;margin-top:.2rem;color:#536b77;font-weight:500;line-height:1.35}.attendance-daily-review>header>div{max-width:680px}.attendance-daily-review>header p{margin:.35rem 0 0;color:#536b77}.attendance-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:1.1rem 0}.attendance-review-summary article{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1px solid #dce5e9;border-radius:13px;background:#f6f9fa}.attendance-review-summary article.has-alerts{border-color:#e4a09b;background:#fff1ef;color:#892d28}.attendance-review-summary strong{font-size:1.55rem}.attendance-review-summary span{font-weight:700}.attendance-review-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr) auto;align-items:end;grid-gap:.65rem;gap:.65rem;padding:.85rem;border-radius:13px;background:#f3f7f8}.attendance-review-filters label{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;font-size:.82rem;font-weight:700}.attendance-review-filters select{width:100%;min-width:0}.attendance-day-list{display:grid;grid-gap:.8rem;gap:.8rem;margin-top:1rem}.attendance-day-card{overflow:hidden;border:1px solid #dbe4e8;border-left:5px solid #8ba0aa;border-radius:14px;background:#fff}.attendance-day-card.status-complete{border-left-color:#32905a}.attendance-day-card.status-in_progress,.attendance-day-card.status-planned{border-left-color:#3c7fa1}.attendance-day-card.status-missing_in,.attendance-day-card.status-missing_out,.attendance-day-card.status-no_punches{border-left-color:#d64e45}.attendance-day-card.status-anomaly{border-left-color:#d49324}.attendance-day-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .7rem}.attendance-day-card>header small,.attendance-day-card>header span,.attendance-day-card>header strong{display:block}.attendance-day-card>header span{margin-top:.12rem}.attendance-day-card>header small{margin-top:.2rem;color:#617782}.attendance-day-status{display:inline-flex;flex:0 0 auto;padding:.35rem .65rem;border-radius:999px;background:#edf2f4;color:#455a64;font-size:.78rem}.attendance-day-status.complete{background:#dff4e7;color:#176a39}.attendance-day-status.missing_in,.attendance-day-status.missing_out,.attendance-day-status.no_punches{background:#ffe0df;color:#942923}.attendance-day-status.anomaly{background:#fff0c9;color:#775300}.attendance-day-status.in_progress,.attendance-day-status.planned{background:#e2f0f7;color:#285e78}.attendance-pair{display:grid;grid-template-columns:minmax(155px,1fr) minmax(140px,.85fr) minmax(155px,1fr);align-items:stretch;grid-gap:.7rem;gap:.7rem;padding:0 1rem 1rem}.attendance-pair>section{display:grid;align-content:center;grid-gap:.2rem;gap:.2rem;min-width:0;padding:.8rem;border:1px solid #dce5e9;border-radius:11px;background:#f7fafb}.attendance-pair>section.missing{border-color:#e49c97;background:#fff3f2;color:#872b26}.attendance-pair>section small{font-size:.72rem;font-weight:800;letter-spacing:.08em}.attendance-pair>section strong{overflow-wrap:anywhere}.attendance-pair-line{display:grid;place-items:center;align-content:center;grid-gap:.22rem;gap:.22rem;text-align:center;color:#536b77}.attendance-pair-line>span{display:block;width:100%;height:2px;background:#b9c8ce;position:relative}.attendance-pair-line>span:after,.attendance-pair-line>span:before{content:"";position:absolute;top:50%;width:8px;height:8px;border:2px solid #8198a2;border-radius:50%;background:#fff;transform:translateY(-50%)}.attendance-pair-line>span:before{left:0}.attendance-pair-line>span:after{right:0}.attendance-pair-line b{font-size:.82rem}.attendance-pair-line small{font-size:.75rem}.attendance-missing-action{margin-top:.35rem;color:#17303c}.attendance-day-detail>summary,.attendance-missing-action>summary,.attendance-raw-log>summary{cursor:pointer;font-weight:750;color:#176b87}.attendance-day-issues{margin:0 1rem .85rem;padding:.65rem .75rem;border-radius:9px;background:#fff3d6;color:#765211;font-size:.85rem}.attendance-day-detail{border-top:1px solid #e3e9ec;padding:.75rem 1rem}.attendance-day-detail ol{display:grid;grid-gap:.55rem;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}.attendance-day-detail li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:start;grid-gap:.7rem;gap:.7rem;padding:.65rem;border-radius:10px;background:#f6f9fa}.attendance-event-detail small,.attendance-event-detail strong,.attendance-event-marker b,.attendance-event-marker span{display:block}.attendance-event-detail small,.attendance-event-marker span{font-size:.78rem;color:#607680}.attendance-event-warning{color:#8e4b14!important;font-weight:700}.attendance-review-empty{padding:1rem;text-align:center;color:#607680}.attendance-raw-log{margin:1.5rem 0;padding:1rem 1.35rem;border:1px solid #dfe5eb;border-radius:16px;background:#fff}.attendance-raw-log>.attendance-table-wrap{margin-top:1rem}.attendance-raw-log table{min-width:760px}@media(max-width:900px){.attendance-review-summary{grid-template-columns:1fr}.attendance-review-filters{grid-template-columns:1fr 1fr}.attendance-pair{grid-template-columns:1fr}.attendance-pair-line{grid-template-columns:1fr auto;place-items:center stretch;text-align:left}.attendance-pair-line>span{grid-column:1/-1}.attendance-day-detail li{grid-template-columns:90px minmax(0,1fr)}.attendance-day-detail li>details{grid-column:1/-1}.attendance-raw-log{padding:1rem}}@media(max-width:600px){.attendance-report>header form,.attendance-review-filters{display:grid;grid-template-columns:1fr;width:100%}.attendance-day-card>header{flex-direction:column}.attendance-day-status{align-self:flex-start}.attendance-day-detail,.attendance-pair{padding-inline:.75rem}}.attendance-location-map{margin-top:.45rem}.attendance-map-toggle{border:0;background:transparent;color:#176b87;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.2rem 0}.attendance-location-map figure{display:grid;grid-gap:.65rem;gap:.65rem;max-width:720px;margin:.65rem 0 0;padding:.7rem;border:1px solid #dce5e9;border-radius:13px;background:#f7fafb}.attendance-location-map img{display:block;width:100%;height:auto;border-radius:9px;background:#e6ecef}.attendance-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem}.attendance-map-legend span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.72rem;font-weight:800}.attendance-map-legend span.site{background:#176b57}.attendance-map-legend span.punch{background:#c93f37}.attendance-map-legend small{margin-right:.5rem;color:#536b77}.attendance-location-map.is-compact figure{min-width:min(560px,75vw)}.worker-mobile-app{--worker-ink:#102733;--worker-blue:#176b87;--worker-light:#eef7f8;min-height:100dvh;background:#eef3f4;color:var(--worker-ink);padding-bottom:82px}.worker-mobile-app>main{width:min(100%,720px);margin:0 auto;padding:18px 14px 28px}.worker-mobile-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:108px 1fr 48px;align-items:center;grid-gap:12px;gap:12px;min-height:70px;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:#102733;color:white;box-shadow:0 5px 20px #10273333}.worker-mobile-header img{width:102px;height:auto}.worker-mobile-header div{min-width:0}.worker-mobile-header small,.worker-mobile-header strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-mobile-header small{color:#a9c7d2;font-size:.68rem}.worker-mobile-header button{position:relative;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff18;color:white}.worker-bottom-nav button b,.worker-mobile-header button b{position:absolute;top:-3px;right:-3px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4f45;color:white;font-size:.68rem}.worker-icon{display:inline-grid;place-items:center;width:24px;height:24px;font-size:1.25rem;font-weight:850}.worker-app-notice{position:-webkit-sticky;position:sticky;top:78px;z-index:20;padding:11px 14px;border-radius:12px;background:#dff2eb;color:#165c3d;box-shadow:0 5px 16px #10273318}.worker-alert,.worker-app-card,.worker-calendar,.worker-day-card,.worker-messages,.worker-month-summary,.worker-profile article{margin-bottom:14px;padding:16px;border:1px solid #d8e3e5;border-radius:20px;background:white;box-shadow:0 9px 28px #1537460d}.worker-alert{display:grid;grid-gap:6px;gap:6px;border-color:#f1cf82;background:#fff9e9}.worker-alert.urgent{border-color:#efaaa5;background:#fff0ef}.worker-alert strong{font-size:1.05rem}.worker-alert p{margin:2px 0}.worker-alert button,.worker-app-card button,.worker-messages button,.worker-mini-form button{min-height:42px;border:0;border-radius:12px;background:var(--worker-blue);color:white;font-weight:750}.worker-today-heading{padding:8px 4px 2px}.worker-today-heading p{margin:0;color:#56717c;text-transform:capitalize}.worker-today-heading h1{margin:4px 0 10px;font-size:clamp(1.8rem,8vw,2.7rem)}.worker-mobile-app .worker-clock-card{margin-bottom:14px;border:0;border-radius:22px;box-shadow:0 10px 32px #15374612}.worker-mobile-app .worker-clock-card>header{display:none}.worker-mobile-app .worker-punch-actions button{font-size:1rem}.worker-app-card>header,.worker-day-card>header,.worker-messages>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.worker-app-card h2,.worker-day-card h2,.worker-messages h1{margin:2px 0}.worker-app-card header small,.worker-day-card header small,.worker-messages header small{color:#607781}.worker-app-card header button,.worker-messages header button{padding:8px 12px;background:#e7f2f5;color:#165b72}.worker-assignment{display:grid;grid-gap:3px;gap:3px;padding:12px;margin-top:8px;border-radius:14px;background:#edf6f8}.worker-assignment small,.worker-assignment span{color:#526a75}.worker-upcoming{display:grid!important;grid-template-columns:1fr auto;width:100%;padding:12px!important;margin-top:7px;text-align:left;background:#f1f5f6!important;color:var(--worker-ink)!important}.worker-upcoming span small,.worker-upcoming span strong{display:block}.worker-upcoming b{font-size:1.6rem}.worker-calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:10px}.worker-calendar-head h1{margin:0;text-align:center;text-transform:capitalize;font-size:1.45rem}.worker-calendar-head button{height:42px;border:0;border-radius:50%;background:white;color:var(--worker-blue);font-size:1.8rem}.worker-month-grid,.worker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px}.worker-weekdays span{padding:4px;text-align:center;color:#6a7f88;font-size:.72rem;font-weight:750}.worker-month-grid>button,.worker-month-grid>span{min-height:52px}.worker-month-grid>button{display:grid;place-items:center;grid-gap:2px;gap:2px;border:1px solid transparent;border-radius:13px;background:#f4f7f8;color:var(--worker-ink)}.worker-month-grid>button.today{border-color:#64a7ba}.worker-month-grid>button.selected{background:var(--worker-blue);color:white}.worker-month-grid i{display:flex;gap:3px;min-height:6px}.worker-month-grid i b{width:6px;height:6px;border-radius:50%}.worker-month-grid .planned{background:#4b89d0}.worker-month-grid .worked{background:#39a269}.worker-day-card>header{align-items:flex-start}.worker-day-card>header>span{padding:7px 9px;border-radius:10px;font-size:.7rem;font-weight:750}.day-ok{background:#ddf2e5;color:#176139}.day-warning{background:#fff0ce;color:#76540e}.worker-day-punch,.worker-expense{display:flex;gap:10px;align-items:center;padding:11px 5px;border-bottom:1px solid #edf0f1}.worker-day-punch span small,.worker-day-punch span strong,.worker-expense span small,.worker-expense span strong{display:block}.worker-day-card details{margin-top:12px;border:1px solid #dde6e8;border-radius:13px}.worker-day-card summary{padding:13px;font-weight:750;cursor:pointer}.worker-mini-form{display:grid;grid-gap:10px;gap:10px;padding:0 13px 13px}.worker-mini-form label{display:grid;grid-gap:4px;gap:4px;font-size:.78rem;font-weight:700}.worker-chat-form input,.worker-chat-form textarea,.worker-mini-form input,.worker-mini-form select,.worker-mini-form textarea{width:100%;padding:11px;border:1px solid #bdcdd2;border-radius:10px;background:white;color:var(--worker-ink);font:inherit}.worker-mini-form textarea{min-height:70px}.worker-month-summary{display:flex;align-items:center;gap:12px}.worker-month-summary strong{font-size:2rem;color:var(--worker-blue)}.worker-messages{min-height:60vh}.worker-thread-row{position:relative;display:grid!important;grid-template-columns:1fr auto;width:100%;padding:13px 4px!important;border-bottom:1px solid #e8edef!important;border-radius:0!important;background:white!important;color:var(--worker-ink)!important;text-align:left}.worker-thread-row span small,.worker-thread-row span strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-thread-row span small{color:#647a84}.worker-thread-row>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#ef4f45;color:white}.worker-new-message{width:100%;margin-top:16px}.worker-back{padding:0!important;background:transparent!important;color:var(--worker-blue)!important}.worker-bubble{max-width:88%;padding:10px 12px;margin:9px 0;border-radius:15px;background:#edf2f4}.worker-bubble.worker{margin-left:auto;background:#dbeef4}.worker-bubble.system{background:#fff3d5}.worker-bubble p{margin:0 0 5px}.worker-bubble small{color:#5d747e}.worker-bubble button{display:block;margin-top:8px;padding:7px 10px}.worker-chat-form{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.worker-chat-form textarea{min-height:90px}.worker-profile h1{font-size:2rem}.worker-profile article{font-size:1rem}.worker-sign-out{display:block;width:100%;padding:13px;border:1px solid #c8d6da;border-radius:12px;background:white;color:var(--worker-blue);font:inherit;font-weight:750}.worker-bottom-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #d5e0e3;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.worker-bottom-nav button{position:relative;display:grid;place-items:center;grid-gap:1px;gap:1px;min-height:52px;border:0;background:transparent;color:#6b7f87;font-size:.67rem}.worker-bottom-nav button.active{color:var(--worker-blue);font-weight:800}.worker-bottom-nav button b{right:20%;top:0}.worker-portal-error{max-width:560px;margin:12vh auto;padding:28px;border-radius:20px;background:white}.role-worker .app-content{min-width:0}@media(min-width:800px){.worker-mobile-app>main{padding-top:26px}.worker-bottom-nav{right:auto;left:50%;width:720px;transform:translateX(-50%);border:1px solid #d5e0e3;border-bottom:0;border-radius:22px 22px 0 0}.worker-mobile-header{grid-template-columns:130px 1fr 48px;padding-right:calc((100vw - 720px)/2);padding-left:calc((100vw - 720px)/2)}}.collaboration-presence{margin:14px 4px 12px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff09;color:#e5f0eb}.collaboration-presence summary{display:flex;align-items:center;gap:8px;padding:10px 11px;cursor:pointer;font-size:.75rem;font-weight:750;list-style:none}.collaboration-presence summary::-webkit-details-marker{display:none}.collaboration-presence summary i{width:8px;height:8px;border-radius:50%;background:#5ee59a;box-shadow:0 0 0 3px #5ee59a1f}.collaboration-presence>div{display:grid;grid-gap:9px;gap:9px;padding:0 11px 11px}.collaboration-presence p{display:grid;grid-gap:2px;gap:2px;margin:0}.collaboration-presence strong{font-size:.73rem}.collaboration-presence span{color:#abc0b6;font-size:.66rem;line-height:1.35}.collaboration-object-alert{position:fixed;z-index:80;top:18px;left:50%;transform:translateX(-50%);max-width:min(620px,calc(100vw - 32px));padding:10px 15px;border:1px solid #e7a662;border-radius:10px;background:#fff5e8;color:#713f16;box-shadow:0 10px 30px #30200d24;font-size:.8rem}.collaboration-event-notice{position:fixed;z-index:82;right:24px;bottom:24px;max-width:min(440px,calc(100vw - 32px));padding:13px 16px;border:1px solid #9bcbb4;border-radius:11px;background:#e7f5ed;color:#1c5139;box-shadow:0 14px 34px #10251a2b;text-align:left;font-weight:700}@media(max-width:900px){.collaboration-presence{display:none}.collaboration-object-alert{top:10px}.collaboration-event-notice{right:16px;bottom:16px}}.navigation-trail{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px 16px;gap:10px 16px;margin:-30px 0 30px;padding:12px 14px;border:1px solid #ccd9d0;border-radius:12px;background:#f8faf7;color:#34443c;box-shadow:0 3px 12px #173a2810}.navigation-trail-heading{display:flex;min-width:0;align-items:baseline;gap:10px}.app-shell .navigation-trail .navigation-trail-label{display:inline;color:#285641;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.navigation-trail-heading small{min-width:0;color:#718078;font-size:.62rem}.navigation-trail-back,.navigation-trail-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-trail-back{max-width:260px;padding:7px 10px!important;border:1px solid #bfcfc4;border-radius:7px!important;background:#fff;color:#1f5b40!important;font-size:.67rem!important;font-weight:850}.navigation-trail-route{grid-column:1/-1;display:flex;min-width:0;align-items:center;gap:8px;padding-top:8px;border-top:1px solid #dde5df}.navigation-trail-items{display:flex!important;min-width:0;flex:1 1;align-items:stretch;gap:5px!important;margin:0!important;padding:0!important;overflow-x:auto;list-style:none;scrollbar-width:thin}.navigation-trail-items li{display:flex;min-width:max-content;align-items:center;gap:5px}.navigation-trail-items li>a,.navigation-trail-items li>span{display:flex;align-items:center;gap:7px;padding:7px 9px!important;border:1px solid #cfdbd2;border-radius:8px!important;background:#fff;color:#285641!important;font-size:.69rem!important;font-weight:780}.navigation-trail-items li>a:hover{border-color:#94b3a1;background:#e8f1eb!important}.navigation-trail-items b{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#dfeae3;color:#24533d;font-size:.58rem}.navigation-trail-items li.current>span{border-color:#275a42;background:#275a42;color:#fff!important;box-shadow:0 2px 8px #173f2d24}.navigation-trail-items li.current b{background:#fff;color:#275a42}.navigation-trail-items i{color:#89978f;font-size:.9rem;font-style:normal}.navigation-trail-reset{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;padding:0;border:1px solid #c7d3ca;border-radius:50%;background:#fff;color:#6a7770;font-size:1.05rem;font-weight:800;line-height:1}.navigation-trail-reset:hover{border-color:#a5473e;background:#fff1ef;color:#a33b32}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:900px){.navigation-trail{margin:-16px 0 24px}.navigation-trail-heading{align-items:flex-start;flex-direction:column;gap:2px}.navigation-trail-heading small{max-width:100%}.navigation-trail-back{max-width:210px}}@media(max-width:600px){.navigation-trail{display:flex!important;align-items:stretch;flex-direction:column;gap:8px}.navigation-trail-heading small{white-space:normal}.navigation-trail-back{max-width:none;text-align:center}.navigation-trail-route{width:100%;padding-top:9px}.navigation-trail-items{width:100%}.navigation-trail-items li>a,.navigation-trail-items li>span{padding:8px 10px!important}}.app-content,.app-content>*,.contract-details-dialog,.data-panel,.free-line-modal,.item-picker-card,.picker-modal,.picker-modal>*,.planning-edit-dialog,.quote-period-dialog,.quote-workspace,.quote-workspace>*,.team-modal>.team-panel{min-width:0}.data-panel :where(h1,h2,h3,p,strong,span,small,label,summary,a),.item-picker-card :where(h1,h2,h3,p,strong,span,small,label,button),[role=dialog] :where(h1,h2,h3,p,strong,span,small,label,button,summary){overflow-wrap:anywhere}.quote-workspace>.data-panel,.sale-quote-layout>.data-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.contract-details-backdrop,.free-line-backdrop,.packing-modal-backdrop,.picker-backdrop,.planning-edit-backdrop,.quote-period-backdrop,.team-modal{overflow:auto;overscroll-behavior:contain}.contract-details-backdrop,.free-line-backdrop,.packing-modal-backdrop,.picker-backdrop,.quote-period-backdrop,.team-modal{align-items:safe center}.contract-details-backdrop,.picker-backdrop,.quote-period-backdrop{z-index:1200}.contract-details-dialog,.free-line-modal,.packing-modal,.picker-modal,.quote-period-dialog,.team-modal>.team-panel{max-width:100%;max-height:calc(100dvh - 32px);overflow:auto}.contract-details-dialog label,.free-line-modal label,.picker-modal footer>*,.picker-modal>header>div,.picker-quantities>label>div,.picker-results>label>div,.quote-period-dialog label{min-width:0}.picker-quantities span,.picker-quantities strong,.picker-results small,.picker-results span,.picker-results strong,.picker-suggestions button,.picker-suggestions span,.picker-suggestions strong{overflow-wrap:anywhere}.contract-details-dialog input,.contract-details-dialog select,.contract-details-dialog textarea,.free-line-modal input,.free-line-modal select,.free-line-modal textarea,.picker-modal input,.picker-modal select,.quote-period-dialog input,.quote-period-dialog select{min-width:0;max-width:100%}.quote-lines .line-actions details[open]:before,.sale-quote-lines .sale-line-actions details[open]:before{position:fixed;z-index:1299;inset:0;content:"";background:rgba(8,26,45,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.quote-lines .line-actions .closeable-details-panel,.sale-quote-lines .sale-line-actions .closeable-details-panel{position:fixed;z-index:1300;top:50%;right:auto;left:50%;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;transform:translate(-50%,-50%);padding:46px 18px 18px;border-radius:16px}.quote-lines .line-actions .closeable-details-panel form,.sale-quote-lines .sale-line-actions .closeable-details-panel form{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-lines .line-actions .closeable-details-panel input,.quote-lines .line-actions .closeable-details-panel label,.quote-lines .line-actions .closeable-details-panel select,.quote-lines .line-actions .closeable-details-panel textarea,.sale-quote-lines .sale-line-actions .closeable-details-panel input,.sale-quote-lines .sale-line-actions .closeable-details-panel label,.sale-quote-lines .sale-line-actions .closeable-details-panel select,.sale-quote-lines .sale-line-actions .closeable-details-panel textarea{width:100%;min-width:0;max-width:100%}.quote-lines.editable .line-head,.quote-lines.editable article:not(.quote-text-line){grid-template-columns:minmax(220px,1fr) 130px 90px 160px 190px 100px 100px 80px;min-width:1215px}.quote-lines .quantity-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:5px;gap:5px;width:100%;min-width:0}.quote-lines .quantity-form input{width:100%;min-width:0}.quote-lines .quantity-form .small-button{min-width:52px;padding-inline:8px;white-space:nowrap}@media (max-width:700px){.contract-details-backdrop,.free-line-backdrop,.packing-modal-backdrop,.picker-backdrop,.quote-period-backdrop,.team-modal{align-items:start;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.picker-modal{width:100%;height:calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));max-height:none;border-radius:14px}.picker-modal footer,.picker-modal>header{flex-wrap:wrap;padding-inline:16px}.free-line-modal footer button,.picker-modal footer>.primary-button,.quote-period-actions button{flex:1 1 150px}.picker-quantities>label,.picker-results>label{grid-template-columns:24px minmax(0,1fr)}.picker-quantities>label input{grid-column:2;width:100%}.quote-lines .line-actions .closeable-details-panel form,.sale-quote-lines .sale-line-actions .closeable-details-panel form{grid-template-columns:1fr}.contract-details-dialog,.free-line-modal,.packing-modal,.quote-period-dialog,.team-modal>.team-panel{max-height:calc(100dvh - 16px)}}.idle-session-backdrop{position:fixed;inset:0;z-index:10000;background:#102238b3;display:grid;place-items:center;padding:20px}.idle-session-warning{box-sizing:border-box;width:min(480px,100%);padding:28px;border-radius:16px;background:white;color:#203447;box-shadow:0 20px 70px #0004;font-size:15px;line-height:1.6}.idle-session-warning h2{font-size:21px;margin:0 0 12px}.idle-session-warning button{border:0;border-radius:8px;padding:12px 20px;background:#176fc0;color:white;font:inherit;font-weight:700;cursor:pointer}