@font-face{font-family:JobSheet Manrope;src:url(./Manrope-VariableFont_wght-0N3pECc_.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--font-app: Tahoma, "JobSheet Manrope", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-app-strong: Tahoma, "JobSheet Manrope", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--js-font-size-caption: 9px;--js-font-size-compact: 11px;--js-font-size-small: 12px;--js-font-size-control: 13px;--js-font-size-body: 14px;--js-border: .5px solid #ddd;--js-radius-field: 6px;--js-radius-button: 6px;--js-field-height: 30px;--js-field-height-mobile: 36px;--js-button-height: 30px;--js-button-height-mobile: 36px;--js-button-small-height: 28px;--js-button-small-height-mobile: 32px;--js-compact-field-width: 110px;--js-compact-field-width-mobile: 104px;--js-control-font-size: var(--js-font-size-control);--js-control-bg: #fafafa;--js-control-colour: #222;--js-orange: #E8621A;--js-danger: #c0392b;--js-danger-border: #e8b4b8}*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden}html,body,button,input,textarea,select{font-family:var(--font-app)}.js-control-group{display:flex;flex-direction:column;gap:4px}.js-control-label{display:block;font-size:var(--js-font-size-small);line-height:1.2;color:#666;margin-bottom:5px}.js-field,.js-select,.js-textarea{width:100%;min-height:var(--js-field-height);padding:6px 10px;border:var(--js-border);border-radius:var(--js-radius-field);background:var(--js-control-bg);color:var(--js-control-colour);font-size:var(--js-control-font-size);font-family:inherit;outline:none;box-sizing:border-box}.js-field,.js-select{height:var(--js-field-height)}.js-textarea{line-height:1.4;resize:vertical}.js-broad-search{display:flex;flex-direction:column}.js-broad-search-control{position:relative}.js-broad-search-input{width:100%;height:var(--js-field-height);padding:7px 10px;border:var(--js-border);border-radius:var(--js-radius-field);background:var(--js-control-bg);font-family:inherit;font-size:var(--js-font-size-control);outline:none;box-sizing:border-box}.js-broad-search-input--has-value{padding-right:30px}.js-broad-search-clear{position:absolute;top:50%;right:6px;width:20px;height:20px;padding:0;transform:translateY(-50%);border:none;background:transparent;color:#999;cursor:pointer;font-family:inherit;font-size:16px;line-height:18px}.js-date-input{border:var(--js-border);border-radius:var(--js-radius-field);background:var(--js-control-bg);font-family:inherit;outline:none}.js-date-input-error{margin-top:4px;color:#b91c1c;font-size:var(--js-font-size-small)}.js-payment-terms{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.js-payment-terms-type{width:210px}.js-payment-terms-days{width:110px}.js-payment-terms-preview{color:#888;font-size:var(--js-font-size-small)}.js-button{min-height:var(--js-button-height);padding:5px 14px;border:var(--js-border);border-radius:var(--js-radius-button);background:none;color:#555;font-size:var(--js-control-font-size);font-family:inherit;cursor:pointer;box-sizing:border-box}.js-button-primary{border:none;background:var(--js-orange);color:#fff;font-weight:500}.js-button-secondary{background:none;color:#555}.js-button-danger{color:var(--js-danger);border-color:var(--js-danger-border)}.js-button-primary.js-button-danger,.js-button-danger.js-button-primary{background:var(--js-danger);border-color:var(--js-danger);color:#fff}.js-button-small{min-height:var(--js-button-small-height);padding:3px 12px;font-size:var(--js-font-size-small)}.js-button:disabled,.js-button-disabled{border-color:#eee;color:#ccc;cursor:default}.js-field:focus-visible,.js-select:focus-visible,.js-textarea:focus-visible,.js-button:focus-visible,button:focus-visible,a:focus-visible{outline:1px solid var(--js-orange);outline-offset:1px}.js-app-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000003d}.js-app-modal-frame{position:fixed;top:0;bottom:0;left:calc(var(--app-sidebar-width, 0px) + var(--app-content-padding, 0px));display:flex;width:min(var(--app-content-max-width, 100vw),calc(100vw - var(--app-sidebar-width, 0px) - (var(--app-content-padding, 0px) * 2)));padding:16px;align-items:center;justify-content:center;box-sizing:border-box}.js-app-modal-frame--top{align-items:flex-start;padding-top:clamp(16px,7vh,72px);padding-bottom:16px}.js-app-modal-dialog{max-height:calc(100vh - 32px);padding:18px;overflow-y:auto;border:var(--js-border);border-radius:8px;background:#fff;box-shadow:0 12px 28px #0000002e;box-sizing:border-box}.js-app-modal-title{margin:0 0 14px;font-size:16px}.js-app-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.js-confirm-modal-message{color:#333;font-size:var(--js-font-size-control);line-height:1.35}.js-unsaved-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;background:#0006}.js-unsaved-modal-dialog{width:90%;max-width:340px;padding:20px 24px;border:.5px solid var(--js-orange);border-radius:var(--js-radius-field);background:#fff8f0}.js-unsaved-modal-title{margin-bottom:8px;color:#222;font-size:var(--js-font-size-body);font-weight:600}.js-unsaved-modal-message{margin-bottom:16px;color:#555;font-size:var(--js-font-size-control)}.js-unsaved-modal-actions{display:flex;gap:8px}.js-unsaved-modal-button{padding:8px 14px;border-radius:var(--js-radius-button);cursor:pointer;font-family:inherit;font-size:var(--js-font-size-control)}.js-unsaved-modal-button--leave{border:none;background:var(--js-orange);color:#fff;font-weight:500}.js-unsaved-modal-button--stay{border:var(--js-border);background:none;color:#555}.js-app-notice-host{position:fixed;top:max(76px,calc(env(safe-area-inset-top) + 76px));left:50%;z-index:3500;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100vw - 24px));transform:translate(-50%);pointer-events:none}.js-app-notice{position:relative;min-height:42px;padding:10px 42px 10px 14px;border:.5px solid;border-radius:8px;box-sizing:border-box;box-shadow:0 8px 24px #00000024;font-size:var(--js-font-size-control);font-weight:500;line-height:1.35;pointer-events:auto}.js-app-notice--success{border-color:#b2dfcc;background:#eafaf1;color:#16803c}.js-app-notice--error{border-color:#b71c1c;background:#d32f2f;color:#fff}.js-app-notice--warning{border-color:#f2d28c;background:#fff8e6;color:#9a6500}.js-app-notice--info{border-color:#b8d4f0;background:#eef5ff;color:#255f9f}.js-app-notice-message{text-align:left}.js-app-notice-dismiss{position:absolute;top:50%;right:8px;padding:3px 7px;transform:translateY(-50%);border:none;background:transparent;color:inherit;cursor:pointer;font-family:inherit;font-size:20px;line-height:1}.js-document-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;flex-direction:column;background:#f3f4f6}.js-document-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #ddd;background:#fff;box-shadow:0 1px 4px #00000014}.js-document-preview-title{color:#222;font-size:var(--js-font-size-body);font-weight:600}.js-document-preview-controls{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.js-document-preview-scroller{flex:1;padding:18px;overflow:auto}.js-document-preview-scaled-page{margin:0 auto;transform-origin:top center}.js-document-preview-page{width:210mm;min-height:297mm;transform-origin:top left}.js-document-preview-zoom{align-self:center;min-width:46px;color:#444;font-size:var(--js-font-size-small);font-variant-numeric:tabular-nums;text-align:center}.js-document-preview-button{padding:7px 10px;border:.5px solid #ccc;border-radius:5px;background:#fff;color:#333;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-small)}.js-document-preview-button--back{border-color:var(--js-orange);background:var(--js-orange);color:#fff}.js-document-preview-frame{display:block;width:210mm;min-height:297mm;border:0;background:#fff}.js-finalise-document-prompt{margin-bottom:10px;color:#333;font-size:var(--js-font-size-control)}.js-finalise-document-option{display:flex;align-items:center;gap:8px;min-height:34px;color:#333;font-size:var(--js-font-size-control)}.js-finalise-document-email,.js-finalise-document-message{margin-top:14px}.js-finalise-document-email--flush{margin-top:0}.js-finalise-document-message-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px;margin-bottom:6px}.js-finalise-document-message-label{color:#333;font-size:var(--js-font-size-control);font-weight:600}.js-finalise-document-message-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.js-finalise-document-link{padding:0;border:0;background:transparent;color:#1f5f9f;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-control);text-decoration:underline}.js-finalise-document-link:disabled{cursor:default;opacity:.55}.js-finalise-document-custom-text{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;color:#333;font-size:var(--js-font-size-control);white-space:nowrap}.js-finalise-document-textarea{width:100%;min-height:150px;padding:10px;border:1px solid #d0d7de;border-radius:var(--js-radius-field);box-sizing:border-box;background:#fff;color:#333;font-family:inherit;font-size:var(--js-font-size-control);line-height:1.45;resize:vertical}.js-finalise-document-textarea--error{border-color:var(--js-danger)}.js-finalise-document-textarea--readonly{background:#f7f7f7;color:#555}.js-finalise-document-message-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-top:4px}.js-finalise-document-attachment{display:flex;flex:1 1 auto;align-items:center;gap:4px;min-width:0;max-width:calc(100% - 88px);color:#777;font-size:var(--js-font-size-small)}.js-finalise-document-attachment-label{flex:0 0 auto}.js-finalise-document-attachment-filename{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.js-finalise-document-count{flex:0 0 auto;color:#777;font-size:var(--js-font-size-small);text-align:right}.js-finalise-document-count--error{color:var(--js-danger)}.js-record-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;gap:12px;padding-right:4px}.js-record-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:4px 0 2px}.js-record-eyebrow{font-size:var(--js-font-size-small);color:#888;margin-bottom:3px}.js-record-title{font-size:20px;line-height:1.2;font-weight:700;color:#222}.js-record-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.js-record-card{background:#fff;border:.5px solid #e6e6e6;border-radius:8px;padding:14px 16px}.js-record-section-title{font-size:var(--js-font-size-control);font-weight:700;color:#333;margin-bottom:12px}.js-record-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 18px}.js-record-detail{min-width:0}.js-record-detail-label{font-size:var(--js-font-size-small);color:#888;margin-bottom:3px}.js-record-detail-value{font-size:var(--js-font-size-body);color:#222;min-height:18px;overflow-wrap:anywhere}@media(max-width:600px){.js-record-card{padding:12px}.js-record-title{font-size:18px}.js-record-actions{width:100%;justify-content:flex-end;margin-left:0}}.business-setup-page{flex:1;overflow:auto;padding:2px}.business-setup-card{max-width:720px;margin:0;background:#fff;border:1px solid #ddd;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f}.business-setup-header{padding-bottom:18px;margin-bottom:20px}.business-setup-title{font-size:26px;line-height:1.2;margin:0;color:#222;font-weight:650}.business-setup-intro{margin:8px 0 0;font-size:var(--js-font-size-body);line-height:1.5;color:#555;max-width:680px}.business-setup-section{border-top:1px solid #eee;padding-top:20px;margin-top:20px}.business-setup-section-title{font-size:17px;margin:0 0 14px;color:#222}.business-setup-section-body,.business-setup-narrow-fields,.business-setup-cascade{display:flex;flex-direction:column;gap:14px}.business-setup-narrow-fields{max-width:420px}.business-setup-cascade{max-width:460px}.business-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:620px}.business-setup-field{display:flex;flex-direction:column;gap:0;font-size:var(--js-font-size-control);color:#333}@media(max-width:600px){.business-setup-page{padding:0}.business-setup-card{border:none;border-radius:0;padding:16px;box-shadow:none}.business-setup-header{padding-bottom:12px;margin-bottom:14px}.business-setup-title{font-size:22px}.business-setup-intro{line-height:1.4}.business-setup-section{padding-top:14px;margin-top:14px}.business-setup-section-title{margin-bottom:10px}.business-setup-section-body,.business-setup-narrow-fields,.business-setup-cascade,.business-setup-grid{gap:10px}}@media(max-width:600px){.js-field,.js-select{height:var(--js-field-height-mobile)}.js-field,.js-select,.js-textarea{min-height:var(--js-field-height-mobile);font-size:var(--js-font-size-body)}.js-button{min-height:var(--js-button-height-mobile);font-size:var(--js-font-size-body)}.js-button-small{min-height:var(--js-button-small-height-mobile);font-size:var(--js-font-size-control)}}@media(max-width:600px){input,textarea,select,[contenteditable=true]{scroll-margin-top:18px;scroll-margin-bottom:45vh}.app-main,.page-pane,.modal-body{scroll-padding-top:18px;scroll-padding-bottom:45vh}}.js-filter-label{font-size:var(--js-font-size-caption);font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.js-bottom-tab:focus-visible{outline:none}.js-bottom-tab-label{padding:3px 2px 5px;border-bottom:2px solid transparent}.js-bottom-tab:focus-visible .js-bottom-tab-label{border-bottom-color:var(--js-orange);color:#fff;font-weight:700}.js-page-tab:focus-visible{outline:none;border-bottom-color:var(--js-orange)!important;box-shadow:inset 0 -2px 0 var(--js-orange);background:#e8621a14}.js-more-menu-item:focus-visible{outline:none;color:#fff!important;background:#e8621a24!important;box-shadow:inset 4px 0 0 var(--js-orange)}.js-page-root{width:100%;max-width:var(--app-content-max-width, 850px);display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.js-page-tabs{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;padding:0 4px;border:.5px solid #e0e0e0;border-radius:8px 8px 0 0;box-sizing:border-box;background:#fff}.js-page-tabs--stacked{flex-direction:column;align-items:stretch;gap:0;padding:0 4px 6px;border-bottom:none}.js-page-tabs-row{display:flex;flex-wrap:wrap;min-width:0}.js-page-tabs--stacked .js-page-tabs-row{border-bottom:.5px solid #e0e0e0}.js-page-tab{padding:10px 14px;margin-bottom:-.5px;border-bottom:2px solid transparent;color:#888;cursor:pointer;font-size:var(--js-font-size-small);font-weight:400;outline:none;-webkit-user-select:none;user-select:none}.js-page-tab[aria-selected=true]{border-bottom-color:var(--js-orange);color:var(--js-orange);font-weight:600}.js-page-tab-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.js-page-tab-actions--below{padding:8px 0 2px}.js-page-panel{display:flex;flex-direction:column;flex:1;min-height:0;padding:clamp(12px,4vw,20px);overflow-y:auto;border:.5px solid #e0e0e0;border-top:none;border-radius:0 0 8px 8px;box-sizing:border-box;background:#fff}.js-filter-bar{padding:4px 4px 10px;border-bottom:.5px solid #e0e0e0}.js-filter-control-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.js-filter-stack{display:flex;flex-direction:column;gap:8px}.js-filter-top-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.js-filter-main-row,.js-filter-date-sort-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.js-filter-pill-group{display:flex;align-items:center;gap:8px}.js-filter-pill-group-label{color:#888;font-size:var(--js-font-size-small);font-weight:500;white-space:nowrap}.js-filter-pill{padding:4px 10px;border:none;border-radius:12px;background:#f5f5f5;color:#666;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-small);font-weight:500}.js-filter-pill--active{background:var(--js-orange);color:#fff}.js-filter-pill--active-dark{background:#444}.js-filter-button{height:var(--js-button-small-height);padding:0 12px;border:var(--js-border);border-radius:var(--js-radius-button);background:#f5f5f5;color:#666;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-small);white-space:nowrap}.js-filter-date-preset-button{display:inline-flex;width:58px;height:34px;padding:0 4px;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:var(--js-font-size-compact);line-height:1.05}.js-filter-date-preset-button--active{border-color:#333;background:#333;color:#fff}.js-filter-button-group{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.js-filter-clear-button{background:none}.js-filter-field-group{display:flex;flex-direction:column}.js-filter-money-input{position:relative}.js-filter-money-prefix{position:absolute;top:7px;left:8px;color:#888;font-size:var(--js-font-size-small)}.js-filter-money-field{width:100%;padding-left:20px}.js-filter-sort-toggle{justify-content:flex-end;margin-left:auto}.js-list-filter-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px;margin-top:-2px}.js-list-filter-footer-start{justify-self:start}.js-list-filter-footer-groups{display:flex;justify-self:center;justify-content:center;gap:12px;flex-wrap:wrap}.js-list-filter-footer-end{justify-self:end}.js-list-filter-sort-toggle{justify-content:flex-start;margin-left:0}.js-action-button{padding:5px 10px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-small);font-weight:500}.js-action-button--primary{border:none;background:var(--js-orange);color:#fff}.js-action-button--secondary{border:.5px solid #ddd;background:none;color:#555}.js-action-button--danger{border:none;background:#c0392b;color:#fff}.js-action-button:disabled{border:.5px solid #eee;background:none;color:#ccc;cursor:default}.js-list-table{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border:none;border-radius:0;background:#fff}.js-list-table-scroller{flex:1;padding-right:12px;overflow:auto}.js-list-table-header,.js-list-table-row{display:flex;align-items:center}.js-list-table-header{position:sticky;top:0;z-index:2;padding:10px 16px;border-bottom:.5px solid #e0e0e0;background:#fff;color:#888;font-size:var(--js-font-size-compact);letter-spacing:.4px;text-transform:uppercase}.js-list-table-row{padding:12px 16px;border-bottom:.5px solid #f0f0f0;color:#222;font-size:var(--js-font-size-control)}.js-sub-tabs{display:flex;align-items:center;gap:18px;margin:0 0 14px;padding:0 4px;border-bottom:.5px solid #e0e0e0}.js-sub-tab{padding:8px 0 9px;margin-bottom:-.5px;border:none;border-bottom:2px solid transparent;background:transparent;color:#777;cursor:pointer;font-family:inherit;font-size:var(--js-font-size-small);font-weight:500}.js-sub-tab[aria-selected=true]{border-bottom-color:var(--js-orange);color:var(--js-orange);font-weight:600}@media(max-width:767px){.js-page-tabs{border-right:none;border-left:none;border-radius:0}.js-page-tab{display:flex;align-items:center;min-height:44px;box-sizing:border-box}.js-page-panel{padding:12px;border-right:none;border-bottom:none;border-left:none;border-radius:0}.js-filter-bar{padding:4px 0 12px;border-bottom:none}.js-action-button{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:38px;padding:0 12px;box-sizing:border-box;font-size:var(--js-font-size-control);white-space:nowrap}}.js-cash-customer-details{margin-top:8px}.js-document-lines-heading{margin-bottom:4px}.js-document-line-row{margin-bottom:2px;padding:5px 4px;border-radius:4px;background:#def0ff}.js-document-line-row--alternate{background:#e1e1e1}.js-document-line-row .js-field,.js-document-line-row .js-select,.js-document-line-row .js-textarea{background:#fff}.js-document-line-optional{color:#aaa}.js-document-line-action{color:var(--js-orange);cursor:pointer;font-size:var(--js-font-size-small)}.js-document-line-action--muted{color:#aaa}.js-document-line-textarea{overflow:auto;resize:vertical;white-space:pre-wrap;line-height:1.4}.js-document-line-textarea--job{min-height:44px}.js-document-line-textarea--tall{height:42px;min-height:42px}.js-document-line-textarea--compact{height:30px;min-height:30px}
