:root{font-family:Inter,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);--orange: #c2410c;--orange-dark: #9a3412;--soft: #fffaf5;--border: #eadfce;--color-bg: #faf7f3;--color-bg-secondary: #fffaf5;--color-bg-hover: #f4ede4;--color-bg-success: #dcfce7;--color-bg-warning: #fef3c7;--color-bg-danger: #fee2e2;--color-border: var(--border);--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #2563eb;--color-muted: #6b7280;--color-primary: var(--orange);--color-skeleton: #e5e7eb;--color-success: #16a34a;--color-surface: #ffffff;--color-surface-alt: var(--soft);--color-surface-hover: #fff7ed;--color-surface-muted: #f4ede4;--color-text: #1f2937;--color-text-muted: #6b7280;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-warning-text: #92400e}*{box-sizing:border-box}body{margin:0;background:var(--color-bg)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:10000;padding:.75rem 1rem;border-radius:10px;background:#111827;color:#fff;font-weight:700;transform:translateY(calc(-100% - 1rem));transition:transform .12s ease-out}.skip-link:focus{transform:translateY(0)}.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}input,textarea,select{width:100%;border:1px solid #d9cfc1;border-radius:14px;padding:.8rem .95rem;background:var(--color-surface)}input[type=checkbox],input[type=radio]{width:auto}textarea{min-height:110px;resize:vertical}.app-shell{max-width:1480px;margin:0 auto;padding:1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.topbar h1{margin:.15rem 0;font-size:1.7rem}.topbar-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.layout-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;align-items:start}.card{background:var(--color-surface);border:1px solid var(--border);border-radius:24px;padding:1rem;box-shadow:0 8px 20px #0f172a0a}.sidebar{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.6rem}.nav-btn{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--border);border-radius:18px;background:var(--color-surface)}.nav-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}.nav-main{display:inline-flex;align-items:center;gap:.6rem}.nav-badge{min-width:1.6rem;height:1.6rem;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;background:#fff3;font-size:.8rem}.nav-help{margin-top:.35rem;color:var(--color-text-muted);font-size:.92rem}.nav-section-list{display:grid;gap:.35rem}.nav-section{display:grid;gap:.3rem}.nav-section-toggle{align-items:center;background:var(--color-surface-muted);border:1px solid transparent;border-radius:11px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.76rem;font-weight:750;gap:.5rem;justify-content:space-between;letter-spacing:.025em;min-height:34px;padding:.45rem .6rem;text-align:left;width:100%}.nav-section-toggle:hover,.nav-section-toggle.open{background:var(--color-surface-hover);border-color:#f2d2aa;color:var(--orange-dark)}.nav-section-toggle svg{flex:0 0 auto;transition:transform .14s ease}.nav-section-toggle.open svg{transform:rotate(180deg)}.nav-section-items{border-left:2px solid #eadfce;display:grid;gap:.28rem;margin-left:.45rem;padding-left:.45rem}.manager-sidebar .nav-section-items .nav-btn,.employee-sidebar .nav-section-items .nav-btn,.company-admin-sidebar .nav-section-items .nav-btn{border-radius:12px;font-size:.86rem;min-height:38px;padding:.55rem .65rem}.manager-sidebar .nav-section-items .nav-main,.employee-sidebar .nav-section-items .nav-main,.company-admin-sidebar .nav-section-items .nav-main{gap:.5rem;min-width:0}.manager-sidebar .nav-section-items .nav-main svg,.employee-sidebar .nav-section-items .nav-main svg,.company-admin-sidebar .nav-section-items .nav-main svg{flex:0 0 auto}.manager-sidebar .nav-section-items .nav-badge,.employee-sidebar .nav-section-items .nav-badge,.company-admin-sidebar .nav-section-items .nav-badge{height:1.35rem;min-width:1.35rem}.content-area{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#9a6b32;font-size:.76rem;margin:0}.subtle{color:var(--color-text-muted);font-size:.95rem}.section-title h2{margin:0;font-size:1.4rem}.section-title p{margin:.35rem 0 0;color:var(--color-text-muted)}.stack-lg{display:flex;flex-direction:column;gap:1rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-card.warn{border-color:#f59e0b}.stat-card.good{border-color:#22c55e}.stat-label{color:var(--color-text-muted);font-size:.84rem}.stat-value{font-size:1.6rem;font-weight:700;margin-top:.3rem}.qr-trigger{background:transparent;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:4px;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.qr-trigger:hover{background:var(--color-surface-hover);border-color:var(--orange);box-shadow:0 0 0 2px #c2410c29}.qr-trigger.icon-only{align-items:center;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.qr-placeholder{align-items:center;background:#f3f4f6;border-radius:4px;color:#9ca3af;display:flex;flex-direction:column;font-size:10px;gap:4px;justify-content:center}.manager-dashboard{gap:.7rem}.manager-dashboard>.section-title h2{font-size:1.2rem}.manager-dashboard>.section-title p{font-size:.84rem;margin-top:.2rem}.manager-dashboard-overview-stats{gap:.55rem;grid-template-columns:repeat(5,minmax(0,1fr))}.manager-dashboard-stat-link{border-radius:15px;display:block;min-width:0;position:relative}.manager-dashboard-stat-link .stat-card{cursor:pointer;height:100%;padding-right:2rem;transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease}.manager-dashboard-stat-link:hover .stat-card{background:var(--color-surface-hover);box-shadow:0 6px 16px #1f29371a;transform:translateY(-1px)}.manager-dashboard-stat-link:active .stat-card{box-shadow:none;transform:translateY(0)}.manager-dashboard-stat-action{color:var(--orange-dark);font-size:1rem;font-weight:700;line-height:1;opacity:.65;position:absolute;right:.7rem;top:.58rem;transition:opacity .12s ease,transform .12s ease}.manager-dashboard-stat-link:hover .manager-dashboard-stat-action,.manager-dashboard-stat-link:focus-visible .manager-dashboard-stat-action{opacity:1;transform:translate(2px)}.manager-dashboard-overview-stats .stat-card,.manager-dashboard-labor-stats .stat-card{border-radius:15px;min-height:66px;padding:.6rem .7rem}.manager-dashboard-overview-stats .stat-label,.manager-dashboard-labor-stats .stat-label{font-size:.74rem}.manager-dashboard-overview-stats .stat-value,.manager-dashboard-labor-stats .stat-value{font-size:1.25rem;line-height:1.1;margin-top:.12rem}.manager-dashboard .workforce-brief,.manager-dashboard-panel{border-radius:18px;padding:.7rem .75rem}.manager-dashboard .workforce-brief .section-title h2,.manager-dashboard-panel .section-title h2{font-size:1.05rem}.manager-dashboard .workforce-brief .section-title p,.manager-dashboard-panel .section-title p{font-size:.78rem;margin-top:.15rem}.manager-dashboard .workforce-brief-summary{gap:.3rem;margin-top:.45rem}.manager-dashboard .workforce-summary-item{border-radius:8px;gap:.28rem;min-height:1.65rem;padding:.2rem .4rem}.manager-dashboard .workforce-summary-item strong{font-size:.82rem}.manager-dashboard .workforce-summary-item span{font-size:.68rem}.manager-dashboard .workforce-job-grid{gap:.4rem;margin-top:.45rem}.manager-dashboard .service-panel{border-radius:12px;margin-bottom:0;padding:.6rem .75rem}.manager-dashboard .service-panel-header{margin-bottom:.45rem}.manager-dashboard .service-panel-header h3{font-size:.9rem}.manager-dashboard .service-machine-list{gap:.35rem}.manager-dashboard .service-machine-item{gap:.65rem;padding:.5rem .6rem}.manager-dashboard-panel-header{margin-bottom:.55rem;padding-top:0}.manager-dashboard-labor-filter{border-radius:10px;font-size:.78rem;margin-left:auto;min-height:34px;padding:.35rem .55rem;width:auto}.manager-dashboard-labor-stats{gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.55rem}.manager-dashboard-panel .list-stack{gap:.35rem}.manager-dashboard-panel .row-card{padding:.5rem 0}.manager-dashboard-panel .row-card strong{font-size:.86rem}.manager-dashboard-panel .row-card .subtle{font-size:.75rem}.customer-register-card{min-width:0}.customer-register-head{align-items:flex-start}.customer-register-toolbar{display:grid;gap:.4rem;margin:.5rem 0}.customer-search-input{max-width:360px}.customer-letter-filter{display:flex;gap:.2rem;min-width:0;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.customer-letter-button{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.68rem;font-weight:700;height:28px;justify-content:center;min-width:28px;padding:0 .32rem}.customer-letter-button:first-child{min-width:38px}.customer-letter-button:hover{background:var(--color-surface-hover);border-color:#f2c995;color:var(--orange-dark)}.customer-letter-button.active{background:var(--orange);border-color:var(--orange);color:#fff}.customer-register-list{display:grid;gap:.32rem}.customer-register-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:.42rem .5rem}.customer-register-row.editing{align-items:stretch;grid-template-columns:minmax(0,1fr);padding:.65rem}.customer-register-main{min-width:0}.customer-register-summary{align-items:center;display:flex;gap:.38rem;min-width:0}.customer-register-summary strong{font-size:.84rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-register-summary .badge{flex:0 0 auto}.customer-register-contact{color:var(--color-text-muted);font-size:.72rem;margin-top:.16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-register-actions{flex:0 0 auto;flex-wrap:nowrap;gap:.35rem}.customer-register-actions .btn{min-height:32px;padding:.36rem .55rem}.customer-register-row.editing .customer-register-actions{justify-content:flex-end}.job-register-card{min-width:0}.job-register-toolbar{display:grid;gap:.4rem;margin:.5rem 0}.job-search-input{max-width:420px}.job-register-list{display:grid;gap:.32rem}.job-register-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:.42rem .5rem}.job-register-row.expanded{align-items:start;background:var(--color-surface-muted)}.job-register-main{align-items:center;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;font:inherit;gap:.65rem;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:.2rem;text-align:left;width:100%}.job-register-main:hover .job-register-summary strong,.job-register-main:focus-visible .job-register-summary strong{color:var(--color-primary)}.job-register-main:focus-visible{border-radius:7px;outline:2px solid var(--color-primary);outline-offset:2px}.job-register-copy{min-width:0}.job-register-open{color:var(--color-primary);font-size:.72rem;font-weight:700;white-space:nowrap}.job-register-summary{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem;min-width:0}.job-register-summary strong{font-size:.84rem;margin-right:.1rem}.job-register-summary .badge{flex:0 0 auto}.job-register-detail{color:var(--color-text-muted);font-size:.72rem;margin-top:.16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-register-actions{flex:0 0 auto;flex-wrap:nowrap;gap:.35rem;justify-content:flex-end}.job-register-actions .btn,.job-register-actions select{min-height:32px}.job-register-actions .btn{padding:.36rem .55rem}.job-register-actions select{min-width:104px;padding:.3rem 1.7rem .3rem .5rem;width:auto}.job-register-expanded{grid-column:1 / -1;min-width:0}.job-register-expanded .inset-panel{margin-top:.1rem}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.list-stack{display:flex;flex-direction:column;gap:.75rem}.row-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid #f1ebe3}.row-card:last-child{border-bottom:none}.cost-centre-progress-row{align-items:flex-start}.cost-centre-progress-row.is-expanded{padding-inline:.7rem;border:1px solid var(--border);border-radius:12px;background:#fffdf9}.cost-centre-progress-copy{display:grid;flex:1;gap:.3rem;min-width:0}.cost-centre-open-details{display:flex;width:100%;justify-content:space-between;gap:.75rem;align-items:center;padding:.15rem 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.cost-centre-open-details>span:first-child{display:grid;gap:.1rem}.cost-centre-open-details small{color:var(--muted);font-size:.72rem;font-weight:400}.cost-centre-open-details>span:last-child{display:grid;width:1.75rem;height:1.75rem;place-items:center;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:var(--color-surface-alt);font-size:1.1rem}.cost-centre-open-details:hover strong,.cost-centre-open-details:focus-visible strong{color:var(--orange)}.cost-centre-open-details:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}.cost-centre-section-setup{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.75fr) auto;gap:.75rem;align-items:end;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--color-surface-alt)}.cost-centre-section-setup>span,.cost-centre-section-group>header>span{display:grid;gap:.15rem;min-width:0}.cost-centre-section-setup small,.cost-centre-section-group small{font-size:.76rem;font-weight:400}.cost-centre-section-groups{display:grid;gap:.75rem}.cost-centre-section-group{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--color-surface)}.cost-centre-section-group>header{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--border);background:var(--color-surface-alt)}.cost-centre-section-group>.list-stack{padding:0 .8rem}.cost-centre-custom-code{width:min(680px,100%);border:1px solid var(--border);border-radius:10px;background:var(--color-surface)}.cost-centre-custom-code>summary{padding:.55rem .7rem;cursor:pointer;font-weight:600}.cost-centre-custom-code-body{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(240px,1fr);gap:.75rem;align-items:end;padding:0 .7rem .7rem}.cost-centre-code-note{margin-right:auto}.cost-centre-billing-head,.cost-centre-billing-values{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.cost-centre-billing-head{margin-top:.35rem;font-size:.82rem}.cost-centre-billing-values{font-size:.82rem}.cost-centre-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#eee6dc}.cost-centre-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--orange)}.cost-centre-current-period{display:grid;gap:.6rem;margin-top:.55rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--color-surface-alt)}.cost-centre-current-period-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.cost-centre-current-period-head>span{display:grid;gap:.12rem}.cost-centre-current-period-head>span:last-child{text-align:right}.cost-centre-current-period-head small,.cost-centre-current-period-grid small{color:var(--muted);font-size:.72rem;line-height:1.3}.cost-centre-current-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.cost-centre-current-period-grid>span{display:grid;align-content:start;gap:.12rem;min-width:0;padding:.55rem;border:1px solid #eadfce;border-radius:10px;background:var(--color-surface)}.cost-centre-current-period-grid strong{font-size:.82rem;overflow-wrap:anywhere}.cost-centre-current-period-note{font-size:.72rem}.cost-centre-description{display:grid;gap:.12rem;margin-top:.45rem;padding:.65rem .75rem;border-left:3px solid var(--orange);border-radius:6px;background:var(--color-surface-alt)}.cost-centre-description span{color:var(--muted)}.cost-centre-value-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;align-items:end;margin-top:.45rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--color-surface-alt)}.cost-centre-value-editor .field{margin:0}.cost-centre-value-editor .actions-row{grid-column:1 / -1}.cost-centre-purchase-orders{display:grid;gap:.7rem;margin-top:.55rem;padding-top:.75rem;border-top:1px solid var(--border)}.cost-centre-purchase-orders>header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.cost-centre-purchase-orders>header>span{display:grid;gap:.12rem}.cost-centre-purchase-orders>header small{color:var(--muted);font-size:.74rem;font-weight:400}.cost-centre-po-form{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(240px,1.6fr) minmax(100px,.45fr) minmax(120px,.55fr);gap:.65rem;align-items:end}.cost-centre-po-form .field{margin:0}.cost-centre-po-list{padding-top:.25rem}.cost-centre-po-list .row-card{align-items:flex-start}.cost-centre-po-list small{display:block;margin-top:.15rem}.danger-text{color:#b91c1c}.wrap-start{align-items:flex-start}.inline-badges{display:inline-flex;gap:.5rem;flex-wrap:wrap}.badge{border-radius:999px;padding:.38rem .7rem;font-size:.82rem;background:#f3f4f6}.badge.good{background:#dcfce7;color:#166534}.badge.warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge.danger{background:#fee2e2;color:#991b1b}.records-filter-bar{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(150px,1fr));gap:.65rem}.records-filter-bar .input{min-height:42px;padding:.6rem .75rem}.records-selection-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.75rem;min-height:38px;padding:0 .35rem .55rem}.records-select-all{align-items:center;cursor:pointer;display:inline-flex;font-size:.82rem;gap:.45rem}.records-select-all input,.records-row-checkbox{accent-color:var(--orange);cursor:pointer;height:17px;margin:0;width:17px}.records-page-count{color:var(--color-text-muted);font-size:.78rem}.records-download-button{margin-left:auto}.records-list{display:grid;gap:.5rem}.records-list-row{align-items:center;border-radius:15px;display:grid;gap:.7rem;grid-template-columns:18px minmax(0,1fr) auto;padding:.65rem .75rem}.records-row-main{min-width:0}.records-row-heading,.records-row-type,.records-row-context{align-items:center;display:flex;min-width:0}.records-row-heading{gap:.75rem;justify-content:space-between}.records-row-type{gap:.45rem}.records-row-type strong{font-size:.9rem;text-transform:capitalize}.records-row-type .badge{font-size:.7rem;padding:.25rem .5rem}.records-row-heading time{color:var(--color-text-muted);flex:0 0 auto;font-size:.76rem;font-variant-numeric:tabular-nums}.records-row-context{color:var(--color-text-muted);font-size:.78rem;gap:.5rem;margin-top:.22rem;overflow:hidden;white-space:nowrap}.records-row-context>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.records-row-summary:before{color:#c4b5a4;content:"—";margin-right:.5rem}.records-pdf-button{min-height:32px;padding:.38rem .65rem;white-space:nowrap}.records-pagination{align-items:center;display:flex;gap:1rem;justify-content:center;padding-top:.25rem}@media(max-width:1050px){.records-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.records-filter-bar{grid-template-columns:1fr}.records-selection-bar{flex-wrap:wrap}.records-page-count{margin-left:auto}.records-download-button{flex-basis:100%;margin-left:0}.records-list-row{align-items:start;grid-template-columns:18px minmax(0,1fr)}.records-pdf-button{grid-column:2;justify-self:start}.records-row-heading{align-items:flex-start}.records-row-context{align-items:flex-start;flex-direction:column;gap:.12rem;white-space:normal}.records-row-summary:before{display:none}}.workforce-brief-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.workforce-brief-updated{color:var(--color-text-muted);flex:0 0 auto;font-size:.78rem;padding-top:.15rem}.workforce-brief-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.workforce-summary-item{align-items:baseline;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px;display:inline-flex;gap:.35rem;min-height:2rem;padding:.3rem .5rem}.workforce-summary-item strong{font-size:.94rem}.workforce-summary-item span{color:var(--color-text-muted);font-size:.75rem}.workforce-summary-item.good{background:var(--color-bg-success);border-color:#86efac}.workforce-summary-item.danger{background:var(--color-bg-danger);border-color:#fca5a5}.workforce-brief-alert{background:var(--color-bg-warning);border:1px solid #fcd34d;border-radius:10px;color:var(--color-warning-text);font-size:.8rem;margin-top:.6rem;padding:.45rem .6rem}.workforce-brief-loading{margin:.75rem 0 0}.workforce-job-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:.65rem}.workforce-job-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;min-width:0;overflow:hidden}.workforce-job-card.state-attention,.workforce-job-card.state-not_started,.workforce-job-card.state-unstaffed,.workforce-job-card.state-reschedule_required{border-color:#fca5a5}.workforce-job-card.state-underway,.workforce-job-card.state-ready_to_invoice{border-color:#86efac}.workforce-job-card.state-returning_today{border-color:#fcd34d}.workforce-job-header{align-items:center;background:var(--color-surface-alt);display:flex;gap:.6rem;justify-content:space-between;padding:.45rem .55rem}.workforce-job-header>div{display:flex;flex-direction:column;min-width:0}.workforce-job-header strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workforce-job-header>div>span{color:var(--color-text-muted);font-size:.7rem}.workforce-job-state,.workforce-person-status{border-radius:999px;flex:0 0 auto;font-size:.68rem;font-weight:700;line-height:1;padding:.3rem .45rem;white-space:nowrap}.workforce-job-state.underway,.workforce-job-state.ready_to_invoice,.workforce-person-status.on_job,.workforce-person-status.job_complete{background:var(--color-bg-success);color:#166534}.workforce-job-state.finished,.workforce-person-status.finished{background:#dbeafe;color:#1e40af}.workforce-job-state.attention,.workforce-job-state.not_started,.workforce-job-state.unstaffed,.workforce-job-state.reschedule_required,.workforce-person-status.not_started,.workforce-person-status.reschedule_required{background:var(--color-bg-danger);color:#991b1b}.workforce-job-state.returning_today,.workforce-person-status.on_other_job,.workforce-person-status.returning_today{background:var(--color-bg-warning);color:var(--color-warning-text)}.workforce-person-list{display:flex;flex-direction:column}.workforce-person-row{align-items:center;border-top:1px solid #f1ebe3;display:grid;gap:.45rem;grid-template-columns:minmax(7rem,.8fr) auto minmax(10rem,1.2fr);min-height:2.2rem;padding:.35rem .55rem}.workforce-person-row:first-child{border-top:0}.workforce-person-name{font-size:.8rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workforce-person-timing{color:var(--color-text-muted);font-size:.72rem;text-align:right}.workforce-empty-job{color:#991b1b;font-size:.76rem;padding:.55rem}.workforce-job-action{align-items:center;background:var(--color-bg-warning);border-top:1px solid #fcd34d;color:var(--color-warning-text);display:flex;font-size:.73rem;gap:.6rem;justify-content:space-between;padding:.4rem .55rem}.workforce-job-action.good{background:var(--color-bg-success);border-color:#86efac;color:#166534}.workforce-job-action.danger{background:var(--color-bg-danger);border-color:#fca5a5;color:#991b1b}.workforce-job-action a{color:inherit;flex:0 0 auto;font-weight:750}.workforce-unscheduled{align-items:flex-start;background:var(--color-bg-warning);border:1px solid #fcd34d;border-radius:10px;color:var(--color-warning-text);display:flex;font-size:.76rem;gap:.65rem;margin-top:.55rem;padding:.45rem .55rem}.workforce-unscheduled>div{display:flex;flex-wrap:wrap;gap:.35rem .8rem}.employee-hours-summary{padding:.75rem}.employee-hours-head{align-items:center;display:flex;gap:.65rem;justify-content:space-between}.employee-hours-title{align-items:center;display:flex;gap:.5rem;min-width:0}.employee-hours-title>div{display:flex;flex-direction:column;min-width:0}.employee-hours-title strong{font-size:.95rem}.employee-hours-title span{color:var(--color-text-muted);font-size:.72rem}.employee-hours-running{background:var(--color-bg-success);border-radius:999px;color:#166534!important;flex:0 0 auto;font-size:.66rem!important;font-weight:700;padding:.22rem .4rem}.employee-hours-nav{align-items:center;display:flex;gap:.3rem}.employee-hours-nav .icon-btn{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:inline-flex;flex:0 0 auto;height:1.9rem;justify-content:center;padding:0;width:1.9rem}.employee-hours-nav .icon-btn:disabled{cursor:default;opacity:.4}.employee-hours-date{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:inline-flex;gap:.3rem;padding:.2rem .4rem}.employee-hours-date input{border:0;font-size:.76rem;min-width:7.3rem;padding:0}.employee-hours-error{background:var(--color-bg-danger);border-radius:8px;color:#991b1b;font-size:.72rem;margin-top:.5rem;padding:.35rem .5rem}.employee-hours-totals{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.55rem}.employee-hours-total{align-items:baseline;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px;display:grid;gap:.15rem .5rem;grid-template-columns:minmax(0,1fr) auto;padding:.45rem .55rem}.employee-hours-total.primary{background:var(--soft);border-color:#f2c995}.employee-hours-total>span{color:var(--color-text-muted);font-size:.72rem}.employee-hours-total>strong{font-size:1.08rem}.employee-hours-total>small{color:var(--color-text-muted);font-size:.66rem;grid-column:1 / -1}.employee-hours-days{display:grid;gap:.35rem;grid-template-columns:repeat(7,minmax(62px,1fr));margin-top:.45rem;overflow-x:auto;padding-bottom:.1rem}.employee-hours-day{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;display:grid;gap:.05rem;justify-items:center;min-width:0;padding:.32rem .2rem}.employee-hours-day.today{background:var(--color-surface-hover);border-color:var(--orange)}.employee-hours-day>span{color:var(--color-text-muted);font-size:.65rem;font-weight:700;text-transform:uppercase}.employee-hours-day>small{color:var(--color-text-muted);font-size:.62rem}.employee-hours-day>strong{font-size:.78rem;white-space:nowrap}.form-shell{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:.45rem}.field span{font-size:.93rem;font-weight:600}.field-wide{grid-column:1 / -1}.actions-row{display:flex;gap:.75rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.space-between{justify-content:space-between}.btn{border:none;border-radius:16px;padding:.8rem 1rem;display:inline-flex;gap:.45rem;align-items:center;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{background:var(--color-surface-muted);color:#5b4631}.btn:disabled{cursor:not-allowed;opacity:.52}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1.25rem}.login-card{max-width:460px;width:100%;display:flex;flex-direction:column;gap:1rem}.error-box{background:#fee2e2;color:#991b1b;padding:.9rem 1rem;border-radius:16px}.demo-box{background:var(--soft);padding:1rem;border-radius:16px;color:var(--color-text-muted)}.check-section{border:1px solid #efe6d8;border-radius:18px;padding:1rem;background:var(--color-surface-alt)}.check-section h3{margin-top:0}.checklist{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.simple-list{margin:.5rem 0 0;padding-left:1rem}.chip-row{display:flex;gap:.55rem;flex-wrap:wrap}.chip{border:1px solid #e5d7c7;background:var(--color-surface-alt);color:#5a4330;padding:.55rem .8rem;border-radius:999px;cursor:pointer}.chip.active{background:var(--orange);color:#fff;border-color:var(--orange)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid Highlight}}@media(min-width:1081px){.sidebar{max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.compact-desktop-content{font-size:.9rem}.compact-desktop-content .stack-lg,.compact-desktop-content .form-shell{gap:.7rem}.compact-desktop-content .card{border-radius:16px;padding:.75rem}.compact-desktop-content .section-title h2{font-size:1.15rem}.compact-desktop-content .section-title p{font-size:.8rem;margin-top:.2rem}.compact-desktop-content .stats-grid,.compact-desktop-content .grid-two,.compact-desktop-content .form-grid,.compact-desktop-content .compact-grid{gap:.65rem}.compact-desktop-content .stat-card{border-radius:14px;min-height:64px;padding:.6rem .7rem}.compact-desktop-content .stat-label{font-size:.74rem}.compact-desktop-content .stat-value{font-size:1.25rem;line-height:1.1;margin-top:.12rem}.compact-desktop-content .list-stack{gap:.45rem}.compact-desktop-content .row-card{gap:.7rem;padding:.55rem 0}.compact-desktop-content .field{gap:.3rem}.compact-desktop-content .field span{font-size:.8rem}.compact-desktop-content input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.compact-desktop-content textarea,.compact-desktop-content select{border-radius:10px;min-height:38px;padding:.52rem .68rem}.compact-desktop-content textarea{min-height:88px}.compact-desktop-content .actions-row{gap:.5rem}.compact-desktop-content .btn{border-radius:10px;font-size:.82rem;min-height:36px;padding:.48rem .68rem}.compact-desktop-content .badge{font-size:.72rem;padding:.28rem .55rem}.compact-desktop-content .check-section{border-radius:14px;padding:.75rem}.compact-desktop-content .check-section h3,.compact-desktop-content .card h3{font-size:.95rem}.compact-desktop-content .chip{font-size:.78rem;padding:.4rem .6rem}}@media(min-width:1081px)and (max-width:1440px){.app-shell{padding:.75rem}.layout-grid{grid-template-columns:224px minmax(0,1fr);gap:.75rem}.sidebar{padding:.75rem}.nav-btn{padding:.75rem .8rem}.manager-dashboard-overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(display-mode:standalone)and (min-width:1081px)and (max-width:1440px){:root{font-size:14px}.layout-grid{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:1080px){.layout-grid,.grid-two,.stats-grid,.form-grid,.compact-grid{grid-template-columns:1fr}.job-register-row{align-items:start;grid-template-columns:minmax(0,1fr)}.job-register-actions{flex-wrap:wrap;justify-content:flex-start}.manager-dashboard-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-dashboard-labor-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-centre-current-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-centre-section-setup,.cost-centre-custom-code-body,.cost-centre-value-editor,.cost-centre-po-form{grid-template-columns:1fr}.sidebar{position:static}.topbar{flex-direction:column;align-items:flex-start}}@media(max-width:680px){.cost-centre-current-period-head{align-items:stretch;flex-direction:column}.cost-centre-current-period-head>span:last-child{text-align:left}.cost-centre-current-period-grid{grid-template-columns:1fr}.customer-register-head{align-items:stretch;flex-direction:column}.customer-search-input,.job-search-input{max-width:none}.customer-register-row{align-items:start;grid-template-columns:minmax(0,1fr)}.customer-register-actions{justify-content:flex-start}.manager-dashboard-overview-stats,.manager-dashboard-labor-stats{grid-template-columns:1fr}.manager-dashboard-panel-header{align-items:stretch;flex-direction:column}.manager-dashboard-labor-filter{margin-left:0;width:100%}.workforce-brief-header,.workforce-unscheduled{flex-direction:column}.workforce-job-grid{grid-template-columns:minmax(0,1fr)}.workforce-person-row{grid-template-columns:minmax(0,1fr) auto}.workforce-person-timing{grid-column:1 / -1;text-align:left}.employee-hours-head{align-items:flex-start;flex-direction:column}.employee-hours-nav{width:100%}.employee-hours-date{flex:1}.employee-hours-date input{min-width:0;width:100%}.employee-hours-totals{grid-template-columns:1fr}}.scheduler-grid{display:grid;grid-template-columns:260px 1fr 260px;gap:1rem;align-items:start}.scheduler-row-card{padding:0;overflow:hidden}.scheduler-row-card.allocation-critical{border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c2e}.scheduler-row-card.allocation-warning{border-color:var(--color-warning);box-shadow:0 0 0 2px #d9770626}.scheduler-density-control{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-density-control button{align-items:center;display:inline-flex;gap:.4rem;justify-content:center}.scheduler-week-calendar{max-width:100%;min-width:0;overflow:hidden;padding:0;width:100%}.scheduler-week-calendar-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.15rem}.scheduler-week-calendar-header h3{font-size:1.15rem;margin:.15rem 0 0}.scheduler-week-calendar-header p{margin:.25rem 0 0}.scheduler-week-calendar-header>div:first-child{min-width:0}.scheduler-week-calendar-header .actions-row{flex:0 0 auto;flex-wrap:nowrap}.scheduler-week-calendar-scroll{border-top:1px solid var(--border);max-width:100%;overscroll-behavior-inline:contain;overflow-x:auto;scrollbar-gutter:stable;width:100%}.scheduler-unscheduled-jobs{background:var(--color-surface-alt);border-top:1px solid var(--border);padding:.85rem 1.15rem}.scheduler-unscheduled-jobs-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.scheduler-unscheduled-jobs-header h4{margin:0}.scheduler-unscheduled-jobs-header p{color:var(--color-text-muted);font-size:.78rem;margin:.2rem 0 0}.scheduler-unscheduled-job-list{display:flex;gap:.55rem;margin-top:.7rem;overflow-x:auto;padding:.1rem 0 .35rem}.scheduler-unscheduled-job{align-items:center;background:var(--color-surface);border:1px solid var(--border);border-radius:10px;color:inherit;cursor:grab;display:flex;flex:0 0 220px;gap:.45rem;padding:.6rem .7rem;text-align:left;touch-action:none}.scheduler-unscheduled-job>span{display:flex;flex-direction:column;min-width:0}.scheduler-unscheduled-job small{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduler-unscheduled-job.dragging{cursor:grabbing;opacity:.75;position:relative;z-index:30}.scheduler-unscheduled-empty{color:var(--color-text-muted);font-size:.82rem;margin-top:.55rem}.scheduler-week-calendar-grid{background:var(--border);display:grid;gap:1px;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px}.scheduler-week-day{background:#faf9f7;min-width:0}.scheduler-week-day.active{box-shadow:inset 0 0 0 2px var(--orange)}.scheduler-week-day.drag-over{background:var(--color-surface-alt);box-shadow:inset 0 0 0 3px var(--orange)}.scheduler-week-day-header{background:var(--color-surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem;text-align:left;width:100%}.scheduler-week-day-header span{color:var(--color-text-muted);font-size:.75rem}.scheduler-week-day.active .scheduler-week-day-header{background:var(--color-surface-alt)}.scheduler-week-day-lanes{display:flex;flex-direction:column;gap:.65rem;padding:.65rem}.scheduler-calendar-lane-actions{align-items:center;display:flex;gap:.35rem}.scheduler-week-job-wrapper{position:relative;transition:opacity .12s ease}.scheduler-week-job-wrapper.dragging{opacity:.72;z-index:20}body.scheduler-dragging,body.scheduler-dragging *{cursor:grabbing!important}.scheduler-drag-preview{align-items:center;background:var(--color-surface);border:2px solid var(--orange);border-radius:10px;box-shadow:0 14px 34px #11182747;color:var(--color-text);display:flex;gap:.6rem;max-width:calc(100vw - 2rem);min-height:48px;min-width:220px;opacity:.98;padding:.65rem .8rem;pointer-events:none;transform:rotate(1deg)}.scheduler-drag-preview.employee{border-color:#9a3412}.scheduler-drag-preview.machine{background:#eef6ff;border-color:#2563eb;color:#1e3a5f}.scheduler-drag-preview.job{background:var(--color-surface-hover)}.scheduler-drag-preview>svg{flex:0 0 auto}.scheduler-drag-preview>span{display:flex;flex-direction:column;min-width:0}.scheduler-drag-preview strong,.scheduler-drag-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduler-drag-preview small{color:var(--color-text-muted);font-size:.72rem;margin-top:.1rem}.scheduler-job-drag-handle{align-items:center;background:#ffffffd1;border:1px solid rgba(17,24,39,.18);border-radius:7px;color:var(--color-text);cursor:grab;display:inline-flex;justify-content:center;padding:.25rem;touch-action:none}.scheduler-job-drag-handle:active{cursor:grabbing}.scheduler-job-drag-handle:disabled{cursor:not-allowed;opacity:.55}.scheduler-week-day .scheduler-calendar-lane{border:1px solid var(--border);border-radius:12px;border-top-width:4px;min-height:0;overflow:hidden}.scheduler-week-day .scheduler-calendar-lane-header{flex-direction:column;gap:.45rem;min-height:0;padding:.6rem}.scheduler-week-day .scheduler-calendar-lane-header>div:first-child{min-width:0}.scheduler-week-day .scheduler-calendar-lane-actions{flex-wrap:wrap;width:100%}.scheduler-week-day .scheduler-calendar-lane-header h4{font-size:.8rem}.scheduler-calendar-lane-header .scheduler-allocation-warning{align-items:flex-start;border-radius:6px;display:flex;gap:.3rem;font-weight:750;margin-top:.25rem;padding:.25rem .35rem}.scheduler-calendar-lane-header .scheduler-allocation-warning svg{flex:0 0 auto;margin-top:.05rem}.scheduler-week-day-header .scheduler-week-staffing-critical,.scheduler-week-day-header .scheduler-week-staffing-warning{align-items:center;display:flex;font-weight:750;gap:.25rem}.scheduler-week-day-header .scheduler-week-staffing-critical{color:#991b1b}.scheduler-week-day-header .scheduler-week-staffing-warning{color:var(--color-warning-text)}.scheduler-week-day .scheduler-calendar-lane-body{min-height:50px;padding:.55rem}.scheduler-week-day .scheduler-calendar-lane-empty{min-height:38px}.scheduler-week-day .scheduler-operator-chip{font-size:.78rem;padding:.4rem .5rem}.scheduler-week-empty{color:var(--color-text-muted);font-size:.8rem;padding:.4rem;text-align:center}.scheduler-reschedule-overlay{align-items:center;background:#11182794;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10000}.scheduler-reschedule-dialog{max-width:560px;width:100%}.scheduler-reschedule-card{display:flex;flex-direction:column;gap:1.25rem}.scheduler-reschedule-dialog h3{margin:.35rem 0 0}.scheduler-reschedule-dialog p{margin:.75rem 0 0}.scheduler-reschedule-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.scheduler-conflict-list{background:var(--color-surface-alt);border:1px solid var(--border);border-radius:12px;display:grid;gap:.7rem;padding:.85rem}.job-booking-employees{border:1px solid var(--border);border-radius:14px;margin:1rem 0;padding:1rem}.job-booking-employees legend{font-weight:800;padding:0 .35rem}.job-allocation-select-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.8rem}.job-allocation-selected{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.job-allocation-chip{align-items:center;background:var(--surface-soft, #f7f3ed);border:1px solid var(--border);border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:700;gap:.4rem;padding:.35rem .65rem}.job-allocation-chip:hover{border-color:var(--orange)}.job-booking-employee-grid{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:.75rem}.job-booking-employee-grid label{align-items:center;background:var(--color-surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;gap:.55rem;padding:.65rem}.job-booking-employee-grid label>span{display:flex;flex-direction:column;gap:.1rem}.job-booking-employee-grid small{color:var(--color-text-muted);font-size:.72rem}.job-field-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.job-name-checkbox{align-items:center;cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:600;gap:.35rem}.job-name-checkbox input{height:16px;width:16px}.job-booking-resource-heading{font-size:.82rem;font-weight:800;margin-top:1rem}@media(max-width:720px){.job-allocation-select-grid{grid-template-columns:1fr}}.job-coverage-overlay{align-items:center;background:#11182794;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10000}.job-coverage-dialog{max-width:560px;width:100%}.job-coverage-dialog .card{display:flex;flex-direction:column;gap:1.1rem}.job-coverage-dialog h3{margin:.35rem 0}.job-uncovered-dates{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.scheduler-day-calendar{padding:0;overflow:hidden}.scheduler-day-calendar-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.15rem}.scheduler-day-calendar-header h3{font-size:1.15rem;margin:.15rem 0 0}.scheduler-day-calendar-header p{margin:.25rem 0 0}.scheduler-calendar-kicker{color:#9a6b32;font-size:.75rem;font-weight:700;text-transform:uppercase}.scheduler-calendar-nav{justify-content:center;padding-left:.7rem;padding-right:.7rem;width:38px}.scheduler-calendar-board{background:var(--border);border-top:1px solid var(--border);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.scheduler-calendar-lane{background:var(--color-surface);border-top:4px solid var(--border);min-height:190px;min-width:0;transition:background-color .12s ease,box-shadow .12s ease}.scheduler-calendar-lane.drag-over{background:var(--color-surface-hover);box-shadow:inset 0 0 0 2px var(--orange)}.scheduler-calendar-lane.allocation-critical{border-color:#b91c1c;border-top-color:#b91c1c!important;box-shadow:0 0 0 2px #b91c1c2e}.scheduler-calendar-lane.allocation-warning{border-color:var(--color-warning);border-top-color:var(--color-warning)!important;box-shadow:0 0 0 2px #d9770626}.scheduler-calendar-lane.allocation-critical .scheduler-allocation-warning{background:var(--color-bg-danger);color:#991b1b}.scheduler-calendar-lane.allocation-warning .scheduler-allocation-warning{background:var(--color-bg-warning);color:var(--color-warning-text)}.scheduler-calendar-lane-header{align-items:flex-start;border-bottom:1px solid #f1ebe3;display:flex;gap:.75rem;justify-content:space-between;min-height:88px;padding:.8rem}.scheduler-calendar-lane-header h4{font-size:.9rem;margin:0;overflow-wrap:anywhere}.scheduler-calendar-lane-header p{color:var(--color-text-muted);font-size:.75rem;line-height:1.35;margin:.3rem 0 0}.scheduler-calendar-lane-body{display:flex;flex-direction:column;gap:.45rem;min-height:98px;padding:.7rem}.scheduler-calendar-lane-empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:.8rem;justify-content:center;min-height:58px;text-align:center}.scheduler-operator-chip{align-items:center;background:var(--color-surface);border:1px solid #ded7cd;border-radius:6px;color:var(--ink);cursor:grab;display:flex;font:inherit;font-size:.84rem;font-weight:700;gap:.45rem;min-height:38px;padding:.5rem .55rem;position:relative;text-align:left;touch-action:none;width:100%;z-index:1}.scheduler-operator-chip:hover{border-color:var(--orange)}.scheduler-operator-chip:disabled{cursor:wait;opacity:.62}.scheduler-operator-chip:focus-visible{outline:3px solid rgba(255,122,0,.24);outline-offset:1px}.scheduler-operator-chip.dragging{cursor:grabbing;opacity:.72;z-index:20}.scheduler-machine-chip{align-items:center;background:#eef6ff;border:1px solid #bfd7ef;border-radius:6px;color:#1e3a5f;cursor:grab;display:flex;font:inherit;font-size:.8rem;font-weight:700;gap:.45rem;min-height:34px;padding:.4rem .5rem;touch-action:none;width:100%}.scheduler-machine-chip.dragging{cursor:grabbing;opacity:.72;z-index:20}.scheduler-resource-label{color:#4b647e;font-size:.68rem;font-weight:800;letter-spacing:.04em;margin-top:.15rem;text-transform:uppercase}.scheduler-resource-dropdown{border:1px solid #ded7cd;border-radius:8px;overflow:hidden}.scheduler-resource-dropdown summary{background:#f8f6f2;cursor:pointer;font-size:.78rem;font-weight:750;padding:.55rem .65rem}.scheduler-resource-dropdown-list{display:flex;flex-direction:column;gap:.4rem;padding:.5rem}.scheduler-week-day.jobs-dense .scheduler-week-day-header{gap:.15rem;padding:.55rem}.scheduler-week-day.jobs-dense .scheduler-week-day-lanes{gap:.4rem;padding:.45rem}.scheduler-week-day .scheduler-calendar-lane.compact{border-radius:9px;border-top-width:3px}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-header{gap:.35rem;padding:.4rem}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-header>div:first-child{min-width:0}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-header h4{display:-webkit-box;font-size:.74rem;line-height:1.18;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-header p{font-size:.65rem;line-height:1.15;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-actions{flex-shrink:0;gap:.18rem}.scheduler-week-day .scheduler-calendar-lane.compact .badge{font-size:.64rem;padding:.2rem .34rem;white-space:nowrap}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-job-drag-handle{padding:.18rem}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-job-drag-handle svg{height:14px;width:14px}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-body{gap:.25rem;min-height:34px;padding:.35rem}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-calendar-lane-empty{min-height:28px}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-operator-chip{font-size:.7rem;gap:.28rem;min-height:30px;padding:.28rem .35rem}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-operator-details{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-operator-details>span,.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-operator-details small{display:inline}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-operator-details small:before{content:" · "}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-machine-chip{font-size:.7rem;min-height:28px;padding:.26rem .35rem}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-resource-label{display:none}.scheduler-week-day .scheduler-calendar-lane.compact .scheduler-resource-dropdown summary{font-size:.7rem;padding:.38rem .45rem}.scheduler-week-day.jobs-ultra-dense .scheduler-week-day-lanes{gap:.3rem;padding:.35rem}.scheduler-week-day.jobs-ultra-dense .scheduler-calendar-lane.compact .scheduler-calendar-lane-header{padding:.32rem}.scheduler-week-day.jobs-ultra-dense .scheduler-calendar-lane.compact .scheduler-calendar-lane-body{padding:.28rem}.scheduler-operator-details{display:flex;flex:1;flex-direction:column;gap:.12rem;min-width:0}.scheduler-operator-details small{color:var(--color-text-muted);font-size:.7rem;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.scheduler-operator-details small.missing{color:#b45309}.scheduler-row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;border-bottom:1px solid #f1ebe3}.scheduler-row-allocation-warning{align-items:center;border-radius:7px;display:flex;font-size:.8rem;font-weight:750;gap:.35rem;margin-top:.55rem;padding:.35rem .5rem}.scheduler-row-card.allocation-critical .scheduler-row-allocation-warning{background:var(--color-bg-danger);color:#991b1b}.scheduler-row-card.allocation-warning .scheduler-row-allocation-warning{background:var(--color-bg-warning);color:var(--color-warning-text)}.scheduler-row-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.scheduler-subtitle{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.scheduler-chip-row{margin-bottom:.8rem}.scheduler-cost-centre-select{border-radius:6px;font-size:.85rem;padding:.35rem .55rem;width:auto}.scheduler-row-card.density-comfort .scheduler-row-header{padding:1.15rem}.scheduler-row-card.density-comfort .scheduler-row-body{gap:1.25rem;padding:1.15rem}.scheduler-row-card.density-comfort .scheduler-subtitle{margin-bottom:.6rem}.scheduler-row-card.density-comfort .scheduler-chip-row{margin-bottom:1rem}.scheduler-row-card.density-compact .scheduler-row-header{gap:.6rem;padding:.6rem .75rem}.scheduler-row-card.density-compact .scheduler-row-header .subtle{font-size:.8rem;line-height:1.25}.scheduler-row-card.density-compact .scheduler-row-header .actions-row{gap:.35rem}.scheduler-row-card.density-compact .scheduler-row-header .btn{min-height:30px;padding:.35rem .55rem}.scheduler-row-card.density-compact .scheduler-row-header .badge{padding:.25rem .45rem}.scheduler-row-card.density-compact .scheduler-row-body{gap:.55rem;padding:.6rem .75rem}.scheduler-row-card.density-compact .scheduler-subtitle{font-size:.8rem;margin-bottom:.3rem}.scheduler-row-card.density-compact .scheduler-chip-row{gap:.35rem;margin-bottom:.45rem}.scheduler-row-card.density-compact .chip{font-size:.82rem;padding:.32rem .52rem}.scheduler-row-card.density-compact .scheduler-cost-centre-select{font-size:.8rem;padding:.25rem .4rem}.week-preview-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.week-preview-card{text-align:left;border:1px solid var(--border);border-radius:18px;background:var(--color-surface);padding:.9rem;cursor:pointer}.week-preview-card.active{background:var(--color-surface-alt);border-color:var(--orange)}.week-preview-card.allocation-critical{border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c24}.week-preview-card.allocation-warning{border-color:var(--color-warning);box-shadow:0 0 0 2px #d977061f}.week-preview-staffing-critical,.week-preview-staffing-warning{font-size:.78rem;font-weight:750;margin-top:.3rem}.week-preview-staffing-critical{color:#991b1b}.week-preview-staffing-warning{color:var(--color-warning-text)}@media(forced-colors:active){.scheduler-calendar-lane.allocation-critical,.scheduler-calendar-lane.allocation-warning,.scheduler-row-card.allocation-critical,.scheduler-row-card.allocation-warning,.week-preview-card.allocation-critical,.week-preview-card.allocation-warning{border:3px solid CanvasText;box-shadow:none}}@media(max-width:1280px){.scheduler-grid,.scheduler-row-body,.week-preview-grid{grid-template-columns:1fr}}@media(max-width:720px){.scheduler-week-calendar-header,.scheduler-day-calendar-header{align-items:flex-start;flex-direction:column}}.audit-log-table{font-size:13px}.audit-log-row{cursor:pointer}.audit-log-row:hover{background:var(--color-surface-alt)}.audit-log-row td{padding:8px 12px;vertical-align:middle}.cell-date{white-space:nowrap;font-size:12px;color:var(--color-text-muted)}.cell-id{font-family:monospace;font-size:11px;color:#9ca3af}.cell-toggle{text-align:center;font-size:10px;color:#9ca3af;width:24px}.audit-action{background:#f3f0eb;padding:2px 6px;border-radius:4px;font-size:11px;color:var(--color-text)}.audit-payload-row td{padding:0}.audit-payload{margin:0;padding:12px 16px;background:var(--color-bg);font-size:11px;line-height:1.6;overflow-x:auto;max-height:300px;overflow-y:auto;border-top:1px solid var(--border);white-space:pre-wrap;font-family:monospace;color:#374151}.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filter-bar select,.filter-bar input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--color-surface);min-width:140px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.pagination-info{font-size:13px;color:var(--color-text-muted)}.notification-bell-wrapper{position:relative}.notification-bell-btn{position:relative;padding:6px 10px}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:360px;max-height:480px;background:var(--color-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--color-bg)}.notification-dropdown-title{font-weight:700;font-size:14px;color:var(--color-text)}.notification-dropdown-body{overflow-y:auto;flex:1}.notification-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}.notification-item{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f3f0eb;gap:8px}.notification-item:hover,.notification-item.unread{background:var(--color-surface-alt)}.notification-item-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notification-item-title{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.4}.notification-item-message{font-size:12px;color:var(--color-text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.notification-item-time{font-size:11px;color:#9ca3af;white-space:nowrap}.notification-mark-read{background:none;border:none;cursor:pointer;color:var(--orange);font-size:10px;padding:2px;line-height:1}.notification-mark-read:hover{color:var(--orange-dark)}.btn-ghost{background:none;border:none;cursor:pointer;color:var(--orange);font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.btn-ghost:hover{background:#f973161a}.btn-sm{font-size:12px;padding:4px 8px}.allocation-board{display:grid;grid-template-columns:300px 1fr;gap:1rem;align-items:start}.allocation-pools{display:flex;flex-direction:column;gap:1rem}.pool-chip-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.drag-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .75rem;border-radius:12px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;font-size:.85rem;border:1px solid var(--border);background:var(--color-surface);box-shadow:0 1px 3px #0000000f}.drag-chip:active{cursor:grabbing}.person-chip{border-left:3px solid #3b82f6}.person-chip[data-person-type=OPERATOR]{border-left-color:#8b5cf6}.person-chip[data-person-type=PIPELAYER]{border-left-color:#06b6d4}.person-chip[data-person-type=GENERAL_WORKER]{border-left-color:#3b82f6}.machine-chip{border-left:3px solid #22c55e}.assigned-chip{cursor:default}.allocation-jobs{display:flex;flex-direction:column;gap:.75rem}.job-column{background:var(--color-surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:box-shadow .15s}.job-column.drag-over{box-shadow:0 0 0 3px var(--orange);background:var(--color-surface-alt)}.job-column-header{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.9rem;border-bottom:1px solid var(--border)}.job-column-body{padding:.5rem;display:flex;flex-direction:column;gap:.4rem;min-height:60px}.chip-remove{margin-left:auto;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:1rem;line-height:1;padding:0 .15rem}.chip-remove:hover{color:#ef4444}.filter-select{width:auto;padding:.3rem .5rem;border-radius:8px;font-size:.8rem}.search-input{margin-top:.5rem;padding:.5rem;border-radius:10px;font-size:.85rem}.keyboard-assignment-form{align-items:end;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;margin-top:1rem}.keyboard-assignment-form .btn{min-height:48px}.overview-job-row{margin-bottom:1rem;padding:1rem;background:var(--color-surface-alt);border-radius:16px}.overview-job-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.overview-section{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.9rem}.schedule-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.schedule-header{display:grid;grid-template-columns:180px repeat(7,1fr);background:#f9fafb;border-bottom:2px solid var(--border)}.schedule-row{display:grid;grid-template-columns:180px repeat(7,1fr);border-bottom:1px solid var(--border)}.schedule-row:last-child{border-bottom:none}.schedule-cell{padding:.5rem;display:flex;align-items:center;gap:.35rem;min-height:44px;font-size:.85rem;border-right:1px solid var(--border)}.schedule-cell:last-child{border-right:none}.schedule-cell.schedule-label{background:#f9fafb;font-weight:500;flex-shrink:0}.schedule-day-header{flex-direction:column;justify-content:center;text-align:center;gap:.15rem}.schedule-day-header .subtle{font-size:.75rem}.schedule-cell.today{background:#fffdf5}.schedule-job-chip{display:inline-block;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.job-manager-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.job-manager-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--border);border-radius:10px}.job-manager-item.inactive{opacity:.6;background:#f9fafb}.job-manager-info{display:flex;align-items:center;gap:.5rem;padding-left:.5rem}@media(min-width:1081px){.allocation-page{gap:.55rem}.allocation-toolbar-card,.allocation-keyboard-card,.allocation-job-manager,.allocation-schedule-card,.allocation-overview-card{border-radius:14px;padding:.65rem .75rem}.allocation-header{align-items:flex-start;gap:.75rem}.allocation-header .section-title{min-width:0}.allocation-tabs{flex:0 0 auto;flex-wrap:nowrap;gap:.3rem}.allocation-tabs .btn{min-height:32px;padding:.35rem .58rem}.allocation-toolbar-grid{align-items:end;display:grid;gap:.45rem;grid-template-columns:minmax(190px,240px) minmax(0,1fr);margin-top:.35rem}.allocation-toolbar-grid .field{gap:.18rem}.allocation-toolbar-grid input{min-height:34px;padding:.35rem .55rem}.allocation-toolbar-actions{align-items:center;flex-wrap:wrap;gap:.3rem}.allocation-toolbar-actions .btn{min-height:32px;padding:.35rem .52rem}.allocation-keyboard-card .section-title{margin-bottom:.3rem}.keyboard-assignment-form{gap:.45rem;margin-top:.35rem}.keyboard-assignment-form .field{gap:.18rem}.keyboard-assignment-form select,.keyboard-assignment-form .btn{min-height:34px}.keyboard-assignment-form select{padding:.35rem .55rem}.keyboard-assignment-form .btn{padding:.38rem .6rem}.allocation-board{gap:.55rem;grid-template-columns:230px minmax(0,1fr)}.allocation-pools{gap:.55rem}.allocation-pool-card{border-radius:12px;padding:.55rem .65rem}.allocation-pool-card .section-title{margin-bottom:.2rem}.allocation-pool-card .actions-row{gap:.35rem}.filter-select{font-size:.72rem;min-height:30px;max-width:105px;padding:.25rem 1.45rem .25rem .4rem}.search-input{border-radius:8px;font-size:.76rem;margin-top:.3rem;min-height:32px;padding:.35rem .45rem}.pool-chip-list{gap:.25rem;margin-top:.3rem}.drag-chip{border-radius:8px;font-size:.76rem;gap:.32rem;padding:.32rem .48rem}.allocation-jobs{gap:.4rem}.job-column{border-radius:11px}.job-column-header{font-size:.8rem;gap:.38rem;padding:.4rem .55rem}.job-column-body{gap:.25rem;min-height:42px;padding:.35rem}.chip-remove{font-size:.9rem}.allocation-job-manager .form-grid{margin-bottom:.55rem!important}.job-manager-list{gap:.3rem;max-height:320px}.job-manager-item{border-radius:8px;padding:.35rem .5rem}.overview-job-row{border-radius:10px;margin-bottom:.45rem;padding:.55rem}.overview-job-header{gap:.35rem;margin-bottom:.4rem}.overview-section{font-size:.8rem;margin-bottom:.3rem}.schedule-header,.schedule-row{grid-template-columns:150px repeat(7,1fr)}.schedule-cell{font-size:.75rem;min-height:34px;padding:.3rem}.schedule-job-chip{border-radius:6px;font-size:.68rem;padding:.2rem .35rem}}@media(max-width:1080px){.allocation-board,.keyboard-assignment-form{grid-template-columns:1fr}.schedule-header,.schedule-row{grid-template-columns:140px repeat(7,1fr)}.schedule-cell{padding:.35rem;font-size:.75rem}}.marketplace-banner{border-radius:18px;padding:.9rem 1rem;border:1px solid var(--border);background:var(--color-surface)}.marketplace-banner.good{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.marketplace-banner.warn{border-color:#fde68a;background:#fffbeb;color:var(--color-warning-text)}.marketplace-banner.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.marketplace-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.marketplace-tabs{display:flex;gap:.65rem;flex-wrap:wrap}.marketplace-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto;gap:1rem;align-items:end}.marketplace-checkbox{display:inline-flex;align-items:center;gap:.65rem;min-height:52px;font-weight:600}.marketplace-checkbox input{width:auto}.marketplace-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:1rem;align-items:start}.marketplace-list,.marketplace-detail{min-width:0}.marketplace-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.marketplace-panel-header h3,.marketplace-panel-header h4{margin:0}.marketplace-list-stack,.marketplace-version-stack,.marketplace-queue{display:flex;flex-direction:column;gap:.85rem}.marketplace-item{width:100%;text-align:left;border:1px solid var(--border);border-radius:18px;padding:1rem;background:var(--color-surface-alt);color:inherit}.marketplace-item.active{border-color:var(--orange);background:#fff4e8;box-shadow:inset 0 0 0 1px #f973161f}.marketplace-item-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.marketplace-summary{margin:.75rem 0;color:#4b5563;line-height:1.55}.marketplace-meta-line,.marketplace-meta-grid,.marketplace-links{display:flex;gap:.85rem;flex-wrap:wrap;color:var(--color-text-muted);font-size:.92rem}.marketplace-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.75rem}.marketplace-links{margin-bottom:.75rem}.marketplace-links a{color:var(--orange-dark);font-weight:600}.marketplace-description{margin-top:1rem;padding:1rem;border-radius:18px;background:var(--color-surface-alt);border:1px solid #f2e8dc;white-space:pre-wrap;line-height:1.65}.marketplace-action-card,.marketplace-form-card,.marketplace-version-card{border:1px solid #efe6d8;border-radius:18px;padding:1rem;background:var(--color-surface-alt)}.marketplace-empty{border:1px dashed #d6c5b0;border-radius:18px;padding:1rem;background:#fffdf9}.marketplace-json{margin:.85rem 0 0;padding:.9rem;border-radius:16px;background:#1f2937;color:#f9fafb;font-size:.82rem;line-height:1.55;overflow-x:auto;white-space:pre-wrap}.marketplace-button-row{display:inline-flex;gap:.75rem;flex-wrap:wrap}.integration-analytics{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.connector-heading{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.connector-heading .section-title{flex:1;min-width:220px}.connector-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#13b5ea;color:#fff;font-size:1.25rem;font-weight:800}.connector-mark.myob{background:#6f2c91}.connector-mark.qbo{background:#2ca01c}.connector-mark.sage{background:#008f65}.sage-connector .segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));width:min(420px,100%)}.connector-action-panel{display:flex;justify-content:space-between;align-items:end;gap:1rem}.connector-action-panel h3{margin:0}.connector-sync-select{min-width:min(360px,100%)}.connector-details-grid{align-items:start}.connector-definition-list{margin:0;display:grid;gap:.8rem}.connector-definition-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;border-bottom:1px solid #f1ebe3;padding-bottom:.8rem}.connector-definition-list>div:last-child{border-bottom:0;padding-bottom:0}.connector-definition-list dt{color:var(--color-text-muted)}.connector-definition-list dd{margin:0;overflow-wrap:anywhere}.connector-scroll-list{max-height:330px;overflow:auto}.connector-table-wrap{overflow-x:auto}.connector-table{width:100%;border-collapse:collapse;min-width:720px}.connector-table th,.connector-table td{padding:.75rem;text-align:left;border-bottom:1px solid #f1ebe3}.connector-table th{color:var(--color-text-muted);font-size:.82rem;font-weight:600}.construction-connectors{min-width:0}.construction-connectors input,.construction-connectors select,.construction-connectors textarea{border-radius:6px}.connector-mark.construction{background:#166534}.construction-provider-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #d8dee6;border-radius:8px;overflow:hidden;background:var(--color-surface)}.construction-provider-tabs button{min-width:0;min-height:58px;display:grid;grid-template-columns:18px minmax(0,1fr) 8px;align-items:center;gap:.5rem;border:0;border-right:1px solid #e5e7eb;padding:.55rem .7rem;background:var(--color-surface);color:#374151;text-align:left;cursor:pointer}.construction-provider-tabs button:last-child{border-right:0}.construction-provider-tabs button span:nth-child(2){overflow-wrap:anywhere;font-size:.82rem;line-height:1.25}.construction-provider-tabs button.active{background:#17202a;color:#fff}.construction-provider-tabs button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:-3px}.construction-status-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db}.construction-status-dot.active{background:#22c55e}.construction-loading{min-height:140px;display:grid;place-items:center;color:var(--color-text-muted)}.construction-empty-band{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-block:1px solid #e5e7eb;padding:.8rem 0}.construction-tool{border-radius:8px;box-shadow:none}.construction-import-form{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(240px,1.3fr) auto;gap:1rem;align-items:end}.construction-import-form:has(.construction-file-field:nth-child(3)){grid-template-columns:minmax(190px,.7fr) minmax(200px,.8fr) minmax(240px,1.2fr) auto}.construction-file-field input{min-height:48px;padding:.55rem}.construction-form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.construction-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.construction-section-heading h3{margin:0;font-size:1.05rem}.construction-job-filter{width:min(340px,100%)}.construction-records,.construction-import-history{padding-top:.25rem}.construction-record-table{min-width:1040px;table-layout:fixed}.construction-record-table th:nth-child(1){width:20%}.construction-record-table th:nth-child(2){width:13%}.construction-record-table th:nth-child(3){width:16%}.construction-record-table th:nth-child(4){width:15%}.construction-record-table th:nth-child(5){width:15%}.construction-record-table th:nth-child(6){width:13%}.construction-record-table th:nth-child(7){width:92px}.construction-record-table td{overflow-wrap:anywhere;vertical-align:top}.construction-source-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.3rem;color:#1d4ed8;font-size:.82rem;font-weight:600}.construction-row-actions{min-height:42px;display:flex;gap:.35rem;justify-content:flex-end}.construction-import-error{max-width:460px;margin-top:.3rem;color:#991b1b;font-size:.78rem;overflow-wrap:anywhere}.construction-dialog-form{padding-top:.25rem}.construction-dialog-form textarea{min-height:100px}.workforce-connectors{min-width:0}.workforce-connectors input,.workforce-connectors select,.workforce-connectors textarea{border-radius:6px}.connector-mark.workforce{background:#0f766e}.workforce-view-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d8dee6;border-radius:8px;overflow:hidden;background:var(--color-surface)}.workforce-view-tabs button{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-right:1px solid #e5e7eb;padding:.6rem;background:var(--color-surface);color:#374151;cursor:pointer}.workforce-view-tabs button:last-child{border-right:0}.workforce-view-tabs button.active{background:#17202a;color:#fff}.workforce-view-tabs button:focus-visible{outline:3px solid rgba(15,118,110,.3);outline-offset:-3px}.workforce-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.workforce-connection-layout{display:grid;grid-template-columns:minmax(210px,.38fr) minmax(0,1fr);gap:1rem;align-items:start}.workforce-provider-list{border:1px solid #d8dee6;border-radius:8px;overflow:hidden;background:var(--color-surface)}.workforce-provider-list .construction-section-heading{padding:.8rem;margin:0;border-bottom:1px solid #e5e7eb}.workforce-provider-list>button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:0;border-bottom:1px solid #eef0f3;padding:.65rem .8rem;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.workforce-provider-list>button:last-child{border-bottom:0}.workforce-provider-list>button.active{background:#eef7f5;box-shadow:inset 3px 0 #0f766e}.workforce-provider-list>button span:first-child{min-width:0;display:grid;gap:.15rem}.workforce-provider-list small{color:var(--color-text-muted);font-size:.72rem}.workforce-status-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#d1d5db}.workforce-status-dot.installed{background:#f59e0b}.workforce-status-dot.active{background:#16a34a}.workforce-config-panel,.workforce-action-panel{border-radius:8px;box-shadow:none}.workforce-empty{min-height:150px;display:flex;align-items:center;justify-content:center;gap:1rem;flex-direction:column}.workforce-event-options{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;border:1px solid #d8dee6;border-radius:6px;padding:.7rem}.workforce-event-options legend{padding:0 .35rem;color:#4b5563;font-size:.84rem}.workforce-event-options label{display:inline-flex;align-items:center;gap:.4rem}.workforce-signing-frame{min-width:0}.workforce-signing-frame iframe{width:100%;height:min(760px,74vh);min-height:520px;border:1px solid #d8dee6;border-radius:8px;background:var(--color-surface)}@media(max-width:1240px){.construction-provider-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.construction-provider-tabs button:nth-child(3){border-right:0}.construction-provider-tabs button:nth-child(-n+3){border-bottom:1px solid #e5e7eb}.construction-import-form,.construction-import-form:has(.construction-file-field:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}.workforce-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.construction-provider-tabs{grid-template-columns:1fr 1fr}.construction-provider-tabs button,.construction-provider-tabs button:nth-child(3){border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.construction-provider-tabs button:nth-child(2n){border-right:0}.construction-provider-tabs button:nth-last-child(-n+2){border-bottom:0}.construction-import-form,.construction-import-form:has(.construction-file-field:nth-child(3)),.construction-form-columns{grid-template-columns:1fr}.construction-import-form .actions-row{justify-content:stretch}.construction-import-form .btn{justify-content:center;flex:1}.construction-section-heading{align-items:stretch;flex-direction:column}.construction-job-filter{width:100%}.construction-empty-band{align-items:stretch;flex-direction:column}.workforce-view-tabs{grid-template-columns:1fr 1fr}.workforce-view-tabs button{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.workforce-view-tabs button:nth-child(2n){border-right:0}.workforce-view-tabs button:last-child{grid-column:1 / -1;border-right:0;border-bottom:0}.workforce-connection-layout,.workforce-stats{grid-template-columns:1fr}.workforce-signing-frame iframe{min-height:440px}}.connector-health-dashboard{min-width:0}.connector-health-heading,.connector-health-heading-actions,.connector-health-detail-head,.connector-health-panel-heading,.connector-health-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem}.connector-health-heading{align-items:flex-end}.connector-health-heading-actions{justify-content:flex-end}.connector-company-select{min-width:min(320px,60vw)}.connector-icon-button{width:42px;height:42px;padding:0;justify-content:center;border-radius:8px}.connector-health-loading{min-height:150px;display:grid;place-items:center;color:var(--color-text-muted)}.connector-health-summary,.connector-mapping-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.connector-health-summary>div,.connector-mapping-band>div{min-width:0;padding:.9rem 1rem;background:var(--color-surface)}.connector-health-summary span,.connector-mapping-band span{display:block;color:var(--color-text-muted);font-size:.8rem}.connector-health-summary strong,.connector-mapping-band strong{display:block;margin-top:.3rem;font-size:1.35rem;overflow-wrap:anywhere}.connector-health-summary .attention,.connector-mapping-band .attention{background:var(--color-surface-hover)}.connector-health-summary .attention strong,.connector-mapping-band .attention strong{color:#c2410c}.connector-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:.75rem}.connector-health-card{min-width:0;min-height:168px;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--color-surface);color:inherit;text-align:left;cursor:pointer}.connector-health-card:hover{border-color:#c7a87d}.connector-health-card.selected{border-color:#c2410c;box-shadow:inset 0 0 0 1px #c2410c}.connector-health-card:focus-visible{outline:3px solid rgba(249,115,22,.3);outline-offset:2px}.connector-health-card-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.7rem;align-items:center}.connector-health-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#13b5ea;font-weight:800}.connector-health-mark.myob{background:#6f2c91}.connector-health-mark.qbo{background:#2e7d32}.connector-health-mark.sage{background:#007a58}.connector-health-name{min-width:0;display:grid;gap:.2rem}.connector-health-name strong,.connector-health-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connector-health-name small{color:var(--color-text-muted)}.connector-health-card-metrics{margin:1rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.connector-health-card-metrics div{min-width:0}.connector-health-card-metrics dt{color:var(--color-text-muted);font-size:.74rem}.connector-health-card-metrics dd{margin:.3rem 0 0;font-size:.84rem;font-weight:650;overflow-wrap:anywhere}.connector-health-detail-head{align-items:flex-end;padding:.2rem 0}.connector-health-detail-head h3,.connector-health-panel-heading h3{margin:0;font-size:1.05rem}.connector-health-detail-head .subtle,.connector-health-panel-heading .subtle{margin:.25rem 0 0}.connector-health-panels{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:1rem;align-items:start}.connector-health-panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--color-surface);padding:1rem}.connector-health-chart{width:100%;height:320px;margin-top:.5rem}.connector-health-chart-empty{height:100%;display:grid;place-items:center;border:1px dashed var(--border);border-radius:8px;color:var(--color-text-muted)}.connector-error-list{display:grid;gap:.6rem;margin-top:.8rem;max-height:410px;overflow-y:auto}.connector-error-item{border:1px solid #eadfce;border-radius:8px;background:var(--color-surface-alt)}.connector-error-item summary{min-height:58px;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;cursor:pointer;list-style-position:inside}.connector-error-item summary>span:first-of-type{min-width:0;display:grid;gap:.15rem}.connector-error-item summary small{color:var(--color-text-muted);font-size:.78rem}.connector-error-detail{padding:0 .8rem .8rem;border-top:1px solid #f1e7da}.connector-error-detail p{margin:.7rem 0;overflow-wrap:anywhere}.connector-error-resolution{display:grid;gap:.2rem;padding:.65rem;margin-bottom:.7rem;border-left:3px solid #2563eb;background:#eff6ff;color:#1e3a8a;font-size:.85rem}.connector-health-clear{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#166534}.connector-health-pagination{justify-content:center;margin-top:.8rem;font-size:.84rem;color:var(--color-text-muted)}.connector-health-pagination .btn{min-height:36px;padding:.45rem .7rem;border-radius:8px}.connector-health-updated{margin:-.4rem 0 0;color:var(--color-text-muted);font-size:.78rem;text-align:right}.spin{animation:connector-health-spin .8s linear infinite}@keyframes connector-health-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.connector-action-panel{align-items:stretch;flex-direction:column}.connector-action-panel .actions-row{justify-content:stretch}.connector-action-panel .btn{justify-content:center}.connector-definition-list>div{grid-template-columns:1fr;gap:.25rem}.connector-health-heading,.connector-health-heading-actions,.connector-health-detail-head{align-items:stretch;flex-direction:column}.connector-company-select{min-width:0;width:100%}.connector-health-heading-actions{width:100%}.connector-health-heading-actions .connector-icon-button{align-self:flex-end}.connector-health-summary,.connector-mapping-band{grid-template-columns:repeat(2,minmax(0,1fr))}.connector-health-card-top{grid-template-columns:38px minmax(0,1fr)}.connector-health-card-top .badge{grid-column:1 / -1;justify-self:start}.connector-health-card-metrics{grid-template-columns:1fr}.connector-health-card{min-height:0}.connector-health-detail-head .actions-row{justify-content:stretch}.connector-health-detail-head .btn{justify-content:center;flex:1 1 150px}.connector-health-panels{grid-template-columns:1fr}.connector-health-chart{height:290px}.connector-error-item summary{align-items:flex-start}}.integration-analytics-header,.integration-health-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.integration-analytics-header h4,.integration-analytics-tables h5{margin:0}.integration-health-line{justify-content:flex-start}.integration-health-line .badge{display:inline-flex;align-items:center;gap:.35rem}.segmented-control{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented-control button{min-height:36px;padding:.35rem .7rem;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--color-surface);color:#374151;white-space:nowrap}.segmented-control button:last-child{border-right:0}.segmented-control button.active{background:#1f2937;color:#fff}.integration-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:1rem 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--border)}.integration-metrics>div{min-width:0;padding:.8rem;background:var(--color-surface)}.integration-metrics span,.integration-metrics small{display:block;color:var(--color-text-muted);font-size:.78rem}.integration-metrics strong{display:block;margin-top:.2rem;font-size:1.15rem}.integration-chart{width:100%;height:240px}.integration-chart-empty{display:grid;place-items:center;height:100%;border:1px dashed var(--border);color:var(--color-text-muted)}.integration-analytics-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.integration-table-wrap{margin-top:.6rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.integration-table-wrap table{width:100%;border-collapse:collapse;font-size:.82rem}.integration-table-wrap th,.integration-table-wrap td{padding:.6rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.integration-table-wrap th{background:#f9fafb;color:#4b5563}.integration-table-wrap tr:last-child td{border-bottom:0}.integration-operations{min-width:0}.integration-operations-heading,.integration-operations-toolbar,.integration-operations-panel-heading,.integration-webhook-row-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.integration-operations-heading{align-items:flex-end}.integration-operations-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.integration-operations-tabs .btn{min-height:38px}.integration-operations-view,.integration-operations-panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--color-surface);padding:1rem}.integration-operations-view h3,.integration-operations-panel h3{margin:0;font-size:1.05rem}.integration-operations-toolbar .subtle,.integration-operations-panel-heading .subtle{margin:.25rem 0 0}.integration-operations-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:1rem 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--border)}.integration-operations-metrics>div{min-width:0;padding:.8rem;background:var(--color-surface)}.integration-operations-metrics span{display:block;color:var(--color-text-muted);font-size:.78rem}.integration-operations-metrics strong{display:block;margin-top:.2rem;font-size:1.15rem;overflow-wrap:anywhere}.integration-operations-metrics .attention{background:var(--color-surface-hover);color:#9a3412}.integration-operations-metrics .attention span{color:#9a3412}.integration-operations-chart{width:100%;height:320px}.integration-operations-updated{margin:.5rem 0 0;text-align:right;color:var(--color-text-muted);font-size:.78rem}.integration-operations-split{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:1rem;align-items:start}.integration-operations-panel{display:grid;gap:1rem}.integration-event-picker{min-width:0;display:grid;gap:.4rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.integration-event-picker legend{padding:0 .25rem;font-size:.84rem;font-weight:650}.integration-event-picker label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.5rem;align-items:start;padding:.45rem;border-radius:6px;cursor:pointer}.integration-event-picker label:hover{background:#f9fafb}.integration-event-picker input{margin:.2rem 0 0}.integration-event-picker label span{min-width:0;display:grid;gap:.1rem}.integration-event-picker small{color:var(--color-text-muted);overflow-wrap:anywhere}.integration-secret{display:grid;gap:.65rem;padding:.8rem;border:1px solid #86efac;border-radius:8px;background:#f0fdf4}.integration-secret>div:first-child{display:grid;gap:.15rem}.integration-secret span{color:#166534;font-size:.82rem}.integration-secret code{padding:.55rem;border:1px solid #bbf7d0;border-radius:6px;background:var(--color-surface);overflow-wrap:anywhere}.integration-webhook-list,.integration-delivery-list,.integration-ai-list{display:grid;gap:.65rem}.integration-webhook-row,.integration-ai-list article{min-width:0;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--color-surface)}.integration-webhook-row-head{align-items:flex-start}.integration-webhook-row-head>div{min-width:0;display:grid;gap:.3rem}.integration-webhook-row-head code{overflow-wrap:anywhere;white-space:normal}.integration-event-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0}.integration-webhook-row dl,.integration-delivery-detail dl,.integration-rule-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0 0 .8rem}.integration-webhook-row dl div,.integration-delivery-detail dl div,.integration-rule-preview dl div{min-width:0}.integration-webhook-row dt,.integration-delivery-detail dt,.integration-rule-preview dt{color:var(--color-text-muted);font-size:.75rem}.integration-webhook-row dd,.integration-delivery-detail dd,.integration-rule-preview dd{margin:.2rem 0 0;font-size:.84rem;overflow-wrap:anywhere}.integration-delivery-filters{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:.6rem}.integration-delivery-row{border:1px solid var(--border);border-radius:8px;background:var(--color-surface)}.integration-delivery-row summary{min-height:60px;display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem;cursor:pointer}.integration-delivery-row summary>span{min-width:0;display:grid;gap:.2rem}.integration-delivery-row summary>span:last-child{justify-items:end}.integration-delivery-row summary small{color:var(--color-text-muted);font-size:.78rem;overflow-wrap:anywhere}.integration-delivery-detail{display:grid;gap:.8rem;padding:.8rem;border-top:1px solid var(--border)}.integration-delivery-detail pre{max-height:320px;margin:.5rem 0 0;padding:.75rem;overflow:auto;border-radius:6px;background:#111827;color:#f9fafb;font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.integration-delivery-error{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem;border-left:3px solid #dc2626;background:#fef2f2;color:#991b1b;font-size:.84rem;overflow-wrap:anywhere}.integration-operations-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--color-text-muted);text-align:center}.integration-intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.integration-ai-list article{display:grid;gap:.45rem}.integration-ai-list article>div,.integration-rule-preview>div:first-child{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.integration-ai-list p,.integration-rule-preview p{margin:0;color:#374151;font-size:.86rem}.integration-ai-list small{color:var(--color-text-muted);line-height:1.45}.integration-rule-builder{grid-column:1 / -1}.integration-rule-preview{display:grid;gap:.75rem;padding:.8rem;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.integration-rule-preview dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}@media(max-width:1080px){.marketplace-stats,.marketplace-grid,.marketplace-toolbar,.marketplace-meta-grid,.integration-metrics,.integration-analytics-tables{grid-template-columns:1fr}.marketplace-panel-header,.marketplace-item-top,.integration-analytics-header{flex-direction:column}.integration-operations-metrics,.integration-operations-split,.integration-intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-operations-split{grid-template-columns:1fr}.integration-rule-builder{grid-column:auto}}@media(max-width:720px){.integration-operations-heading,.integration-operations-toolbar,.integration-operations-panel-heading{align-items:stretch;flex-direction:column}.integration-operations-heading .connector-icon-button{align-self:flex-end}.integration-operations-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.integration-operations-tabs .btn{justify-content:center;min-width:0}.integration-operations-metrics,.integration-intelligence-grid,.integration-delivery-filters{grid-template-columns:1fr}.integration-operations-chart{height:280px}.integration-webhook-row dl,.integration-delivery-detail dl,.integration-rule-preview dl{grid-template-columns:1fr}.integration-webhook-row-head,.integration-delivery-row summary{align-items:flex-start}.integration-delivery-row summary>span:last-child{justify-items:start}}.inset-panel{margin-top:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface-alt)}.field-inline{display:inline-flex;align-items:center;gap:.5rem}.notice{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem}.notice.warning{color:var(--color-warning-text);background:#fffbeb;border:1px solid #fde68a}.notice.danger{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.day-sheet-heading-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.day-sheet-facts{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.day-sheet-facts>div{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px;display:flex;flex-direction:column;gap:.3rem;padding:.8rem}.day-sheet-facts span,.day-sheet-detail-list dt,.day-sheet-label{color:var(--color-text-muted);font-size:.86rem;font-weight:600}.day-sheet-add-attachment{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;margin-top:1rem}.day-sheet-override{align-items:flex-start;margin-bottom:1rem}.day-sheet-signature .swms-signature-wrap{border:1px solid var(--color-border);border-radius:8px;height:180px;margin-top:.45rem;overflow:hidden;position:relative}.day-sheet-signature .swms-signature-canvas{display:block;height:100%;touch-action:none;width:100%}.day-sheet-signature .swms-icon-button{bottom:.5rem;position:absolute;right:.5rem}.day-sheet-history-row,.day-sheet-list-row{text-align:left;width:100%}.day-sheet-history-row>span:first-child,.day-sheet-list-row>span:first-child{display:flex;flex-direction:column;gap:.2rem}.day-sheet-list-row.active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.day-sheet-admin-grid{display:grid;gap:1rem;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr)}.day-sheet-detail-card{display:flex;flex-direction:column;gap:1rem;min-width:0}.day-sheet-detail-list{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.day-sheet-detail-list>div{border-bottom:1px solid var(--color-border);padding-bottom:.55rem}.day-sheet-detail-list dd{margin:.2rem 0 0}.day-sheet-preserve-lines{white-space:pre-wrap}.day-sheet-signature-image{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-height:180px;max-width:100%}.day-sheet-filter-row{flex-wrap:wrap}@media(max-width:820px){.day-sheet-admin-grid,.day-sheet-facts,.day-sheet-add-attachment{grid-template-columns:1fr}}.invoice-workspace{min-width:0}.invoice-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-direction-card{display:grid;gap:1rem}.invoice-direction-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.invoice-direction-tabs>button{display:flex;gap:.75rem;align-items:center;min-width:0;padding:.9rem 1rem;border:1px solid var(--border);border-radius:16px;background:var(--color-surface-alt);color:var(--color-text);text-align:left;cursor:pointer}.invoice-direction-tabs>button span{display:grid;gap:.15rem}.invoice-direction-tabs>button strong{font-size:1rem}.invoice-direction-tabs>button small{color:var(--color-text-muted);font-size:.82rem}.invoice-direction-tabs>button.active.outgoing{border-color:#ea580c;background:var(--color-surface-hover);color:#9a3412}.invoice-direction-tabs>button.active.incoming{border-color:#2563eb;background:#eff6ff;color:#1e40af}.invoice-direction-tabs>button.active small{color:currentColor;opacity:.78}.invoice-toolbar{display:flex;justify-content:flex-start}.invoice-toolbar .btn{width:auto}.invoice-card{display:grid;gap:.8rem;border-left-width:4px}.invoice-card.outgoing{border-left-color:#ea580c}.invoice-card.incoming{border-left-color:#2563eb}.invoice-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.invoice-card-head>div:first-child{display:grid;gap:.2rem}.invoice-card-head>div:first-child>strong{font-size:1.08rem}.invoice-card-kicker{color:var(--color-text-muted);font-size:.72rem;font-weight:750;letter-spacing:.08em}.invoice-card-meta{display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;padding-top:.8rem;border-top:1px solid var(--border);color:var(--color-text-muted);font-size:.9rem}.invoice-card-meta strong{color:var(--color-text)}.invoice-actions{justify-content:flex-start}.empty-state{display:grid;gap:.35rem;justify-items:start;color:var(--color-text-muted)}.empty-state strong{color:var(--color-text)}.btn-success{background:#15803d;color:#fff}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a94}.modal-content{width:min(600px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}.modal-content>.card{box-shadow:0 24px 70px #0f172a38}.staff-information-modal{width:min(920px,100%);max-height:calc(100dvh - 2rem);padding:1.25rem;border:1px solid var(--border);border-radius:20px;background:var(--color-surface);color:var(--color-text);box-shadow:0 24px 70px #0f172a47}.staff-information-modal>.actions-row:first-child{position:sticky;top:-1.25rem;z-index:1;margin:-1.25rem -1.25rem 0;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--color-surface)}.staff-information-modal>.actions-row:first-child h2{font-size:1.25rem;line-height:1.25}.staff-information-modal-close{flex:0 0 auto;justify-content:center;width:2.5rem;height:2.5rem;padding:0}.staff-information-modal .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.staff-information-modal section{display:grid;gap:.7rem}.staff-information-modal section h3{margin:0;font-size:1rem}.staff-information-modal .field{min-width:0}.staff-information-modal textarea{min-height:5.5rem;resize:vertical}.work-diary-modal{width:min(720px,100%)}.work-diary-modal-lg,.invoice-builder-modal{width:min(1120px,100%)}.invoice-incoming-modal{width:min(680px,100%)}.invoice-evidence-loading,.invoice-evidence-empty{margin-top:1rem;padding:1rem;border-radius:14px;background:var(--color-surface-alt);color:var(--color-text-muted)}.invoice-job-summary,.invoice-profitability,.invoice-progress-centres,.invoice-machine-minimums,.invoice-evidence-head,.invoice-total-panel,.invoice-cost-evidence{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:16px}.invoice-job-summary{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;background:var(--color-surface-alt)}.invoice-job-summary>div{display:grid;gap:.2rem;margin-right:auto}.invoice-job-summary>div span,.invoice-progress-heading span,.invoice-profitability-heading span,.invoice-machine-minimums-heading span,.invoice-evidence-head span,.invoice-cost-evidence>span{color:var(--color-text-muted);font-size:.86rem}.invoice-evidence-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.invoice-evidence-head>div{display:grid;gap:.25rem}.invoice-progress-centres{display:grid;gap:.75rem;background:#fffaf4}.invoice-progress-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.invoice-progress-heading>div{display:grid;gap:.25rem}.invoice-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.invoice-progress-card{display:grid;gap:.45rem;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--color-surface)}.invoice-progress-card>div:first-child{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.invoice-progress-card>div:first-child span,.invoice-progress-card small{color:var(--color-text-muted);font-size:.78rem}.invoice-progress-card .btn{justify-self:start}.invoice-profitability{display:grid;gap:.85rem;background:#f0fdf4;border-color:#bbf7d0}.invoice-profitability-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.invoice-profitability-heading>div{display:grid;gap:.25rem}.invoice-profitability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.invoice-profitability-grid>div{display:grid;gap:.25rem;padding:.75rem;border:1px solid #bbf7d0;border-radius:12px;background:var(--color-surface)}.invoice-profitability-grid span,.invoice-profitability-grid small,.invoice-profitability-evidence small,.invoice-profitability-note{color:var(--color-text-muted);font-size:.78rem}.invoice-profitability-grid strong{font-size:1.05rem}.invoice-profitability-grid strong.negative{color:#b91c1c}.invoice-profitability-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.invoice-profitability-evidence>div{display:grid;gap:.4rem;padding:.75rem;border:1px solid #d1fae5;border-radius:12px;background:var(--color-surface)}.invoice-internal-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(220px,1.2fr);gap:.75rem;padding-top:.4rem;border-top:1px solid #ecfdf5;font-size:.82rem}.invoice-internal-row span:last-child{color:var(--color-text-muted)}.invoice-machine-minimums{display:grid;gap:.75rem;background:#eff6ff;border-color:#bfdbfe}.invoice-machine-minimums-heading{display:grid;gap:.25rem}.invoice-machine-minimum{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem;border:1px solid #bfdbfe;border-radius:12px;background:var(--color-surface)}.invoice-machine-minimum>div{display:grid;gap:.25rem}.invoice-machine-minimum>div:last-child{justify-items:end}.invoice-machine-minimum small{color:var(--color-text-muted)}.invoice-machine-copy{flex:1}.invoice-machine-days{display:grid;gap:.4rem;margin-top:.45rem}.invoice-machine-days label{display:flex;gap:.6rem;align-items:center;padding:.55rem .65rem;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;cursor:pointer}.invoice-machine-days input{width:18px;height:18px;margin:0;accent-color:var(--orange)}.invoice-machine-days label>span{display:grid;gap:.1rem}.invoice-line-table{margin-top:.75rem;overflow-x:auto;border:1px solid var(--border);border-radius:16px}.invoice-line-row{display:grid;grid-template-columns:42px minmax(250px,1fr) minmax(170px,.65fr) 100px 110px 120px;gap:.75rem;align-items:center;min-width:940px;padding:.75rem;border-bottom:1px solid var(--border)}.invoice-line-row:last-child{border-bottom:0}.invoice-line-row>input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--orange)}.invoice-line-row>div,.invoice-line-row>label{display:grid;gap:.2rem;min-width:0}.invoice-line-row small{color:var(--color-text-muted);font-size:.76rem}.invoice-line-row input[type=number],.invoice-line-row input[type=text],.invoice-line-row select,.invoice-line-row>div>input{padding:.55rem .65rem;border-radius:10px}.invoice-line-header{background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.invoice-total-panel{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,260px);gap:1rem;align-items:end}.invoice-total-panel>div:first-child{display:grid;gap:.25rem}.invoice-total-panel>div:first-child strong{font-size:1.35rem}.invoice-total-panel>div:first-child small{color:var(--color-text-muted)}.invoice-total-panel .field{margin:0}.invoice-tax-summary{align-items:baseline;border-top:1px solid var(--border);display:grid;gap:.35rem 1rem;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;justify-self:end;max-width:420px;padding-top:.75rem;width:100%}.invoice-tax-summary>span{color:var(--color-text-muted)}.invoice-tax-summary>strong{text-align:right}.invoice-tax-summary .invoice-grand-total-label{color:var(--color-text);font-weight:750}.invoice-tax-summary .invoice-grand-total-value{font-size:1.45rem}.invoice-cost-evidence{display:grid;gap:.5rem;background:#fffbeb}.invoice-cost-evidence .row-card small{display:block;color:var(--color-text-muted)}.invoice-modal-actions{margin-top:1rem}.invoice-validation{margin:1rem 0 0}.machine-billing-settings{display:grid;gap:1rem;margin-top:1rem;padding:1rem;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff}.machine-billing-heading{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.machine-billing-heading>div{display:grid;gap:.25rem}.machine-billing-heading span,.machine-billing-breakdown span{color:var(--color-text-muted);font-size:.86rem}.machine-billing-breakdown{display:grid;align-content:end;gap:.4rem;padding:.7rem;border:1px solid #bfdbfe;border-radius:12px;background:var(--color-surface)}.machine-billing-settings .actions-row{justify-content:space-between}.timesheet-work-notes{margin-bottom:1rem}.clock-out-outcome{border:0;margin:0 0 1rem;padding:0}.clock-out-outcome legend{font-weight:750;margin-bottom:.5rem}.clock-out-outcome-options{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.clock-out-outcome-options>label{align-items:flex-start;background:var(--color-surface-alt);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:.5rem;min-width:0;padding:.65rem}.clock-out-outcome-options>label.selected{background:var(--color-surface-hover);border-color:var(--orange)}.clock-out-outcome-options input{accent-color:var(--orange);flex:0 0 auto;height:17px;margin:.1rem 0 0;width:17px}.clock-out-outcome-options span{display:grid;gap:.18rem}.clock-out-outcome-options strong{font-size:.82rem}.clock-out-outcome-options small{color:var(--color-text-muted);font-size:.7rem;line-height:1.25}.clock-out-outcome.compact{margin:.8rem 0 0;text-align:left}.clock-out-outcome.compact .clock-out-outcome-options{grid-template-columns:1fr}@media(max-width:720px){.invoice-summary-grid,.invoice-direction-tabs,.invoice-progress-grid,.invoice-profitability-grid,.invoice-profitability-evidence,.invoice-total-panel{grid-template-columns:1fr}.invoice-card-head,.invoice-evidence-head,.invoice-progress-heading,.invoice-profitability-heading,.invoice-machine-minimum,.machine-billing-heading{align-items:stretch;flex-direction:column}.invoice-machine-minimum>div:last-child{justify-items:stretch}.invoice-toolbar .btn,.invoice-modal-actions .btn{justify-content:center;width:100%}.invoice-modal-actions{align-items:stretch;flex-direction:column-reverse}.clock-out-outcome-options{grid-template-columns:1fr}.modal-overlay{align-items:flex-start;padding:.5rem}.modal-content{max-height:calc(100dvh - 1rem)}.staff-information-modal{width:100%;padding:1rem}.staff-information-modal>.actions-row:first-child{top:-1rem;margin:-1rem -1rem 0;padding:.85rem 1rem}.staff-information-modal .compact-grid{grid-template-columns:1fr}.staff-information-modal .stack-lg>.actions-row:last-child{align-items:stretch;flex-direction:column-reverse}.staff-information-modal .stack-lg>.actions-row:last-child .btn{justify-content:center;width:100%}}.legal-page,.terms-acceptance-page{min-height:100vh;padding:clamp(1rem,3vw,2.5rem);background:var(--color-bg)}.legal-page{max-width:1080px;margin:0 auto}.legal-page-toolbar,.terms-acceptance-heading,.terms-acceptance-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.legal-page-toolbar{margin-bottom:1rem}.legal-brand{color:var(--orange-dark);font-size:1.25rem;font-weight:750}.legal-page-actions{display:flex;align-items:center;gap:.75rem}.legal-card{padding:clamp(1.25rem,4vw,3.5rem)}.legal-document{max-width:78ch;margin:0 auto;color:#293241;line-height:1.68}.legal-document h1{margin:0 0 .6rem;color:#111827;font-size:clamp(1.9rem,5vw,3rem);line-height:1.15}.legal-document h2{margin:2rem 0 .7rem;color:var(--color-text);font-size:1.35rem;line-height:1.3}.legal-document h3{margin:1.5rem 0 .5rem}.legal-document p{margin:0 0 1rem}.legal-document ul{margin:0 0 1rem;padding-left:1.4rem}.legal-document li+li{margin-top:.35rem}.legal-document a{color:#c2410c;text-decoration:underline;text-underline-offset:2px}.terms-acceptance-page{display:grid;place-items:center}.terms-acceptance-card{width:min(980px,100%);padding:clamp(1rem,3vw,2rem)}.terms-acceptance-heading{align-items:flex-start;margin-bottom:1rem}.terms-acceptance-heading h1{margin:.3rem 0 .2rem;font-size:clamp(1.5rem,4vw,2.15rem)}.terms-acceptance-heading p{margin-bottom:0}.terms-status-message{padding:2rem;text-align:center}.terms-scroll-region{max-height:min(58vh,680px);margin:1rem 0;padding:clamp(1rem,3vw,2rem);overflow-y:auto;border:1px solid var(--border);border-radius:18px;background:#fffdfb;box-shadow:inset 0 -20px 30px -30px #0f172a59}.terms-scroll-region:focus-visible{outline:3px solid rgba(249,115,22,.35);outline-offset:2px}.terms-acceptance-controls{display:grid;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.terms-confirmation{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.75rem;align-items:start;cursor:pointer;font-weight:600;line-height:1.45}.terms-confirmation input{width:20px;height:20px;margin:.15rem 0 0;accent-color:var(--orange)}.terms-acceptance-actions a{color:#c2410c;text-decoration:underline}.terms-acceptance-actions .btn:disabled{cursor:not-allowed;opacity:.55}.terms-gate-message{min-height:60vh;display:grid;place-items:center;padding:1rem}.terms-gate-message .card{width:min(520px,100%);text-align:center}.terms-gate-message .stack-md{align-items:stretch}.privacy-provider-card{display:grid;gap:1rem;margin-bottom:1rem;padding:clamp(1rem,3vw,2rem)}.privacy-provider-card h1{margin:.25rem 0 0;font-size:clamp(1.35rem,4vw,1.9rem)}.privacy-provider-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0}.privacy-provider-card dl div{min-width:0;padding:.75rem;border-radius:12px;background:var(--color-surface-alt)}.privacy-provider-card dt{color:var(--color-text-muted);font-size:.78rem}.privacy-provider-card dd{margin:.2rem 0 0;font-weight:600;overflow-wrap:anywhere}.privacy-provider-card a,.auth-legal-links a,.app-footer a{color:#c2410c;text-decoration:underline;text-underline-offset:2px}.collection-notice{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:.75rem;align-items:start;margin:1rem 0;padding:1rem;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff;color:#1e3a5f;line-height:1.45}.collection-notice>svg{margin-top:.1rem;color:#2563eb}.collection-notice strong{display:block;margin-bottom:.3rem;color:#172554}.collection-notice p{margin:0;font-size:.88rem}.collection-notice p+p{margin-top:.45rem}.collection-notice a{color:#1d4ed8;font-weight:650;text-decoration:underline}.collection-notice-dismiss{display:inline-grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:999px;background:transparent;color:#1e3a5f;cursor:pointer}.collection-notice-dismiss:hover{background:#dbeafe}.collection-notice-compact{margin:.75rem 0;padding:.75rem}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);background:radial-gradient(1100px 500px at 50% -10%,color-mix(in srgb,var(--orange) 9%,transparent),transparent 70%),var(--color-bg)}.auth-card{width:100%;max-width:430px;margin:0 auto;padding:clamp(1.25rem,4vw,2rem);display:grid;gap:.9rem}.auth-head{display:grid;justify-items:center;gap:.2rem;padding-bottom:.35rem;text-align:center}.auth-head .brand-mark{padding:0}.auth-head .brand-mark-text{font-size:1.8rem}.auth-head .brand-mark-sun{width:1.6rem;height:1.6rem}.auth-tagline{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.45;max-width:32ch}.auth-mode-row{justify-content:center;margin-bottom:4px}.auth-submit{width:100%}.auth-secondary-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.auth-secondary-row .btn{text-align:center;text-decoration:none}.auth-legal-links{display:flex;justify-content:center;gap:1rem;padding-top:.25rem;font-size:.86rem}@media(max-width:420px){.auth-secondary-row{grid-template-columns:1fr}.auth-legal-links{flex-wrap:wrap;gap:.5rem .9rem}}.app-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;color:var(--color-text-muted);font-size:.84rem}.app-footer nav{display:flex;gap:1rem}.geofence-location-enable{display:grid;gap:.75rem;margin-bottom:1rem}.geofence-location-enable .collection-notice{margin:0}.geofence-location-enable .btn{justify-self:start}.workforce-location-sharing{display:grid;gap:.65rem;margin-bottom:.8rem;padding:.75rem .9rem;border-color:#cbd5e1}.workforce-location-sharing.enabled{border-color:#86efac;background:#f0fdf4}.workforce-location-sharing-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.7rem;align-items:center}.workforce-location-sharing-icon{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#e2e8f0;color:#334155}.workforce-location-sharing.enabled .workforce-location-sharing-icon{background:#dcfce7;color:#166534}.workforce-location-sharing-summary p{margin:.1rem 0 0;color:var(--color-text-muted);font-size:.82rem}.workforce-location-sharing .collection-notice{margin:0;border-radius:10px}.workforce-locations-heading{align-items:flex-start}.workforce-location-security-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;border-color:#93c5fd;background:#eff6ff}.workforce-location-security-note svg{color:#1d4ed8}.workforce-location-security-note p{margin:.25rem 0 0;color:#1e3a5f;font-size:.88rem;line-height:1.45}.workforce-location-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.workforce-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:.8rem}.workforce-location-card{display:grid;gap:.75rem;border-left:4px solid #cbd5e1}.workforce-location-card.status-live{border-left-color:#16a34a}.workforce-location-card.status-stale,.workforce-location-card.status-stopped{border-left-color:#d97706}.workforce-location-card.status-unavailable{border-left-color:#dc2626}.workforce-location-card-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.workforce-location-card-head h3{margin:0;font-size:1rem}.workforce-location-card-head p{margin:.18rem 0 0;color:var(--color-text-muted);font-size:.82rem}.workforce-location-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.workforce-location-details div{min-width:0;padding:.55rem;border-radius:8px;background:var(--color-surface-alt)}.workforce-location-details dt{color:var(--color-text-muted);font-size:.72rem}.workforce-location-details dd{margin:.12rem 0 0;font-size:.84rem;font-weight:650}.workforce-location-flags{display:flex;flex-wrap:wrap;gap:.4rem}.workforce-location-point{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.workforce-location-point code{flex:1;min-width:170px;font-size:.8rem}.workforce-location-point .btn{min-height:34px;padding:.45rem .65rem}.workforce-location-address{margin:0}@media(max-width:720px){.workforce-location-sharing-summary{grid-template-columns:auto minmax(0,1fr) auto}.workforce-location-sharing-summary .btn{grid-column:1 / -1}.workforce-location-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workforce-location-grid,.workforce-location-details{grid-template-columns:1fr}}.retention-safety-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;border-color:#93c5fd;background:#eff6ff}.retention-safety-card svg{color:#1d4ed8}.retention-safety-card p{margin:.35rem 0 0;color:#334155}.retention-company-picker{max-width:520px}.retention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.retention-wide-field{grid-column:1 / -1}.retention-status-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0}.retention-run-actions{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:.8rem;align-items:end}.retention-run-actions .field{margin:0}.retention-table{width:100%;border-collapse:collapse}.retention-table th,.retention-table td{padding:.65rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.retention-table th{color:var(--color-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.retention-stats .stat-value{font-size:1.55rem}.breach-guidance-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;border-color:#f59e0b;background:#fffbeb}.breach-guidance-card svg{color:#b45309}.breach-guidance-card p{margin:.35rem 0 0;color:#78350f}.breach-stats .stat-value{font-size:1.55rem}.breach-register-toolbar{display:flex;gap:.8rem;align-items:end;justify-content:space-between}.breach-register-toolbar .field{width:min(520px,100%);margin:0}.breach-wide-field{grid-column:1 / -1}.breach-table{width:100%;border-collapse:collapse}.breach-table th,.breach-table td{padding:.65rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.breach-table th{color:var(--color-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.breach-table tbody tr[data-selectable=true]{cursor:pointer}.breach-table tbody tr[data-selectable=true]:hover,.breach-table tbody tr.is-selected{background:var(--color-surface-hover)}.breach-table .table-link{border:0;background:transparent;color:#c2410c;font:inherit;font-weight:650;text-align:left;cursor:pointer}.breach-action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:.85rem 0}.breach-statement-preview{max-height:420px;margin:0;padding:1rem;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#0f172a;color:#e2e8f0;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}.breach-oaic-link{justify-self:start}.breach-notification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.breach-notification-grid>div{min-width:0;padding:1rem;border:1px solid var(--border);border-radius:14px}.breach-notification-grid h3{margin-top:0}.breach-dismiss-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;margin-top:1.25rem;padding:1rem;border:1px solid #f59e0b;border-radius:14px;background:#fffbeb}.breach-dismiss-panel>svg{color:#b45309}@media(max-width:640px){.legal-page-toolbar,.terms-acceptance-heading,.terms-acceptance-actions{align-items:stretch;flex-direction:column}.legal-page-actions{justify-content:space-between}.terms-scroll-region{max-height:55vh;padding:.9rem}.terms-acceptance-actions .btn{justify-content:center;width:100%}.privacy-provider-card dl{grid-template-columns:1fr}.collection-notice{grid-template-columns:22px minmax(0,1fr) auto;padding:.8rem}.app-footer{align-items:flex-start;flex-direction:column}.retention-grid,.retention-run-actions{grid-template-columns:1fr}.retention-run-actions .btn{justify-content:center;width:100%}.breach-register-toolbar{align-items:stretch;flex-direction:column}.breach-register-toolbar .btn{justify-content:center;width:100%}.breach-notification-grid{grid-template-columns:1fr}}.scheduler-employee-cost-centre{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.scheduler-employee-cost-centre select{min-width:170px}html[data-theme] body,html[data-theme] .card,html[data-theme] .btn,html[data-theme] .input,html[data-theme] aside,html[data-theme] header,html[data-theme] .badge{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}body{background:var(--color-bg);color:var(--color-text)}html[data-theme=carbon]{color:#e6e3de;background:#121417;--orange: #f97316;--orange-dark: #c2410c;--soft: #1b1e23;--border: #2b2f36;--color-bg: #121417;--color-bg-secondary: #171a1e;--color-bg-hover: #21252b;--color-bg-success: #12291a;--color-bg-warning: #2d2411;--color-bg-danger: #2f1717;--color-border: #2b2f36;--color-danger: #f87171;--color-danger-bg: #2f1717;--color-info: #60a5fa;--color-muted: #9aa1ab;--color-primary: #f97316;--color-skeleton: #262a30;--color-success: #4ade80;--color-surface: #1b1e23;--color-surface-alt: #171a1e;--color-surface-hover: #22262d;--color-surface-muted: #21252b;--color-text: #e6e3de;--color-text-muted: #9aa1ab;--color-warning: #fbbf24;--color-warning-bg: #2d2411;--color-warning-text: #fcd34d}html[data-theme=charcoal]{color:#dfe5ea;background:#1a2026;--orange: #5b9bd5;--orange-dark: #3f7cb6;--soft: #232b33;--border: #33404b;--color-bg: #1a2026;--color-bg-secondary: #1f262d;--color-bg-hover: #29323b;--color-bg-success: #14291f;--color-bg-warning: #2c2712;--color-bg-danger: #301a1a;--color-border: #33404b;--color-danger: #f08c8c;--color-danger-bg: #301a1a;--color-info: #7db8e8;--color-muted: #94a3b1;--color-primary: #5b9bd5;--color-skeleton: #2b343d;--color-success: #6ecf97;--color-surface: #232b33;--color-surface-alt: #1f262d;--color-surface-hover: #2a333c;--color-surface-muted: #29323b;--color-text: #dfe5ea;--color-text-muted: #94a3b1;--color-warning: #e8c064;--color-warning-bg: #2c2712;--color-warning-text: #f0d488}html[data-theme=violet-night]{color:#e8e2f4;background:#171221;--orange: #a78bfa;--orange-dark: #8b5cf6;--soft: #221a31;--border: #372b4d;--color-bg: #171221;--color-bg-secondary: #1c1629;--color-bg-hover: #2a2140;--color-bg-success: #172a20;--color-bg-warning: #2d2415;--color-bg-danger: #321823;--color-border: #372b4d;--color-danger: #fb7185;--color-danger-bg: #321823;--color-info: #93c5fd;--color-muted: #a79cc0;--color-primary: #a78bfa;--color-skeleton: #2c2342;--color-success: #6ee7b7;--color-surface: #221a31;--color-surface-alt: #1c1629;--color-surface-hover: #2b2142;--color-surface-muted: #2a2140;--color-text: #e8e2f4;--color-text-muted: #a79cc0;--color-warning: #fcd34d;--color-warning-bg: #2d2415;--color-warning-text: #fde68a}html[data-theme=ocean]{color:#10333d;background:#f2f8fa;--orange: #0e7490;--orange-dark: #155e75;--soft: #f7fbfc;--border: #d3e5ea;--color-bg: #f2f8fa;--color-bg-secondary: #f7fbfc;--color-bg-hover: #e6f1f4;--color-bg-success: #dcfce7;--color-bg-warning: #fef3c7;--color-bg-danger: #fee2e2;--color-border: #d3e5ea;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #2563eb;--color-muted: #557782;--color-primary: #0e7490;--color-skeleton: #dbe7eb;--color-success: #0d9488;--color-surface: #ffffff;--color-surface-alt: #f7fbfc;--color-surface-hover: #eff7f9;--color-surface-muted: #e6f1f4;--color-text: #10333d;--color-text-muted: #557782;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-warning-text: #92400e}html[data-theme=sunrise]{color:#401a24;background:#fdf5f4;--orange: #e11d48;--orange-dark: #be123c;--soft: #fff8f7;--border: #f3ddda;--color-bg: #fdf5f4;--color-bg-secondary: #fff8f7;--color-bg-hover: #faeae8;--color-bg-success: #dcfce7;--color-bg-warning: #fef3c7;--color-bg-danger: #fee2e2;--color-border: #f3ddda;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #2563eb;--color-muted: #8a6470;--color-primary: #e11d48;--color-skeleton: #f0e0de;--color-success: #16a34a;--color-surface: #ffffff;--color-surface-alt: #fff8f7;--color-surface-hover: #fdf0ee;--color-surface-muted: #faeae8;--color-text: #401a24;--color-text-muted: #8a6470;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-warning-text: #92400e}html[data-theme=rainforest]{color:#16301c;background:#f3f8f2;--orange: #15803d;--orange-dark: #166534;--soft: #f8fbf7;--border: #d9e8d6;--color-bg: #f3f8f2;--color-bg-secondary: #f8fbf7;--color-bg-hover: #e9f2e6;--color-bg-success: #dcfce7;--color-bg-warning: #fef3c7;--color-bg-danger: #fee2e2;--color-border: #d9e8d6;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-info: #2563eb;--color-muted: #5d7a60;--color-primary: #15803d;--color-skeleton: #e0ebdd;--color-success: #16a34a;--color-surface: #ffffff;--color-surface-alt: #f8fbf7;--color-surface-hover: #f0f7ee;--color-surface-muted: #e9f2e6;--color-text: #16301c;--color-text-muted: #5d7a60;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-warning-text: #92400e}html[data-theme=carbon] input.input,html[data-theme=carbon] textarea.input,html[data-theme=carbon] select.input,html[data-theme=charcoal] input.input,html[data-theme=charcoal] textarea.input,html[data-theme=charcoal] select.input,html[data-theme=violet-night] input.input,html[data-theme=violet-night] textarea.input,html[data-theme=violet-night] select.input{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-border)}.btn.btn-primary{background-image:linear-gradient(115deg,var(--orange) 0%,var(--orange) 40%,var(--orange-dark) 60%,var(--orange) 100%);background-size:250% 100%;background-position:0% 0%;transition:background-position .5s ease,transform .18s ease,box-shadow .18s ease}.btn.btn-primary:hover{background-position:95% 0%;transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--orange) 35%,transparent)}.card{transition:box-shadow .25s ease,transform .25s ease}@keyframes theme-settle{0%{opacity:.6}to{opacity:1}}html[data-theme] body{animation:theme-settle .4s ease}.theme-picker{position:relative}.theme-picker-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:900;min-width:230px;padding:8px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 16px 40px #00000038;display:grid;gap:4px;animation:theme-menu-in .18s ease}@keyframes theme-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:9px;background:none;color:var(--color-text);cursor:pointer;font:inherit;font-size:.85rem;text-align:left}.theme-picker-option:hover{background:var(--color-surface-hover)}.theme-picker-option.active{background:var(--color-surface-muted);font-weight:600}.theme-picker-swatches{display:inline-flex;gap:3px}.theme-picker-swatches span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}html[data-theme=carbon] .check-section,html[data-theme=charcoal] .check-section,html[data-theme=violet-night] .check-section{border-color:var(--color-border)}html[data-theme=carbon] .chip,html[data-theme=charcoal] .chip,html[data-theme=violet-night] .chip{border-color:var(--color-border);color:var(--color-text-muted)}
