:root{--colour-primary:#fdcb07;--colour-primary-hover:#e7b900;--colour-primary-active:#cda300;--colour-primary-soft:#fff8d3;--colour-charcoal:#2d2e32;--colour-navy:#111827;--colour-navy-soft:#202b3d;--colour-text:#1f2933;--colour-muted:#64748b;--colour-surface:#fff;--colour-surface-soft:#f7f8fa;--colour-workspace:#6b7280;--colour-border:#d7dde5;--colour-border-strong:#aeb8c6;--colour-danger:#dc2626;--colour-danger-hover:#b91c1c;--colour-selection:#e8f1ff;--colour-selection-border:#2563eb;--radius-sm:4px;--radius-md:7px;--radius-lg:10px;--shadow-card:0 8px 24px #0f172a1f;--shadow-menu:0 14px 32px #0f172a33}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{color:var(--colour-text);background:#e9edf2;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}button{appearance:none}button:disabled,input:disabled{opacity:.48;cursor:not-allowed!important}.btn,.generate-btn,.add-page-btn,.pricing-save-btn,.pricing-cancel-btn,.quick-quote-print-btn,.combine-continue-btn,.export-generate-btn,.new-project-create-btn{border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 14px;font-weight:700;line-height:1.15;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn-primary,.generate-btn,.add-page-btn,.pricing-save-btn,.quick-quote-print-btn,.combine-continue-btn,.export-generate-btn,.new-project-create-btn{border-color:var(--colour-primary);background:var(--colour-primary);color:var(--colour-charcoal)}.btn-primary:hover,.generate-btn:hover,.add-page-btn:hover,.pricing-save-btn:hover,.quick-quote-print-btn:hover,.combine-continue-btn:hover,.export-generate-btn:hover,.new-project-create-btn:hover{border-color:var(--colour-primary-hover);background:var(--colour-primary-hover)}.btn-secondary,.pricing-cancel-btn,.combine-separate-btn,.export-cancel-btn,.new-project-load-btn,.new-project-cancel-btn{border-color:var(--colour-border);background:var(--colour-surface);color:var(--colour-text)}.btn-secondary:hover,.pricing-cancel-btn:hover,.combine-separate-btn:hover,.export-cancel-btn:hover,.new-project-load-btn:hover,.new-project-cancel-btn:hover{border-color:var(--colour-border-strong);background:#eef2f6}.btn-topbar{color:#fff;background:0 0;border-color:#fff3}.btn-topbar:hover{background:var(--colour-navy-soft)}.btn-danger{border-color:var(--colour-danger);background:var(--colour-danger);color:#fff}.btn-danger:hover{border-color:var(--colour-danger-hover);background:var(--colour-danger-hover)}.btn-small{min-height:32px;padding:6px 10px;font-size:13px}.btn-compact{border-color:var(--colour-border);background:var(--colour-surface);min-width:34px;min-height:30px;color:var(--colour-text);padding:4px 9px}.btn-compact:hover{background:#eef2f6}.btn-compact[aria-expanded=true]{border-color:var(--colour-border-strong);background:#eef2f6}.btn-icon{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:21px}.app{display:block;position:fixed;inset:0;overflow:hidden}.top-bar{z-index:20000;background:var(--colour-navy);color:#fff;border-bottom:1px solid #273448;justify-content:space-between;align-items:center;gap:18px;height:58px;min-height:58px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.brand-block{flex:auto;min-width:220px}.brand-copy{min-width:0}.brand{color:#fff;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;line-height:1.12;overflow:hidden}.project-name{color:#aeb8c6;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:700;overflow:hidden}.top-navigation{flex:none;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.nav-menu{align-items:center;height:100%;display:inline-flex;position:relative}.nav-menu-trigger,.nav-direct-action{color:#fff;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;height:38px;min-height:38px;padding:0 14px;font-weight:700;position:relative}.nav-menu-trigger:hover,.nav-menu-trigger[aria-expanded=true],.nav-direct-action:hover{border-bottom-color:var(--colour-primary);background:#ffffff14}.nav-menu-panel{z-index:25000;border:1px solid var(--colour-border);border-top:3px solid var(--colour-primary);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--colour-surface);width:210px;box-shadow:var(--shadow-menu);padding:6px;position:absolute;top:calc(50% + 28px);right:0}.nav-menu-panel[hidden]{display:none}.nav-menu-item{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--colour-text);text-align:left;cursor:pointer;background:0 0;border:0;padding:9px 11px;font-weight:600;display:block}.nav-menu-item:hover{background:#f3f4f6}.nav-menu-divider{background:var(--colour-border);height:1px;margin:5px 6px}.generate-pdf-btn{border:1px solid var(--colour-primary);border-radius:var(--radius-md);background:var(--colour-primary);min-width:118px;height:38px;min-height:38px;color:var(--colour-charcoal);cursor:pointer;margin-left:8px;padding:0 16px;font-weight:700}.generate-pdf-btn:hover{border-color:var(--colour-primary-hover);background:var(--colour-primary-hover)}.main-layout{min-width:0;display:flex;position:fixed;inset:131px 0 0;overflow:hidden}.left-panel{border-right:1px solid var(--colour-border);background:var(--colour-surface-soft);flex:0 0 280px;width:280px;min-width:280px;max-width:280px;padding:14px;overflow-y:auto}.left-panel section{margin-top:15px}.left-panel h3,.pricing-section h3{color:var(--colour-text);letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;padding:0 0 7px;font-size:12px;position:relative}.left-panel h3:after,.pricing-section h3:after{content:"";background:var(--colour-primary);border-radius:99px;width:42px;height:3px;position:absolute;bottom:0;left:0}.sidebar-project-info{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);margin-bottom:12px;padding:8px 10px}.sidebar-project-address{color:var(--colour-text);margin:0;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden}.add-page-btn{width:100%}.page-btn,.tool-btn,.product-btn{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);width:100%;min-height:38px;color:var(--colour-text);text-align:left;cursor:pointer;margin-bottom:6px;padding:8px 9px}.page-btn:hover,.tool-btn:hover,.product-btn:hover{background:#eef2f6}.page-btn.active,.active-tool{font-weight:700;border-color:var(--colour-selection-border)!important;background:var(--colour-selection)!important}.page-list-item{align-items:center;gap:6px;margin-bottom:6px;display:flex}.page-list-item .page-btn{flex:1;min-width:0;margin-bottom:0}.page-list-delete{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface);width:30px;height:38px;color:var(--colour-danger);cursor:pointer;flex:none;font-size:13px}.page-list-delete:hover{border-color:var(--colour-danger);background:#fdecec}.product-btn{white-space:nowrap;align-items:center;gap:8px;min-height:36px;padding-top:6px;padding-bottom:6px;font-size:13px;display:flex}.product-btn>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.colour-dot{border-radius:50%;flex:none;width:13px;height:13px}.locked-note{border-radius:var(--radius-md);color:#8a5310;background:#fff8e6;border:1px solid #f1d18a;padding:9px;font-size:12px}.canvas-area{background:var(--colour-workspace);flex:1 1 0;grid-template-rows:50px minmax(0,1fr) 28px;min-width:0;max-width:none;height:100%;display:grid;overflow:hidden}.workspace-toolbar{border-bottom:1px solid var(--colour-border);background:#f3f6f9;align-items:center;gap:6px;min-width:0;padding:6px 10px;display:flex}.fit-page-btn{min-width:74px}.zoom-help{color:var(--colour-muted);font-size:12px}.page-canvas{scrollbar-gutter:stable both-edges;background:var(--colour-workspace);min-width:0;min-height:0;padding:28px;position:relative;overflow:auto}.workspace-zoom-shell{width:fit-content;height:fit-content;margin:0;position:relative}.workspace{-webkit-user-select:none;user-select:none;flex:none;display:block;position:relative;transform:none}.pdf-page-image{-webkit-user-drag:none;user-drag:none;max-width:none;display:block}.markup-canvas{z-index:10!important;pointer-events:none!important;position:absolute!important;top:0!important;left:0!important}.page-canvas.crosshair-active,.page-canvas.crosshair-active *,.workspace.crosshair-active,.workspace.crosshair-active *{cursor:crosshair!important}.empty-state{color:#d7dde5;text-align:center;place-content:center;min-height:100%;display:grid}.status-bar{background:var(--colour-navy);color:#cbd5e1;white-space:nowrap;border-top:1px solid #273448;align-items:center;gap:12px;min-width:0;padding:0 12px;font-size:12px;display:flex;overflow-x:auto}.status-bar-undo-btn{color:#cbd5e1;background:0 0;border-color:#3a4a63;flex:none;min-height:22px;padding:2px 8px;font-size:11px}.status-bar-undo-btn:hover{background:#ffffff14}.status-bar-undo-btn:disabled{opacity:.35}.modal-backdrop,.combine-dialog-backdrop,.new-project-modal-backdrop{z-index:30000;background:#0f172ac7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);background:var(--colour-surface);width:min(1080px,100vw - 36px);height:min(820px,100vh - 36px);box-shadow:var(--shadow-card);flex-direction:column;padding:18px;display:flex;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-header h2{margin:0}#closeModalBtn,#closeNewProjectBtn,.combine-close-btn,.export-screen-close{border-radius:var(--radius-md);background:var(--colour-danger);color:#fff;cursor:pointer;border:0;width:34px;height:34px;font-size:22px}.modal-subtitle{color:var(--colour-muted);margin:7px 0 15px}.thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:14px;min-height:0;display:grid;overflow:auto}.thumbnail-card{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-soft);text-align:center;cursor:pointer;padding:10px}.thumbnail-card:hover{border-color:var(--colour-primary-active);background:var(--colour-primary-soft)}.thumbnail-card img{object-fit:contain;border:1px solid var(--colour-border);background:#fff;width:100%;height:220px;display:block}.thumbnail-card span{margin-top:8px;font-weight:700;display:block}.new-project-modal-backdrop{padding:20px}.new-project-modal{border-top:4px solid var(--colour-primary);border-radius:var(--radius-lg);width:min(620px,100vw - 40px);height:auto;max-height:calc(100vh - 40px);padding:0;overflow:hidden}.new-project-modal-header{border-bottom:1px solid var(--colour-border);min-height:64px;padding:16px 22px}.new-project-modal-header h2{font-size:22px}.new-project-modal-content{padding:22px;overflow-y:auto}.new-project-existing{border-bottom:1px solid var(--colour-border);margin:0 0 22px;padding-bottom:20px}.new-project-load-btn{min-width:132px}.new-project-section{margin:0;padding:0 0 24px}.new-project-section+.new-project-section{border-top:1px solid #e8ecf1;padding-top:22px}.new-project-section-heading{color:var(--colour-text);letter-spacing:.07em;text-transform:uppercase;margin:0 0 15px;padding:0;font-size:12px}.new-project-field{color:#334155;font-size:14px;font-weight:700;display:block}.new-project-field>span{margin-bottom:8px;display:block}.new-project-address-row{display:block}.new-project-address,.new-project-other-input{border:1px solid var(--colour-border);border-radius:var(--radius-md);width:100%;height:42px;color:var(--colour-text);background:#fff;padding:9px 11px}.new-project-option-list{gap:10px;display:grid}.new-project-option{color:#334155;cursor:pointer;align-items:flex-start;gap:9px;min-height:24px;font-size:14px;line-height:1.45;display:flex}.new-project-option input{flex:none;margin:3px 0 0}.new-project-existing-works{border-left:3px solid var(--colour-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--colour-surface-soft);margin:16px 0 0 24px;padding:16px}.new-project-subheading{color:#475569;letter-spacing:.05em;text-transform:uppercase;margin-bottom:13px;font-size:12px;font-weight:700}.new-project-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.new-project-other-input{margin-top:14px}.new-project-error{min-height:20px;color:var(--colour-danger);margin-top:2px;font-size:13px;font-weight:700}.new-project-modal-actions{border-top:1px solid var(--colour-border);background:var(--colour-surface-soft);justify-content:flex-end;align-items:center;gap:10px;min-height:70px;padding:15px 22px;display:flex}.new-project-create-btn,.new-project-cancel-btn{min-width:112px}.export-screen-backdrop{z-index:999999;background:#0f172ac7;padding:12px;position:fixed;inset:0}.export-screen{border-top:4px solid var(--colour-primary);border-radius:var(--radius-lg);background:var(--colour-surface);width:100%;height:100%;box-shadow:var(--shadow-card);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden}.export-screen-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px 12px;display:flex}.export-screen-header h2{margin:0;font-size:22px}.export-screen-header p{color:var(--colour-muted);margin:6px 0 0}.export-screen-toolbar{border-top:1px solid var(--colour-border);border-bottom:1px solid var(--colour-border);background:var(--colour-surface-soft);align-items:center;gap:8px;padding:10px 18px;display:flex}.export-selection-count{color:var(--colour-muted);margin-left:auto;font-size:13px;font-weight:700}.export-preview-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:14px;min-height:0;padding:16px;display:grid;overflow:auto}.export-preview-card{border:2px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-soft);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;min-width:0;padding:9px;display:flex;position:relative}.export-preview-card.selected{border-color:var(--colour-primary-active);background:var(--colour-primary-soft)}.export-page-checkbox{opacity:0;pointer-events:none;position:absolute}.export-checkbox-display{z-index:2;border:2px solid var(--colour-border-strong);border-radius:var(--radius-sm);color:#0000;background:#fff;place-items:center;width:24px;height:24px;font-weight:700;display:grid;position:absolute;top:15px;left:15px}.export-preview-card.selected .export-checkbox-display{border-color:var(--colour-primary-active);background:var(--colour-primary);color:var(--colour-charcoal)}.export-preview-card img{object-fit:contain;border:1px solid var(--colour-border);background:#fff;width:100%;height:210px;display:block}.export-page-name{color:var(--colour-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.export-screen-footer{border-top:1px solid var(--colour-border);background:var(--colour-surface-soft);align-items:center;gap:12px;min-height:68px;padding:12px 18px;display:flex}.export-screen-actions{gap:9px;margin-left:auto;display:flex}.pricing-screen-backdrop,.quick-quote-backdrop{z-index:20000;background:#e9edf2;position:fixed;inset:0;overflow:auto}.pricing-screen,.quick-quote-screen{background:#e9edf2;min-height:100vh}.pricing-screen-topbar,.quick-quote-topbar{background:var(--colour-navy);color:#fff;border-bottom:1px solid #273448;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 18px;display:flex}.pricing-screen-title,.quick-quote-title{font-size:18px;font-weight:700}.pricing-screen-content,.quick-quote-content{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 40px}.pricing-screen-intro,.quick-quote-intro{margin-bottom:18px}.pricing-screen-intro h2,.quick-quote-intro h2{margin:0 0 6px;font-size:24px}.pricing-screen-intro p,.quick-quote-intro p{color:var(--colour-muted);margin:0}.pricing-section,.quick-quote-details,.quote-line-card,.pricing-screen-actions,.quick-quote-footer{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-surface);box-shadow:var(--shadow-card)}.pricing-section{margin-bottom:18px;padding:18px}.pricing-table-wrap{overflow-x:auto}.pricing-table{border-collapse:collapse;width:100%}.pricing-table th,.pricing-table td{text-align:left;border-bottom:1px solid #e6eaf0;padding:10px}.pricing-table th{color:#475569;text-transform:uppercase;background:#f4f6f9;font-size:12px;position:sticky;top:0}.pricing-table tbody tr:hover{background:#fafbfc}.pricing-form-grid,.transport-bracket-row,.quick-quote-details,.standard-pricing-grid,.steel-pricing-grid{gap:12px;display:grid}.pricing-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transport-bracket-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.quick-quote-details{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;padding:18px}.standard-pricing-grid,.steel-pricing-grid{grid-template-columns:repeat(auto-fill,minmax(110px,150px));justify-content:start;gap:8px 10px}.pricing-form-grid label,.transport-bracket-row label,.quick-quote-details label,.quote-line-card label{color:#475569;flex-direction:column;gap:5px;font-size:13px;font-weight:700;display:flex}.quote-line-card label{gap:3px;font-size:11px}.quote-line-card input{min-height:0;padding:4px 6px}.pricing-screen-actions,.quick-quote-footer{align-items:center;gap:10px;padding:14px 18px;display:flex}.quick-quote-plans-checkbox{color:var(--colour-text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.pricing-screen-error{margin-right:auto}.pricing-cancel-btn{margin-left:auto}.quick-quote-body{margin-bottom:18px}.quote-line-card{margin-bottom:10px;padding:12px}.steel-quote-line{background:#fffdf2;border-color:#c9a000}.steel-column-heading{color:#8a6600;text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:11px;font-weight:700}.steel-columns{border-top:1px solid #c9a00059;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;margin-top:12px;padding-top:12px;display:grid}.steel-column{flex-direction:column;gap:8px;display:flex}.steel-column-fields{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));align-content:start;gap:8px 10px;display:grid}.steel-column-totals{flex-direction:column;gap:8px;margin-top:auto;display:flex}.steel-column-totals.steel-totals-row{grid-template-columns:repeat(2,1fr);gap:8px 10px;display:grid}.steel-column-divider{background:#c9a00059;width:1px}.steel-pricing-mesh{border-top:1px solid #c9a00059;margin-top:12px;padding-top:12px}.steel-mesh-total{width:fit-content;min-width:150px;margin-top:10px}.steel-pricing-bays{border-top:1px solid #c9a00059;margin-top:12px;padding-top:12px}.steel-bays-totals{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.steel-bays-totals .quote-calculated-field{width:fit-content;min-width:150px}.steel-checkbox-label{justify-content:flex-start;align-items:center;flex-direction:row!important;gap:6px!important}.steel-checkbox-stack{flex-direction:column;gap:6px;display:flex}.steel-checkbox-label input[type=checkbox]{width:auto;margin:0}.quote-comment-heading{color:var(--colour-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:11px;font-weight:700}.steel-quote-line .quote-comment-heading{color:#8a6600}.quote-line-comment{border-top:1px solid var(--colour-border);margin-top:12px;padding-top:12px}.steel-quote-line .quote-line-comment{border-top-color:#c9a00059}.quote-line-comment-input{border:1px solid var(--colour-border);border-radius:var(--radius-md);width:100%;min-height:32px;font:inherit;color:#475569;resize:vertical;box-sizing:border-box;padding:6px 8px;font-size:12px;display:block}.quote-line-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.quote-line-heading h3{text-transform:none;margin:0;font-size:16px}.quote-line-heading small{color:var(--colour-muted)}.quote-calculated-field{border-radius:var(--radius-md);color:#475569;background:#f4f6f9;flex-direction:column;justify-content:center;gap:4px;padding:5px 6px;font-size:11px;display:flex}.quick-quote-totals{flex-wrap:wrap;gap:18px;margin-right:auto;display:flex}.combine-dialog{border-top:4px solid var(--colour-primary);border-radius:var(--radius-lg);background:var(--colour-surface);width:min(760px,100%);max-height:88vh;box-shadow:var(--shadow-card);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.combine-dialog-header{border-bottom:1px solid var(--colour-border);justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.combine-dialog-header h2{margin:0}.combine-dialog-header p{color:var(--colour-muted);margin:6px 0 0}.combine-dialog-body{padding:12px 18px 18px;overflow:auto}.combine-product-row{cursor:pointer;border-bottom:1px solid #e6eaf0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.combine-product-row small{color:var(--colour-muted);margin-top:4px;display:block}.combine-total{font-weight:700}.combine-dialog-footer{border-top:1px solid var(--colour-border);background:var(--colour-surface-soft);align-items:center;gap:10px;padding:14px 18px;display:flex}.combine-separate-btn{margin-left:auto}.distance-dialog{z-index:99999;border:1px solid var(--colour-border-strong);border-radius:var(--radius-md);background:var(--colour-surface);width:190px;box-shadow:var(--shadow-card);padding:12px;position:fixed}.distance-title{margin-bottom:8px;font-size:13px;font-weight:700}.distance-dialog input{border:1px solid var(--colour-border);border-radius:var(--radius-md);width:100%;height:38px;padding:8px}.distance-buttons{justify-content:flex-end;margin-top:10px;display:flex}.distance-buttons button{border:1px solid var(--colour-primary);border-radius:var(--radius-md);background:var(--colour-primary);min-height:34px;color:var(--colour-charcoal);cursor:pointer;padding:7px 12px;font-weight:700}@media (width<=850px){.pricing-form-grid,.transport-bracket-row,.quick-quote-details,.standard-pricing-grid,.steel-pricing-grid,.steel-columns{grid-template-columns:1fr}.steel-columns .steel-column-divider,.zoom-help{display:none}}@media (width<=650px){.brand{font-size:13px}.project-name{display:none}.nav-menu-trigger,.nav-direct-action{padding-inline:8px;font-size:12px}.generate-pdf-btn{min-width:0;margin-left:3px;padding-inline:10px;font-size:12px}.new-project-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-project-checkbox-grid{grid-template-columns:1fr}.new-project-existing-works{margin-left:12px}}@media print{body *{visibility:hidden}.quick-quote-screen,.quick-quote-screen *{visibility:visible}.quick-quote-screen{background:#fff;min-height:0;position:absolute;inset:0}.quick-quote-topbar,.quick-quote-print-btn{display:none}.quick-quote-content{width:100%;padding:0}}.launcher-screen{background:var(--colour-surface);flex-direction:column;display:flex;position:fixed;inset:0}.launcher-header{background:var(--colour-surface);border-bottom:1px solid var(--colour-border);flex-direction:column;flex:none;align-items:center;gap:6px;padding:28px 20px 22px;display:flex;position:relative}.launcher-logo{width:auto;height:80px}.launcher-hero{background-position:50%;background-size:cover;flex:auto;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.launcher-hero-overlay{background:linear-gradient(#080c128c,#080c12b8);position:absolute;inset:0}.estimating-admin-body{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.estimating-shared-settings-bar{border-radius:var(--radius-sm);background:var(--colour-surface-soft);box-shadow:var(--shadow-menu);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;margin-bottom:24px;padding:12px 18px;display:flex}.estimating-shared-settings-bar span{color:var(--colour-text);font-size:13px;font-weight:700}.launcher-tiles{z-index:1;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:stretch;gap:40px;width:1060px;padding:40px 32px;display:flex;position:relative}.launcher-hero>.launcher-tiles{align-self:flex-start;margin-top:88px}.launcher-tile{border-radius:var(--radius-lg);text-align:left;cursor:pointer;background:#fffffff7;border:none;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:8px;width:300px;padding:28px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 14px 32px #00000047}.launcher-tile:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000057}.launcher-tile-top{flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%;display:flex}.launcher-tile-accent{background:var(--colour-primary);border-radius:99px;width:40px;height:5px}.launcher-tile-icon-badge{background:var(--colour-surface-soft);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:absolute;top:0;right:0;transform:translate(0)}.launcher-tile-icon{object-fit:contain;width:80px;height:80px;margin-top:-8px}.launcher-tile-name{color:var(--colour-text);margin-top:60px;font-size:23px;font-weight:800}.launcher-tile-description{color:var(--colour-muted);font-size:14.5px;line-height:1.35}.launcher-tiles-stack{z-index:1;flex-direction:column;align-self:flex-start;align-items:center;gap:28px;margin-top:88px;display:flex;position:relative}.launcher-tiles-secondary{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:stretch;gap:24px;width:980px;padding-bottom:40px;display:flex}.launcher-tile-small{border:none;border-left:4px solid var(--colour-primary);border-radius:var(--radius-lg);text-align:left;cursor:pointer;background:#fffffff0;flex-shrink:0;align-items:center;width:227px;padding:16px 18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 10px 22px #0000003d}.launcher-tile-small:hover{transform:translateY(-3px);box-shadow:0 16px 28px #0000004d}.launcher-tile-small-top{align-items:center;gap:12px;width:100%;display:flex}.launcher-tile-small-icon-badge{background:var(--colour-surface-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.launcher-tile-small-icon{object-fit:contain;width:30px;height:30px}.launcher-tile-small-name{color:var(--colour-text);font-size:16px;font-weight:700}.modal-overlay{z-index:30000;background:#1118278c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--colour-surface);border-radius:var(--radius-lg);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-menu);padding:28px 32px;overflow:auto}.modal-card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-card-title{color:var(--colour-text);margin:0;font-size:18px;font-weight:800}.modal-close{cursor:pointer;color:var(--colour-muted);background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.scheduling-board-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(1400px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:28px 32px;position:relative;overflow:auto}.scheduling-resource-row{border-bottom:1px solid var(--colour-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.scheduling-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:18px;display:flex}.scheduling-toolbar-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.scheduling-truck-tabs{flex-wrap:wrap;gap:6px;display:flex}.scheduling-truck-tab{border:1px solid var(--colour-border);background:var(--colour-surface);color:var(--colour-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.scheduling-truck-tab-active{background:var(--colour-navy);border-color:var(--colour-navy);color:#fff}.scheduling-add-truck{align-items:center;gap:6px;display:flex}.scheduling-add-truck input{border:1px solid var(--colour-border);border-radius:var(--radius-sm);width:90px;padding:5px 8px;font-size:12px}.scheduling-week-nav{color:var(--colour-text);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.scheduling-week-nav button{border:1px solid var(--colour-border);background:var(--colour-surface);border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;font-size:14px}.scheduling-layout{grid-template-columns:1fr 240px;align-items:start;gap:16px;display:grid}.scheduling-grid-scroll{overflow-x:auto}.scheduling-grid{gap:6px;min-width:920px;display:grid}.scheduling-day-header{color:var(--colour-muted);text-align:center;padding:6px 4px;font-size:12px;font-weight:700}.scheduling-day-header-weekend{color:var(--colour-workspace)}.scheduling-day-strip{gap:6px;margin-bottom:14px;display:flex}.scheduling-day-view-header{color:var(--colour-text);border-bottom:2px solid var(--colour-primary);margin-bottom:12px;padding:0 0 10px;font-size:15px;font-weight:700}.scheduling-truck-label{color:var(--colour-text);justify-content:space-between;align-items:center;gap:4px;padding:4px;font-size:13px;font-weight:700;display:flex}.scheduling-truck-remove{color:var(--colour-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px}.scheduling-cell{border-radius:var(--radius-sm);background:var(--colour-surface);border:1px dashed #0000;flex-direction:column;gap:5px;min-height:64px;padding:6px;display:flex}.scheduling-cell-weekend{background:var(--colour-selection)}.scheduling-cell-dragover{border-color:var(--colour-primary);background:var(--colour-surface-soft)}.scheduling-card{border-radius:var(--radius-sm);border-left:3px solid var(--colour-border);background:var(--colour-surface-soft);cursor:grab;padding:6px 8px;font-size:12px}.scheduling-card-job{color:var(--colour-text);margin:3px 0 0;font-weight:700}.scheduling-card-meta{color:var(--colour-muted);margin:1px 0 0;font-size:11px}.scheduling-card-order{gap:4px;margin-top:5px;display:flex}.scheduling-card-order button{border:1px solid var(--colour-border);background:var(--colour-surface);cursor:pointer;border-radius:3px;width:18px;height:18px;font-size:10px;line-height:1}.scheduling-type-badge{border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.scheduling-day-list{align-items:stretch;min-height:400px;padding:12px}.scheduling-day-list .scheduling-card{padding:10px 12px;font-size:13px}.scheduling-month-grid{grid-template-columns:repeat(7,minmax(90px,1fr));gap:4px;min-width:700px;display:grid}.scheduling-month-cell{border-radius:var(--radius-sm);background:var(--colour-surface);cursor:pointer;border:1px dashed #0000;flex-direction:column;gap:6px;min-height:70px;padding:6px;display:flex}.scheduling-month-cell-outside{opacity:.45;background:0 0}.scheduling-month-cell-date{color:var(--colour-text);font-size:12px;font-weight:600}.scheduling-month-cell-count{background:var(--colour-primary);color:var(--colour-navy);border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:11px;font-weight:700}.scheduling-panel{background:var(--colour-surface);border-radius:var(--radius-lg);flex-direction:column;gap:10px;min-height:200px;padding:14px;display:flex}.scheduling-panel-dragover{outline:2px dashed var(--colour-primary);outline-offset:-4px}.scheduling-panel-header{justify-content:space-between;align-items:center;display:flex}.scheduling-panel-title{color:var(--colour-text);margin:0;font-size:13px;font-weight:700}.scheduling-panel-empty{color:var(--colour-muted);text-align:center;padding:20px 0;font-size:12.5px}.scheduling-review-section{border-top:1px solid var(--colour-border);margin-top:24px;padding-top:20px}.coming-soon-card{border-radius:var(--radius-lg);background:var(--colour-surface);width:min(420px,100% - 48px);box-shadow:var(--shadow-menu);text-align:center;padding:36px 32px}.coming-soon-accent{background:var(--colour-primary);border-radius:99px;width:40px;height:4px;margin-bottom:16px;display:inline-block}.coming-soon-card p{color:var(--colour-muted);margin:0;font-size:14px;line-height:1.5}.screen-back-button{z-index:2;border-radius:var(--radius-lg);color:var(--colour-text);cursor:pointer;background:#ffffffeb;border:none;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;position:absolute;top:24px;left:24px}.screen-back-button:hover{background:#fff}.screen-action-button{z-index:2;position:absolute;top:24px;right:24px}.screen-title-on-photo{z-index:2;color:#fff;text-shadow:0 2px 12px #0006;margin:0;font-size:28px;font-weight:800;position:absolute;top:28px;left:50%;transform:translate(-50%)}.record-list-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(1200px,100% - 48px);min-height:560px;max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.record-list-actions{justify-content:flex-end;margin:0 0 16px;display:flex}.record-list-table{border-collapse:collapse;width:100%;max-width:1040px;margin:0 auto}.record-list-table th,.record-list-table td{text-align:left;border-bottom:1px solid var(--colour-border);color:var(--colour-text);padding:14px 16px;font-size:14.5px}.record-list-table th{color:var(--colour-muted);font-weight:700}.record-list-row-clickable{cursor:pointer;transition:background .12s}.record-list-row-archived{background:#64748b0f}.record-list-row-archived td{color:var(--colour-muted)}.record-list-table td .crm-badge{margin-right:8px}.record-list-row-clickable:hover{background:var(--colour-surface)}.record-list-empty{text-align:center;color:var(--colour-muted);padding:32px 0}.record-list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;display:flex}.record-list-search{border:1px solid var(--colour-border);border-radius:var(--radius-sm);width:280px;max-width:100%;padding:10px 14px;font-size:14px}.record-list-toolbar-left,.record-list-toolbar-right{align-items:center;gap:14px;display:flex}.record-list-toggle{color:var(--colour-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.crm-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.crm-view-badges{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.crm-badge-client{color:var(--colour-navy);background:#11182714}.crm-badge-subcontractor{color:#8a6600;background:#fdcb0738}.crm-badge-vendor{color:var(--colour-muted);background:#64748b26}.crm-badge-active{color:var(--colour-navy);background:#11182714}.crm-badge-lead{color:#8a6600;background:#fdcb0738}.crm-badge-inactive{color:var(--colour-muted);background:#64748b26}.crm-badge-needs_review{color:var(--colour-danger);background:#dc26261f}.crm-badge-pending{color:#8a6600;background:#fdcb0738}.crm-badge-approved{color:var(--colour-navy);background:#11182714}.crm-badge-declined{color:var(--colour-danger);background:#dc26261f}.crm-badge-on_hold{color:var(--colour-muted);background:#64748b26}.crm-badge-complete{color:var(--colour-navy);background:#11182714}.crm-badge-cancelled{color:var(--colour-danger);background:#dc26261f}.file-detail-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(1100px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:28px 32px;position:relative;overflow:auto}.file-jump-nav{z-index:2;background:var(--colour-surface-soft);border-bottom:1px solid var(--colour-border);gap:20px;margin:-28px -32px 20px;padding:14px 32px;display:flex;position:sticky;top:-28px}.file-jump-nav a{color:var(--colour-muted);font-size:13px;font-weight:700;text-decoration:none}.file-jump-nav a:hover{color:var(--colour-navy)}.file-identity-strip{border-bottom:1px solid var(--colour-border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.file-identity-client{color:var(--colour-text);margin:0 0 4px;font-size:20px;font-weight:800}.file-identity-meta{color:var(--colour-muted);margin:0;font-size:13.5px}.file-section{margin-bottom:32px}.file-section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.file-section-heading h2{color:var(--colour-text);margin:0;font-size:16px;font-weight:800}.crm-personnel-heading{color:var(--colour-text);margin:8px 0 12px;font-size:15px;font-weight:700}.crm-personnel-flags{color:var(--colour-muted);flex-direction:column;gap:2px;font-size:11.5px;display:flex}.crm-add-contact-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;width:100%;margin-bottom:10px;display:grid}.crm-add-contact-grid input{box-sizing:border-box;border:1px solid var(--colour-border);border-radius:var(--radius-sm);width:100%;color:var(--colour-text);padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400}.crm-add-contact-flags{color:var(--colour-text);flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.crm-add-contact-flags label{align-items:center;gap:6px;display:flex}.entity-form-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(900px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.entity-form-card.login-form-card{align-self:center;margin-top:0}.entity-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:20px;display:grid}.entity-field{color:var(--colour-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.entity-field-wide{grid-column:1/-1}.entity-field input,.entity-field select,.entity-field textarea{border:1px solid var(--colour-border);border-radius:var(--radius-sm);color:var(--colour-text);padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400}.entity-field textarea{resize:vertical;min-height:72px}.entity-field-hint{color:var(--colour-muted);font-size:11.5px;font-weight:400}.entity-field-inline{align-items:center;gap:8px;display:flex}.entity-field-inline input{flex:1;min-width:0}.entity-field-static{border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);color:var(--colour-text);margin:0;padding:10px 12px;font-size:14px;font-weight:400}.review-checklist{border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);flex-direction:column;gap:8px;margin:4px 0 18px;padding:12px 14px;display:flex}.review-checklist-item{color:var(--colour-text);align-items:center;gap:8px;font-size:13.5px;display:flex}.review-checklist-sub{border-top:1px dashed var(--colour-border);margin-left:22px;padding-top:6px}.entity-field-link{color:var(--colour-workspace);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:4px;padding:0;font-size:11.5px;font-weight:600;text-decoration:underline}.segmented-toggle{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-surface);margin-bottom:20px;padding:16px}.segmented-toggle-label{color:var(--colour-text);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.segmented-toggle-options{flex-wrap:wrap;gap:24px;display:flex}.segmented-toggle-option{color:var(--colour-text);align-items:center;gap:8px;font-size:14px;display:flex}.dry-hire-tonnage-rate{max-width:260px;margin-bottom:20px}.entity-form-actions{justify-content:flex-end;gap:12px;display:flex}.dry-hire-agreement-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(1300px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.dry-hire-agreement-summary{border-bottom:1px solid var(--colour-border);color:var(--colour-text);flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:20px;padding-bottom:16px;font-size:13.5px;display:flex}.dry-hire-open-client-btn{margin-left:auto}.dry-hire-period-row{flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.dry-hire-period-row label{color:var(--colour-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.dry-hire-period-row input,.dry-hire-period-row select{border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px}.dry-hire-docket-cell{align-items:center;gap:6px;display:flex}.dry-hire-docket-cell select{border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:3px 4px;font-size:11px}.dry-hire-editing-banner{border:1px solid var(--colour-primary);border-radius:var(--radius-sm);background:var(--colour-primary-soft);color:var(--colour-text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.dry-hire-invoice-history-hint{color:var(--colour-muted);margin-left:10px;font-size:11.5px;font-weight:400}.dry-hire-transport-row{border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-surface);flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:16px;padding:14px 16px;display:flex}.dry-hire-transport-row label{color:var(--colour-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.dry-hire-transport-row input{border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px}.line-table{border-collapse:collapse;width:100%;margin-bottom:16px}.line-table th,.line-table td{text-align:left;border-bottom:1px solid var(--colour-border);color:var(--colour-text);padding:8px 10px;font-size:12.5px}.line-table th{color:var(--colour-muted);font-size:11.5px;font-weight:700}.line-table td a{color:var(--colour-text);text-decoration:underline;-webkit-text-decoration-color:var(--colour-border-strong);text-decoration-color:var(--colour-border-strong)}.line-table td a:hover{color:var(--colour-primary-active);-webkit-text-decoration-color:var(--colour-primary-active);text-decoration-color:var(--colour-primary-active)}.line-table input,.line-table select{border:1px solid var(--colour-border);border-radius:var(--radius-sm);width:100%;padding:6px 8px;font-size:12.5px}.line-table-empty{text-align:center;color:var(--colour-muted);padding:20px 0}.line-table-remove,.line-table-edit{cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px}.line-table-remove{color:var(--colour-danger)}.line-table-edit{color:var(--colour-muted)}.line-add-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.line-add-row select,.line-add-row input{border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.line-add-row select{max-width:260px}.dry-hire-add-row input[type=number]{width:80px}.dry-hire-totals{color:var(--colour-text);justify-content:flex-end;gap:24px;margin-bottom:20px;font-size:14px;display:flex}.dry-hire-total-final{font-size:16px;font-weight:800}.dry-hire-include-summary{color:var(--colour-text);cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.dry-hire-include-summary input[type=checkbox]{width:16px;height:16px}.dry-hire-include-summary .entity-field-hint{flex-basis:100%;font-weight:400}.dry-hire-agreement-actions{justify-content:flex-end;gap:12px;margin-bottom:28px;display:flex}.dry-hire-invoice-history-title{color:var(--colour-text);margin:0 0 12px;font-size:14px;font-weight:700}.reporting-dashboard-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(1400px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.reporting-dashboard-body{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}.reporting-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.reporting-kpi-tile{border-top:3px solid var(--colour-primary);border-radius:var(--radius-lg);background:var(--colour-surface);flex-direction:column;justify-content:center;gap:10px;min-height:92px;padding:16px 16px 14px;display:flex;box-shadow:0 1px 2px #0b0b0b0f}.reporting-kpi-label{color:var(--colour-muted);font-size:11.5px;font-weight:600;line-height:1.3}.reporting-kpi-value{color:var(--colour-text);font-size:30px;font-weight:700}.reporting-kpi-tile-disabled{border-top-style:dashed;border-top-color:var(--colour-border-strong);box-shadow:none}.reporting-kpi-tile-disabled .reporting-kpi-value{color:var(--colour-muted);font-size:18px;font-style:italic;font-weight:600}.reporting-kpi-hint{color:var(--colour-muted);font-size:11px}.reporting-charts{flex-direction:column;gap:20px;display:flex}.reporting-chart-card{border-radius:var(--radius-lg);background:var(--colour-surface);padding:18px 20px 14px;box-shadow:0 1px 2px #0b0b0b0f}.reporting-chart-title{color:var(--colour-text);margin:0 0 4px;font-size:14px;font-weight:700}.reporting-chart-canvas-wrap{height:230px;position:relative}.reporting-exec-section{margin-bottom:28px}.reporting-exec-section:last-child{margin-bottom:0}.reporting-exec-section-title{color:var(--colour-text);margin:0 0 12px;font-size:16px;font-weight:800}.reporting-exec-table-wrap{margin-top:16px}.reporting-exec-table-title{color:var(--colour-muted);margin:0 0 8px;font-size:13px;font-weight:700}.reporting-exec-table{border-collapse:collapse;background:var(--colour-surface);border-radius:var(--radius-lg);width:100%;overflow:hidden;box-shadow:0 1px 2px #0b0b0b0f}.reporting-exec-table th,.reporting-exec-table td{text-align:left;border-bottom:1px solid var(--colour-border);color:var(--colour-text);padding:10px 16px;font-size:13.5px}.reporting-exec-table th{color:var(--colour-muted);font-size:12px;font-weight:700}.reporting-exec-table tr:last-child td{border-bottom:none}.action-items-card{z-index:1;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background-color:var(--colour-surface-soft);width:min(1100px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.action-items-subtitle{color:var(--colour-muted);margin:0 0 16px;font-size:14px}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-tab{border:1px solid var(--colour-border);background:var(--colour-surface);color:var(--colour-muted);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.filter-tab:hover{border-color:var(--colour-border-strong)}.filter-tab-active{background:var(--colour-charcoal);border-color:var(--colour-charcoal);color:#fff}.filter-list{flex-direction:column;gap:10px;display:flex}.filter-card{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background-color:var(--colour-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex;box-shadow:0 1px 2px #0b0b0b0f}.filter-card-main{flex-direction:column;gap:4px;min-width:260px;display:flex}.filter-card-title{color:var(--colour-text);font-size:14.5px;font-weight:700}.filter-card-subtitle{color:var(--colour-muted);font-size:13px}.filter-card-meta{color:var(--colour-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12.5px;display:flex}.filter-list-empty{text-align:center;color:var(--colour-muted);background:var(--colour-surface);border-radius:var(--radius-lg);padding:24px}.action-item-department{background:var(--colour-surface-soft);border:1px solid var(--colour-border);color:var(--colour-text);border-radius:999px;padding:3px 10px;font-weight:600}.action-item-priority{border-radius:999px;padding:3px 10px;font-weight:700}.action-item-priority-normal{background:var(--colour-surface-soft);color:var(--colour-muted)}.action-item-priority-high{background:var(--colour-primary-soft);color:#8a6400}.action-item-priority-urgent{background:var(--colour-danger);color:#fff}.action-item-due{color:var(--colour-text);font-weight:600}.resources-card{z-index:1;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background-color:var(--colour-surface-soft);width:min(1100px,100% - 48px);max-height:calc(100% - 140px);box-shadow:var(--shadow-menu);align-self:flex-start;margin-top:90px;padding:32px 40px;position:relative;overflow:auto}.resources-subtitle{color:var(--colour-muted);margin:0 0 16px;font-size:14px}.resource-category{background:var(--colour-surface-soft);border:1px solid var(--colour-border);color:var(--colour-text);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}.resource-type{background:var(--colour-primary-soft);color:#8a6400;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700}.quick-quote-home-body{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(760px,100% - 48px);max-height:calc(100% - 48px);box-shadow:var(--shadow-menu);padding:28px 32px;position:relative;overflow:auto}.quick-quote-home-hint{max-width:720px;color:var(--colour-muted);margin:0 auto 24px;font-size:14px;line-height:1.5}.quick-quote-home-table{border-collapse:collapse;width:100%;max-width:720px;margin:0 auto}.quick-quote-home-table th{text-align:left;color:var(--colour-muted);padding:8px 10px;font-size:13px;font-weight:700}.quick-quote-home-table td{padding:8px 10px}.quick-quote-home-table select,.quick-quote-home-table input{border:1px solid var(--colour-border);border-radius:var(--radius-md,8px);width:100%;padding:8px 10px;font-size:14px}.quick-quote-home-unit{color:var(--colour-muted);white-space:nowrap;font-size:13px}.quick-quote-home-remove{color:var(--colour-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.quick-quote-home-remove:hover:not(:disabled){color:var(--colour-danger,#c0392b)}.quick-quote-home-remove:disabled{opacity:.35;cursor:not-allowed}.quick-quote-home-table+.btn{max-width:720px;margin:16px auto 0;display:block}.quick-quote-home-actions{justify-content:flex-end;max-width:720px;margin:32px auto 0;display:flex}.runner-game-hud{z-index:1;color:var(--colour-text);gap:20px;font-weight:700;display:flex;position:absolute;top:10px;left:16px}.runner-game-stage{border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(880px,100% - 48px);box-shadow:var(--shadow-menu);justify-content:center;align-items:center;padding:32px;display:flex;position:relative}.runner-game-canvas{aspect-ratio:800/300;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:#fff;width:100%;max-width:800px}.runner-game-overlay{border-radius:var(--radius-lg);background:#1118278c;justify-content:center;align-items:center;display:flex;position:absolute;inset:32px}.runner-game-overlay[hidden]{display:none}.runner-game-overlay-card{border-radius:var(--radius-lg);background:var(--colour-surface);width:min(360px,100% - 48px);box-shadow:var(--shadow-menu);text-align:center;padding:28px 24px}.runner-game-overlay-card h2{color:var(--colour-text);margin:0 0 10px;font-size:20px}.runner-game-overlay-card p{color:var(--colour-muted);margin:0 0 18px;font-size:14px;line-height:1.5}.wordle-body{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface-soft);width:min(600px,100% - 48px);max-height:calc(100% - 48px);box-shadow:var(--shadow-menu);flex-direction:column;align-items:center;gap:24px;padding:28px 16px;display:flex;position:relative;overflow:auto}.wordle-grid{flex-direction:column;gap:6px;display:flex}.wordle-message{min-height:18px;color:var(--colour-muted);text-align:center;margin:0;font-size:13px;font-weight:600}.wordle-message-error{color:var(--colour-danger)}.wordle-row{grid-template-columns:repeat(var(--wordle-cols), minmax(0, 44px));justify-content:center;gap:6px;display:grid}.wordle-tile{border:2px solid var(--colour-border);border-radius:var(--radius-sm);text-transform:uppercase;width:44px;height:44px;color:var(--colour-text);background:var(--colour-surface);justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex}.wordle-tile-filled{border-color:var(--colour-border-strong)}.wordle-tile-exact{border-color:var(--colour-navy);background:var(--colour-navy);color:#fff}.wordle-tile-present{border-color:var(--colour-primary);background:var(--colour-primary);color:var(--colour-charcoal)}.wordle-tile-absent{border-color:var(--colour-border-strong);background:var(--colour-border-strong);color:#fff}.wordle-result{border-radius:var(--radius-lg);background:var(--colour-surface-soft);border:1px solid var(--colour-border);text-align:center;width:min(420px,100% - 32px);padding:20px 24px}.wordle-result h2{color:var(--colour-text);margin:0 0 8px;font-size:20px}.wordle-result-word{letter-spacing:.04em;color:var(--colour-navy);margin:0 0 8px;font-size:22px;font-weight:800}.wordle-result-definition{color:var(--colour-muted);margin:0 0 16px;font-size:14px;line-height:1.5}.wordle-keyboard{flex-direction:column;gap:8px;width:100%;max-width:520px;display:flex}.wordle-keyboard-row{justify-content:center;gap:6px;display:flex}.wordle-key{border-radius:var(--radius-sm);background:var(--colour-surface-soft);min-width:34px;height:46px;color:var(--colour-text);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;display:flex}.wordle-key-wide{min-width:56px;font-size:12px}.wordle-key-exact{background:var(--colour-navy);color:#fff}.wordle-key-present{background:var(--colour-primary);color:var(--colour-charcoal)}.wordle-key-absent{background:var(--colour-border-strong);color:#fff}.profile-badge-container{z-index:29000;position:fixed;top:12px;right:16px}.profile-badge{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 8px #0000004d}.profile-badge-panel{width:220px;position:absolute;top:calc(100% + 8px);right:0}.profile-badge-info{padding:8px 10px}.profile-badge-name{color:var(--colour-text);font-size:14px;font-weight:700}.profile-badge-title{color:var(--colour-muted);margin-top:2px;font-size:12px}.profile-gate-avatar{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;font-weight:800;display:flex}.profile-editor-card{z-index:1;border-radius:var(--radius-lg);background:var(--colour-surface);width:min(360px,100% - 48px);box-shadow:var(--shadow-menu);flex-direction:column;gap:16px;padding:32px;display:flex;position:relative}.profile-editor-field{color:var(--colour-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.profile-editor-field input[type=text]{border:1px solid var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text);padding:10px 12px;font-size:14px;font-weight:400}.profile-editor-field input[type=color]{border:1px solid var(--colour-border);border-radius:var(--radius-md);cursor:pointer;width:100%;height:42px;padding:2px}.profile-editor-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}
