*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%}body{min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:root{--colour-page:#f6f7f9;--colour-surface:#fff;--colour-surface-muted:#f1f4f7;--colour-text:#17202a;--colour-text-muted:#667085;--colour-border:#d9e0e7;--colour-primary:#146c63;--colour-primary-strong:#0f4f49;--colour-primary-soft:#e2f2ef;--colour-danger:#b42318;--colour-danger-soft:#fee4e2;--colour-warning:#b54708;--colour-warning-soft:#fff4df;--colour-success:#027a48;--colour-success-soft:#dcfae6;--colour-focus:#2e90fa;--font-family-base:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px #10182814;--shadow-xs:0 1px 1px #1018280d;--shadow-md:0 10px 24px #1018281f;--sidebar-width:17.5rem;--sidebar-collapsed-width:5.25rem;--topbar-height:4rem;--table-min-width:58rem;--modal-width:42rem;--toast-z-index:120;--modal-z-index:90}body{color:var(--colour-text);background:var(--colour-page);font-family:var(--font-family-base)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#root{min-height:100vh}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell--sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.app-shell--sidebar-collapsed .app-shell__sidebar{overflow:visible}.app-shell__sidebar{background:var(--colour-surface);border-right:1px solid var(--colour-border);z-index:50;height:100vh;position:sticky;top:0;overflow-y:auto}.app-shell__sidebar-inner{gap:var(--space-5);min-height:100%;padding:var(--space-5);flex-direction:column;display:flex}.app-shell__sidebar-header{justify-content:space-between;align-items:center;display:flex}.app-shell__brand{align-items:center;gap:var(--space-3);min-width:0;color:var(--colour-text);appearance:none;cursor:pointer;font-size:var(--font-size-lg);background:0 0;border:0;padding:0;font-family:inherit;font-weight:700;display:flex;position:relative}.app-shell__brand-mark{color:#fff;background:var(--colour-primary);border-radius:var(--radius-md);flex:none;place-items:center;width:2.25rem;height:2.25rem;display:inline-grid}.app-shell__brand-logo{object-fit:contain;width:2.25rem;height:2.25rem;padding:var(--space-1);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);flex:none;display:block}.app-shell__brand-name,.app-shell__nav-label,.app-shell__footer-copy,.app-shell__footer-button-label{transition:opacity .15s,transform .15s}.app-shell__mobile-close{display:none}.app-shell__nav{gap:var(--space-1);align-content:start;min-width:0;display:grid}.app-shell__nav-item{align-items:center;gap:var(--space-3);width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);color:var(--colour-text-muted);appearance:none;border-radius:var(--radius-md);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;transition:background-color .15s,color .15s;display:flex;position:relative}.app-shell__nav-item svg{flex:none}.app-shell__nav-item.active,.app-shell__nav-item:hover{color:var(--colour-primary-strong);background:var(--colour-primary-soft)}.app-shell__nav-item--disabled{cursor:default;opacity:.62}.app-shell__sidebar-footer{gap:var(--space-3);padding-top:var(--space-4);color:var(--colour-text-muted);font-size:var(--font-size-xs);border-top:1px solid var(--colour-border);margin-top:auto;display:grid}.app-shell__footer-copy{gap:var(--space-1);margin:0;line-height:1.45;display:grid}.app-shell__footer-copy a{color:var(--colour-primary);font-weight:650}.app-shell__footer-actions{gap:var(--space-2);display:flex}.app-shell__footer-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.25rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);flex:1 1 0;font-weight:650;display:inline-flex;position:relative}.app-shell__footer-button:hover{background:var(--colour-surface-muted)}.app-shell__footer-button--danger{color:var(--colour-danger);background:var(--colour-danger-soft);border-color:color-mix(in srgb, var(--colour-danger), transparent 72%)}.app-shell__footer-button--danger:hover{background:color-mix(in srgb, var(--colour-danger-soft), var(--colour-danger) 8%);border-color:color-mix(in srgb, var(--colour-danger), transparent 58%)}.app-shell__sidebar-tooltip{top:50%;left:calc(100% + var(--space-3));z-index:75;min-height:2rem;padding:0 var(--space-3);color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--colour-primary-strong), #000 12%), var(--colour-primary)), var(--colour-primary);border:1px solid color-mix(in srgb, var(--colour-primary-soft), transparent 55%);border-radius:var(--radius-md);font-size:var(--font-size-xs);letter-spacing:0;opacity:0;pointer-events:none;transform-origin:0;white-space:nowrap;align-items:center;font-weight:700;line-height:1;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;transform:translate(-.35rem,-50%)scale(.96);box-shadow:0 10px 24px #1018282e}.app-shell__sidebar-tooltip:before{content:"";background:var(--colour-primary-strong);border-bottom-left-radius:.125rem;width:.625rem;height:.625rem;position:absolute;top:50%;left:-.3125rem;transform:translateY(-50%)rotate(45deg)}.app-shell--sidebar-collapsed .app-shell__brand:hover .app-shell__sidebar-tooltip,.app-shell--sidebar-collapsed .app-shell__brand:focus-visible .app-shell__sidebar-tooltip,.app-shell--sidebar-collapsed .app-shell__nav-item:hover .app-shell__sidebar-tooltip,.app-shell--sidebar-collapsed .app-shell__nav-item:focus-visible .app-shell__sidebar-tooltip,.app-shell--sidebar-collapsed .app-shell__footer-button:hover .app-shell__sidebar-tooltip,.app-shell--sidebar-collapsed .app-shell__footer-button:focus-visible .app-shell__sidebar-tooltip{opacity:1;transform:translateY(-50%)scale(1)}.app-shell--sidebar-collapsed .app-shell__sidebar-inner{padding-right:var(--space-3);padding-left:var(--space-3)}.app-shell--sidebar-collapsed .app-shell__sidebar-header{justify-content:center}.app-shell--sidebar-collapsed .app-shell__brand{justify-content:center;gap:0;width:100%}.app-shell--sidebar-collapsed .app-shell__brand-name,.app-shell--sidebar-collapsed .app-shell__nav-label,.app-shell--sidebar-collapsed .app-shell__footer-copy,.app-shell--sidebar-collapsed .app-shell__footer-button-label{opacity:0;pointer-events:none;white-space:nowrap;width:0;overflow:hidden;transform:translate(-.25rem)}.app-shell--sidebar-collapsed .app-shell__nav-item{justify-content:center;gap:0;min-height:2.5rem;padding-left:0;padding-right:0}.app-shell--sidebar-collapsed .app-shell__footer-actions{flex-direction:column;align-items:center}.app-shell--sidebar-collapsed .app-shell__footer-button{flex:0 0 2.5rem;gap:0;width:2.5rem;min-height:2.5rem;padding:0}.app-shell--sidebar-collapsed .app-shell__footer-copy{display:none}.app-shell__main{grid-template-rows:var(--topbar-height) minmax(0, 1fr);min-width:0;display:grid}.app-shell__topbar{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:0 var(--space-6);background:var(--colour-surface);border-bottom:1px solid var(--colour-border);display:flex}.app-shell__menu-button,.app-shell__mobile-close,.icon-button{width:2.25rem;height:2.25rem;color:var(--colour-text);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:0 0;place-items:center;display:inline-grid}.app-shell__menu-button,.app-shell__mobile-close{display:none}.app-shell__page-meta{gap:var(--space-1);min-width:0;display:grid}.app-shell__page-meta h1{color:var(--colour-text);font-size:var(--font-size-xl);margin:0;line-height:1.1}.app-shell__breadcrumbs ol{align-items:center;gap:var(--space-1);color:var(--colour-text-muted);font-size:var(--font-size-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.app-shell__breadcrumbs li{align-items:center;gap:var(--space-1);display:inline-flex}.app-shell__breadcrumbs a{color:var(--colour-text-muted)}.app-shell__breadcrumbs a:hover{color:var(--colour-primary)}.app-shell__user-menu{margin-left:auto;position:relative}.app-shell__user-button{align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-1) var(--space-2);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:inline-flex}.app-shell__user-button:hover,.app-shell__user-button[aria-expanded=true]{background:var(--colour-surface-muted)}.app-shell__user-avatar{width:2rem;height:2rem;color:var(--colour-primary);background:var(--colour-primary-soft);border-radius:var(--radius-md);place-items:center;display:inline-grid}.app-shell__user-avatar--large{width:2.25rem;height:2.25rem}.app-shell__user-summary{text-align:right;gap:.125rem;display:grid}.app-shell__user-summary span{font-size:var(--font-size-sm)}.app-shell__user-summary strong{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.app-shell__user-popover{top:calc(100% + var(--space-2));z-index:70;width:min(18rem, calc(100vw - var(--space-6)));gap:var(--space-3);padding:var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;position:absolute;right:0}.app-shell__user-popover-header{align-items:center;gap:var(--space-3);display:flex}.app-shell__user-popover-header div{gap:.125rem;min-width:0;display:grid}.app-shell__user-popover-header strong{color:var(--colour-text)}.app-shell__user-popover-header span:not(.app-shell__user-avatar){color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:700}.app-shell__user-popover p{color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0}.app-shell__user-menu-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--colour-danger);background:var(--colour-danger-soft);border:1px solid color-mix(in srgb, var(--colour-danger), transparent 72%);border-radius:var(--radius-md);font-weight:700;display:inline-flex}.app-shell__mobile-backdrop,.app-shell__mobile-page-meta{display:none}.app-shell__content{min-width:0;padding:var(--space-6);overflow:auto}.page-stack{gap:var(--space-5);display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.login-panel h1,.not-found h1{font-size:var(--font-size-xl);margin:0;line-height:1.2}.page-header--actions-only{justify-content:flex-end}.page-header p,.muted{max-width:52rem;color:var(--colour-text-muted);margin:0}.page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page{--single-job-card-min:20rem}.single-job-page .page-header__actions{align-items:center}.single-job-page__wordpress-header{display:block}.single-job-page__identity-panel,.single-job-page__actions,.single-job-page__section{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-surface);box-shadow:var(--shadow-sm)}.single-job-page__identity-panel{align-items:center;gap:var(--space-4);padding:var(--space-4);grid-template-columns:minmax(0,1fr) max-content;display:grid}.single-job-page__section-header>span{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:650}.single-job-page__identity-main{justify-items:start;gap:var(--space-1);min-width:0;display:grid}.single-job-page__back-link{width:2.25rem;height:2.25rem;margin-bottom:var(--space-2);color:var(--colour-text);background:var(--colour-surface-muted);border:1px solid var(--colour-border);box-shadow:var(--shadow-xs);border-radius:999px;place-items:center;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-grid}.single-job-page__back-link:hover{color:var(--colour-primary);background:var(--colour-primary-soft);border-color:color-mix(in srgb, var(--colour-primary), transparent 72%);transform:translate(-1px)}.single-job-page__identity-panel strong{color:var(--colour-text);font-size:var(--font-size-xl);font-weight:750;line-height:1.15}.single-job-page__identity-main span:not(.single-job-page__skeleton-line){color:var(--colour-text-muted);font-size:var(--font-size-base);font-weight:500;line-height:1.35}.single-job-page__skeleton-line,.single-job-page__section-body span{background:linear-gradient(90deg, var(--colour-surface-muted) 0%, color-mix(in srgb, var(--colour-surface-muted), #fff 48%) 46%, var(--colour-surface-muted) 100%);border-radius:999px;display:block}.single-job-page__skeleton-line{width:min(100%,11rem);height:.85rem}.single-job-page__skeleton-line--title{width:min(100%,15rem);height:1.35rem}.single-job-page__status-panel{justify-content:flex-end;justify-self:end;align-items:center;gap:var(--space-2);text-align:right;flex-flow:row;width:max-content;min-width:0;max-width:100%;display:flex}.single-job-page__status-chip{min-width:max-content;min-height:2.65rem;font-size:var(--font-size-base);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.52rem 1rem;font-weight:700;line-height:1.15;display:inline-flex}.single-job-page__status-chip.status-job-received{color:#fff;background:#0d6efd}.single-job-page__status-chip.status-ready-for-paint{color:#17202a;background:#ffe600}.single-job-page__status-chip.status-spraying-in-progress{color:#fff;background:#5d00cf}.single-job-page__status-chip.status-painted{color:#fff;background:#fd7e14}.single-job-page__status-chip.status-partially-completed{color:#fff;background:#28a745}.single-job-page__status-chip.status-completed{color:#fff;background:#006400}.single-job-page__status-chip.status-default{color:var(--colour-text);background:var(--colour-surface-muted)}.single-job-page__flag-stack{justify-content:flex-end;gap:var(--space-2);flex-wrap:nowrap;display:flex}.single-job-page__flag-chip{color:#9f1d1d;min-height:2.65rem;font-size:var(--font-size-base);white-space:nowrap;background:#fee8e8;border:1px solid #f0b2b2;border-radius:999px;justify-content:center;align-items:center;padding:.52rem 1rem;font-weight:650;line-height:1.15;display:inline-flex}.single-job-page__actions{align-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);flex-wrap:wrap;display:flex}.single-job-page__actions .button{min-width:0}.single-job-page__actions--workflow{justify-content:flex-start}.single-job-page__management-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.single-job-page__management-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__management-actions .button{min-width:0}.single-job-page .button[data-single-job-action]{box-shadow:var(--shadow-xs);transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s}.single-job-page .button[data-single-job-action]:not(:disabled):hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.single-job-page .button[data-single-job-action=mark-ready]{color:#17202a;background:#facc15;border-color:#eab308}.single-job-page .button[data-single-job-action=mark-ready]:not(:disabled):hover{background:#eab308;border-color:#ca8a04}.single-job-page .button[data-single-job-action=mark-urgent],.single-job-page .button[data-single-job-action=mark-not-urgent]{color:#fff;background:var(--colour-danger);border-color:var(--colour-danger)}.single-job-page .button[data-single-job-action=mark-urgent]:not(:disabled):hover,.single-job-page .button[data-single-job-action=mark-not-urgent]:not(:disabled):hover{background:color-mix(in srgb, var(--colour-danger), #000 12%);border-color:color-mix(in srgb, var(--colour-danger), #000 12%)}.single-job-page .button[data-single-job-action=mark-delivered]{color:#fff;background:var(--colour-success);border-color:var(--colour-success)}.single-job-page .button[data-single-job-action=mark-delivered]:not(:disabled):hover{background:color-mix(in srgb, var(--colour-success), #000 12%);border-color:color-mix(in srgb, var(--colour-success), #000 12%)}.single-job-page .button[data-single-job-action=add-paint-order]{color:#fff;background:#2563eb;border-color:#2563eb}.single-job-page .button[data-single-job-action=add-paint-order]:not(:disabled):hover{background:#1d4ed8;border-color:#1d4ed8}.single-job-page__icon-action{border-radius:var(--radius-md);color:#b42318;background:#fee8e8;border:1px solid #f0b2b2;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.single-job-page__status-panel .single-job-page__icon-action{border-radius:999px;flex:none;width:2.65rem;height:2.65rem}.single-job-page__icon-action:disabled{cursor:not-allowed;opacity:.82}.single-job-page__action-message{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:#176b31;font-size:var(--font-size-sm);background:#e8f8ec;border:1px solid #bde7c5;margin:0;font-weight:600;display:inline-flex}.single-job-page__delivery-modal{--modal-width:32rem}.single-job-page__edit-details-modal{--modal-width:48rem}.single-job-page__edit-colours-modal{--modal-width:42rem}.single-job-page__print-labels-modal,.single-job-page__paint-order-modal{--modal-width:28rem}.single-job-page__spraying-event-modal{--modal-width:30rem}.single-job-page__edit-cost-modal,.single-job-page__cost-issues-modal{--modal-width:34rem}.single-job-page__send-quotation-modal{--modal-width:32rem}.single-job-page__modal-summary{color:var(--colour-text);font-size:var(--font-size-base);margin:0;font-weight:600}.single-job-page__radio-group{gap:var(--space-2);border:0;flex-wrap:wrap;min-width:0;padding:0;display:flex}.single-job-page__radio-group legend{margin-bottom:var(--space-1);color:var(--colour-text-muted);font-size:var(--font-size-sm);flex-basis:100%;font-weight:600}.single-job-page__edit-details-form,.single-job-page__edit-colours-form,.single-job-page__edit-cost-form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.single-job-page__edit-details-choice,.single-job-page__edit-details-note,.single-job-page__edit-colours-note,.single-job-page__edit-cost-choice,.single-job-page__cost-modal-summary,.single-job-page__edit-colours-form .create-job-page__lookup-field{grid-column:1/-1}.single-job-page__edit-details-note textarea,.single-job-page__edit-colours-note textarea{resize:vertical;min-height:7rem}.single-job-page__label-preview{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-lg);text-align:center;background:#fff;display:grid;box-shadow:inset 0 0 0 1px #10182805}.single-job-page__label-preview-number{color:var(--colour-text);letter-spacing:0;font-size:4rem;font-weight:750;line-height:.95}.single-job-page__label-preview-pieces{color:var(--colour-text);font-size:var(--font-size-2xl);font-weight:750}.single-job-page__label-preview-colour{color:var(--colour-text);font-size:var(--font-size-xl);font-weight:700}.single-job-page__label-preview-meta{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--colour-text);font-size:var(--font-size-base);font-weight:600;display:flex}.single-job-page__print-labels-form{gap:var(--space-3);display:grid}.single-job-page__print-confirmation{align-items:flex-start}.single-job-page__label-error{margin:calc(-1 * var(--space-1)) 0 0;color:var(--colour-danger);font-size:var(--font-size-sm);font-weight:500}.single-job-page__delivery-summary{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--colour-border);display:grid}.single-job-page__delivery-summary p{color:var(--colour-text);margin:0;font-weight:500}.single-job-page__client-hold-button{padding:var(--space-2) var(--space-3);color:#fff;background:var(--colour-danger);border-radius:var(--radius-md);border:0;justify-self:start;font-weight:650}.single-job-page__delivery-form{gap:var(--space-4);display:grid}.single-job-page__delivery-fieldset{gap:var(--space-3);border:0;min-width:0;padding:0;display:grid}.single-job-page__delivery-fieldset legend{margin-bottom:var(--space-2);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:600}.single-job-page__driver-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__choice{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;display:inline-flex}.single-job-page__choice input{accent-color:var(--colour-primary)}.single-job-page__sections{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.single-job-page__section{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-5);display:grid}.single-job-page__section--strong{grid-column:span 2}.single-job-page__section-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.single-job-page__section-action{flex:none;justify-content:flex-end;align-items:center;display:flex}.single-job-page__section-action-group{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__section-header h2{font-size:var(--font-size-lg);margin:0;font-weight:700;line-height:1.25}.single-job-page__section-header>span{padding:var(--space-1) var(--space-2);border:1px solid var(--colour-border);background:var(--colour-surface-muted);border-radius:999px;flex:none}.single-job-page__section-body{gap:var(--space-2);display:grid}.single-job-page__section-body span{height:.85rem}.single-job-page__section-body span:first-child{width:72%}.single-job-page__section-body span:nth-child(2){width:54%}.single-job-page__section-body span:nth-child(3){width:38%}.single-job-page__section-data{min-width:0}.single-job-page__job-details{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.single-job-page__job-details-group{align-content:start;gap:var(--space-3);min-width:0;display:grid}.single-job-page__job-details-group h3{color:var(--colour-text);font-size:var(--font-size-base);margin:0;font-weight:700;line-height:1.25}.single-job-page__job-details-column{border-top:1px solid var(--colour-border);align-content:start;margin:0;display:grid}.single-job-page__job-detail-row{gap:var(--space-4);min-width:0;padding:var(--space-3) 0;border-bottom:1px solid color-mix(in srgb, var(--colour-border), transparent 32%);color:var(--colour-text);font-size:var(--font-size-sm);grid-template-columns:minmax(9.5rem,.42fr) minmax(0,1fr);align-items:start;margin:0;line-height:1.45;display:grid}.single-job-page__job-detail-row dt,.single-job-page__job-detail-row dd{margin:0}.single-job-page__job-detail-row dt{color:var(--colour-text-muted);font-size:var(--font-size-xs);letter-spacing:0;text-transform:uppercase;font-weight:700;line-height:1.35}.single-job-page__job-detail-row dd{min-width:0;color:var(--colour-text);overflow-wrap:anywhere;font-weight:600}.single-job-page__pieces{gap:var(--space-3);display:grid}.single-job-page__pieces-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.single-job-page__pieces-totals{gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__pieces-totals p{border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);background:var(--colour-surface-muted);font-size:var(--font-size-sm);margin:0;padding:.5rem .75rem;font-weight:500;line-height:1.2}.single-job-page__pieces-filter{width:min(100%,20rem)}.single-job-page__pieces-table-wrap{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);overflow-x:auto}.single-job-page__pieces-table{border-collapse:collapse;width:100%;min-width:58rem}.single-job-page__pieces-table th,.single-job-page__pieces-table td{padding:.75rem var(--space-3);border-bottom:1px solid var(--colour-border);color:var(--colour-text);font-size:var(--font-size-sm);text-align:left;vertical-align:top;line-height:1.35}.single-job-page__pieces-table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-xs);font-weight:650}.single-job-page__pieces-table .button{min-height:2rem;padding:0 var(--space-3);font-size:var(--font-size-sm)}.single-job-page__pieces-table tbody tr:last-child td{border-bottom:0}.single-job-page__piece-row td>span{margin-right:var(--space-2);display:inline-block}.single-job-page__piece-action-required{min-height:1.75rem;padding:0 var(--space-2);color:#9f1d1d;font-size:var(--font-size-xs);cursor:pointer;background:#fee8e8;border:1px solid #f0b2b2;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.single-job-page__piece-images-row td{background:color-mix(in srgb, var(--colour-surface-muted), #fff 48%)}.single-job-page__piece-images{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.single-job-page__piece-image-tile{min-width:0;padding:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-lg);color:var(--colour-text);box-shadow:var(--shadow-xs);cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.single-job-page__piece-image-tile:hover{border-color:color-mix(in srgb, var(--colour-primary), #fff 55%);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.single-job-page__piece-image-tile img,.single-job-page__piece-image-tile .single-job-page__gallery-placeholder{aspect-ratio:1;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);width:100%}.single-job-page__piece-image-tile img{object-fit:cover;display:block}.single-job-page__notes{gap:var(--space-3);display:grid}.single-job-page__initial-note p{color:var(--colour-text-muted);font-size:var(--font-size-base);margin:0;font-weight:400;line-height:1.5}.single-job-page__initial-note strong{color:var(--colour-text);font-weight:600}.single-job-page__note-log-list{gap:var(--space-2);display:grid}.single-job-page__note-log-entry{padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);background:var(--colour-surface-muted);font-size:var(--font-size-sm);font-weight:400;line-height:1.5}.single-job-page__timeline-list{gap:0;display:grid}.single-job-page__timeline-row{gap:var(--space-2);display:grid}.single-job-page__timeline-content{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.single-job-page__timeline-event{color:var(--colour-text);font-size:var(--font-size-sm);font-weight:400;line-height:1.5}.single-job-page__timeline-action{flex:none;justify-content:flex-end;display:flex}.single-job-page__timeline-action .button[data-paint-received=true]{color:#166534;cursor:default;opacity:1;background:#dcfce7;border-color:#86efac}.single-job-page__timeline-divider{height:1px;margin:var(--space-2) 0;background:var(--colour-border)}.single-job-page__timeline-row:last-child .single-job-page__timeline-divider{display:none}.single-job-page__labels{gap:var(--space-3);display:grid}.single-job-page__labels-summary{gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__labels-summary span{min-height:2rem;padding:0 var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);font-size:var(--font-size-sm);background:#fff;align-items:center;font-weight:500;display:inline-flex}.single-job-page__label-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.single-job-page__label-card{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);background:#fff;display:grid}.single-job-page__label-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--colour-text-muted);font-size:var(--font-size-xs);font-weight:500;display:flex}.single-job-page__label-status{min-height:1.65rem;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:999px;align-items:center;font-weight:650;display:inline-flex}.single-job-page__label-status--pending{color:#854d0e;background:#fef3c7}.single-job-page__gallery{gap:var(--space-3);display:grid}.single-job-page__gallery-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.single-job-page__gallery-topbar p{color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0;font-weight:500}.single-job-page__gallery-grid,.single-job-page__gallery-editor-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.single-job-page__gallery-tile,.single-job-page__gallery-editor-item{gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-lg);color:var(--colour-text);box-shadow:var(--shadow-xs);background:#fff;display:grid;position:relative}.single-job-page__gallery-tile{cursor:pointer;width:100%;transition:border-color .15s,box-shadow .15s,transform .15s}.single-job-page__gallery-tile:hover{border-color:color-mix(in srgb, var(--colour-primary), #fff 55%);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.single-job-page__gallery-tile img,.single-job-page__gallery-editor-item img,.single-job-page__gallery-placeholder{aspect-ratio:1;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);width:100%}.single-job-page__gallery-tile img,.single-job-page__gallery-editor-item img{object-fit:cover;display:block}.single-job-page__gallery-tile span,.single-job-page__gallery-editor-item>span{color:var(--colour-text);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.35;overflow:hidden}.single-job-page__gallery-placeholder{align-content:center;place-items:center;gap:var(--space-1);color:var(--colour-text-muted);text-align:center;display:grid}.single-job-page__gallery-placeholder span{max-width:7rem;color:var(--colour-text-muted);font-size:var(--font-size-xs);white-space:normal;font-weight:500;line-height:1.25}.single-job-page__gallery-empty{align-items:center;gap:var(--space-2);width:fit-content;padding:var(--space-3);border:1px dashed var(--colour-border);border-radius:var(--radius-lg);color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-sm);font-weight:500;display:inline-flex}.single-job-page__gallery-empty--modal{justify-content:center;width:100%}.single-job-page__gallery-preview-modal{--modal-width:min(58rem, 94vw)}.single-job-page__gallery-preview{gap:var(--space-3);display:grid}.single-job-page__gallery-preview-stage{place-items:center;min-height:min(60vh,34rem);padding:0 clamp(2.75rem,7vw,4rem);display:grid;position:relative;overflow:hidden}.single-job-page__gallery-preview-frame{place-items:center;width:100%;display:grid}.single-job-page__gallery-preview-frame--next{animation:.22s both gallery-preview-slide-next}.single-job-page__gallery-preview-frame--previous{animation:.22s both gallery-preview-slide-previous}.single-job-page__gallery-preview img,.single-job-page__gallery-preview .single-job-page__gallery-placeholder{aspect-ratio:auto;object-fit:contain;width:min(100%,42rem);max-height:65vh}.single-job-page__gallery-preview .single-job-page__gallery-placeholder{aspect-ratio:4/3;min-height:min(48vh,26rem)}.single-job-page__gallery-preview-nav{z-index:1;border:1px solid color-mix(in srgb, var(--colour-border), transparent 10%);width:2.75rem;height:2.75rem;color:var(--colour-primary);background:linear-gradient(180deg, #fffffff0, #ffffffdb), var(--colour-surface);box-shadow:var(--shadow-md);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.single-job-page__gallery-preview-nav:hover{border-color:color-mix(in srgb, var(--colour-primary), #fff 50%);box-shadow:var(--shadow-lg);background:#fff;transform:translateY(-50%)scale(1.04)}.single-job-page__gallery-preview-nav--previous{left:clamp(.15rem,1.4vw,.75rem)}.single-job-page__gallery-preview-nav--next{right:clamp(.15rem,1.4vw,.75rem)}.single-job-page__gallery-preview-count{border:1px solid var(--colour-border);color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-xs);border-radius:999px;justify-self:center;margin:0;padding:.35rem .7rem;font-weight:600}.single-job-page__gallery-edit-modal{--modal-width:min(52rem, 94vw)}.single-job-page__gallery-editor{gap:var(--space-3);display:grid}.single-job-page__gallery-editor-toolbar{justify-content:flex-start;display:flex}.single-job-page__gallery-editor-toolbar .button{cursor:pointer}.single-job-page__gallery-editor-toolbar .button--disabled{opacity:.65;pointer-events:none}.single-job-page__gallery-remove{color:#b42318;width:1.6rem;height:1.6rem;box-shadow:var(--shadow-sm);cursor:pointer;background:#fff1f0;border:1px solid #fecaca;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-.45rem;right:-.45rem}.single-job-page__gallery-remove:hover{color:#fff;background:#b42318;border-color:#b42318}.single-job-page__modal-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#b42318;font-size:var(--font-size-sm);background:#fff1f0;border:1px solid #fecaca;margin:0;font-weight:500}@keyframes gallery-preview-slide-next{0%{opacity:0;transform:translate(1.5rem)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes gallery-preview-slide-previous{0%{opacity:0;transform:translate(-1.5rem)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=640px){.single-job-page__gallery-preview-stage{min-height:55vh;padding:0 2.6rem}.single-job-page__gallery-preview-nav{width:2.35rem;height:2.35rem}.single-job-page__gallery-preview .single-job-page__gallery-placeholder{min-height:17rem}}.single-job-page__label-status--completed{color:#166534;background:#dcfce7}.single-job-page__label-status--default{color:var(--colour-text-muted);background:var(--colour-surface-muted)}.single-job-page__label-card strong{color:var(--colour-text);font-size:var(--font-size-lg);font-weight:700}.single-job-page__label-card dl{gap:var(--space-2);margin:0;display:grid}.single-job-page__label-card dl div{gap:var(--space-2);grid-template-columns:minmax(5.5rem,.45fr) minmax(0,1fr);display:grid}.single-job-page__label-card dt{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.single-job-page__label-card dd{min-width:0;color:var(--colour-text);text-overflow:ellipsis;white-space:normal;margin:0;font-weight:500;overflow:hidden}.single-job-page__note-form{gap:var(--space-2);display:grid}.single-job-page__note-form textarea{resize:vertical;width:100%;min-height:7rem;padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);background:var(--colour-surface);font:inherit;line-height:1.45;transition:border-color .15s,box-shadow .15s}.single-job-page__note-form textarea:focus{border-color:var(--colour-primary);box-shadow:0 0 0 3px var(--colour-primary-soft);outline:none}.single-job-page__note-form textarea:disabled{cursor:not-allowed;background:var(--colour-surface-muted)}.single-job-page__note-error{color:var(--colour-danger);font-size:var(--font-size-sm);margin:0;font-weight:500}.single-job-page__note-form>.button{justify-self:start}.single-job-page__field-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.single-job-page__field-grid--costing{grid-template-columns:repeat(4,minmax(0,1fr))}.single-job-page__field{min-width:0}.single-job-page__field dt{margin:0 0 var(--space-1);color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.single-job-page__field dd{min-width:0;color:var(--colour-text);text-overflow:ellipsis;white-space:normal;margin:0;font-weight:500;line-height:1.35;overflow:hidden}.single-job-page__costing{gap:var(--space-4);display:grid}.single-job-page__cost-current,.single-job-page__cost-modal-summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4);display:flex}.single-job-page__cost-current{border-radius:var(--radius-md);background:#e8f8ec;border:1px solid #bde7c5}.single-job-page__cost-summary-label{gap:.15rem;min-width:0;display:grid}.single-job-page__cost-summary-value{justify-items:end;gap:var(--space-2);min-width:0;display:grid}.single-job-page__cost-current span,.single-job-page__cost-modal-summary span{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;margin:0;font-weight:600;display:block}.single-job-page__cost-current strong,.single-job-page__cost-modal-summary strong{color:var(--colour-text);font-size:var(--font-size-lg);text-align:right;white-space:nowrap;font-weight:700;line-height:1.2;display:block}.single-job-page__cost-modal-summary small{color:var(--colour-text-muted);font-size:var(--font-size-xs);margin:0;font-weight:500;display:block}.single-job-page__cost-badges{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.single-job-page__cost-current .single-job-page__cost-badge{min-height:2rem;padding:0 var(--space-3);font-size:var(--font-size-xs);text-align:center;text-transform:none;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.single-job-page__cost-badge--job{color:#176b31;background:#fff;border-color:#176b3138}.single-job-page__cost-badge--minimum{color:#7a4f01;background:#fef3c7;border-color:#fde68a}.single-job-page__cost-badge--free{color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success), transparent 72%);background:#fff}.single-job-page__cost-badge--override{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.single-job-page__cost-warning{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#9f2f2f;background:#fff1f1;border:1px solid #f0b8b8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.single-job-page__cost-warning p{color:#8f2929;font-size:var(--font-size-sm);margin:0;font-weight:500;line-height:1.35}.single-job-page__cost-modal-summary{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted)}.single-job-page__cost-issues{gap:var(--space-4);display:grid}.single-job-page__cost-issue-notice{align-items:center;gap:var(--space-2);width:fit-content;max-width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#8f2929;font-size:var(--font-size-sm);background:#fff1f1;border:1px solid #f0b8b8;grid-template-columns:auto minmax(0,1fr);margin:0;font-weight:500;line-height:1.35;display:inline-grid}.single-job-page__cost-issue-group{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);display:grid}.single-job-page__cost-issue-group h3{color:var(--colour-text);font-size:var(--font-size-base);margin:0}.single-job-page__cost-issue-group ul{gap:var(--space-2);color:var(--colour-text-muted);margin:0;padding-left:1.1rem;font-weight:400;display:grid}.single-job-page__empty{color:var(--colour-text-muted);margin:0}.single-job-page__quotations,.single-job-page__invoices{gap:var(--space-4);display:grid}.single-job-page__quotation-list,.single-job-page__invoice-list{gap:var(--space-3);display:grid}.single-job-page__invoice-notice{padding:var(--space-3) var(--space-4);color:var(--colour-primary-strong);background:var(--colour-primary-soft);border:1px solid color-mix(in srgb, var(--colour-primary), transparent 72%);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin:0;font-weight:500;line-height:1.45}.single-job-page__invoice-note-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);display:grid}.single-job-page__invoice-note-card strong{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.single-job-page__invoice-note-card p{color:var(--colour-text);margin:0;font-weight:400;line-height:1.5}.single-job-page__invoice-table-wrap{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);overflow-x:auto}.single-job-page__invoice-table{border-collapse:collapse;width:100%;min-width:82rem}.single-job-page__invoice-table th,.single-job-page__invoice-table td{padding:.75rem var(--space-3);border-bottom:1px solid var(--colour-border);color:var(--colour-text);font-size:var(--font-size-sm);text-align:left;vertical-align:middle;line-height:1.35}.single-job-page__invoice-table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-xs);font-weight:650}.single-job-page__invoice-table tbody tr:last-child td{border-bottom:0}.single-job-page__invoice-number-cell{width:4rem;color:var(--colour-primary);font-weight:700}.single-job-page__invoice-status-chip{min-height:2rem;font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.36rem .75rem;font-weight:700;line-height:1;display:inline-flex}.single-job-page__invoice-status-chip--generated{color:var(--colour-text);background:var(--colour-surface-muted);border-color:var(--colour-border)}.single-job-page__invoice-status-chip--sent{color:#7a4f01;background:#fef3c7;border-color:#fde68a}.single-job-page__invoice-status-chip--synced{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.single-job-page__invoice-status-chip--paid{color:var(--colour-success);background:var(--colour-success-soft);border-color:color-mix(in srgb, var(--colour-success), transparent 72%)}.single-job-page__invoice-sent-cell{min-width:14rem}.single-job-page__invoice-sent-list{flex-wrap:wrap;gap:.35rem;max-width:22rem;display:inline-flex}.single-job-page__invoice-email-chip{max-width:100%;min-height:1.8rem;color:var(--colour-primary);background:var(--colour-primary-soft);border:1px solid color-mix(in srgb, var(--colour-primary), transparent 78%);font-size:var(--font-size-xs);overflow-wrap:anywhere;border-radius:999px;align-items:center;padding:.32rem .65rem;font-weight:650;line-height:1.2;display:inline-flex}.single-job-page__invoice-email-chip--empty{color:var(--colour-text-muted);background:var(--colour-surface-muted);border-color:var(--colour-border)}.single-job-page__invoice-table .single-job-page__invoice-actions{min-width:0}.single-job-page__invoice-table .button{min-height:2rem;padding:0 var(--space-3);font-size:var(--font-size-sm)}.single-job-page__quotation-table-wrap{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);overflow-x:auto}.single-job-page__quotation-table{border-collapse:collapse;width:100%;min-width:78rem}.single-job-page__quotation-table th,.single-job-page__quotation-table td{padding:.75rem var(--space-3);border-bottom:1px solid var(--colour-border);color:var(--colour-text);font-size:var(--font-size-sm);text-align:left;vertical-align:middle;line-height:1.35}.single-job-page__quotation-table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-xs);font-weight:650}.single-job-page__quotation-table tbody tr:last-child td{border-bottom:0}.single-job-page__quotation-number-cell{width:4rem;color:var(--colour-primary);font-weight:700}.single-job-page__quotation-status-chip{min-height:2rem;font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.36rem .75rem;font-weight:700;line-height:1;display:inline-flex}.single-job-page__quotation-status-chip--generated{color:var(--colour-text);background:var(--colour-surface-muted);border-color:var(--colour-border)}.single-job-page__quotation-status-chip--legacy{color:#6b4e16;background:#fef3c7;border-color:#fde68a}.single-job-page__quotation-sent-cell{min-width:14rem}.single-job-page__quotation-sent-list{flex-wrap:wrap;gap:.35rem;max-width:22rem;display:inline-flex}.single-job-page__quotation-email-chip{max-width:100%;min-height:1.8rem;color:var(--colour-primary);background:var(--colour-primary-soft);border:1px solid color-mix(in srgb, var(--colour-primary), transparent 78%);font-size:var(--font-size-xs);overflow-wrap:anywhere;border-radius:999px;align-items:center;padding:.32rem .65rem;font-weight:650;line-height:1.2;display:inline-flex}.single-job-page__quotation-email-chip--empty{color:var(--colour-text-muted);background:var(--colour-surface-muted);border-color:var(--colour-border)}.single-job-page__quotation-table .single-job-page__quotation-actions{min-width:0}.single-job-page__quotation-table .button{min-height:2rem;padding:0 var(--space-3);font-size:var(--font-size-sm)}.single-job-page__quotation-card,.single-job-page__invoice-card{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;box-shadow:inset 0 0 0 1px #10182805}.single-job-page__quotation-main,.single-job-page__invoice-main{align-items:flex-start;gap:var(--space-4);min-width:0;display:flex}.single-job-page__quotation-number,.single-job-page__invoice-number{justify-items:center;gap:var(--space-1);min-width:4.25rem;padding:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);display:grid}.single-job-page__invoice-number{min-width:6.75rem}.single-job-page__quotation-number span,.single-job-page__invoice-number span{color:var(--colour-primary);font-size:var(--font-size-xl);font-weight:700;line-height:1}.single-job-page__invoice-number span{font-size:var(--font-size-lg)}.single-job-page__quotation-number small,.single-job-page__invoice-number small{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.single-job-page__quotation-meta,.single-job-page__invoice-meta{gap:var(--space-3);flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;display:grid}.single-job-page__quotation-meta div,.single-job-page__invoice-meta div{min-width:0}.single-job-page__quotation-meta-wide,.single-job-page__invoice-meta-wide{grid-column:1/-1}.single-job-page__quotation-meta dt,.single-job-page__invoice-meta dt{margin:0 0 var(--space-1);color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600}.single-job-page__quotation-meta dd,.single-job-page__invoice-meta dd{color:var(--colour-text);text-overflow:ellipsis;white-space:normal;margin:0;font-weight:500;line-height:1.35;overflow:hidden}.single-job-page__quotation-actions,.single-job-page__invoice-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;min-width:11rem;display:flex}.single-job-page__quotation-unavailable,.single-job-page__invoice-unavailable{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:#9f2f2f;font-size:var(--font-size-sm);background:#fff1f1;border:1px solid #f0b8b8;font-weight:600;display:inline-flex}.single-job-page__textarea{min-height:8rem;padding-top:var(--space-3);resize:vertical}.single-job-page__quotation-helper{color:#8f2929;font-size:var(--font-size-xs);text-align:right;flex-basis:100%;margin:0;font-weight:500;line-height:1.35}.single-job-page__send-quotation-form{gap:var(--space-4);display:grid}.single-job-page__modal-copy{color:var(--colour-text-muted);margin:0;font-weight:400;line-height:1.5}.single-job-page__quotation-recipient-list{gap:var(--space-3);display:grid}.single-job-page__quotation-recipient{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);grid-template-columns:auto minmax(0,1fr);display:grid}.single-job-page__quotation-recipient input{accent-color:var(--colour-primary)}.single-job-page__quotation-recipient span{gap:.15rem;min-width:0;display:grid}.single-job-page__quotation-recipient strong{color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.single-job-page__quotation-recipient small{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:500}@media (width<=767px){.single-job-page__quotation-card,.single-job-page__invoice-card{grid-template-columns:minmax(0,1fr)}.single-job-page__quotation-main,.single-job-page__invoice-main{display:grid}.single-job-page__quotation-number,.single-job-page__invoice-number{width:fit-content}.single-job-page__quotation-meta,.single-job-page__invoice-meta{grid-template-columns:minmax(0,1fr)}.single-job-page__quotation-actions,.single-job-page__invoice-actions,.single-job-page__quotation-actions .button,.single-job-page__invoice-actions .button,.single-job-page__quotation-unavailable,.single-job-page__invoice-unavailable{width:100%}.single-job-page__invoice-table .single-job-page__invoice-actions,.single-job-page__invoice-table .single-job-page__invoice-actions .button,.single-job-page__invoice-table .single-job-page__invoice-unavailable,.single-job-page__quotation-table .single-job-page__quotation-actions,.single-job-page__quotation-table .single-job-page__quotation-actions .button,.single-job-page__quotation-table .single-job-page__quotation-unavailable{width:auto}.single-job-page__quotation-helper{text-align:left}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid #0000;font-weight:650;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:focus-visible,.field__control:focus-visible,.icon-button:focus-visible,.app-shell__brand:focus-visible,.app-shell__nav-item:focus-visible,.app-shell__menu-button:focus-visible,.app-shell__mobile-close:focus-visible,.app-shell__footer-button:focus-visible,.app-shell__user-button:focus-visible,.app-shell__user-menu-button:focus-visible{outline:3px solid color-mix(in srgb, var(--colour-focus), transparent 70%);outline-offset:2px}.button--primary{color:#fff;background:var(--colour-primary)}.button--primary:hover{background:var(--colour-primary-strong)}.button--secondary,.button--ghost{color:var(--colour-text);background:var(--colour-surface);border-color:var(--colour-border)}.button--secondary:not(:disabled):hover,.button--ghost:not(:disabled):hover{background:var(--colour-surface-muted);border-color:color-mix(in srgb, var(--colour-border), var(--colour-text-muted) 18%)}.button--danger{color:var(--colour-danger);background:var(--colour-danger-soft);border-color:color-mix(in srgb, var(--colour-danger), transparent 72%)}.button--danger:hover{background:color-mix(in srgb, var(--colour-danger-soft), var(--colour-danger) 8%);border-color:color-mix(in srgb, var(--colour-danger), transparent 58%)}.button:disabled{cursor:not-allowed;opacity:.55}.auth-layout{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.login-panel{gap:var(--space-6);width:min(100%,28rem);padding:var(--space-8);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid}.login-panel__brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.login-panel__brand .eyebrow{margin:0}.login-panel__brand-logo{object-fit:contain;width:2.25rem;height:2.25rem;padding:var(--space-1);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);display:block}.eyebrow{margin:0 0 var(--space-2);color:var(--colour-primary);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:700}.form-stack{gap:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}.field__label{color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650}.field__control{width:100%;min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}select.field__control{cursor:pointer;appearance:none;background-image:url(data:image/svg+xml,%3Csvg%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M6%209L12%2015L18%209%27%20stroke%3D%27%23667085%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:1rem;padding-right:2.5rem}select.field__control:disabled{cursor:not-allowed;background-color:var(--colour-surface-muted)}.field__error{color:var(--colour-danger);font-size:var(--font-size-sm)}.filter-bar{align-items:stretch;gap:var(--space-4);padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.filter-bar--no-actions{grid-template-columns:minmax(0,1fr)}.filter-bar__fields{align-items:start;gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.filter-bar__fields>*{min-width:0}.filter-bar__fields .field__control,.filter-bar__fields .create-job-page__date-trigger{min-height:2.75rem}.filter-bar__actions{gap:var(--space-3);grid-template-rows:minmax(2.75rem,auto) minmax(2.75rem,auto);min-width:21rem;display:grid}.filter-bar__actions--query-only{grid-template-rows:minmax(2.75rem,auto);align-self:end;min-width:16rem}.filter-bar__actions--page-only{grid-template-rows:minmax(2.75rem,auto);align-self:start}.filter-bar__page-actions,.filter-bar__query-actions{gap:var(--space-2);display:grid}.filter-bar__page-actions{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.filter-bar__query-actions{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}.filter-bar__page-actions .button,.filter-bar__query-actions .button{white-space:nowrap;justify-content:center;width:100%;min-height:2.75rem}.table-shell{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm)}.table-scroll{overflow-x:auto}.data-table{width:100%;min-width:var(--data-table-min-width,var(--table-min-width));border-collapse:collapse;font-size:var(--font-size-sm);table-layout:fixed}.data-table th,.data-table td{max-width:16rem;padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--colour-border);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;overflow:hidden}.data-table .button{white-space:nowrap;max-width:100%}.data-table__clickable-row{cursor:pointer;transition:filter .15s,outline-color .15s,transform .15s}.data-table__clickable-row td{transition:background-color .15s,box-shadow .15s}.data-table__clickable-row:hover td,.data-table__clickable-row:focus-visible td{box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--colour-primary), transparent 92%)}.data-table__clickable-row:focus-visible{outline:3px solid color-mix(in srgb, var(--colour-focus), transparent 70%);outline-offset:-3px}.data-table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);font-weight:700}.data-table__header-content{align-items:center;gap:var(--space-2);min-width:0;display:flex}.data-table__header-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.data-table__freeze-button{width:1.55rem;height:1.55rem;color:var(--colour-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;transition:color .15s;display:inline-grid}.data-table__freeze-button:hover{color:var(--colour-primary)}.data-table__freeze-button:focus-visible{outline:3px solid color-mix(in srgb, var(--colour-focus), transparent 70%);outline-offset:2px}.data-table__freeze-button--active{color:var(--colour-primary)}.data-table__sort-button{justify-content:space-between;align-items:center;gap:var(--space-2);width:auto;min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;font-weight:inherit;background:0 0;border:0;flex:auto;padding:0;display:inline-flex}.data-table__sort-button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.data-table__sort-button:hover{color:var(--colour-text)}.data-table__sort-button:focus-visible{outline:3px solid color-mix(in srgb, var(--colour-focus), transparent 70%);outline-offset:2px;border-radius:var(--radius-sm)}.data-table__sort-icon{color:var(--colour-text-muted);flex:none;transition:color .15s,transform .15s}.data-table__sort-button:hover .data-table__sort-icon,.data-table__sort-icon--active{color:var(--colour-primary)}.data-table tr:last-child td{border-bottom:0}.data-table__frozen-cell{z-index:2;position:sticky}.data-table td.data-table__frozen-cell{background:var(--colour-surface)}.data-table th.data-table__frozen-cell{z-index:4;background:var(--colour-surface-muted)}.data-table__frozen-cell--start{left:0;box-shadow:6px 0 10px -12px #0f172a38}.data-table__frozen-cell--end{right:0;box-shadow:-6px 0 10px -12px #0f172a38}.data-table__empty{color:var(--colour-text-muted);text-align:center}.data-table__skeleton-row td{height:3.4rem}.data-table__skeleton-bar{width:var(--skeleton-width,72%);background:linear-gradient(90deg, var(--colour-surface-muted) 0%, color-mix(in srgb, var(--colour-border), #fff 45%) 48%, var(--colour-surface-muted) 100%);background-size:220% 100%;border-radius:999px;height:.8rem;animation:1.1s ease-in-out infinite data-table-skeleton;display:block;overflow:hidden}@keyframes data-table-skeleton{0%{background-position:120% 0}to{background-position:-120% 0}}@media (width>=1200px){.page-stack--screen-table{height:calc(100vh - var(--topbar-height) - (var(--space-6) * 2));flex-direction:column;min-height:0;display:flex;overflow:hidden}.page-stack--screen-table>.table-shell{flex:auto;min-height:0;display:flex}.page-stack--screen-table>.table-shell .table-scroll{width:100%;min-height:0;overflow:auto}.page-stack--screen-table>.table-shell .data-table th{z-index:1;position:sticky;top:0}.page-stack--screen-table>.table-shell .data-table th.data-table__frozen-cell{z-index:4}}.pagination{justify-content:flex-end;align-items:center;gap:var(--space-2);color:var(--colour-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.pagination>.button{width:2.5rem;min-width:2.5rem;padding:0;position:relative}.pagination>.button span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.pagination__jump{justify-content:center;min-width:7rem;display:inline-flex;position:relative}.pagination__page-trigger{min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text-muted);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);cursor:pointer;font:inherit;font-weight:650}.pagination__page-trigger:hover{color:var(--colour-text);border-color:var(--colour-primary)}.pagination__page-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--colour-focus), transparent 70%);outline-offset:2px}.pagination__page-menu{right:0;bottom:calc(100% + var(--space-2));z-index:20;width:8.75rem;max-height:min(18rem,50vh);padding:var(--space-1);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;position:absolute;overflow-y:auto}.pagination__page-option{min-height:2.25rem;padding:0 var(--space-3);color:var(--colour-text);text-align:left;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);background:0 0;border:0;font-weight:600}.pagination__page-option:hover,.pagination__page-option:focus-visible{background:var(--colour-surface-muted);outline:none}.pagination__page-option[aria-current=page]{color:var(--colour-primary);background:var(--colour-primary-soft)}.page-size-control{min-height:2.5rem;padding:var(--space-1);color:var(--colour-text-muted);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--font-size-sm);align-items:center;display:inline-flex}.page-size-control__options{align-items:center;gap:var(--space-1);display:inline-flex}.page-size-control__option{min-width:2.4rem;min-height:2rem;padding:0 var(--space-2);color:var(--colour-text-muted);border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:0 0;border:0;font-weight:750}.page-size-control__option:hover,.page-size-control__option:focus-visible{color:var(--colour-text);background:var(--colour-surface-muted);outline:none}.page-size-control__option[aria-pressed=true]{color:var(--colour-primary-strong);background:var(--colour-primary-soft)}.clients-page__search,.clients-page__payment{width:100%}.clients-page__filter-bar{grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);align-items:start}.clients-page__filter-bar--has-reset{grid-template-columns:minmax(0,1fr) minmax(29rem,33rem)}.clients-page__filter-bar .filter-bar__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-page__filter-bar .filter-bar__actions{min-width:0}.clients-page__filter-bar .filter-bar__page-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-page__filter-bar--has-reset .filter-bar__page-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.clients-page__actions{align-items:center;gap:var(--space-2);white-space:nowrap;max-width:100%;display:inline-flex}.clients-page__actions .button{padding:0 var(--space-2);flex:none}.clients-page__status{color:var(--colour-danger);margin:0;font-weight:650}.jobs-page__filter-panel{align-items:stretch;gap:var(--space-4);padding:var(--space-3);background:linear-gradient(135deg, #2f716514, #fff0 42%), var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.jobs-page__filter-grid{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.jobs-page__filter-grid>*{min-width:0}.jobs-page__filter-grid .field__control,.jobs-page__urgent-filter{min-height:2.75rem}.jobs-page__search-shell{min-width:0;position:relative}.jobs-page__search-shell>svg{top:50%;left:var(--space-3);z-index:1;color:var(--colour-text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.jobs-page__search-shell .field__control{padding-left:2.45rem}.jobs-page__company-filter{min-width:0}.jobs-page__date-filter .create-job-page__date-trigger{min-height:2.75rem;font-size:var(--font-size-sm)}.work-log-reports-page__date-filter .create-job-page__date-trigger{height:2.75rem;min-height:2.75rem;font-size:var(--font-size-sm);padding-block:0;line-height:1.2}.work-log-reports-page__filter-bar{grid-template-columns:minmax(0,1fr) auto;align-items:start}.work-log-reports-page__filter-bar .filter-bar__fields{grid-template-columns:repeat(3,minmax(0,1fr))}.work-log-reports-page__filter-bar .filter-bar__actions{min-width:0}.work-log-reports-page__filter-bar .filter-bar__query-actions{grid-template-columns:max-content;justify-content:end}.work-log-reports-page__filter-bar .filter-bar__query-actions .button{width:auto;min-width:max-content;padding-inline:var(--space-4)}.jobs-page__urgent-filter{align-items:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--colour-text);border:1px solid var(--colour-border);border-radius:var(--radius-md);white-space:nowrap;background:linear-gradient(#fff,#fbfcfd);font-weight:650;display:inline-flex}.jobs-page__urgent-filter:hover{background:var(--colour-primary-soft);border-color:#2f716561}.jobs-page__urgent-filter input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.jobs-page__filter-actions{justify-content:flex-end;align-items:flex-start;gap:var(--space-2);min-width:max-content;display:inline-flex}.jobs-page__filter-actions--query-only{align-self:end}.jobs-page__filter-actions>.button{white-space:nowrap;justify-content:center;min-height:2.75rem}.jobs-page__status-message{color:var(--colour-danger);margin:0;font-weight:650}.jobs-page__result-count,.table-result-count{margin:calc(var(--space-1) * -1) 0 0;color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:650}.jobs-page__table-footer,.table-pagination-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pagination-footer-skeleton{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.pagination-footer-skeleton__page-size{gap:var(--space-1);pointer-events:none}.pagination-footer-skeleton__page-size-option,.pagination-footer-skeleton__button,.pagination-footer-skeleton__page{background:linear-gradient(90deg, var(--colour-surface-muted) 0%, var(--colour-surface) 45%, var(--colour-surface-muted) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.1s ease-in-out infinite data-table-skeleton;display:inline-flex;overflow:hidden}.pagination-footer-skeleton__page-size-option{width:2.4rem;height:2rem}.pagination-footer-skeleton__pagination{pointer-events:none}.pagination-footer-skeleton__button{width:2.5rem;height:2.5rem}.pagination-footer-skeleton__page{border-radius:var(--radius-md);width:7rem;height:2.5rem}.worker-jobs-page__search,.worker-jobs-page__status{width:100%}.worker-jobs-page__filter-bar{align-items:start}.worker-jobs-page__filter-bar--has-reset{grid-template-columns:minmax(0,1fr) minmax(8.5rem,10.5rem)}.worker-jobs-page__filter-bar .filter-bar__actions{min-width:0}.worker-jobs-page__filter-bar .filter-bar__query-actions{grid-template-columns:minmax(0,1fr)}.worker-jobs-page__claim-state{align-items:center;gap:var(--space-2);max-width:100%;color:var(--colour-text);flex-wrap:wrap;font-weight:650;line-height:1.35;display:inline-flex}.worker-jobs-page__claim-state>span{text-overflow:clip;white-space:normal;min-width:min(100%,8rem);overflow:visible}.worker-jobs-page__claim-state .button{padding:0 var(--space-2);flex:none}.worker-jobs-page .data-table td:nth-child(9){text-overflow:clip;white-space:normal;overflow:visible}.worker-jobs-page__muted{color:var(--colour-text-muted)}.worker-jobs-page__claim-form{gap:var(--space-4);display:grid}.worker-jobs-page__claim-context{color:var(--colour-text-muted);margin:0}.worker-jobs-page__claim-context strong{color:var(--colour-text)}.worker-jobs-page__sprayer-fieldset{gap:var(--space-3);border:0;min-width:0;padding:0;display:grid}.worker-jobs-page__sprayer-fieldset legend{margin-bottom:var(--space-2);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650}.worker-jobs-page__sprayer-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.jobs-page__status-chip{min-width:max-content;font-size:var(--font-size-sm);border-radius:999px;justify-content:center;align-items:center;padding:.3rem .7rem;font-weight:750;line-height:1.2;display:inline-flex}.jobs-page__status-chip.status-job-received{color:#fff;background:#0d6efd}.jobs-page__status-chip.status-ready-for-paint{color:#17202a;background:#ffe600}.jobs-page__status-chip.status-spraying-in-progress{color:#fff;background:#5d00cf}.jobs-page__status-chip.status-painted{color:#fff;background:#fd7e14}.jobs-page__status-chip.status-partially-completed{color:#fff;background:#28a745}.jobs-page__status-chip.status-completed{color:#fff;background:#006400}.jobs-page__paint-icon{justify-content:center;align-items:center;display:inline-flex}.jobs-page__paint-icon--yes{color:var(--colour-success)}.jobs-page__paint-icon--no{color:var(--colour-danger)}.jobs-page .data-table tr.red-background td{background:#ffe1e1}.jobs-page .data-table tr.purple-background td{background:#f0e6ff}.jobs-page .data-table tr.yellow-background td{background:#fff4ad}.jobs-page .data-table tr.orange-background td{background:#ffe2bd}.jobs-page .data-table tr.green-background td{background:#ddf2df}@media (width<=1280px){.filter-bar{grid-template-columns:minmax(0,1fr)}.filter-bar__fields{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-bar__actions{grid-template-columns:minmax(0,21rem);justify-content:flex-end;min-width:0;display:grid}.filter-bar__actions--query-only{grid-template-columns:minmax(0,16rem)}.filter-bar__page-actions,.filter-bar__query-actions{width:100%;min-width:0}.settings-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-page__filter-panel,.invoices-page__filter-panel{grid-template-columns:minmax(0,1fr)}.jobs-page__filter-grid,.invoices-page__filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.jobs-page__filter-actions,.invoices-page__filter-actions{justify-content:flex-end;min-width:0}.jobs-page__filter-actions>.button,.invoices-page__filter-actions>.button{min-width:0}}@media (width<=1040px){.single-job-page__identity-panel,.single-job-page__management-row{grid-template-columns:minmax(0,1fr)}.single-job-page__status-panel{text-align:left;justify-content:flex-start;justify-self:stretch;align-items:flex-start;max-width:none}.single-job-page__flag-stack{flex-wrap:wrap;justify-content:flex-start}.single-job-page__sections{grid-template-columns:minmax(0,1fr)}.single-job-page__section--strong{grid-column:auto}.single-job-page__field-grid--costing,.filter-bar__fields,.jobs-page__filter-grid,.invoices-page__filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.clients-page__modal-form{gap:var(--space-5)}.clients-page__modal-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.clients-page__modal-loading{color:var(--colour-muted);margin:0;font-weight:650}.clients-page__inline-control{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.clients-page__linked-myob{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.clients-page__linked-myob>span{min-width:0;min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface-muted);border:1px solid var(--colour-border);border-radius:var(--radius-md);align-items:center;display:inline-flex}.clients-page__checkbox-field{align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650;display:inline-flex}.clients-page__checkbox-field input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.clients-page__profiles-form{gap:var(--space-4);display:grid}.clients-page__profiles-toolbar{justify-content:flex-end;display:flex}.clients-page__profiles-toolbar--bottom{justify-content:flex-start}.clients-page__profiles-scroll{border:1px solid var(--colour-border);border-radius:var(--radius-md);max-height:min(48vh,34rem);overflow:auto}.clients-page__profiles-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:58rem}.clients-page__profiles-table th,.clients-page__profiles-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--colour-border);vertical-align:top}.clients-page__profiles-table th{color:var(--colour-text-muted);font-size:var(--font-size-sm);background:var(--colour-surface-muted);font-weight:700}.clients-page__profiles-table tr:last-child td{border-bottom:0}.clients-page__profiles-table th:first-child,.clients-page__profiles-table th:nth-child(2),.clients-page__profiles-table th:nth-child(3){width:12rem}.clients-page__profiles-table th:nth-child(5){width:8rem}.clients-page__profile-note{min-height:2.5rem;padding-top:var(--space-2);resize:vertical}.employees-page__search,.employees-page__job-type-filter{width:100%}.employees-page__filter-bar{grid-template-columns:minmax(0,1fr) minmax(10.5rem,12rem);align-items:start}.employees-page__filter-bar--has-reset{grid-template-columns:minmax(0,1fr) minmax(19rem,23rem)}.employees-page__filter-bar .filter-bar__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.employees-page__filter-bar .filter-bar__actions{min-width:0}.employees-page__filter-bar .filter-bar__page-actions{grid-template-columns:minmax(0,1fr)}.employees-page__filter-bar--has-reset .filter-bar__page-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.employees-page__actions{align-items:center;gap:var(--space-2);white-space:nowrap;max-width:100%;display:inline-flex}.employees-page__actions .button{padding:0 var(--space-2);flex:none}.employees-page__job-types{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.employees-page__job-type,.employees-page__status-badge{min-height:1.75rem;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.employees-page__job-type{color:var(--colour-primary);background:var(--colour-primary-soft)}.employees-page__status-badge--active{color:var(--colour-success);background:var(--colour-success-soft)}.employees-page__status-badge--inactive{color:var(--colour-text-muted);background:var(--colour-surface-muted)}.employees-page__muted{color:var(--colour-text-muted)}.employees-page__status{color:var(--colour-danger);margin:0;font-weight:650}.employees-page__modal-form{gap:var(--space-5)}.employees-page__fieldset{gap:var(--space-3);border:0;min-width:0;padding:0;display:grid}.employees-page__fieldset legend{margin-bottom:var(--space-2);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650}.employees-page__checkbox-list,.employees-page__radio-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.employees-page__choice{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:650;display:inline-flex}.employees-page__choice input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.paint-page__search{grid-column:1/-1;width:100%}.paint-page__filter-bar{grid-template-columns:minmax(0,1fr) minmax(8.5rem,10.5rem);align-items:start}.paint-page__filter-bar--has-reset{grid-template-columns:minmax(0,1fr) minmax(17rem,21rem)}.paint-page__filter-bar .filter-bar__fields{grid-template-columns:minmax(0,1fr)}.paint-page__filter-bar .filter-bar__actions{min-width:0}.paint-page__filter-bar .filter-bar__page-actions{grid-template-columns:minmax(0,1fr)}.paint-page__filter-bar--has-reset .filter-bar__page-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.paint-page__filter-bar .paint-page__search{grid-column:auto}.paint-page__actions{align-items:center;gap:var(--space-2);white-space:nowrap;max-width:100%;display:inline-flex}.paint-page__actions .button{padding:0 var(--space-2);flex:none}.paint-page__status{color:var(--colour-danger);margin:0;font-weight:650}.invoices-page__filter-panel{align-items:stretch;gap:var(--space-4);padding:var(--space-3);background:linear-gradient(135deg, #2f716514, #fff0 42%), var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.invoices-page__filter-grid{gap:var(--space-3);grid-template-columns:minmax(11rem,1.35fr) repeat(3,minmax(9.25rem,1fr)) repeat(2,minmax(8.5rem,.9fr)) minmax(8.75rem,.85fr);min-width:0;display:grid}.invoices-page__filter-grid>*{min-width:0}.invoices-page__filter-grid .field__control,.invoices-page__attention-filter{min-height:2.75rem}.invoices-page__search-shell{min-width:0;position:relative}.invoices-page__search-shell>svg{top:50%;left:var(--space-3);z-index:1;color:var(--colour-text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.invoices-page__search-shell .field__control{padding-left:2.45rem}.invoices-page__date-filter .create-job-page__date-trigger{min-height:2.75rem;font-size:var(--font-size-sm)}.invoices-page__filter-actions{justify-content:flex-end;align-items:flex-start;gap:var(--space-2);min-width:max-content;display:inline-flex}.invoices-page__filter-actions>.button{white-space:nowrap;justify-content:center;min-height:2.75rem}.invoices-page__attention-filter{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-3);color:var(--colour-text);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:nowrap;background:linear-gradient(#fff,#fbfcfd);font-weight:650;display:inline-flex}.invoices-page__attention-filter:hover{background:var(--colour-primary-soft);border-color:#2f716561}.invoices-page__attention-filter input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.invoices-page__badge{min-width:max-content;min-height:1.75rem;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:999px;justify-content:center;align-items:center;font-weight:750;line-height:1.2;display:inline-flex}.invoices-page__badge--neutral{color:var(--colour-text-muted);background:var(--colour-surface-muted)}.invoices-page__badge--success{color:var(--colour-success);background:var(--colour-success-soft)}.invoices-page__badge--warning{color:var(--colour-warning);background:var(--colour-warning-soft)}.invoices-page__badge--danger{color:var(--colour-danger);background:var(--colour-danger-soft)}.invoices-page .data-table .button{min-height:2.25rem;padding:0 var(--space-2)}.invoices-page__status{color:var(--colour-danger);margin:0;font-weight:650}.invoices-page__preview-modal{--modal-width:min(64rem, 96vw)}.invoices-page__payment-check-modal{--modal-width:min(42rem, 96vw)}.invoices-page__preview-modal .modal__body{background:var(--colour-surface-muted);max-height:min(74vh,52rem);padding:0}.invoices-page__preview-modal .modal__footer{flex-wrap:wrap}.invoice-preview-modal__body{min-height:min(62vh,44rem);display:grid}.invoice-preview-modal__status,.invoice-preview-modal__error{padding:var(--space-6);text-align:center;align-self:center;margin:0;font-weight:650}.invoice-preview-modal__error{color:var(--colour-danger)}.invoice-preview-modal__preview-shell{padding:var(--space-5);overflow:auto}.invoice-preview-modal__document{max-width:52rem;min-height:34rem;padding:var(--space-6);color:#111827;border:1px solid var(--colour-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#fff;margin:0 auto}.invoice-preview-modal__document :where(img,table,svg){max-width:100%}.invoice-preview-modal__requirements{margin:var(--space-5);padding:var(--space-4);color:var(--colour-text);border:1px solid var(--colour-danger-soft);border-radius:var(--radius-md);background:#fff;align-self:start}.invoice-preview-modal__requirements p{margin:0 0 var(--space-3);color:var(--colour-text-muted);font-weight:650}.invoice-preview-modal__requirements ul{gap:var(--space-2);margin:0;padding-left:1.2rem;display:grid}.invoice-preview-modal__requirements li{color:var(--colour-danger);font-weight:650}.payment-check-modal__intro{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.payment-check-modal__icon{width:2.75rem;height:2.75rem;color:var(--colour-primary);background:var(--colour-primary-soft);border-radius:var(--radius-lg);place-items:center;display:inline-grid}.payment-check-modal__lead,.payment-check-modal__copy{margin:0;line-height:1.5}.payment-check-modal__lead{color:var(--colour-text);font-weight:700}.payment-check-modal__copy{margin-top:var(--space-2);color:var(--colour-text-muted)}.payment-check-modal__result{gap:var(--space-4);display:grid}.payment-check-modal__notice,.payment-check-modal__error{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.payment-check-modal__notice p,.payment-check-modal__notice span,.payment-check-modal__error p{margin:0;line-height:1.45}.payment-check-modal__notice p{color:var(--colour-text);font-weight:750}.payment-check-modal__notice span{margin-top:var(--space-1);color:var(--colour-text-muted);font-size:var(--font-size-sm);display:block}.payment-check-modal__notice--success{color:var(--colour-success);background:var(--colour-success-soft);border-color:color-mix(in srgb, var(--colour-success), transparent 72%)}.payment-check-modal__notice--warning,.payment-check-modal__error{color:var(--colour-warning);background:var(--colour-warning-soft);border-color:color-mix(in srgb, var(--colour-warning), transparent 70%)}.payment-check-modal__error{color:var(--colour-danger);background:var(--colour-danger-soft);border-color:color-mix(in srgb, var(--colour-danger), transparent 72%)}.payment-check-modal__error p{color:var(--colour-danger);font-weight:650}.payment-check-modal__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.payment-check-modal__stats div{gap:var(--space-1);padding:var(--space-3);background:var(--colour-surface-muted);border:1px solid var(--colour-border);border-radius:var(--radius-md);display:grid}.payment-check-modal__stats dt,.payment-check-modal__stats dd{margin:0}.payment-check-modal__stats dt{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:700}.payment-check-modal__stats dd{color:var(--colour-text);font-size:var(--font-size-lg);font-weight:800}.payment-check-modal__changes{gap:var(--space-3);display:grid}.payment-check-modal__changes h3{color:var(--colour-text);font-size:var(--font-size-sm);margin:0}.payment-check-modal__changes ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.payment-check-modal__changes li{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:#fff;grid-template-columns:minmax(7rem,.8fr) minmax(7rem,.8fr) minmax(0,1.4fr);align-items:center;display:grid}.payment-check-modal__changes strong{color:var(--colour-text);font-size:var(--font-size-sm)}.payment-check-modal__changes span{min-width:0;color:var(--colour-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1360px){.invoices-page__filter-panel{grid-template-columns:minmax(0,1fr)}.invoices-page__filter-grid{gap:var(--space-2);grid-template-columns:minmax(9rem,1.2fr) repeat(3,minmax(7rem,1fr)) repeat(2,minmax(6.5rem,.85fr)) minmax(7rem,.85fr)}.invoices-page__filter-actions{justify-content:flex-end;min-width:0}.invoices-page__filter-actions>.button{min-width:0}}@media (width<=1040px){.invoices-page__filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.paint-page__modal-form{gap:var(--space-5)}.paint-page__modal-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.paint-page__stock-context{color:var(--colour-text-muted);margin:0}.paint-page__stock-context strong{color:var(--colour-text)}.profiles-page__search{width:100%}.profiles-page__filter-bar{grid-template-columns:minmax(0,1fr) auto;align-items:start}.profiles-page__filter-bar--has-reset{grid-template-columns:minmax(0,1fr) auto}.profiles-page__filter-bar .filter-bar__fields{grid-template-columns:minmax(0,1fr)}.profiles-page__filter-bar .filter-bar__actions{min-width:0}.profiles-page__filter-bar .filter-bar__page-actions{grid-template-columns:max-content;justify-content:end}.profiles-page__filter-bar--has-reset .filter-bar__page-actions{grid-template-columns:repeat(2,max-content)}.profiles-page__filter-bar .filter-bar__page-actions .button{width:auto;min-width:max-content;padding-inline:var(--space-4)}.profiles-page__actions{align-items:center;gap:var(--space-2);white-space:nowrap;max-width:100%;display:inline-flex}.profiles-page__actions .button{padding:0 var(--space-2);flex:none}.settings-page__form{gap:var(--space-5);display:grid}.settings-page__section{gap:var(--space-4);padding:var(--space-5);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.settings-page__section-header{gap:var(--space-1);max-width:54rem;display:grid}.settings-page__section-header h2,.settings-page__empty-state h2{color:var(--colour-text);font-size:var(--font-size-lg);margin:0;line-height:1.25}.settings-page__section-header p,.settings-page__empty-state p,.settings-page__logo-copy p{color:var(--colour-text-muted);margin:0}.settings-page__grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.settings-page__grid--identity{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page__textarea-field{grid-column:span 2}.settings-page__textarea{min-height:7rem;padding-top:var(--space-3);resize:vertical}.settings-page__theme-field{align-self:stretch}.settings-page__colour-control{gap:var(--space-2);grid-template-columns:3rem minmax(0,1fr);display:grid}.settings-page__colour-input{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);width:3rem;height:2.5rem;padding:.2rem}.settings-page__logo-field{grid-column:span 2}.settings-page__logo-control{gap:var(--space-3);min-height:7rem;padding:var(--space-3);background:var(--colour-surface-muted);border:1px dashed var(--colour-border);border-radius:var(--radius-lg);grid-template-columns:6rem minmax(0,1fr);align-items:center;display:grid}.settings-page__logo-preview{width:6rem;height:5rem;color:var(--colour-primary);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);place-items:center;display:grid;overflow:hidden}.settings-page__logo-preview img{object-fit:contain;width:100%;height:100%;padding:var(--space-2)}.settings-page__logo-preview span{background:var(--colour-primary-soft);border-radius:var(--radius-md);place-items:center;width:2.5rem;height:2.5rem;display:grid}.settings-page__logo-copy{gap:var(--space-3);min-width:0;display:grid}.settings-page__logo-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-page__logo-actions .button{min-height:2.25rem}.settings-page__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.settings-page__empty-state,.settings-page__loading{gap:var(--space-3);padding:var(--space-5);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.settings-page__loading{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page__myob-panel,.settings-page__myob-setup{gap:var(--space-4);display:grid}.settings-page__myob-loading{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-page__myob-status{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(12rem,1fr) minmax(16rem,1.4fr);display:grid}.settings-page__myob-status-icon{border-radius:var(--radius-md);place-items:center;width:2.5rem;height:2.5rem;display:inline-grid}.settings-page__myob-status div{gap:.15rem;display:grid}.settings-page__myob-status span,.settings-page__myob-grid dt{color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:500}.settings-page__myob-status strong{color:var(--colour-text);font-size:var(--font-size-md);font-weight:650}.settings-page__myob-status p,.settings-page__myob-logs p{color:var(--colour-text-muted);margin:0;line-height:1.45}.settings-page__myob-status--ready,.settings-page__myob-status--connected{border-color:color-mix(in srgb, var(--colour-success), transparent 72%);background:color-mix(in srgb, var(--colour-success-soft), var(--colour-surface) 62%)}.settings-page__myob-status--ready .settings-page__myob-status-icon,.settings-page__myob-status--connected .settings-page__myob-status-icon{color:var(--colour-success);background:var(--colour-success-soft)}.settings-page__myob-status--warning{border-color:color-mix(in srgb, var(--colour-warning), transparent 72%);background:color-mix(in srgb, var(--colour-warning-soft), var(--colour-surface) 62%)}.settings-page__myob-status--warning .settings-page__myob-status-icon{color:var(--colour-warning);background:var(--colour-warning-soft)}.settings-page__myob-status--disconnected{border-color:color-mix(in srgb, var(--colour-danger), transparent 76%);background:color-mix(in srgb, var(--colour-danger-soft), var(--colour-surface) 72%)}.settings-page__myob-status--disconnected .settings-page__myob-status-icon{color:var(--colour-danger);background:var(--colour-danger-soft)}.settings-page__myob-status--error{border-color:var(--colour-danger-soft)}.settings-page__myob-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.settings-page__myob-grid div{padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);gap:.2rem;display:grid}.settings-page__myob-grid dd{color:var(--colour-text);margin:0;font-weight:600;line-height:1.35}.settings-page__myob-summary-item--success{border-color:color-mix(in srgb, var(--colour-success), transparent 78%);box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--colour-success-soft), transparent 48%)}.settings-page__myob-summary-item--success dd{color:var(--colour-success)}.settings-page__myob-summary-item--warning{border-color:color-mix(in srgb, var(--colour-warning), transparent 78%);box-shadow:inset 0 0 0 9999px color-mix(in srgb, var(--colour-warning-soft), transparent 48%)}.settings-page__myob-summary-item--warning dd{color:var(--colour-warning)}.settings-page__myob-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-page__myob-wizard{gap:var(--space-3);display:grid}.settings-page__myob-control-panel{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.settings-page__myob-control-panel:before{content:"";background:var(--colour-border);width:.25rem;position:absolute;inset:0 auto 0 0}.settings-page__myob-control-panel--ready,.settings-page__myob-control-panel--connected{border-color:color-mix(in srgb, var(--colour-success), transparent 76%)}.settings-page__myob-control-panel--ready:before,.settings-page__myob-control-panel--connected:before{background:var(--colour-success)}.settings-page__myob-control-panel--warning{border-color:color-mix(in srgb, var(--colour-warning), transparent 76%)}.settings-page__myob-control-panel--warning:before{background:var(--colour-warning)}.settings-page__myob-control-panel--disconnected{border-color:color-mix(in srgb, var(--colour-danger), transparent 78%)}.settings-page__myob-control-panel--disconnected:before{background:var(--colour-danger)}.settings-page__myob-control-shell{padding:var(--space-5);display:grid}.settings-page__myob-control-main{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);align-items:start;min-width:0;display:grid}.settings-page__myob-control-icon{width:2.75rem;height:2.75rem;color:var(--colour-primary);background:var(--colour-primary-soft);border-radius:var(--radius-md);place-items:center;display:inline-grid}.settings-page__myob-control-panel--ready .settings-page__myob-control-icon,.settings-page__myob-control-panel--connected .settings-page__myob-control-icon{color:var(--colour-success);background:var(--colour-success-soft)}.settings-page__myob-control-panel--warning .settings-page__myob-control-icon{color:var(--colour-warning);background:var(--colour-warning-soft)}.settings-page__myob-control-panel--disconnected .settings-page__myob-control-icon{color:var(--colour-danger);background:var(--colour-danger-soft)}.settings-page__myob-control-copy{gap:var(--space-1);min-width:0;display:grid}.settings-page__myob-control-copy>span{color:var(--colour-text-muted);font-size:var(--font-size-xs);font-weight:650}.settings-page__myob-control-copy h3{color:var(--colour-text);font-size:var(--font-size-lg);margin:0;font-weight:700}.settings-page__myob-control-copy p{color:var(--colour-text-muted);margin:0;line-height:1.5}.settings-page__myob-control-actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--colour-border);flex-wrap:wrap;align-items:center;display:flex}.settings-page__myob-action-group{display:contents}.settings-page__myob-action-group .button{justify-content:center;width:auto;min-height:2.45rem}.settings-page__myob-wizard-panel{gap:var(--space-3);padding:var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);display:grid}.settings-page__myob-wizard-panel h3{color:var(--colour-text);font-size:var(--font-size-md);margin:0;font-weight:650}.settings-page__myob-wizard-panel p{color:var(--colour-text-muted);margin:0}.settings-page__myob-sync-status{margin-top:var(--space-2)}.settings-page__myob-sync-summary{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.settings-page__myob-sync-summary span{border:1px solid var(--colour-border);border-radius:var(--radius-sm);color:var(--colour-text-muted);font-size:var(--font-size-xs);padding:.25rem .5rem;font-weight:700}.settings-page__myob-search{align-items:flex-end;gap:var(--space-2);display:flex}.settings-page__myob-search .field{flex:16rem}.settings-page__myob-options,.settings-page__myob-options-shell{gap:var(--space-2);display:grid}.settings-page__myob-option-empty{justify-items:start;gap:var(--space-2);display:grid}.settings-page__myob-option{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);display:flex}.settings-page__myob-option div{gap:.15rem;display:grid}.settings-page__myob-option strong{color:var(--colour-text);font-size:var(--font-size-sm);font-weight:600}.settings-page__myob-option span,.settings-page__myob-option-message{color:var(--colour-text-muted);font-size:var(--font-size-sm)}.settings-page__myob-option-message--subtle{color:color-mix(in srgb, var(--colour-text-muted), transparent 18%);margin:0}.settings-page__myob-setup-modal{--modal-width:min(58rem, 94vw)}.settings-page__myob-setup-modal-body{gap:var(--space-4);align-content:start;min-height:28rem;display:grid}.settings-page__myob-setup-modal .settings-page__myob-wizard-panel{background:0 0;border:0;padding:0}.settings-page__myob-setup-progress{grid-template-columns:repeat(var(--myob-setup-step-count,4), minmax(0, 1fr));gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.settings-page__myob-setup-progress-item{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);color:var(--colour-text-muted);background:var(--colour-surface-muted);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;display:flex}.settings-page__myob-setup-progress-item span{width:1.45rem;height:1.45rem;color:var(--colour-text-muted);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs);flex:none;place-items:center;font-weight:650;display:inline-grid}.settings-page__myob-setup-progress-item--complete{color:var(--colour-success);background:color-mix(in srgb, var(--colour-success-soft), var(--colour-surface) 58%);border-color:color-mix(in srgb, var(--colour-success), transparent 74%)}.settings-page__myob-setup-progress-item--complete span,.settings-page__myob-setup-progress-item--current span{color:#fff;background:var(--colour-success);border-color:var(--colour-success)}.settings-page__myob-setup-progress-item--current{color:var(--colour-text);background:var(--colour-surface);border-color:color-mix(in srgb, var(--colour-success), var(--colour-border) 55%);box-shadow:0 0 0 3px color-mix(in srgb, var(--colour-success), transparent 86%)}.settings-page__myob-setup-modal-footer{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;display:flex}.settings-page__myob-step-count{color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:500}.settings-page__myob-setup-modal-actions{align-items:center;gap:var(--space-2);display:flex}.settings-page__myob-logs{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--colour-border);display:grid}.settings-page__myob-logs-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.settings-page__myob-logs-header div{gap:var(--space-1);display:grid}.settings-page__myob-logs-header>span{color:var(--colour-text-muted);font-size:var(--font-size-sm);flex:none;font-weight:500}.settings-page__myob-logs h3{color:var(--colour-text);font-size:var(--font-size-md);margin:0}.settings-page__myob-log-filters{gap:var(--space-3);grid-template-columns:10rem 12rem minmax(12rem,1fr) auto;align-items:end;display:grid}.settings-page__myob-log-filters .button{white-space:nowrap;min-height:2.5rem}.settings-page__myob-log-loading{gap:var(--space-2);display:grid}.settings-page__myob-log-error{color:var(--colour-danger);margin:0;font-weight:600}.settings-page__myob-log-table-wrap{border:1px solid var(--colour-border);border-radius:var(--radius-lg);overflow-x:auto}.settings-page__myob-log-table{border-collapse:collapse;width:100%;min-width:58rem}.settings-page__myob-log-table th,.settings-page__myob-log-table td{padding:var(--space-3);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}.settings-page__myob-log-table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);font-size:var(--font-size-sm);font-weight:600}.settings-page__myob-log-table tr:last-child td{border-bottom:0}.settings-page__myob-log-table td{color:var(--colour-text);font-size:var(--font-size-sm)}.settings-page__myob-log-table .button{min-height:2.25rem}.settings-page__myob-log-status{min-height:1.5rem;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);align-items:center;font-weight:650;display:inline-flex}.settings-page__myob-log-pagination{justify-content:space-between}.settings-page__myob-page-size{color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:500}.settings-page__myob-log-status--success{color:var(--colour-success);background:var(--colour-success-soft)}.settings-page__myob-log-status--failed{color:var(--colour-danger);background:var(--colour-danger-soft)}.settings-page__myob-log-status--blocked,.settings-page__myob-log-status--pending{color:var(--colour-warning);background:var(--colour-warning-soft)}.settings-page__myob-log-modal{--modal-width:min(62rem, 94vw)}.settings-page__myob-log-modal-message{color:var(--colour-text-muted);margin:0}.settings-page__myob-log-detail{gap:var(--space-4);display:grid}.settings-page__myob-log-detail-summary{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.settings-page__myob-log-detail-summary div,.settings-page__myob-log-detail-list div,.settings-page__myob-log-json{padding:var(--space-3);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md)}.settings-page__myob-log-detail-summary div{gap:.2rem;display:grid}.settings-page__myob-log-detail-summary span,.settings-page__myob-log-detail-list dt,.settings-page__myob-log-json dt{color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:500}.settings-page__myob-log-detail-summary strong,.settings-page__myob-log-detail-list dd{color:var(--colour-text);font-weight:600}.settings-page__myob-log-detail-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.settings-page__myob-log-detail-list div{gap:.2rem;display:grid}.settings-page__myob-log-detail-list div:first-child{background:color-mix(in srgb, var(--colour-primary-soft), var(--colour-surface) 62%);border-color:color-mix(in srgb, var(--colour-primary), transparent 78%);grid-column:1/-1}.settings-page__myob-log-detail-list dd,.settings-page__myob-log-json dd{overflow-wrap:anywhere;min-width:0;margin:0}.settings-page__myob-log-json{gap:var(--space-2);display:grid}.settings-page__myob-log-json h4{color:var(--colour-text);font-size:var(--font-size-sm);margin:0;font-weight:650}.settings-page__myob-log-json p{margin:0}.settings-page__myob-log-json-map,.settings-page__myob-log-json-list{gap:var(--space-2);margin:0;display:grid}.settings-page__myob-log-json-list{padding-left:var(--space-5)}.settings-page__myob-log-json-map div{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--colour-border);grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);display:grid}.settings-page__myob-log-json-map div:last-child{border-bottom:0;padding-bottom:0}.profiles-page__status{color:var(--colour-danger);margin:0;font-weight:650}.profiles-page__modal-form{gap:var(--space-5)}.profiles-page__modal-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profiles-page__note-field{grid-row:span 2}.profiles-page__note-control{min-height:7rem;padding-top:var(--space-2);resize:vertical}.profiles-page__checkbox-field{align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650;display:inline-flex}.profiles-page__checkbox-field input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.profiles-page__add-all-notice{justify-self:start;align-items:center;gap:var(--space-2);width:fit-content;max-width:100%;padding:var(--space-3) var(--space-4);color:var(--colour-warning);background:var(--colour-warning-soft);border:1px solid color-mix(in srgb, var(--colour-warning), transparent 72%);border-radius:var(--radius-md);font-size:var(--font-size-sm);grid-column:1/-1;font-weight:650;line-height:1.4;display:inline-flex}.profiles-page__add-all-notice svg{flex:none}.create-job-page{max-width:82rem}.create-job-page--full{width:100%;max-width:none}.create-job-page__form{gap:var(--space-5);width:100%;display:grid}.create-job-page__panel{gap:var(--space-4);padding:var(--space-5);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.create-job-page__panel h2{font-size:var(--font-size-lg);margin:0}.create-job-page__grid,.create-job-page__new-client-grid,.create-job-page__paint-order-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.create-job-page__field-wide,.create-job-page__new-client-grid,.create-job-page__paint-order-grid{grid-column:1/-1}.create-job-page__lookup-field{position:relative}.create-job-page__lookup-results{top:calc(100% + var(--space-1));z-index:12;width:100%;max-height:16rem;padding:var(--space-1);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform-origin:top;visibility:hidden;transition:opacity .16s,transform .16s,visibility .16s;display:grid;position:absolute;left:0;overflow-y:auto;transform:translateY(-.35rem)scale(.985)}.create-job-page__lookup-results--open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1)}.create-job-page__lookup-results button{min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;font-weight:650}.create-job-page__lookup-results button:hover,.create-job-page__lookup-results button:focus-visible{background:var(--colour-surface-muted);outline:none}.create-job-page__lookup-option--create{color:var(--colour-primary-strong);background:var(--colour-primary-soft)}.create-job-page__lookup-option--create:hover,.create-job-page__lookup-option--create:focus-visible{background:color-mix(in srgb, var(--colour-primary-soft), var(--colour-primary) 10%)}.create-job-page__lookup-note{color:var(--colour-text-muted);font-size:var(--font-size-sm)}.create-job-page__lookup-skeleton{gap:var(--space-2);padding:var(--space-2);display:grid}.create-job-page__lookup-skeleton-row{width:var(--lookup-skeleton-width,80%);background:linear-gradient(90deg, var(--colour-surface-muted) 0%, color-mix(in srgb, var(--colour-border), #fff 45%) 48%, var(--colour-surface-muted) 100%);background-size:220% 100%;border-radius:999px;height:.9rem;animation:1.1s ease-in-out infinite data-table-skeleton;display:block;overflow:hidden}.create-job-page__date-field{position:relative}.create-job-page__date-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--colour-text-muted);text-align:left;cursor:pointer;display:inline-flex}.create-job-page__date-trigger--selected{color:var(--colour-text)}.create-job-page__date-popover{top:calc(100% + var(--space-2));z-index:14;gap:var(--space-3);width:min(25rem,100vw - 2rem);padding:var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform-origin:0 0;visibility:hidden;transition:opacity .17s,transform .17s,visibility .17s;display:grid;position:absolute;left:0;transform:translateY(-.35rem)scale(.985)}.create-job-page__date-popover--open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1)}.create-job-page__date-toolbar{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.create-job-page__date-selects{gap:var(--space-2);grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);display:grid}.create-job-page__date-selects .field__control{min-height:2.25rem;font-size:var(--font-size-sm)}.create-job-page__calendar-weekdays,.create-job-page__calendar-grid{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.create-job-page__calendar-weekdays span{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-align:center;font-weight:700}.create-job-page__calendar-day{aspect-ratio:1;min-width:0;color:var(--colour-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);background:0 0;border:1px solid #0000;place-items:center;font-weight:650;display:inline-grid}.create-job-page__calendar-day:hover,.create-job-page__calendar-day:focus-visible{background:var(--colour-surface-muted);outline:none}.create-job-page__calendar-day--muted{color:var(--colour-text-muted)}.create-job-page__calendar-day--selected{color:#fff;background:var(--colour-primary)}.create-job-page__calendar-day--selected:hover,.create-job-page__calendar-day--selected:focus-visible{background:var(--colour-primary-strong)}.create-job-page__date-footer{justify-content:flex-end;display:flex}.create-job-page__date-footer button{min-height:2rem;padding:0 var(--space-2);color:var(--colour-text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);background:0 0;border:0;font-weight:650}.create-job-page__date-footer button:hover,.create-job-page__date-footer button:focus-visible{color:var(--colour-text);background:var(--colour-surface-muted);outline:none}.create-job-page__choice-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.create-job-page__choice-button{min-height:2.5rem;padding:0 var(--space-4);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);cursor:pointer;font-weight:650;transition:background-color .15s,border-color .15s,color .15s}.create-job-page__choice-button:hover{background:var(--colour-surface-muted)}.create-job-page__choice-button--active{color:var(--colour-primary-strong);background:var(--colour-primary-soft);border-color:color-mix(in srgb, var(--colour-primary), transparent 35%)}.create-job-page__checkbox-field{align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650;display:inline-flex}.create-job-page__checkbox-field input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.create-job-page__availability{min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-success);background:var(--colour-success-soft);border:1px solid color-mix(in srgb, var(--colour-success), transparent 72%);border-radius:var(--radius-md);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.create-job-page__note{min-height:8rem;padding-top:var(--space-3);resize:vertical}.create-job-page__submit-row{justify-content:flex-end;display:flex}.create-job-page__upload-box{gap:var(--space-4);padding:var(--space-4);background:linear-gradient(180deg, #ffffffb8, #fff0), var(--colour-surface);border:1px dashed color-mix(in srgb, var(--colour-border), var(--colour-primary) 20%);border-radius:var(--radius-lg);transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.create-job-page__upload-box--dragging,.create-job-page__upload-box:focus-within{border-color:var(--colour-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--colour-primary), transparent 86%);transform:translateY(-1px)}.create-job-page__upload-box--preparing:after{pointer-events:none;content:"";background:linear-gradient(90deg,#0000,#ffffff7a,#0000);animation:.9s ease-in-out infinite upload-sheen;position:absolute;inset:0}.create-job-page__upload-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.create-job-page__upload-action{align-items:center;gap:var(--space-3);min-height:5rem;padding:var(--space-4);color:var(--colour-text);text-align:left;background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .16s,border-color .16s;display:flex}.create-job-page__upload-action:hover{background:var(--colour-surface-muted);border-color:color-mix(in srgb, var(--colour-primary), var(--colour-border) 45%)}.create-job-page__upload-action span:last-child{gap:.2rem;display:grid}.create-job-page__upload-action strong{font-size:var(--font-size-sm)}.create-job-page__upload-action small{color:var(--colour-text-muted)}.create-job-page__upload-icon{width:2.5rem;height:2.5rem;color:var(--colour-primary);background:var(--colour-primary-soft);border-radius:var(--radius-md);flex:none;place-items:center;display:inline-grid}.create-job-page__upload-progress{gap:var(--space-2);color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:650;display:grid}.create-job-page__upload-progress-bar{background:var(--colour-surface-muted);border-radius:999px;width:100%;height:.35rem;display:block;overflow:hidden}.create-job-page__upload-progress-bar:before{content:"";background:var(--colour-primary);border-radius:inherit;width:42%;height:100%;animation:.7s ease-in-out infinite upload-progress;display:block}.create-job-page__upload-preview-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.create-job-page__upload-preview{align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);grid-template-columns:4rem minmax(0,1fr) auto;animation:.18s ease-out both upload-preview-in;display:grid;position:relative}.create-job-page__upload-preview img{object-fit:cover;background:var(--colour-surface-muted);border-radius:var(--radius-md);width:4rem;height:4rem}.create-job-page__upload-preview div{align-items:center;gap:var(--space-2);min-width:0;color:var(--colour-text-muted);font-size:var(--font-size-sm);font-weight:650;display:flex}.create-job-page__upload-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.create-job-page__upload-preview button{width:2rem;height:2rem;color:var(--colour-danger);background:var(--colour-danger-soft);border:1px solid color-mix(in srgb, var(--colour-danger), transparent 78%);border-radius:var(--radius-md);cursor:pointer;place-items:center;display:inline-grid}.create-job-page__upload-preview button:hover{background:color-mix(in srgb, var(--colour-danger-soft), var(--colour-danger) 8%)}@keyframes upload-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes upload-progress{0%{transform:translate(-100%)}to{transform:translate(240%)}}@keyframes upload-preview-in{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes job-pieces-image-spin{to{transform:rotate(360deg)}}.create-job-page__status{color:var(--colour-danger);margin:0;font-weight:650}.job-pieces-page{min-width:0}.job-pieces-page .page-header{align-items:center}.job-pieces-page__save-state{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);color:var(--colour-text-muted);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:nowrap;font-weight:650;display:inline-flex}.job-pieces-page__save-state--dirty{color:var(--colour-warning);background:color-mix(in srgb, var(--colour-warning), transparent 90%);border-color:color-mix(in srgb, var(--colour-warning), transparent 72%)}.job-pieces-page__save-state--saving,.job-pieces-page__save-state--finishing{color:var(--colour-primary);background:var(--colour-primary-soft);border-color:color-mix(in srgb, var(--colour-primary), transparent 76%)}.job-pieces-page__save-state--saved{color:var(--colour-success);background:color-mix(in srgb, var(--colour-success), transparent 90%);border-color:color-mix(in srgb, var(--colour-success), transparent 76%)}.job-pieces-page__save-state--error{color:var(--colour-danger);background:var(--colour-danger-soft);border-color:color-mix(in srgb, var(--colour-danger), transparent 74%)}.job-pieces-page__table-shell{overflow:hidden}.job-pieces-page__table-scroll{width:100%;overflow:auto}.job-pieces-page__table{border-collapse:collapse;width:100%;min-width:84rem;font-size:var(--font-size-sm);table-layout:fixed}.job-pieces-page__table th,.job-pieces-page__table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--colour-border);vertical-align:top}.job-pieces-page__table th{color:var(--colour-text-muted);background:var(--colour-surface-muted);white-space:nowrap;font-weight:700}.job-pieces-page__table tr:last-child td{border-bottom:0}.job-pieces-page__table th:first-child,.job-pieces-page__table td:first-child{width:14rem}.job-pieces-page__table th:nth-child(2),.job-pieces-page__table td:nth-child(2){width:7rem}.job-pieces-page__table th:nth-child(3),.job-pieces-page__table td:nth-child(3),.job-pieces-page__table th:nth-child(4),.job-pieces-page__table td:nth-child(4){width:9rem}.job-pieces-page__table th:nth-child(5),.job-pieces-page__table td:nth-child(5){width:8rem}.job-pieces-page__table th:nth-child(6),.job-pieces-page__table td:nth-child(6),.job-pieces-page__table th:nth-child(8),.job-pieces-page__table td:nth-child(8){width:9rem}.job-pieces-page__table th:nth-child(7),.job-pieces-page__table td:nth-child(7){width:22rem}.job-pieces-page__table th:last-child,.job-pieces-page__table td:last-child{width:9rem}.job-pieces-page__table .field__control{min-width:0}.job-pieces-page__checkbox{align-items:center;gap:var(--space-2);min-height:2.5rem;color:var(--colour-text);white-space:nowrap;font-weight:650;display:inline-flex}.job-pieces-page__checkbox input{width:1.15rem;height:1.15rem;accent-color:var(--colour-primary)}.job-pieces-page__images{gap:var(--space-2);display:grid}.job-pieces-page__upload-button{align-items:center;gap:var(--space-2);width:fit-content;min-height:2.25rem;padding:0 var(--space-3);color:var(--colour-primary);background:var(--colour-primary-soft);border:1px dashed color-mix(in srgb, var(--colour-primary), transparent 68%);border-radius:var(--radius-md);cursor:pointer;font-weight:700;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.job-pieces-page__upload-button:hover{background:color-mix(in srgb, var(--colour-primary-soft), var(--colour-primary) 8%);border-color:color-mix(in srgb, var(--colour-primary), transparent 48%);transform:translateY(-1px)}.job-pieces-page__upload-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.job-pieces-page__image-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.job-pieces-page__image-thumb{background:var(--colour-surface-muted);border:1px solid var(--colour-border);border-radius:var(--radius-md);width:3.25rem;height:3.25rem;animation:.18s ease-out both upload-preview-in;position:relative;overflow:visible}.job-pieces-page__image-thumb img,.job-pieces-page__image-placeholder{border-radius:inherit;width:100%;height:100%;display:block;overflow:hidden}.job-pieces-page__image-thumb img{object-fit:cover}.job-pieces-page__image-placeholder{color:var(--colour-text-muted);place-items:center;display:grid}.job-pieces-page__image-thumb button{color:#fff;background:color-mix(in srgb, var(--colour-danger), #000 8%);width:1.25rem;height:1.25rem;box-shadow:var(--shadow-sm);opacity:.94;z-index:2;border:1px solid #ffffffb8;border-radius:999px;place-items:center;padding:0;line-height:1;transition:opacity .15s,transform .15s;display:inline-grid;position:absolute;top:-.4rem;right:-.4rem}.job-pieces-page__image-thumb button svg{width:.75rem;height:.75rem;display:block}.job-pieces-page__image-loader{color:#fff;background:color-mix(in srgb, var(--colour-primary), transparent 34%);border-radius:inherit;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);place-items:center;animation:.16s ease-out both upload-preview-in;display:grid;position:absolute;inset:0}.job-pieces-page__image-loader svg{filter:drop-shadow(0 1px 2px #00000038);animation:.76s linear infinite job-pieces-image-spin}.job-pieces-page__image-thumb button:hover{opacity:1;transform:scale(1.04)}.job-pieces-page__image-empty{align-items:center;gap:var(--space-2);color:var(--colour-text-muted);display:inline-flex}.job-pieces-page__bottom-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.job-pieces-page__loading{gap:var(--space-4);padding:var(--space-5);display:grid}@media (width>=1200px){.job-pieces-page{height:calc(100vh - var(--topbar-height) - (var(--space-6) * 2));grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden}.job-pieces-page__table-shell{min-height:0;display:flex}.job-pieces-page__table-scroll{height:100%;min-height:0}.job-pieces-page__bottom-actions{align-items:center}.job-pieces-page__table th{z-index:1;position:sticky;top:0}}@media (width<=860px){.job-pieces-page .page-header{align-items:flex-start}.job-pieces-page .page-header__actions,.job-pieces-page__bottom-actions{justify-content:flex-start;width:100%}}.work-logs-page{max-width:58rem}.work-logs-page__form{gap:var(--space-5);padding:var(--space-5);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.work-logs-page__fieldset{gap:var(--space-3);border:0;min-width:0;padding:0;display:grid}.work-logs-page__fieldset legend{margin-bottom:var(--space-2);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:650}.work-logs-page__sprayer-list{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-logs-page__choice{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-3);color:var(--colour-text);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:650;display:inline-flex}.work-logs-page__choice:has(input:checked){color:var(--colour-primary-strong);background:var(--colour-primary-soft);border-color:color-mix(in srgb, var(--colour-primary), transparent 35%)}.work-logs-page__choice input{width:1rem;height:1rem;accent-color:var(--colour-primary)}.work-logs-page__comments{min-height:8rem;padding-top:var(--space-3);resize:vertical}.work-logs-page__actions{justify-content:flex-start;display:flex}.work-logs-page__muted{color:var(--colour-text-muted);margin:0}.work-logs-page__status{color:var(--colour-danger);margin:0;font-weight:650}.work-log-reports-page__summary{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:inline-flex}.work-log-reports-page__summary-box{align-content:center;gap:var(--space-1);min-width:9.5rem;min-height:4rem;padding:var(--space-3) var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.work-log-reports-page__summary-box span{color:var(--colour-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:750}.work-log-reports-page__summary-box strong{color:var(--colour-text);font-size:var(--font-size-md);font-weight:750}.work-log-reports-page__summary-box--action{min-width:0;padding:var(--space-3)}.work-log-reports-page__summary-box--action .button--secondary{color:var(--colour-primary-strong);background:var(--colour-primary-soft);border-color:color-mix(in srgb, var(--colour-primary), transparent 68%)}.work-log-reports-page__summary-box--action .button--secondary:not(:disabled):hover{background:color-mix(in srgb, var(--colour-primary-soft), var(--colour-primary) 12%);border-color:color-mix(in srgb, var(--colour-primary), transparent 48%)}.work-log-reports-page__prompt{color:var(--colour-text-muted);margin:0;font-weight:650}.work-log-reports-page__status{color:var(--colour-danger);margin:0;font-weight:650}.work-log-reports-page__status-badge{min-height:1.75rem;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.work-log-reports-page__status-badge.complete{color:var(--colour-success);background:var(--colour-success-soft)}.work-log-reports-page__status-badge.respray{color:var(--colour-warning);background:var(--colour-warning-soft)}.modal-skeleton{gap:var(--space-3);display:grid}.modal-skeleton--form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.modal-skeleton__field{gap:var(--space-2);display:grid}.modal-skeleton__table-head,.modal-skeleton__table-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);grid-template-columns:1.4fr .8fr .8fr 1.6fr;display:grid}.modal-skeleton__table-head{background:var(--colour-surface-muted)}.modal-skeleton__bar{background:linear-gradient(90deg, transparent, #ffffffb8, transparent), var(--colour-border);background-repeat:no-repeat;background-size:12rem 100%,100% 100%;border-radius:999px;width:100%;height:.85rem;animation:1.1s ease-in-out infinite data-table-skeleton;display:block;overflow:hidden}.modal-skeleton__bar--short{width:68%}.modal-skeleton__bar--label{width:38%;height:.75rem}.modal-skeleton__bar--control{border-radius:var(--radius-md);height:2.5rem}.task-loader{gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;justify-items:center;display:grid}.task-loader__spinner{border:3px solid var(--colour-border);border-top-color:var(--colour-primary);border-radius:999px;width:3rem;height:3rem;animation:.86s linear infinite task-loader-spin;display:block}.task-loader__content{gap:var(--space-2);max-width:26rem;display:grid}.task-loader__title,.task-loader__message{margin:0}.task-loader__title{color:var(--colour-text);font-weight:800}.task-loader__message{color:var(--colour-text-muted);line-height:1.5}.modal-backdrop{z-index:var(--modal-z-index);padding:var(--space-6);background:#0f172a6b;place-items:center;animation:.18s ease-out both modal-backdrop-in;display:grid;position:fixed;inset:0}.modal{width:min(100%, var(--modal-width));background:var(--colour-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);will-change:opacity, transform;animation:.22s cubic-bezier(.16,1,.3,1) both modal-panel-in}.modal-backdrop--closing{pointer-events:none;animation:.18s ease-in both modal-backdrop-out}.modal-backdrop--closing .modal{animation:.16s ease-in both modal-panel-out}.modal--wide{--modal-width:72rem}.modal__header,.modal__footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--colour-border);display:flex}.modal__footer{border-top:1px solid var(--colour-border);border-bottom:0;justify-content:flex-end}.modal__header h2{font-size:var(--font-size-lg);margin:0}.modal__close:disabled{cursor:not-allowed;opacity:.45}.modal__body{max-height:min(68vh,42rem);padding:var(--space-5);overflow-y:auto}.confirm-dialog__body{gap:var(--space-3);display:grid}.confirm-dialog__body p{margin:0}.confirm-dialog__error{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);color:var(--colour-danger);background:var(--colour-danger-soft);border:1px solid color-mix(in srgb, var(--colour-danger), transparent 72%);border-radius:var(--radius-md);display:flex}.confirm-dialog__error p{color:inherit;line-height:1.45}.confirm-dialog__error-dismiss{color:inherit;font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-weight:650}.confirm-dialog__error-dismiss:hover{text-decoration:underline}.single-job-page__myob-replace-copy{gap:var(--space-2);display:grid}.single-job-page__myob-replace-copy p{color:var(--colour-text-muted);line-height:1.45}.single-job-page__myob-replace-copy p:first-child{color:var(--colour-text);font-weight:650}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes task-loader-spin{to{transform:rotate(360deg)}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-panel-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(.5rem)scale(.985)}}.toast-region{right:var(--space-5);bottom:var(--space-5);z-index:var(--toast-z-index);gap:var(--space-2);width:min(22rem,100vw - 2rem);display:grid;position:fixed}.toast{padding:var(--space-3) var(--space-4);background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.toast--success{color:var(--colour-success);background:var(--colour-success-soft)}.toast--error{color:var(--colour-danger);background:var(--colour-danger-soft)}.toast--warning{color:var(--colour-warning);background:var(--colour-warning-soft)}.not-found{place-content:center;gap:var(--space-4);min-height:100vh;padding:var(--space-6);text-align:center;display:grid}@media (width<=767px){.single-job-page .page-header__actions{display:grid}.single-job-page__actions,.single-job-page__management-actions{grid-template-columns:minmax(0,1fr);display:grid}.single-job-page .page-header__actions .button,.single-job-page__actions .button,.single-job-page__management-actions .button{width:100%}.single-job-page__edit-details-form,.single-job-page__edit-cost-form{grid-template-columns:minmax(0,1fr)}.single-job-page__icon-action{width:100%}.single-job-page__cost-current{display:grid}.single-job-page__cost-warning{grid-template-columns:auto minmax(0,1fr)}.single-job-page__cost-warning .button{grid-column:1/-1;width:100%}.single-job-page__cost-badges{justify-content:flex-start}.single-job-page__job-details{gap:var(--space-5);grid-template-columns:minmax(0,1fr)}.single-job-page__job-detail-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.single-job-page__section-header{flex-direction:column;align-items:flex-start}.single-job-page__section-action,.single-job-page__section-action .button{width:100%}.single-job-page__timeline-content{flex-direction:column;align-items:stretch}.single-job-page__timeline-action,.single-job-page__timeline-action .button{width:100%}.single-job-page__field-grid--costing{grid-template-columns:minmax(0,1fr)}.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow-x:hidden}.app-shell__sidebar{border-right:1px solid var(--colour-border);width:min(22rem,100vw - 2rem);max-width:100%;height:100dvh;box-shadow:var(--shadow-md);border-bottom:0;transition:transform .18s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%)}.app-shell--mobile-nav-open .app-shell__sidebar{transform:translate(0)}.app-shell__sidebar-inner{padding:var(--space-4)}.app-shell__mobile-backdrop{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;border:0;display:block;position:fixed;inset:0}.app-shell__mobile-close{display:inline-grid}.app-shell__nav{display:grid;overflow:visible}.app-shell__nav-item{flex:initial}.app-shell__main{grid-template-rows:var(--topbar-height) auto minmax(0, 1fr)}.app-shell__topbar{min-height:var(--topbar-height);padding:0 var(--space-4)}.app-shell__menu-button{display:inline-grid}.app-shell__user-summary{display:none}.app-shell__user-button{min-height:2.5rem;padding:var(--space-1)}.app-shell__mobile-page-meta{padding:var(--space-4) var(--space-4) 0;display:block}.app-shell__content{padding:var(--space-4)}.app-shell--sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell--sidebar-collapsed .app-shell__sidebar{overflow-y:auto}.app-shell__sidebar-tooltip{display:none}.app-shell--sidebar-collapsed .app-shell__brand{justify-content:flex-start}.app-shell--sidebar-collapsed .app-shell__brand-name,.app-shell--sidebar-collapsed .app-shell__nav-label,.app-shell--sidebar-collapsed .app-shell__footer-copy,.app-shell--sidebar-collapsed .app-shell__footer-button-label{opacity:1;pointer-events:auto;white-space:normal;width:auto;overflow:visible;transform:none}.app-shell--sidebar-collapsed .app-shell__footer-copy{display:block}.app-shell--sidebar-collapsed .app-shell__nav-item{padding:var(--space-2) var(--space-3);justify-content:flex-start}.app-shell--sidebar-collapsed .app-shell__footer-actions{flex-direction:row}.app-shell--sidebar-collapsed .app-shell__footer-button{width:auto;padding:0 var(--space-3);flex:1 1 0}.page-header{flex-direction:column;align-items:stretch}.clients-page__modal-grid,.create-job-page__grid,.create-job-page__new-client-grid,.create-job-page__paint-order-grid,.paint-page__modal-grid,.profiles-page__modal-grid{grid-template-columns:minmax(0,1fr)}.settings-page__section{padding:var(--space-4)}.settings-page__grid,.settings-page__grid--identity,.settings-page__myob-grid,.settings-page__myob-log-detail-list,.settings-page__myob-log-detail-summary,.settings-page__myob-log-filters,.settings-page__myob-loading,.settings-page__myob-status,.settings-page__myob-control-shell,.settings-page__myob-control-main,.settings-page__myob-setup-progress,.settings-page__loading{grid-template-columns:minmax(0,1fr)}.settings-page__myob-control-shell{gap:var(--space-4);padding:var(--space-4)}.settings-page__myob-control-actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.settings-page__textarea-field,.settings-page__logo-field{grid-column:auto}.settings-page__logo-control{grid-template-columns:minmax(0,1fr)}.settings-page__logo-preview{width:100%}.settings-page__actions{display:grid}.settings-page__myob-actions,.settings-page__myob-actions .button{width:100%}.settings-page__myob-search,.settings-page__myob-option{display:grid}.settings-page__myob-search .button,.settings-page__myob-option .button,.settings-page__myob-log-filters .button{width:100%}.settings-page__myob-log-pagination{justify-content:stretch}.settings-page__myob-setup-modal-footer,.settings-page__myob-setup-modal-actions,.settings-page__myob-setup-modal-actions .button{width:100%}.settings-page__myob-setup-modal-footer{justify-items:stretch;display:grid}.settings-page__myob-step-count{text-align:center}.settings-page__myob-logs-header{display:grid}.settings-page__myob-log-json-map div,.payment-check-modal__intro,.payment-check-modal__notice,.payment-check-modal__error,.payment-check-modal__changes li,.payment-check-modal__stats,.modal-skeleton--form,.modal-skeleton__table-head,.modal-skeleton__table-row{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-backdrop--closing,.modal,.modal-backdrop--closing .modal,.task-loader__spinner{animation-duration:1ms}}@media (width<=767px){.filter-bar,.filter-bar__fields{grid-template-columns:minmax(0,1fr)}.filter-bar__actions,.filter-bar__actions--query-only{grid-template-columns:minmax(0,1fr);align-self:stretch;width:100%}.filter-bar__page-actions,.filter-bar__query-actions{grid-template-columns:minmax(0,1fr)}.jobs-page__table-footer,.table-pagination-footer{justify-content:stretch}.jobs-page__table-footer .pagination,.jobs-page__table-footer .page-size-control,.table-pagination-footer .pagination,.table-pagination-footer .page-size-control{width:100%}.jobs-page__table-footer .pagination,.table-pagination-footer .pagination{justify-content:flex-end}.jobs-page__table-footer .page-size-control,.table-pagination-footer .page-size-control{justify-content:space-between}.pagination-footer-skeleton{justify-content:stretch}.pagination-footer-skeleton__page-size,.pagination-footer-skeleton__pagination{width:100%}.pagination-footer-skeleton__pagination{justify-content:flex-end}.clients-page__filter-bar,.clients-page__filter-bar--has-reset,.employees-page__filter-bar,.employees-page__filter-bar--has-reset,.profiles-page__filter-bar,.profiles-page__filter-bar--has-reset,.clients-page__filter-bar .filter-bar__fields,.clients-page__filter-bar .filter-bar__page-actions,.clients-page__filter-bar--has-reset .filter-bar__page-actions,.employees-page__filter-bar .filter-bar__fields,.employees-page__filter-bar .filter-bar__page-actions,.employees-page__filter-bar--has-reset .filter-bar__page-actions,.profiles-page__filter-bar .filter-bar__fields,.profiles-page__filter-bar .filter-bar__page-actions,.profiles-page__filter-bar--has-reset .filter-bar__page-actions{grid-template-columns:minmax(0,1fr)}.paint-page__search{grid-column:auto}.worker-jobs-page__filter-bar,.worker-jobs-page__filter-bar--has-reset,.work-log-reports-page__filter-bar,.work-log-reports-page__filter-bar .filter-bar__fields,.work-log-reports-page__filter-bar .filter-bar__query-actions{grid-template-columns:minmax(0,1fr)}.work-log-reports-page__filter-bar .filter-bar__query-actions .button{width:100%;min-width:0}.work-logs-page__sprayer-list,.create-job-page__upload-preview-list{grid-template-columns:minmax(0,1fr)}.filter-bar__page-actions .button,.filter-bar__query-actions .button{width:100%;min-width:0}.invoices-page__preview-modal{--modal-width:100%;max-height:calc(100vh - var(--space-4))}.invoices-page__preview-modal .modal__body{max-height:calc(100vh - 10rem)}.invoices-page__preview-modal .modal__footer{justify-items:stretch;display:grid}.invoices-page__preview-modal .modal__footer .button{width:100%}.invoice-preview-modal__preview-shell{padding:var(--space-3)}.invoice-preview-modal__document{min-width:38rem;padding:var(--space-4)}.invoice-preview-modal__requirements{margin:var(--space-3)}.jobs-page__filter-panel,.invoices-page__filter-panel{gap:var(--space-3);padding:var(--space-3)}.jobs-page__filter-grid,.jobs-page__filter-actions,.invoices-page__filter-grid,.invoices-page__filter-actions{grid-template-columns:minmax(0,1fr)}.jobs-page__filter-actions,.invoices-page__filter-actions{width:100%;display:grid}.jobs-page__filter-actions>.button,.invoices-page__filter-actions>.button{width:100%;min-width:0}}
