.app-shell-invoice-new .invoice-form-card,.app-shell-invoice-new .invoice-designer-shell{box-sizing:border-box;width:min(100%,1280px);margin-left:auto;margin-right:auto}.app-shell-invoice-new .invoice-designer-shell{align-items:start}.app-shell-invoice-new .invoice-designer-controls,.app-shell-invoice-new .invoice-control-card,.app-shell-invoice-new .invoice-document-card{min-width:0}.app-shell-invoice-new .invoice-control-card{color:var(--text-on-light);background:#fff;border:1px solid #d8ddd8eb;box-shadow:0 18px 44px #1021121a}.app-shell-invoice-new .invoice-control-card h3{color:var(--text-on-light);letter-spacing:-.01em;font-size:16px;font-weight:700}.app-shell-invoice-new .invoice-control-card label{min-width:0;color:var(--text-on-light);gap:6px;font-size:13px;font-weight:600;display:grid}.app-shell-invoice-new .invoice-control-card input,.app-shell-invoice-new .invoice-control-card select,.app-shell-invoice-new .invoice-control-card textarea{border:1px solid var(--border-on-light);min-height:44px;color:var(--text-on-light);box-shadow:none;background:#fff;border-radius:12px;outline:none;padding:0 14px;font-size:14px;font-weight:500;line-height:1.35}.app-shell-invoice-new .invoice-control-card textarea{resize:vertical;min-height:92px;padding-top:12px;padding-bottom:12px}.app-shell-invoice-new .invoice-control-card input:focus,.app-shell-invoice-new .invoice-control-card select:focus,.app-shell-invoice-new .invoice-control-card textarea:focus{border-color:#0f9d206b;box-shadow:0 0 0 4px #0f9d201a}.app-shell-invoice-new .invoice-column-toggle{min-height:48px;color:var(--text-on-light);border-radius:12px;font-size:14px;font-weight:550}.app-shell-invoice-new .invoice-column-toggle input{width:18px;min-width:18px;height:18px;min-height:18px;padding:0}.app-shell-invoice-new .invoice-create-submit-button{color:#fff;border-radius:999px;min-height:52px;font-size:15px;font-weight:700}.app-shell-invoice-new .invoice-create-submit-button:disabled{color:#fff}.app-shell-invoice-new .invoice-create-final-button{justify-self:end;width:min(360px,100%)}.app-shell-invoice-new .invoice-date-field .invoice-date-button{font-weight:600}.app-shell-invoice-new.app-shell-light .invoice-date-input-frame,.app-shell-invoice-new.app-shell-light .invoice-date-button,.app-shell-invoice-new.app-shell-light .invoice-form-card .invoice-date-button{background:#fff}.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card{color:#f8f8f8;background:radial-gradient(circle at 18% 0,#0f9d201a,#0000 36%),#151515;border-color:#ffffff1a;box-shadow:0 24px 54px #0000005c}.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card h3,.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card label{color:#f8f8f8}.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card input,.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card select,.app-shell-invoice-new:not(.app-shell-light) .invoice-control-card textarea,.app-shell-invoice-new:not(.app-shell-light) .invoice-column-toggle{color:#f8f8f8;background:#232323;border-color:#ffffff1a}.app-shell-invoices-list .invoice-sort-select{min-width:168px}.app-shell-invoices-list .invoice-table-card{background:#fff;border:1px solid #dfe7df;border-radius:8px;overflow:hidden;box-shadow:inset 0 1px #fffffff0,0 18px 48px #10211214}.app-shell-invoices-list .invoice-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;overflow:auto hidden}.app-shell-invoices-list .job-report-table.invoice-table{border-collapse:collapse;color:#202820;letter-spacing:0;table-layout:fixed;border:0;border-radius:0;width:100%;min-width:920px;margin:0;font-family:inherit;font-size:10.5px;font-weight:500;line-height:1.22;display:table;overflow:visible}.app-shell-invoices-list .job-report-table.invoice-table th,.app-shell-invoices-list .job-report-table.invoice-table td{vertical-align:middle;border-bottom:1px solid #e7ece7;padding:9px 7px}.app-shell-invoices-list .job-report-table.invoice-table th{color:#536058;letter-spacing:0;background:#f6f8f6;font-size:10px;font-weight:600;line-height:1.05}.app-shell-invoices-list .invoice-table-row{background:#fff;display:table-row}.app-shell-invoices-list .invoice-table-row:nth-child(2n){background:#fbfdfb}.app-shell-invoices-list .invoice-table-row td{color:#111711;font-size:10.5px;font-weight:600;line-height:1.15}.app-shell-invoices-list .invoice-table-labour-cell{align-items:center;gap:8px;min-width:0;display:flex}.app-shell-invoices-list .invoice-table-labour-avatar{color:#0f9d20;background:#eaf8ea;border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.app-shell-invoices-list .invoice-table td small,.app-shell-invoices-list .invoice-table-muted{color:#4f5b53;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10.5px;font-weight:500;line-height:1.15;display:block;overflow:hidden}.app-shell-invoices-list .invoice-table-labour,.app-shell-invoices-list .invoice-table-status,.app-shell-invoices-list .invoice-table .job-report-money,.app-shell-invoices-list .invoice-table .job-report-strong-number{color:#111711;vertical-align:middle;font-weight:600;line-height:1.15;display:inline-block}.app-shell-invoices-list .invoice-table-labour{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell-invoices-list .invoice-table .invoice-table-amount{color:#111711}.app-shell-invoices-list .invoice-table-action{color:#0f9d20;font-size:10.5px;font-weight:600;text-decoration:none}.app-shell-invoices-list .invoice-table-action:hover,.app-shell-invoices-list .invoice-table-action:focus-visible{color:#0b7f1a;outline:none}.app-shell-invoices-list .invoice-table-empty{color:#536058;font-size:10.5px;font-weight:600;text-align:center!important;vertical-align:middle!important}.app-shell-invoices-list:not(.app-shell-light) .invoice-table-card{background:#101010;border-color:#ffffff1a;box-shadow:0 22px 70px #0000006b}.app-shell-invoices-list:not(.app-shell-light) .job-report-table.invoice-table{color:#aeb0ae;font-weight:500}.app-shell-invoices-list:not(.app-shell-light) .job-report-table.invoice-table th{color:#b8bab8;background:#141514;font-weight:600}.app-shell-invoices-list:not(.app-shell-light) .job-report-table.invoice-table th,.app-shell-invoices-list:not(.app-shell-light) .job-report-table.invoice-table td{border-bottom-color:#ffffff1a}.app-shell-invoices-list:not(.app-shell-light) .invoice-table-row,.app-shell-invoices-list:not(.app-shell-light) .invoice-table-row:nth-child(2n){background:#111211}.app-shell-invoices-list:not(.app-shell-light) .invoice-table-row td,.app-shell-invoices-list:not(.app-shell-light) .invoice-table-labour,.app-shell-invoices-list:not(.app-shell-light) .invoice-table-status,.app-shell-invoices-list:not(.app-shell-light) .invoice-table .job-report-money,.app-shell-invoices-list:not(.app-shell-light) .invoice-table .job-report-strong-number{color:#f0f2f0}.app-shell-invoices-list:not(.app-shell-light) .invoice-table td small,.app-shell-invoices-list:not(.app-shell-light) .invoice-table-muted,.app-shell-invoices-list:not(.app-shell-light) .invoice-table-empty{color:#aeb8ae}@media (min-width:1024px){.app-shell-invoice-new .invoice-designer-shell{grid-template-columns:minmax(320px,.42fr) minmax(560px,.58fr);gap:28px}.app-shell-invoice-new .invoice-create-final-button{grid-column:1/-1}}@media (max-width:719px){.app-shell-invoice-new .invoice-form-card,.app-shell-invoice-new .invoice-designer-shell{width:auto;max-width:calc(100vw - (var(--space-4) * 2))}.app-shell-invoice-new .invoice-control-card{padding:var(--space-4)}.app-shell-invoice-new .invoice-create-final-button{width:100%}}
.dashboard-weekly-shell{--dashboard-green:#10b82c;--dashboard-green-strong:#078d1c;--dashboard-green-soft:color-mix(in srgb, var(--accent) 9%, var(--bg-elevated));--dashboard-muted-chart:#aab38f;gap:var(--card-gap);width:100%;min-height:0;padding:0;display:grid}.dashboard-period-tabs{align-items:center;gap:10px;width:fit-content;display:inline-flex}.dashboard-period-tab{border:1px solid color-mix(in srgb, var(--border) 92%, transparent);background:var(--bg-elevated);min-width:132px;min-height:44px;color:var(--text-primary);cursor:pointer;font:inherit;border-radius:12px;font-size:14px;font-weight:600;line-height:1;box-shadow:0 8px 18px #0b1f0e0a}.dashboard-period-tab-active{border-color:color-mix(in srgb, var(--accent) 64%, transparent);background:linear-gradient(180deg, var(--dashboard-green), var(--dashboard-green-strong));color:#fff;box-shadow:0 10px 22px #12b72a38}.dashboard-kpi-grid{gap:var(--card-gap);grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;display:grid}.dashboard-kpi-card,.dashboard-weekly-panel{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg-elevated) 97%, #fff 3%);border-radius:14px;min-width:0;position:relative;box-shadow:0 16px 34px #0b1f0e09,inset 0 1px #ffffffa6}.dashboard-kpi-card{border-color:var(--border);background:var(--bg-elevated);min-height:76px;box-shadow:none;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:2px 18px;padding:17px 20px;display:grid}.dashboard-kpi-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;border-radius:999px;grid-row:span 2;place-items:center;display:grid}.dashboard-kpi-icon svg,svg.dashboard-kpi-icon{padding:7px}.dashboard-kpi-copy{min-width:0}.dashboard-kpi-heading,.dashboard-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dashboard-kpi-heading h3,.dashboard-panel-heading h3{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700;line-height:1.18}.dashboard-kpi-heading h3{color:var(--text-muted);letter-spacing:-.01em;white-space:normal;font-size:11px;font-weight:500}.dashboard-kpi-copy strong{color:var(--text-primary);letter-spacing:0;margin-top:0;font-size:clamp(18px,3vw,24px);font-weight:500;line-height:1;display:block}.dashboard-weekly-chart-grid,.dashboard-weekly-bottom-grid{gap:var(--card-gap);min-height:0;display:grid}.dashboard-weekly-chart-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}.dashboard-weekly-bottom-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr)}.dashboard-bottom-column{gap:var(--card-gap);grid-template-rows:repeat(2,minmax(0,1fr));min-width:0;min-height:0;display:grid}.dashboard-weekly-panel{padding:24px 28px 20px;overflow:hidden}.dashboard-chart-panel{grid-template-rows:auto auto;align-content:start;gap:4px;min-height:390px;display:grid}.dashboard-bars-panel,.dashboard-table-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:250px;display:grid}.dashboard-panel-title-left{align-items:center;gap:14px;min-width:0;display:inline-flex}.dashboard-panel-heading-with-icon h3{font-size:15px}.dashboard-panel-icon{background:var(--dashboard-green-soft);width:44px;height:44px;color:var(--accent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.15px;border-radius:999px;flex:none;place-items:center;padding:10px;display:grid}.dashboard-comparison-svg{align-self:start;width:100%;height:clamp(322px,20vw,352px);min-height:0;display:block;overflow:visible}.dashboard-chart-grid line{stroke:color-mix(in srgb, var(--text-muted) 18%, transparent);stroke-dasharray:3 5}.dashboard-chart-grid text{fill:var(--text-primary);font-size:11px;font-weight:500}.dashboard-chart-legend text,.dashboard-x-label,.dashboard-point-label,.dashboard-bar-label{fill:var(--text-primary);text-anchor:middle;font-size:11px;font-weight:600}.dashboard-chart-legend text{text-anchor:start}.dashboard-line-area{fill:url(#dashboardJobsArea)}.dashboard-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.dashboard-line-accent{stroke:var(--dashboard-green);stroke-width:3.2px}.dashboard-line-muted{stroke:var(--dashboard-muted-chart);stroke-dasharray:8 7;stroke-width:2.3px}.dashboard-chart-point{stroke:var(--bg-elevated);stroke-width:2.4px}.dashboard-chart-point-accent{fill:var(--dashboard-green)}.dashboard-chart-point-muted{fill:var(--dashboard-muted-chart)}.dashboard-bar{filter:drop-shadow(0 5px 8px #0000000f)}.dashboard-bar-accent{fill:url(#dashboardBarGradient)}.dashboard-bar-muted{fill:color-mix(in srgb, var(--text-muted) 22%, transparent)}.dashboard-horizontal-chart{grid-template-columns:minmax(118px,.3fr) minmax(0,1fr) 36px;align-items:center;gap:15px 18px;margin-top:24px;padding-bottom:30px;display:grid;position:relative}.dashboard-horizontal-chart:before{background:linear-gradient(to right, transparent 0, transparent calc(50% - .5px), color-mix(in srgb, var(--text-muted) 20%, transparent) calc(50% - .5px), color-mix(in srgb, var(--text-muted) 20%, transparent) calc(50% + .5px), transparent calc(50% + .5px), transparent calc(100% - .5px), color-mix(in srgb, var(--text-muted) 20%, transparent) calc(100% - .5px), color-mix(in srgb, var(--text-muted) 20%, transparent) 100%);content:"";opacity:.8;pointer-events:none;position:absolute;inset:0 36px 30px calc(30% + 18px)}.dashboard-horizontal-row{display:contents}.dashboard-horizontal-label,.dashboard-horizontal-value{z-index:1;color:var(--text-primary);font-size:12px;font-weight:600;position:relative}.dashboard-horizontal-value{text-align:right;min-width:30px}.dashboard-horizontal-track{z-index:1;background:0 0;border-radius:999px;height:9px;display:block;position:relative;overflow:visible}.dashboard-horizontal-track i{z-index:1;border-radius:inherit;background:linear-gradient(90deg, var(--dashboard-green), var(--dashboard-green-strong));height:100%;display:block;position:relative;box-shadow:0 5px 10px #12b72a1f}.dashboard-horizontal-axis{color:var(--text-secondary);pointer-events:none;grid-template-columns:repeat(3,1fr);font-size:11px;font-weight:500;display:grid;position:absolute;bottom:0;left:calc(30% + 18px);right:36px}.dashboard-horizontal-axis span{text-align:center}.dashboard-horizontal-axis span:first-child{justify-self:start}.dashboard-horizontal-axis span:last-child{justify-self:end}.dashboard-table-scroll{min-height:0;margin-top:14px;overflow:hidden}.dashboard-ranking-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;color:var(--text-primary);font-size:10.5px}.dashboard-ranking-table th,.dashboard-ranking-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 76%, transparent);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 11px;overflow:hidden}.dashboard-ranking-table th:first-child,.dashboard-ranking-table td:first-child{width:58%}.dashboard-ranking-table th:not(:first-child),.dashboard-ranking-table td:not(:first-child){text-align:right;width:14%}.dashboard-ranking-table th{background:color-mix(in srgb, var(--bg-overlay) 86%, var(--text-muted) 8%);color:var(--text-secondary);font-weight:600}.dashboard-ranking-table th:first-child{border-radius:8px 0 0 8px}.dashboard-ranking-table th:last-child{border-radius:0 8px 8px 0}.dashboard-ranking-table td{color:var(--text-primary);font-weight:500}.dashboard-footer-link{width:fit-content;color:var(--accent);align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.dashboard-footer-link span{font-size:14px;line-height:1}.theme-dark .dashboard-weekly-shell{--dashboard-muted-chart:#7d8869}.theme-dark .dashboard-kpi-card,.theme-dark .dashboard-weekly-panel{background:color-mix(in srgb, var(--bg-elevated) 95%, #fff 5%);box-shadow:0 18px 42px #0000003d,inset 0 1px #ffffff09}@media (min-width:1101px){.app-shell-dashboard .app-main{padding:72px 36px 30px;overflow:auto}.app-shell-dashboard .app-content{gap:0;min-height:0}.dashboard-weekly-shell{grid-template-rows:auto minmax(76px,auto) minmax(350px,auto) minmax(518px,auto);align-content:start}}@media (max-width:1440px) and (min-width:1101px){.dashboard-weekly-shell{grid-template-rows:auto minmax(76px,auto) minmax(300px,auto) minmax(430px,auto);gap:14px}.dashboard-period-tab{min-height:38px}.dashboard-kpi-card{grid-template-columns:34px minmax(0,1fr);gap:2px 18px;min-height:76px;padding:17px 20px}.dashboard-kpi-icon{width:32px;height:32px}.dashboard-kpi-icon svg,svg.dashboard-kpi-icon{padding:7px}.dashboard-kpi-copy strong{font-size:clamp(18px,3vw,24px)}.dashboard-chart-panel{min-height:336px}.dashboard-bars-panel,.dashboard-table-panel{min-height:206px}.dashboard-comparison-svg{height:286px}.dashboard-weekly-panel{padding:18px 22px 16px}.dashboard-ranking-table{font-size:12px}.dashboard-ranking-table th,.dashboard-ranking-table td{padding:5.5px 9px}}@media (max-width:1260px){.dashboard-kpi-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.dashboard-weekly-shell{grid-template-rows:auto;height:auto;max-height:none;overflow:visible}.dashboard-weekly-chart-grid,.dashboard-weekly-bottom-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.dashboard-weekly-shell{gap:14px;padding:0}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-period-tabs{width:100%}.dashboard-period-tab{flex:1 1 0;min-width:0}.dashboard-kpi-card{gap:2px 18px;min-height:76px;padding:17px 20px}.dashboard-kpi-icon{width:32px;height:32px}.dashboard-kpi-icon svg,svg.dashboard-kpi-icon{padding:7px}.dashboard-kpi-copy strong{margin-top:0;font-size:clamp(18px,6vw,24px)}.dashboard-weekly-panel{padding:18px}.dashboard-chart-panel{min-height:310px}.dashboard-comparison-svg{height:260px}.dashboard-horizontal-chart{grid-template-columns:minmax(92px,.44fr) minmax(0,1fr) 28px;column-gap:12px}.dashboard-horizontal-chart:before,.dashboard-horizontal-axis{left:calc(44% + 12px);right:28px}.dashboard-ranking-table{font-size:11px}}.app-shell-dashboard .app-main-light{background:#fff}.daly-map-canvas{border-radius:14px;width:100%;height:100%;min-height:118px;overflow:hidden}.daly-map-canvas canvas{filter:brightness(1.03)saturate(1.12)}.daly-map-canvas .maplibregl-ctrl-logo{display:none}.daly-map-bubble{cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.daly-map-bubble-count{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid;box-shadow:0 2px 6px #0000002e}.daly-map-bubble[data-selected=true] .daly-map-bubble-count{background:var(--accent-strong)}.daly-map-bubble-name{color:#1c2420;text-shadow:0 0 3px #fff,0 0 6px #fff;white-space:nowrap;font-size:11px;font-weight:600}.daly-map-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.daly-map-wrap .daly-map-canvas{flex:1;min-height:0;transition:flex-basis .36s}.daly-map-back{z-index:2;cursor:pointer;color:#253028;font:inherit;background:#fffffff0;border:0;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #00000029}.daly-map-pin{cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.daly-map-pin-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;width:13px;height:13px;box-shadow:0 2px 6px #00000038}.daly-map-pin[data-active=true] .daly-map-pin-dot{background:var(--accent-strong);transform:scale(1.15)}.daly-map-pin-name{color:#1c2420;white-space:nowrap;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:10.5px;font-weight:600}.daly-map-labours{display:inline-flex}.daly-map-labour{width:22px;height:22px;color:var(--accent);background:#d9f0dd;border:2px solid #fff;border-radius:50%;place-items:center;font-size:8px;font-weight:700;display:inline-grid;box-shadow:0 2px 6px #0000002e}.daly-map-labours .daly-map-labour+.daly-map-labour{margin-left:-8px}@media (min-width:1100px){.app-shell-dashboard .app-main{padding-bottom:var(--space-4);flex-direction:column;display:flex;overflow:hidden}.app-shell-dashboard .app-content{flex:1;min-height:0}}.daly-map-wrap{flex-direction:row;flex:1;gap:0;min-height:0;display:flex;position:relative}.daly-map-stage{flex:1;min-width:0;min-height:0;position:relative}.daly-map-stage .daly-map-canvas{width:100%;height:100%;min-height:118px;transition:none}.daly-map-wrap[data-panel=true] .daly-map-crew{display:flex}.daly-map-crew{border-left:1px solid var(--line);flex-direction:column;flex:0 0 190px;min-height:0;margin-left:12px;padding-left:12px;display:none}.daly-map-crew-head{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding-bottom:8px;font-size:11px;font-weight:700;overflow:hidden}.daly-map-crew-list{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.daly-map-crew-item{align-items:center;gap:8px;min-width:0;display:inline-flex}.daly-map-crew-av{width:28px;height:28px;color:var(--accent);background:#d9f0dd;border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.daly-map-crew-text{min-width:0;display:grid}.daly-map-crew-text strong{color:var(--ink,#111);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.daly-map-crew-text small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.daly-map-crew-empty{color:var(--text-muted);font-size:11px}@media (max-width:1099px){.daly-map-crew{flex:0 0 120px;max-height:240px;margin-left:10px;padding-left:10px}.daly-map-crew-head{text-align:left;padding-bottom:6px;font-size:10px}.daly-map-crew-list{gap:0}.daly-map-crew-item{gap:8px;padding:7px 0}.daly-map-crew-item+.daly-map-crew-item{border-top:1px solid var(--line)}.daly-map-crew-av{width:24px;height:24px;font-size:9px}.daly-map-crew-text{flex:1;min-width:0}}
.finance-page{--fin-green:#1f8a37;--fin-green-soft:#19aa381f;--fin-ink:#16241a;--fin-muted:#6a766d;--fin-border:#141e1617;--fin-shadow:0 8px 24px #141e160f;gap:var(--card-gap);width:100%;max-width:1448px;padding:6px;display:grid}.app-main:has(.finance-page){padding-top:calc(52px + 6px + env(safe-area-inset-top))}.finance-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.finance-period{position:relative}.finance-seg{border:1px solid var(--fin-border);box-shadow:var(--fin-shadow);background:#fff;border-radius:14px;align-items:center;gap:4px;padding:5px;display:inline-flex}.finance-period-btn{cursor:pointer;color:var(--fin-muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:500}.finance-period-btn:hover{color:var(--fin-ink)}.finance-period-btn.is-active{background:var(--fin-green-soft);color:var(--fin-green);font-weight:600}.finance-range{color:var(--fin-muted);white-space:nowrap;font-size:13px;font-weight:500}.finance-pop{z-index:20;border:1px solid var(--fin-border);background:#fff;border-radius:14px;width:300px;max-width:calc(100vw - 32px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #141e1624}.finance-pop-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.finance-pop-head strong{color:var(--fin-ink);font-size:13px;font-weight:700}.finance-pop-nav{cursor:pointer;width:28px;height:28px;color:var(--fin-muted);background:0 0;border:0;border-radius:8px;place-items:center;font-size:16px;line-height:1;display:grid}.finance-pop-nav:hover{background:var(--fin-green-soft);color:var(--fin-green)}.finance-cal-dow{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.finance-cal-dow span{text-align:center;color:var(--fin-muted);padding:4px 0;font-size:10.5px;font-weight:600}.finance-cal-days{grid-template-columns:repeat(7,1fr);display:grid}.finance-cal-day{cursor:pointer;color:var(--fin-ink);text-align:center;background:0 0;border:0;padding:7px 0;font-size:12.5px}.finance-cal-day.is-out{color:#c2c9c4}.finance-cal-day.is-pv{background:var(--fin-green-soft)}.finance-cal-day.pv-l,.finance-cal-day.sel-l{border-top-left-radius:8px;border-bottom-left-radius:8px}.finance-cal-day.pv-r,.finance-cal-day.sel-r{border-top-right-radius:8px;border-bottom-right-radius:8px}.finance-cal-day.is-sel{background:#bfe4c9}.finance-mo-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.finance-mo{cursor:pointer;color:var(--fin-ink);text-align:center;background:0 0;border:0;border-radius:9px;padding:12px 0;font-size:12.5px;font-weight:500}.finance-mo.is-pv{background:var(--fin-green-soft);color:var(--fin-green)}.finance-mo.is-sel{color:var(--fin-green);background:#bfe4c9;font-weight:700}.finance-page .card{border:1px solid var(--fin-border);box-shadow:var(--fin-shadow);background:#fff;border-radius:16px}.finance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.finance-kpi{align-items:center;gap:12px;padding:14px 16px;display:flex}.finance-kpi-icon{background:var(--fin-green-soft);width:38px;height:38px;color:var(--fin-green);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.finance-kpi>div{gap:2px;min-width:0;display:grid}.finance-kpi-label{color:var(--fin-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.finance-kpi-value{color:var(--fin-ink);letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1.15}.finance-kpi-green{color:var(--fin-green)}.finance-kpi-note{color:var(--fin-muted);font-size:12px}.finance-page .card.finance-kpi-featured{background:#dcf0e2;border-color:#1f8a3738}.finance-kpi-featured .finance-kpi-icon{background:var(--fin-green);color:#fff}.finance-kpi-featured .finance-kpi-label{color:#4d8062}.finance-kpi-featured .finance-kpi-value{color:#15672c}.finance-kpi-featured .finance-kpi-note{color:#5c8c6c}.finance-mid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;display:grid}.finance-panel-costs{order:-1}.finance-panel{flex-direction:column;min-width:0;min-height:0;padding:16px 18px;display:flex}.finance-panel h2{color:var(--fin-ink);margin-bottom:20px;font-size:15px;font-weight:700;line-height:1.2}.finance-table-wrap{flex:1;min-width:0;min-height:0;overflow:auto}.finance-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.finance-table th{z-index:1;color:#536058;text-align:left;border-bottom:1px solid var(--fin-border);vertical-align:bottom;background:#fff;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.15;position:sticky;top:0}.finance-table th span{font-size:10.5px;font-weight:400;display:block}.finance-table th.finance-num{text-align:right}.finance-table td{color:#4f5b53;border-bottom:1px solid var(--fin-border);padding:9px 10px;font-size:10.5px;font-weight:500;line-height:1.22}.finance-table td:first-child{font-weight:400}.finance-num{text-align:right;white-space:nowrap}.finance-profit{font-weight:600}.finance-table td.finance-profit{color:var(--fin-green)}.finance-table tfoot td{border-bottom:0;border-top:1px solid var(--fin-border);color:#111711;background:#f3faf5;font-weight:600;position:sticky;bottom:0}.finance-table tfoot td.finance-profit{color:var(--fin-green)}.finance-table tfoot td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.finance-table tfoot td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.finance-breakdown{flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:32px;display:flex}.finance-donut{flex-shrink:0;width:296px;height:296px;position:relative}.finance-donut-svg{width:100%;height:100%;display:block;overflow:visible}.finance-donut-slice{cursor:pointer;transition:opacity .15s,stroke-width .15s}.finance-donut-hole{text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.finance-donut-hole strong{color:var(--fin-ink);font-size:22px;font-weight:700}.finance-donut-hole span{color:var(--fin-muted);font-size:13px}.finance-legend{font-variant-numeric:tabular-nums;flex:0 360px;gap:14px;margin:0;padding:0;list-style:none;display:grid}.finance-legend li{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;font-size:10.5px;line-height:1.22;display:grid}.finance-legend-dot{border-radius:50%;width:10px;height:10px}.finance-legend-label{color:#4f5b53}.finance-legend-value{color:#4f5b53;white-space:nowrap;font-weight:600}.finance-legend-pct{color:var(--fin-muted);text-align:right;min-width:44px}.finance-legend li:not(.finance-legend-group):not(.finance-legend-subtotal){cursor:pointer}.finance-legend li.is-hovered{background:#eef6f1;border-radius:4px;box-shadow:0 0 0 5px #eef6f1}.finance-legend li.is-hovered .finance-legend-label{font-weight:700}.finance-legend-group{letter-spacing:.05em;text-transform:uppercase;color:#536058;grid-template-columns:1fr;margin-top:12px;font-size:10.5px;font-weight:700}.finance-legend-group:first-child{margin-top:0}.finance-legend-subtotal{border-top:1px solid var(--fin-border,#94a39440);grid-template-columns:1fr auto;gap:10px;padding-top:6px}.finance-legend-subtotal .finance-legend-label,.finance-legend-subtotal .finance-legend-value{color:#111711;font-weight:600}.finance-stats{flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.finance-stat{flex:1;align-items:center;gap:12px;min-width:150px;display:flex}.finance-stat+.finance-stat{border-left:1px solid var(--fin-border);padding-left:16px}.finance-stat .finance-stat-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:38px;height:38px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.finance-stat>div{gap:1px;display:grid}.finance-stat strong{color:var(--fin-ink);font-size:18px;font-weight:700;line-height:1.1}.finance-stat span{color:var(--fin-muted);font-size:12px}.finance-stat+.finance-trend{border-left:1px solid var(--fin-border);padding-left:16px}.finance-trend{flex-direction:column;flex:1.7;gap:4px;min-width:220px;display:flex}.finance-trend-title{color:var(--fin-muted);font-size:12px;font-weight:600}.finance-trend-svg{width:100%;height:52px;overflow:visible}.finance-trend-dot{cursor:pointer}.finance-trend-labels{justify-content:space-between;display:flex}.finance-trend-labels span{color:#98a19a;font-size:10.5px;font-weight:500}.finance-trend-empty{height:52px}@media (min-width:1081px){.app-main:has(.finance-page) .app-content{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.finance-page{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%}.finance-mid{min-height:0}}@media (max-width:1080px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-mid{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.finance-kpis{grid-template-columns:1fr}.finance-breakdown{flex-direction:column;gap:14px}.finance-donut{width:220px;height:220px}.finance-legend{flex:none;order:0;width:100%}.finance-period,.finance-seg{width:100%}.finance-period-btn{text-align:center;flex:1;padding:8px 6px;font-size:12px}.finance-stat+.finance-stat,.finance-stat+.finance-trend{border-left:0;padding-left:0}}.finance-stats-solo{align-self:start}.finance-matheus-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.finance-matheus-panel h2{margin-bottom:16px}.finance-matheus-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.finance-matheus-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.finance-matheus-name{color:var(--text-primary);overflow-wrap:anywhere;font-size:13.5px;font-weight:600}.finance-matheus-value{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:700}.finance-matheus-bar{background:var(--surface-muted,#7fc59b29);border-radius:999px;height:6px;margin:6px 0 2px;display:block;overflow:hidden}.finance-matheus-bar span{border-radius:inherit;background:#7fc59b;height:100%;display:block}.finance-matheus-hours{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11.5px}.finance-matheus-empty{color:var(--text-secondary);font-size:13px}
.dashboard-panel-heading h3{color:var(--text-primary);letter-spacing:0;font-size:15px;font-weight:700;line-height:1.2}.dashboard-chart-grid text,.dashboard-chart-legend text,.dashboard-x-label,.dashboard-point-label,.dashboard-bar-label{fill:var(--text-secondary);letter-spacing:0;font-size:11px;font-weight:500}.dashboard-ranking-table{font-size:10.5px;font-weight:500}.dashboard-ranking-table th{color:var(--text-secondary);font-size:10.5px;font-weight:600}.dashboard-ranking-table td{color:var(--text-primary);font-size:10.5px;font-weight:500}.dashboard-footer-link{font-size:12px;font-weight:500}.calendar-job-card-head strong,.jobs-card-title-row strong{letter-spacing:0;font-size:15px;font-weight:700}.calendar-job-scheduled-badge,.jobs-job-status,.calendar-job-status{letter-spacing:0;text-transform:none;font-size:11px;font-weight:400}.calendar-info-row>span:not(.calendar-info-icon),.jobs-kanban-card.job-summary-card .job-summary-row strong,.job-summary-row strong{color:var(--text-secondary);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600;line-height:1.2}.calendar-info-row p,.calendar-info-row-link p,.jobs-kanban-card.job-summary-card .job-summary-row p,.jobs-kanban-card.job-summary-card .job-summary-row li,.jobs-kanban-card.job-summary-card .job-summary-row .job-summary-link,.job-summary-row p,.job-summary-row li,.job-summary-row .job-summary-link{color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.6}.job-chip{font-size:9px;font-weight:500}.jobs-date-filter label{font-size:11px;font-weight:600}.jobs-date-filter input{color:#4f5b53;font-size:13px;font-weight:400}.job-form-section-title h3{color:#171d17;letter-spacing:0;font-size:18px;font-weight:700;line-height:1.2}.app-shell-new-job .job-form-redesign-grid .field-block-label{color:#101510;letter-spacing:0;font-size:13px;font-weight:600;line-height:1.2}.app-shell-new-job .job-form-redesign-grid .pill-input,.app-shell-new-job .job-form-redesign-grid .client-select-button,.app-shell-new-job .job-form-redesign-grid .labour-role-select,.app-shell-new-job .job-form-redesign-grid .pill-input-textarea{color:#4f5b53;font-size:13px;font-weight:400;line-height:1.45}.app-shell-new-job .job-form-redesign-grid .pill-input::placeholder,.app-shell-new-job .job-form-redesign-grid textarea::placeholder{color:#6f7a70;font-size:13px;font-weight:400}.job-summary-card h3{color:#101510;letter-spacing:0;font-size:15px;font-weight:700;line-height:1.2}.job-form-redesign-grid .labour-chip,.job-form-redesign-grid .job-travel-toggle span,.job-form-redesign-grid .job-weekend-option,.job-form-redesign-grid .labour-option-name{font-weight:600}.clients-detail-title h3{color:var(--text-primary);letter-spacing:0;font-size:18px;font-weight:700;line-height:1.2}.clients-section-title-row h4{color:var(--text-primary);letter-spacing:0;font-size:13px;font-weight:600;line-height:1.2}.clients-section-title-row p{color:var(--text-secondary);font-size:12px;font-weight:500}.clients-company-info-grid span,.clients-detail-edit-form span{color:#101510;font-size:12px;font-weight:600;line-height:1.2}.clients-company-info-grid strong{color:#4f5b53;font-size:12px;font-weight:400;line-height:1.45}.clients-company-panel-head strong{font-size:15px;font-weight:700}.clients-company-copy strong{font-size:13px;font-weight:600}.clients-company-copy small{font-size:12px;font-weight:500}.labours-admin-title-row strong{font-size:15px;font-weight:700}.labours-admin-contact-row,.labours-admin-contact-row span,.labours-admin-phone-cell,.labours-admin-progress-cell,.labours-admin-progress-cell strong{color:#4f5b53;font-size:10.5px;font-weight:500;line-height:13px}.timesheet-day-title span{font-size:12px;font-weight:600}.timesheet-day-title strong{letter-spacing:.08em;font-size:12px;font-weight:600}.timesheet-day-section-summary{font-size:10.5px;font-weight:400}.timesheet-job-section-toggle strong,.timesheet-job-card h4,.timesheet-row-card h3{font-size:15px;font-weight:700}.timesheet-job-section-toggle>span:not(.timesheet-status):not(.timesheet-status-dot):not(.timesheet-job-section-summary):not(.timesheet-row-menu-dots),.timesheet-job-card p,.timesheet-row-card p,.timesheet-row-meta span{font-size:13px;font-weight:500}.timesheet-job-section-summary,.timesheet-table-action,.timesheet-job-card-open{font-weight:600}.timesheet-job-table-head{font-size:10.5px;font-weight:600}.timesheet-table-row{font-size:13px;font-weight:500}.timesheet-status,.timesheet-shell .timesheet-status{letter-spacing:0;text-transform:none;font-size:11px;font-weight:400}.app-shell-invoices-list .job-report-table.invoice-table{font-size:10.5px;font-weight:500}.app-shell-invoices-list .job-report-table.invoice-table th{color:#536058;font-size:11px;font-weight:600;line-height:1.15}.app-shell-invoices-list .invoice-table-row td{color:#4f5b53;font-size:10.5px;font-weight:500;line-height:1.18}.app-shell-invoices-list .invoice-table-labour,.app-shell-invoices-list .invoice-table-status,.app-shell-invoices-list .invoice-table .job-report-money,.app-shell-invoices-list .invoice-table .job-report-strong-number{color:#111711;font-weight:600}.app-shell-invoices-list .invoice-table-action{font-size:10.5px;font-weight:600}.app-shell-invoice-new .invoice-control-card h3{font-size:15px;font-weight:700}.app-shell-invoice-new .invoice-control-card label{font-size:13px;font-weight:600}.app-shell-invoice-new .invoice-control-card input,.app-shell-invoice-new .invoice-control-card select,.app-shell-invoice-new .invoice-control-card textarea{color:#4f5b53;font-size:13px;font-weight:400}.app-shell-job-report .job-report-insight-title{color:#111711;letter-spacing:0;font-size:15px;font-weight:700;line-height:1.2}.app-shell-job-report .job-report-chart-legend{color:#3f4841;font-size:11px;font-weight:500}.app-shell-job-report .job-report-mini-table th{color:#536058;font-size:11px;font-weight:600;line-height:1.15}.app-shell-job-report .job-report-mini-table td{color:#4f5b53;font-size:10.5px;font-weight:500;line-height:1.22}.app-shell-job-report .job-report-mini-table tfoot td{color:#111711;font-size:10.5px;font-weight:600}.app-shell-job-report .job-report-table{color:#202820;font-size:10.5px;font-weight:500;line-height:1.22}.app-shell-job-report .job-report-table th{color:#536058;font-size:11px;font-weight:600;line-height:1.15}.app-shell-job-report .job-report-summary-row td{color:#111711;font-size:10.5px;font-weight:600}.app-shell-job-report .job-report-detail-row td{color:#4f5b53;font-size:10.5px;font-weight:500}.app-shell-job-report .job-report-code,.app-shell-job-report .job-report-money,.app-shell-job-report .job-report-insight-money{color:#0f9d20!important;font-weight:600!important}@media (max-width:760px){.job-form-section-title h3{font-size:22px;font-weight:700}.calendar-job-card-head strong,.jobs-card-title-row strong{font-size:17px}}.app-shell:not(.app-shell-light) .job-form-section-title h3,.app-shell:not(.app-shell-light) .job-summary-card h3{color:#f4f4f5}.app-shell-new-job:not(.app-shell-light) .job-form-redesign-grid .field-block-label,.app-shell:not(.app-shell-light) .job-form-redesign-grid .field-block-label,.app-shell-new-job:not(.app-shell-light) .job-form-redesign-grid .pill-input,.app-shell-new-job:not(.app-shell-light) .job-form-redesign-grid .client-select-button,.app-shell-new-job:not(.app-shell-light) .job-form-redesign-grid .labour-role-select,.app-shell-new-job:not(.app-shell-light) .job-form-redesign-grid .pill-input-textarea,.app-shell:not(.app-shell-light) .job-form-redesign-grid .pill-input,.app-shell:not(.app-shell-light) .job-form-redesign-grid .client-select-button,.app-shell:not(.app-shell-light) .job-form-redesign-grid .labour-role-select,.app-shell:not(.app-shell-light) .job-form-redesign-grid .pill-input-textarea{color:#a4a5ad}
.notifications-shell{gap:var(--card-gap);width:min(1240px,100%);margin:0 auto;display:grid}.notifications-title-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notifications-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.notifications-header h1{color:var(--text-primary);letter-spacing:0;margin:4px 0 0;font-size:26px;font-weight:600;line-height:1.08}.notifications-count{border:1px solid var(--border);background:var(--bg-elevated);min-height:32px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 12px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.notifications-list{gap:var(--card-gap);margin:0;padding:0;list-style:none;display:grid}.notification-composer-shell{justify-items:end;gap:14px;display:grid}.notification-composer{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;gap:14px;width:100%;padding:18px;display:grid}.notification-composer-header{justify-content:flex-end;align-items:flex-start;gap:16px;width:100%;display:flex}.notification-composer-header h2{color:var(--text-primary);letter-spacing:0;margin:0;font-size:16px;font-weight:600;line-height:1.2}.notification-composer-header p{color:var(--text-secondary);letter-spacing:0;margin:6px 0 0;font-size:12px;font-weight:500;line-height:1.4}.notification-composer-open{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:#fff;min-height:48px;padding:0 var(--space-4);letter-spacing:0;cursor:pointer;border:1px solid #0f9d2085;flex:none;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.notification-composer-open:hover,.notification-composer-open:focus-visible{border-color:var(--accent);background:var(--accent-strong,var(--accent));outline:0;transform:translateY(-1px)}.notification-composer-open-icon{justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.notification-composer-open-icon svg{width:19px;height:19px}.notification-modal-backdrop{z-index:80;background:#080c0957;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.notification-modal-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;gap:26px;width:min(1120px,100%);max-height:min(760px,100vh - 44px);padding:26px 28px;display:grid;overflow:auto;box-shadow:0 24px 70px #0f17122e}.notification-modal-heading{grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.notification-modal-icon{border-radius:var(--radius-pill);background:var(--accent-soft);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.notification-modal-icon svg,.notification-modal-close svg,.notification-audience-trigger svg,.notification-audience-option svg,.notification-channel-icon svg,.notification-composer-submit svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.notification-modal-heading-copy h2{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700;line-height:1.2}.notification-modal-heading-copy p{color:var(--text-muted);margin:8px 0 0;font-size:13px;font-weight:400;line-height:1.45}.notification-modal-close{border:1px solid var(--border-strong);background:var(--bg-elevated);min-height:42px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.notification-modal-close:hover,.notification-modal-close:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border-strong));outline:0}.notification-modal-card .notification-composer{background:0 0;border:0;border-radius:0;padding:0}.notification-modal-grid{grid-template-columns:minmax(250px,.82fr) minmax(0,1.55fr);align-items:start;gap:34px;display:grid}.notification-modal-sidebar,.notification-modal-editor{gap:18px;display:grid}.notification-composer-field{gap:8px;display:grid}.notification-audience-fieldset{z-index:20;border:0;min-width:0;margin:0;padding:0;display:block;position:relative}.notification-audience-fieldset legend,.notification-composer-field>span:first-child{color:#101510;letter-spacing:0;font-size:13px;font-weight:600;line-height:1.2}.notification-audience-fieldset legend,.notification-channel-fieldset legend{width:100%;margin:0 0 8px;padding:0;display:block}.notification-audience-menu{z-index:5;isolation:isolate;gap:8px;min-width:0;display:grid;position:relative}.notification-audience-menu-open{z-index:240}.notification-audience-trigger{color:#4f5b53;text-align:left;letter-spacing:0;cursor:pointer;background:#fff;border:1px solid #14221824;border-radius:10px;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-size:13px;font-weight:400;line-height:1.45;display:grid}.notification-audience-trigger:hover,.notification-audience-trigger:focus-visible,.notification-audience-trigger[aria-expanded=true]{border-color:#0f9d208c;outline:0;box-shadow:0 0 0 4px #0f9d2014}.notification-audience-options{z-index:240;background:#fff;border:1px solid #14221824;border-radius:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 38px #10211229}.notification-audience-option{color:#627067;text-align:left;letter-spacing:0;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #1422181f;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:grid}.notification-audience-option:last-child{border-bottom:0}.notification-audience-option:hover,.notification-audience-option:focus-visible{background:#eef8f0;outline:0}.notification-audience-option[aria-selected=true]{color:var(--accent);background:#eaf8ec}.notification-audience-option-icon,.notification-audience-option-check,.notification-audience-trigger-caret{color:currentColor;justify-content:center;align-items:center;display:inline-flex}.notification-audience-trigger-caret{color:#627067;transition:transform .16s}.notification-audience-trigger[aria-expanded=true] .notification-audience-trigger-caret{transform:rotate(180deg)}.notification-audience-option-copy{gap:0;min-width:0;display:grid}.notification-audience-option-copy strong{color:#4f5b53;font-size:13px;font-weight:400;line-height:1.45}.notification-audience-option[aria-selected=true] .notification-audience-option-copy strong{color:var(--accent)}.notification-audience-option-copy span{color:#6f7a70;font-size:13px;font-weight:400;line-height:1.45}.notification-composer-field input,.notification-composer-field textarea{color:#4f5b53;width:100%;font:inherit;letter-spacing:0;background:#fff;border:1px solid #14221824;border-radius:10px;outline:0;font-size:13px;font-weight:400;line-height:1.45}.notification-composer-field input::placeholder,.notification-composer-field textarea::placeholder,.notification-message-editor textarea::placeholder{color:#6f7a70;font-size:13px;font-weight:400}.notification-composer-field input{min-height:48px;padding:0 14px}.notification-composer-field textarea{resize:vertical;min-height:128px;padding:14px}.notification-composer-field small{color:var(--text-muted);font:inherit;font-weight:600}.notification-title-input-wrap{display:block;position:relative}.notification-title-input-wrap input{padding-right:62px}.notification-title-input-wrap>span{color:var(--text-muted);font-size:12px;font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.notification-message-editor{background:#fff;border:1px solid #14221824;border-radius:10px;display:grid;position:relative;overflow:hidden}.notification-message-toolbar{border-bottom:1px solid #1422181f;align-items:center;gap:12px;min-height:46px;padding:0 14px;display:flex}.notification-message-toolbar button{color:#111712;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:14px;font-weight:700;display:inline-flex}.notification-message-toolbar button:disabled{cursor:default;opacity:.42}.notification-message-toolbar>span{background:#1422181f;width:1px;height:24px}.notification-message-editor textarea{resize:vertical;border:0;border-radius:0;min-height:178px;padding:14px 14px 34px}.notification-message-count{color:var(--text-muted);font-size:12px;font-weight:700;position:absolute;bottom:12px;right:14px}.notification-specific-labours{z-index:1;gap:10px;display:grid;position:relative}.notification-labour-combobox{z-index:1;isolation:isolate;gap:10px;min-width:0;display:grid;position:relative}.notification-labour-search-frame{background:#fff;border:1px solid #14221824;border-radius:10px;min-height:48px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:grid}.notification-labour-search-frame:focus-within{border-color:#0f9d208c;box-shadow:0 0 0 4px #0f9d2014}.notification-labour-search-frame input{min-height:46px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.notification-labour-search-frame input:focus{box-shadow:none;border-color:#0000}.notification-labour-search-frame input::-webkit-search-cancel-button{appearance:none;display:none}.notification-labour-search-frame input::-webkit-search-decoration{appearance:none;display:none}.notification-labour-chip-row{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification-labour-chip{border-radius:var(--radius-pill);color:#087116;background:#e6f5e8;align-items:center;gap:8px;min-height:30px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.notification-labour-chip button{border-radius:var(--radius-pill);color:currentColor;cursor:pointer;background:0 0;border:0;place-items:center;width:18px;height:18px;padding:0;display:inline-grid}.notification-labour-chip svg{width:14px;height:14px}.notification-labour-options{z-index:80;background:#fff;border:1px solid #1422181f;border-radius:14px;gap:0;max-height:278px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:56px;left:0;right:0;overflow:auto;box-shadow:0 18px 38px #10211229}.notification-labour-option{color:#121913;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;width:100%;padding:10px;display:grid}.notification-labour-option:hover,.notification-labour-option:focus-visible{background:#eef8f0;outline:0}.notification-labour-option-name{color:#121913;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.notification-labour-option-meta{color:#6a776e;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;font-weight:500;overflow:hidden}.notification-labour-option-add{color:var(--accent);grid-area:1/2/span 2}.notification-labour-option-add svg{width:18px;height:18px}.notification-labour-option-empty{color:#6a776e;padding:12px;font-size:13px}.notification-composer-field input:focus,.notification-composer-field textarea:focus{border-color:color-mix(in srgb, var(--accent) 58%, var(--border-strong));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.notification-labour-search-frame input:focus,.notification-labour-search-frame input:focus-visible{box-shadow:none;border-color:#0000;outline:0}.notification-message-editor:focus-within{border-color:color-mix(in srgb, var(--accent) 58%, var(--border-strong));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.notification-message-editor textarea:focus{box-shadow:none}.notification-channel-fieldset{z-index:0;border:0;min-width:0;margin:0;padding:0;display:block;position:relative}.notification-channel-fieldset legend{color:#101510;letter-spacing:0;font-size:13px;font-weight:600;line-height:1.2}.notification-channel-options{grid-template-columns:1fr;gap:12px;display:grid}.notification-channel-option{color:#627067;background:#fff;border:1px solid #14221824;border-radius:10px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;padding:0 14px;font-size:13px;font-weight:400;line-height:1.45;display:grid}.notification-channel-option-active{background:#edf9ef;border-color:#0f9d2057}.notification-channel-option-disabled{opacity:.58}.notification-channel-option input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notification-channel-option span:last-child{gap:2px;min-width:0;display:grid}.notification-channel-option strong{color:#4f5b53;white-space:nowrap;font-size:13px;font-weight:400;line-height:1.45}.notification-channel-option small{color:#6f7a70;font-size:12px;font-weight:500;line-height:1.3}.notification-composer-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:4px;display:flex}.notification-composer .notification-composer-hint{color:var(--text-muted);margin:0;font-size:12px;font-weight:500}.notification-composer-submit{gap:9px;width:min(100%,198px);min-height:44px;font-size:14px;font-weight:700}.notification-composer-submit:disabled{cursor:not-allowed;opacity:.68}.notification-composer-message{border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;margin-right:auto;padding:11px 12px;font-size:12px;font-weight:600;line-height:1.35}.notification-composer-message-sent{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--accent-soft) 45%, var(--bg-elevated));color:var(--accent)}.notification-composer-message-error{border-color:color-mix(in srgb, var(--danger) 34%, var(--border));background:var(--danger-soft);color:var(--danger)}.notification-modal-cancel{border:1px solid var(--border-strong);background:var(--bg-elevated);min-width:104px;min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.notification-modal-cancel:hover,.notification-modal-cancel:focus-visible{border-color:color-mix(in srgb, var(--accent) 34%, var(--border-strong));outline:0}.notification-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:112px;padding:22px 20px;display:grid}.notification-card-overdue{grid-template-columns:48px minmax(0,1fr) 244px}.notification-card-overdue-labour{grid-template-columns:48px minmax(0,1fr) 190px}.notification-card-unread{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 42%), var(--bg-elevated)}.notification-card-overdue.notification-card-unread{border-color:var(--border);background:var(--bg-elevated)}.notification-overdue-icon{border-radius:var(--radius-pill);background:var(--danger-soft);width:32px;height:32px;color:var(--danger);justify-content:center;align-items:center;display:inline-flex}.notification-overdue-icon svg{color:currentColor;opacity:1;stroke:currentColor;stroke-width:1.8px;visibility:visible;flex-shrink:0;width:16px;height:16px;display:block}.notification-title-stack{align-items:center;gap:10px;min-width:0;display:flex}.notification-card-main{gap:12px;min-width:0;display:grid}.notification-card-title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.notification-card h2{color:var(--text-primary);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden}.notification-status-pill{border-radius:999px;flex:none;align-items:center;min-height:22px;padding:0 10px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.notification-status-late{color:#8a5b00;background:#fff0c2}.notification-status-critical{background:var(--danger-soft);color:var(--danger)}.notification-card time{color:var(--text-muted);font-size:11.5px;font-weight:600;line-height:1.2}.notification-card p{color:var(--text-secondary);letter-spacing:0;margin:0;font-size:12px;font-weight:500;line-height:1.42}.notification-labour-copy{gap:7px;display:grid}.notification-labour-copy strong{color:var(--text-primary);font-weight:700}.notification-primary-action{width:min(100%,180px)}.notification-meta-grid{grid-template-columns:minmax(120px,.8fr) minmax(220px,1.35fr) minmax(140px,.85fr) minmax(190px,1fr);gap:20px;margin:4px 0 0;display:grid}.notification-meta-grid div{min-width:0}.notification-meta-grid dt{color:var(--text-muted);letter-spacing:0;margin:0 0 3px;font-size:11px;font-weight:600;line-height:1.1}.notification-meta-grid dd{color:var(--text-primary);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.notification-card-aside{align-content:start;align-self:stretch;justify-items:end;gap:28px;display:grid;position:relative}.notification-action-menu{width:min(100%,180px);position:relative}.notification-action-menu summary{border:1px solid var(--border-strong);background:var(--bg-elevated);min-height:36px;color:var(--text-primary);letter-spacing:0;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:0 13px;font-size:11.5px;font-weight:600;line-height:1;list-style:none;display:flex}.notification-action-menu summary::-webkit-details-marker{display:none}.notification-action-menu summary svg{flex:none;transition:transform .16s}.notification-action-menu[open] summary svg{transform:rotate(180deg)}.notification-action-menu-list{z-index:20;border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;width:100%;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 18px 34px #1021121f}.notification-action-menu-list a{border-bottom:1px solid var(--border);min-height:42px;color:var(--text-primary);align-items:center;padding:0 14px;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}.notification-action-menu-list a:last-child{border-bottom:0}.notification-action-menu-list a:hover,.notification-action-menu-list a:focus-visible{background:color-mix(in srgb, var(--accent-soft) 44%, var(--bg-elevated));color:var(--accent);outline:0}.notification-no-phone,.notifications-message,.notifications-empty{color:var(--text-secondary);font-size:11.5px;font-weight:500;line-height:1.4}.notification-no-phone{align-items:center;min-height:36px;display:inline-flex}.notifications-message,.notifications-empty{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:14px 16px}.app-shell:not(.app-shell-light) .notification-card,.app-shell:not(.app-shell-light) .notification-modal-card,.app-shell:not(.app-shell-light) .notifications-count,.app-shell:not(.app-shell-light) .notifications-message,.app-shell:not(.app-shell-light) .notifications-empty{background:#111211;border-color:#ffffff1a}.app-shell:not(.app-shell-light) .notification-composer-field input,.app-shell:not(.app-shell-light) .notification-composer-field textarea,.app-shell:not(.app-shell-light) .notification-audience-trigger,.app-shell:not(.app-shell-light) .notification-audience-option,.app-shell:not(.app-shell-light) .notification-labour-options,.app-shell:not(.app-shell-light) .notification-labour-search-frame,.app-shell:not(.app-shell-light) .notification-modal-close,.app-shell:not(.app-shell-light) .notification-modal-cancel,.app-shell:not(.app-shell-light) .notification-message-editor,.app-shell:not(.app-shell-light) .notification-channel-option,.app-shell:not(.app-shell-light) .notification-audience-options{background:#141514;border-color:#ffffff1f}.app-shell:not(.app-shell-light) .notification-audience-trigger{background:#141514}.app-shell:not(.app-shell-light) .notification-audience-trigger,.app-shell:not(.app-shell-light) .notification-audience-option,.app-shell:not(.app-shell-light) .notification-channel-option{color:#a4a5ad}.app-shell:not(.app-shell-light) .notification-audience-fieldset legend,.app-shell:not(.app-shell-light) .notification-channel-fieldset legend,.app-shell:not(.app-shell-light) .notification-composer-field>span:first-child,.app-shell:not(.app-shell-light) .notification-audience-option-copy strong,.app-shell:not(.app-shell-light) .notification-channel-option strong,.app-shell:not(.app-shell-light) .notification-composer-field input,.app-shell:not(.app-shell-light) .notification-composer-field textarea,.app-shell:not(.app-shell-light) .notification-message-toolbar button{color:#f0f2f0}.app-shell:not(.app-shell-light) .notification-audience-option-copy span,.app-shell:not(.app-shell-light) .notification-channel-option small,.app-shell:not(.app-shell-light) .notification-audience-trigger-caret,.app-shell:not(.app-shell-light) .notification-labour-option-meta,.app-shell:not(.app-shell-light) .notification-labour-option-empty,.app-shell:not(.app-shell-light) .notification-composer-field input::placeholder,.app-shell:not(.app-shell-light) .notification-composer-field textarea::placeholder,.app-shell:not(.app-shell-light) .notification-message-editor textarea::placeholder{color:#a4a5ad}.app-shell:not(.app-shell-light) .notification-audience-option[aria-selected=true],.app-shell:not(.app-shell-light) .notification-channel-option-active{background:#22c5401f;border-color:#53ff6b47}.app-shell:not(.app-shell-light) .notification-labour-option,.app-shell:not(.app-shell-light) .notification-message-toolbar,.app-shell:not(.app-shell-light) .notification-audience-option{border-bottom-color:#ffffff1a}.app-shell:not(.app-shell-light) .notification-labour-option-name{color:#f0f2f0}.app-shell:not(.app-shell-light) .notification-labour-option:hover,.app-shell:not(.app-shell-light) .notification-labour-option:focus-visible{background:#22c5401f}.app-shell:not(.app-shell-light) .notification-labour-chip{color:#65f27a;background:#22c54029}.app-shell:not(.app-shell-light) .notification-card-unread{background:linear-gradient(90deg,#22c5401c,#0000 44%),#111211;border-color:#22c54061}.app-shell:not(.app-shell-light) .notification-card-overdue.notification-card-unread{background:#111211;border-color:#ffffff1a}.app-shell:not(.app-shell-light) .notification-overdue-icon{color:#f87171;background:#f8717129}.app-shell:not(.app-shell-light) .notification-action-menu summary,.app-shell:not(.app-shell-light) .notification-action-menu-list{background:#141514;border-color:#ffffff1f}.app-shell:not(.app-shell-light) .notification-action-menu-list a{color:#f0f2f0;border-bottom-color:#ffffff1a}.app-shell:not(.app-shell-light) .notification-action-menu-list a:hover,.app-shell:not(.app-shell-light) .notification-action-menu-list a:focus-visible{color:#86efac;background:#22c5401f}.app-shell:not(.app-shell-light) .notification-primary-action{color:#fff;background:linear-gradient(90deg,#07911a,#14c730);border-color:#53ff6b3d}.app-shell:not(.app-shell-light) .notification-primary-action:hover,.app-shell:not(.app-shell-light) .notification-primary-action:focus-visible{color:#fff}.app-shell:not(.app-shell-light) .notification-status-critical{color:#fca5a5;background:#f8717129}@media (max-width:719px){.notifications-shell{gap:14px}.notifications-header{flex-direction:column;align-items:flex-start}.notification-composer-header{z-index:46;top:calc(16px + env(safe-area-inset-top));width:auto;position:fixed;right:10px}.notification-card{grid-template-columns:1fr;align-items:stretch;padding:14px}.notification-composer-open{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--accent);background:0 0;border:0;border-radius:0;padding:0}.notification-composer-open:hover,.notification-composer-open:active,.notification-composer-open:focus-visible{color:var(--accent-strong,var(--accent));background:0 0;border:0;transform:none}.notification-composer-open-icon,.notification-composer-open-icon svg{width:30px;height:30px}.notification-composer-open-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notification-audience-options{grid-template-columns:1fr;display:grid}.notification-modal-backdrop{align-items:stretch;padding:10px}.notification-modal-card{gap:18px;max-height:calc(100vh - 20px);padding:18px 14px}.notification-modal-heading{grid-template-columns:40px minmax(0,1fr) 42px;gap:12px}.notification-modal-icon{width:40px;height:40px}.notification-modal-heading-copy h2{font-size:18px}.notification-modal-heading-copy p{font-size:12px}.notification-modal-close{width:42px;min-width:42px;padding:0}.notification-modal-close span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notification-modal-grid{grid-template-columns:1fr;gap:18px}.notification-channel-options{grid-template-columns:1fr}.notification-message-toolbar{gap:8px;overflow-x:auto}.notification-composer-actions{flex-direction:column;align-items:stretch}.notification-composer-message{margin-right:0}.notification-composer-submit,.notification-modal-cancel{width:100%}.notification-card-overdue{grid-template-columns:38px minmax(0,1fr)}.notification-card-overdue .notification-card-aside{grid-column:1/-1}.notification-card-overdue-labour .notification-card-aside{place-items:start center}.notification-card-aside{align-self:auto;justify-items:start;gap:12px}.notification-action-menu,.notification-primary-action{width:min(100%,220px)}.notification-card-title-row{gap:5px;display:grid}.notification-title-stack{flex-flow:wrap;align-items:center;gap:8px}.notification-card h2{white-space:normal}.notification-meta-grid{grid-template-columns:1fr}.notification-actions{justify-content:flex-start}}
@media (min-width:720px){.app-shell-timesheets-list .timesheet-history-search.labours-admin-search,.app-shell-invoices-list .invoice-history-search.labours-admin-search{border:1px solid var(--border);background:var(--bg-elevated);min-height:34px;box-shadow:none;border-radius:12px;margin:0;padding:0;display:block;position:relative}.app-shell-timesheets-list .timesheet-history-search.labours-admin-search input,.app-shell-invoices-list .invoice-history-search.labours-admin-search input{width:100%;min-height:32px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;border-radius:12px;padding:0 14px 0 40px;font-size:14px}.app-shell-timesheets-list .timesheet-history-search.labours-admin-search input:focus,.app-shell-invoices-list .invoice-history-search.labours-admin-search input:focus{outline:none}.app-shell-timesheets-list .timesheet-history-search.labours-admin-search:focus-within,.app-shell-invoices-list .invoice-history-search.labours-admin-search:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.app-shell-timesheets-list .timesheet-history-search .timesheet-history-search-icon,.app-shell-invoices-list .invoice-history-search .timesheet-history-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-shell-timesheets-list .timesheet-history-search .timesheet-history-search-icon svg,.app-shell-invoices-list .invoice-history-search .timesheet-history-search-icon svg{stroke-width:1.8px;width:17px;height:17px}.app-shell-timesheets-list .timesheet-shell,.app-shell-invoices-list .invoice-shell{gap:0}.app-shell-timesheets-list .timesheet-toolbar,.app-shell-invoices-list .invoice-search-create-row{margin:0 0 var(--space-4);min-height:34px}.app-shell-timesheets-list .timesheet-shell>.metric-card-grid,.app-shell-invoices-list .invoice-shell>.invoice-list-metric-grid{margin:0 0 var(--space-4)}.app-shell-invoices-list .invoice-search-create-row .invoice-add-button,.app-shell-invoices-list .invoice-search-create-row .invoice-export-menu-button{height:42px;min-height:42px;padding-top:0;padding-bottom:0}.app-shell-labours-list .labours-admin-search,.clients-admin-search.labours-admin-search{border:1px solid var(--border);background:var(--bg-elevated);min-height:34px;box-shadow:none;border-radius:12px;margin:0;padding:0;position:relative}.app-shell-labours-list .labours-admin-search input,.clients-admin-search.labours-admin-search input{width:100%;min-height:32px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;border-radius:12px;padding:0 14px 0 40px;font-size:14px}.app-shell-labours-list .labours-admin-search input:focus,.clients-admin-search.labours-admin-search input:focus{outline:none}.app-shell-labours-list .labours-admin-search:focus-within,.clients-admin-search.labours-admin-search:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.app-shell-labours-list .labours-admin-search svg,.clients-admin-search.labours-admin-search svg{stroke-width:1.8px;width:17px;height:17px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-shell-labours-list .labours-admin-shell{gap:0}.app-shell-labours-list .labours-admin-control-row{gap:var(--space-3);margin:0 0 var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:center}.app-shell-labours-list .labours-admin-shell>.labours-admin-stats,.app-shell-labours-list .labours-admin-shell>.labours-admin-pending-card{margin:0 0 var(--space-4)}.app-shell-labours-list .labours-admin-search{border:1px solid var(--border);background:var(--bg-elevated);min-height:34px;box-shadow:none;border-radius:12px;align-items:center;margin:0;padding:0;display:flex}.app-shell-labours-list .labours-admin-search>svg{stroke-width:1.8px;width:17px;height:17px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-shell-labours-list .labours-admin-search{position:relative}.app-shell-labours-list .labours-admin-search input{min-width:0;min-height:32px;color:var(--text-primary);box-shadow:none;background:0 0;border:0;border-radius:12px;flex:1;padding:0 14px 0 40px;font-size:14px}.app-shell-labours-list .labours-admin-search input::placeholder{color:var(--text-muted)}.app-shell-labours-list .labours-admin-search:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.app-shell-labours-list .labours-admin-filter-toggle{display:none}.app-shell-labours-list .labours-admin-filter-tabs{border:1px solid var(--border);background:var(--bg-elevated);width:auto;min-height:42px;box-shadow:none;border-radius:9px;grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column;justify-self:end;display:inline-grid;overflow:hidden}.app-shell-labours-list .labours-admin-filter-tab{border:0;border-right:1px solid var(--border);white-space:nowrap;min-height:42px;padding:0 18px;font-size:10.5px;font-weight:500}.app-shell-labours-list .labours-admin-filter-tab:last-child{border-right:0}}@media (max-width:1099px){.app-shell .mobile-nav-toggle,.app-shell .app-main>.mobile-nav-toggle-scrollbound,.app-shell-condensed-list-header .mobile-nav-toggle{display:none!important}.mobile-nav-backdrop{z-index:70}.mobile-side-drawer{z-index:75}.mobile-side-drawer .side-nav-theme-toggle{display:none}.app-shell .app-main{padding-top:calc(56px + env(safe-area-inset-top) + var(--space-3))!important}.app-shell-invoices-list .invoice-search-create-row,.app-shell-invoices-list .invoice-filter-toolbar,.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-history-search{margin-top:0!important}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-toolbar,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-search-create-row{padding-left:var(--space-4)!important}.app-shell-labours-list .labours-admin-control-row{padding-left:0!important}.job-form-back{display:none!important}.job-form-redesign-topbar .job-form-back-labelled{display:inline-grid!important}.app-top-bar{justify-content:flex-start;padding-right:10px}.app-top-bar-actions>:last-child{margin-right:0}.job-form-redesign-topbar{min-height:0!important;padding:0 var(--space-4)!important}.app-shell-jobs-list .jobs-board-topline{min-height:0;padding:0 var(--space-4)!important}}@media (max-width:719px){.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-toolbar,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-search-create-row{gap:var(--space-3) var(--space-2)!important;padding:0 var(--space-4)!important;margin:0!important;display:grid!important}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-shell,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-shell{gap:0!important}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-shell>.metric-card-grid,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-list-metric-grid{margin:var(--space-3) var(--space-4)!important}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-toolbar{grid-template-columns:minmax(0,1fr)!important}.app-shell-invoices-list.app-shell-condensed-list-header .invoice-search-create-row{grid-template-columns:minmax(0,1fr) 35px!important}.app-shell-timesheets-list .timesheet-history-search-desktop,.app-shell-invoices-list .invoice-history-search-desktop{padding-right:6px;grid-template-columns:20px minmax(0,1fr) 38px!important;min-height:34px!important;margin:0!important;display:grid!important}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-history-search,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-history-search,.app-shell-timesheets-list .timesheet-history-search-desktop,.app-shell-invoices-list .invoice-history-search-desktop{align-items:center;border:1px solid var(--border)!important;background:var(--bg-elevated)!important;border-radius:12px!important;min-height:34px!important;padding:0 6px 0 12px!important}.app-shell-timesheets-list .timesheet-history-search-desktop .timesheet-history-search-icon,.app-shell-invoices-list .invoice-history-search-desktop .timesheet-history-search-icon{color:var(--text-muted);justify-content:flex-start;align-items:center;display:inline-flex}.app-shell-timesheets-list .timesheet-history-search-desktop .timesheet-history-search-icon svg,.app-shell-invoices-list .invoice-history-search-desktop .timesheet-history-search-icon svg{stroke-width:1.8px;width:16px;height:16px}.app-shell-timesheets-list.app-shell-condensed-list-header .timesheet-history-search input,.app-shell-invoices-list.app-shell-condensed-list-header .invoice-history-search input,.app-shell-timesheets-list .timesheet-history-search-desktop input,.app-shell-invoices-list .invoice-history-search-desktop input{font-size:14px;background:0 0!important;border:0!important;border-radius:12px!important;min-height:32px!important;padding:0 8px 0 2px!important}.app-shell-labours-list .labours-admin-search,.clients-admin-search.labours-admin-search{min-height:34px!important}.app-shell-labours-list .labours-admin-search input,.clients-admin-search.labours-admin-search input{min-height:32px!important}.app-shell-invoices-list .invoice-history-search-desktop{grid-area:1/1}.app-shell-invoices-list .invoice-search-create-row .invoice-add-button{border:1px solid var(--border);background:var(--accent-soft);width:35px;height:34px;min-height:34px;color:var(--accent);box-shadow:none;border-radius:12px;grid-area:1/2;place-self:center end;margin:0;padding:0}.app-shell-invoices-list .invoice-search-create-row .invoice-add-button svg{width:14px;height:14px}.app-shell-timesheets-list .timesheet-date-filter,.app-shell-invoices-list .invoice-date-filter{display:none;margin:0!important}.app-shell-timesheets-list .timesheet-date-filter-mobile-open,.app-shell-invoices-list .invoice-date-filter.timesheet-date-filter-mobile-open{display:block!important}.app-shell-invoices-list.app-shell-condensed-list-header .invoice-date-filter,.app-shell-invoices-list .invoice-date-filter{grid-area:2/1/auto/-1!important}.app-shell-timesheets-list .timesheet-date-filter-presets,.app-shell-invoices-list .timesheet-date-filter-presets{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;width:100%;min-height:0;padding:3px;display:grid;overflow:visible}.app-shell-timesheets-list .timesheet-date-filter-presets button,.app-shell-invoices-list .timesheet-date-filter-presets button{min-width:0;min-height:38px;color:var(--text-muted);background:0 0;border:0;border-radius:9px;padding:0 8px;font-size:10.5px;font-weight:500}.app-shell-timesheets-list .timesheet-date-filter-presets button+button,.app-shell-invoices-list .timesheet-date-filter-presets button+button{border-left:0}.app-shell-timesheets-list .timesheet-date-filter-presets button[aria-pressed=true],.app-shell-invoices-list .timesheet-date-filter-presets button[aria-pressed=true],.app-shell-timesheets-list .timesheet-date-filter-preset-active,.app-shell-invoices-list .timesheet-date-filter-preset-active{color:var(--accent);background:#0f9d2014;box-shadow:inset 0 0 0 1px #0f9d2047}.app-shell-labours-list .labours-admin-filter-tabs-open{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;overflow:visible;display:grid!important}.app-shell-labours-list .labours-admin-filter-tabs-open .labours-admin-filter-tab{min-width:0;min-height:40px;color:var(--text-muted);border:0;border-radius:9px;font-size:10.5px;font-weight:500}.app-shell-labours-list .labours-admin-filter-tabs-open .labours-admin-filter-tab[aria-selected=true]{color:var(--accent);background:#0f9d2014;box-shadow:inset 0 0 0 1px #0f9d2047}.timesheet-mobile-search-toggle,.timesheet-mobile-inline-search{display:none!important}.app-shell-invoices-list.app-shell-condensed-list-header .invoice-workflow-card{margin:0 var(--space-4)}.app-shell-invoices-list.app-shell-condensed-list-header .inline-state,.app-shell-invoices-list.app-shell-condensed-list-header .state-panel{margin:0 var(--space-4) var(--space-3)}.app-shell-invoices-list .invoice-workflow-remind-all{width:38px;min-width:38px;min-height:38px;color:var(--text-secondary);background:0 0;border:0;border-radius:999px;justify-content:center;padding:0;font-size:0}.app-shell-invoices-list .invoice-workflow-remind-all:hover,.app-shell-invoices-list .invoice-workflow-remind-all:focus-visible{background:var(--bg-overlay);color:var(--text-primary)}}@media (min-width:720px){.app-shell-timesheets-list .labours-admin-filter-toggle,.app-shell-invoices-list .labours-admin-filter-toggle{display:none}}.invoice-workflow-tab-label-short{display:none}@media (max-width:719px){.app-shell-invoices-list .invoice-workflow-tabs{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr)) 32px;align-items:stretch;gap:2px;padding:0;display:grid;overflow:visible}.app-shell-invoices-list .invoice-workflow-tab{white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;gap:3px;min-width:0;min-height:42px;padding:0 4px;font-size:10px;font-weight:600}.app-shell-invoices-list .invoice-workflow-tab-active{border-bottom-color:var(--accent);color:var(--accent);background:0 0}.app-shell-invoices-list .invoice-workflow-tab-label-full{display:none}.app-shell-invoices-list .invoice-workflow-tab-label-short{display:inline}.app-shell-invoices-list .invoice-workflow-tab strong{border-radius:999px;place-items:center;min-width:14px;height:14px;padding:0 3px;font-size:8.5px;line-height:1;display:inline-grid}.app-shell-invoices-list .invoice-workflow-filter-toggle{border:0;border-bottom:2px solid #0000;border-radius:0;width:32px;min-width:32px;min-height:42px}}@media (min-width:720px){.app-shell-timesheets-list .timesheet-date-filter-presets,.app-shell-invoices-list .timesheet-date-filter-presets{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:repeat(3,minmax(96px,1fr));align-items:center;gap:2px;min-height:42px;padding:3px;font-size:10.5px;font-weight:500;display:grid;overflow:visible}.app-shell-timesheets-list .timesheet-date-filter-presets button,.app-shell-invoices-list .timesheet-date-filter-presets button{min-height:34px;color:var(--text-muted);background:0 0;border:0;border-radius:9px;padding:0 16px}.app-shell-timesheets-list .timesheet-date-filter-presets button+button,.app-shell-invoices-list .timesheet-date-filter-presets button+button{border-left:0}.app-shell-timesheets-list .timesheet-date-filter-presets button:hover,.app-shell-invoices-list .timesheet-date-filter-presets button:hover{color:var(--text-primary);box-shadow:none;background:0 0}.app-shell-timesheets-list .timesheet-date-filter-presets button[aria-pressed=true],.app-shell-invoices-list .timesheet-date-filter-presets button[aria-pressed=true],.app-shell-timesheets-list .timesheet-date-filter-preset-active,.app-shell-invoices-list .timesheet-date-filter-preset-active{color:var(--accent)!important;background:#0f9d2014!important;box-shadow:inset 0 0 0 1px #0f9d2047!important}.app-shell-labours-list .labours-admin-filter-tabs{border-radius:12px;align-items:center;gap:2px;padding:3px}.app-shell-labours-list .labours-admin-filter-tab{min-height:34px;color:var(--text-muted);border-right:0;border-radius:9px;padding:0 16px;font-size:10.5px;font-weight:500}.app-shell-labours-list .labours-admin-filter-tab[aria-selected=true]{color:var(--accent);background:#0f9d2014;box-shadow:inset 0 0 0 1px #0f9d2047}}@media (max-width:719px){.clients-admin-search.labours-admin-search{min-height:34px!important}.clients-admin-search.labours-admin-search input{min-height:32px!important}.clients-admin-actions .clients-admin-icon-button,.clients-admin-actions .clients-admin-icon-button-primary{width:40px;min-width:40px;height:34px;min-height:34px}}.app-shell .labours-admin-search{box-sizing:border-box;align-content:center!important;align-items:center!important;height:34px!important;min-height:34px!important}.app-shell .labours-admin-search input{height:100%!important;min-height:0!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;font-size:14px!important;line-height:normal!important}.app-shell .labours-admin-search .labours-admin-filter-toggle{width:32px;min-width:32px;height:30px;min-height:30px}.app-shell .labours-admin-search>svg,.app-shell .labours-admin-search .timesheet-history-search-icon svg{width:16px;height:16px}@media (max-width:719px){.app-shell-jobs-list .jobs-board-topline:has(.vacancy-tabs):not(.jobs-board-topline-admin){padding-inline:0!important}}
.training-shell{gap:12px;display:grid}.training-summary{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;gap:10px;padding:16px;display:grid}.training-summary-main h2{margin:0;font-size:15px;font-weight:750}.training-summary-main p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.training-summary-progress{background:var(--bg-overlay);border-radius:999px;height:6px;overflow:hidden}.training-summary-progress span{background:var(--accent);border-radius:999px;height:100%;transition:width .2s;display:block}.training-group,.training-empty{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;gap:10px;padding:16px;display:grid}.training-empty p,.training-empty-text{color:var(--text-muted);margin:0;font-size:13px}.training-group-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.training-group-head h3{margin:0;font-size:14px;font-weight:700}.training-group-head span{color:var(--text-muted);font-size:12px}.training-rows{display:grid}.training-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:11px 0;text-decoration:none;display:flex}.training-row:last-child,.training-admin-row:last-child{border-bottom:0;padding-bottom:2px}.training-row-icon{background:var(--bg-overlay);width:34px;height:34px;color:var(--text-secondary);border-radius:12px;flex:0 0 34px;place-items:center;display:grid}.training-row-icon svg{width:16px;height:16px}.training-row-icon-done{background:var(--accent-soft);color:var(--accent)}.training-row-main{flex:1;gap:2px;min-width:0;display:grid}.training-row-main strong{color:var(--text-primary);font-size:13.5px;font-weight:700}.training-row-main small{color:var(--text-secondary);font-size:12.5px;line-height:1.35}.training-row-meta{color:var(--text-muted);font-size:11.5px}.training-status{background:var(--bg-overlay);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:650}.training-status-done{color:#0d6b22;background:#d8f7df}.training-status-progress{color:#1a3a72;background:#dce9ff}.training-player-shell{gap:12px;display:grid}.training-player-head{align-items:start;gap:10px;display:flex}.training-player-head h2{margin:0;font-size:16px;font-weight:750}.training-player-head p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.training-back{border:1px solid var(--border);background:var(--bg-elevated);width:34px;height:34px;color:var(--text-primary);border-radius:999px;flex:0 0 34px;place-items:center;display:grid}.training-back svg{width:16px;height:16px}.training-video-frame{background:#000;border-radius:16px;overflow:hidden}.training-video-frame video{background:#000;width:100%;max-height:62vh;display:block}.training-controls{border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.training-play{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.training-play svg{width:16px;height:16px}.training-rewind{border:1px solid var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:650}.training-progress{background:var(--bg-overlay);border-radius:999px;flex:1;height:6px;overflow:hidden}.training-progress span{background:var(--accent);border-radius:999px;height:100%;display:block}.training-time{color:var(--text-muted);white-space:nowrap;font-size:12px}.training-actions{display:grid}.training-form{gap:10px;display:grid}.training-field{gap:5px;display:grid}.training-field span{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:650}.training-checkbox{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.training-checkbox input{width:16px;height:16px;accent-color:var(--accent)}.training-admin-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.training-admin-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vacancy-apply-locked{border:1px dashed var(--border-strong,var(--border));background:var(--bg-overlay);border-radius:12px;justify-items:start;gap:6px;padding:10px 12px;display:grid}.vacancy-apply-locked span{color:var(--text-secondary);font-size:12.5px;font-weight:600}.vacancy-apply-locked a{color:var(--accent);font-size:12.5px;font-weight:700;text-decoration:none}
.vacancy-shell{gap:14px;display:grid}.vacancy-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.vacancy-avatar-stack{align-items:center;display:inline-flex}.vacancy-avatar-stack .vacancy-avatar{border:2px solid var(--bg-elevated)}.vacancy-avatar-stack .vacancy-avatar+.vacancy-avatar{margin-left:-10px}.vacancy-avatar-rest{background:var(--bg-subtle,#1422180f);color:var(--text-muted);font-weight:600}.vacancy-decision{flex:none;gap:6px;display:flex}.vacancy-decision button{cursor:pointer;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:background .14s,border-color .14s;display:grid}.vacancy-decision button svg{width:17px;height:17px}.vacancy-decision button:disabled{opacity:.5;cursor:not-allowed}.vacancy-decision-accept{background:var(--accent);color:#fff;border:1px solid #0000}.vacancy-decision-accept:hover:not(:disabled){background:#0b8a1c}.vacancy-decision-reject{border:1px solid var(--border);color:var(--text-muted);background:0 0}.vacancy-decision-reject:hover:not(:disabled){color:#c53030;border-color:#c5303080}.vacancy-applicants{display:grid}.vacancy-applicant{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.vacancy-applicant:last-child{border-bottom:0;padding-bottom:0}.vacancy-applicant-main{flex:1;gap:1px;min-width:0;display:grid}.vacancy-applicant-main strong{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.3}.vacancy-applicant-meta,.vacancy-applicant-phone,.vacancy-applicant-note{color:var(--text-secondary);font-size:12.5px}.vacancy-applicant-phone{color:var(--accent);justify-self:start;text-decoration:none}.vacancy-applicant-note{color:var(--text-muted)}.vacancy-strips{gap:10px;max-width:860px;display:grid}.vacancy-strip{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;padding:14px 16px}.vacancy-strip-open{border-color:#0f9d2066}.vacancy-strip-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.vacancy-strip-head strong{color:var(--text-primary);font-size:14.5px;font-weight:700}.vacancy-strip-head p{color:var(--text-secondary);margin:2px 0 0;font-size:12.5px}.vacancy-strip-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.vacancy-strip-empty{color:var(--text-muted);font-size:12.5px}.vacancy-strip-review{min-height:34px;padding-inline:18px;font-size:12.5px}.vacancy-strip-body{border-top:1px solid var(--border);margin-top:12px;padding-top:4px}@media (max-width:899px){.vacancy-applicant{flex-wrap:wrap}.vacancy-applicant-main{flex:140px}}.app-shell:not(.app-shell-light) .vacancy-avatar{color:#55e26c;background:#23dd3e24}.app-shell:not(.app-shell-light) .vacancy-avatar-rest{color:#a9b3ab;background:#202320}.app-shell:not(.app-shell-light) .vacancy-strip{background:#0f0f0f;border-color:#ffffff1a}.app-shell:not(.app-shell-light) .vacancy-strip-open{border-color:#25db3c6b}
