:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f6f2ea;--surface:#fffdfa;--surface-raised:#fff;--top-nav-brand-width:180px;--top-nav-item-width:120px;--border:#d7cfc1;--border-strong:#c7beaf;--text-main:#1f2937;--text-soft:#6b7280;--accent:#1f2937;--accent-soft:#ede6da;--danger:#b42318;--shadow-soft:0 18px 40px #1f293714}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--page-bg);color:var(--text-main);font-family:Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.eyebrow{color:var(--text-soft);letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0 0 12px;font-size:.8rem;font-weight:700}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.login-card{border:1px solid var(--border);background:var(--surface-raised);width:min(100%,420px);box-shadow:var(--shadow-soft);padding:32px}.login-title{text-align:center;margin:0;font-size:clamp(2rem,4vw,2.6rem);line-height:1.05}.login-form{gap:16px;margin-top:28px;display:grid}.login-actions{gap:12px;display:grid}.login-secondary-button{justify-content:center;align-items:center;display:inline-flex}.login-support-copy{color:var(--text-soft);margin:0;font-size:.96rem;line-height:1.5}.platform-admin-screen{padding:32px 20px 48px}.platform-admin-shell{gap:24px;width:min(1200px,100%);margin:0 auto;display:grid}.platform-admin-header{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px;display:flex}.platform-admin-header-actions{justify-items:end;gap:10px;display:grid}.platform-admin-layout{gap:24px;display:grid}.platform-admin-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);padding:24px 28px}.platform-admin-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.platform-admin-section-title{font-size:1.6rem}.platform-admin-support-copy,.platform-admin-help-text,.platform-admin-meta{color:var(--text-soft);margin:0;line-height:1.5}.platform-admin-code{color:var(--text-main);font-family:Courier New,Courier,monospace}.platform-admin-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.platform-admin-field-full{grid-column:1/-1}.platform-admin-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.platform-admin-list{gap:16px;display:grid}.platform-admin-organisation-card{border:1px solid var(--border);background:var(--surface);gap:16px;padding:18px;display:grid}.platform-admin-organisation-card-disabled{opacity:.82}.platform-admin-organisation-summary{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.platform-admin-organisation-title{margin:0 0 8px;font-size:1.15rem}.platform-admin-logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;width:auto;max-width:180px;height:auto;max-height:72px;padding:8px}.platform-admin-logo-field{gap:12px;display:grid}.platform-admin-logo-field-actions{flex-wrap:wrap;gap:12px;display:flex}.platform-admin-logo-file-input{display:none}.field{gap:8px;display:grid}.field-label{font-size:.94rem;font-weight:600}.field-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-main);padding:13px 14px}.field-input:focus,.job-editor-input-with-prefix:focus-within{border-color:var(--border-strong);outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.form-error{color:var(--danger);margin:0;font-size:.95rem}.primary-button{background:var(--accent);color:#fff;cursor:pointer;border:0;padding:13px 16px;font-weight:700}.primary-button:disabled{cursor:wait;opacity:.7}.secondary-button,.table-button{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-main);cursor:pointer;padding:12px 16px;font-weight:600}.table-button{padding:10px 12px}.table-button-small{padding:8px 10px;font-size:.82rem}.form-success{color:#0f766e;margin:0;font-size:.95rem}.app-frame{min-height:100vh}.top-nav{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f2eaf0;position:sticky;top:0}.top-nav-inner{align-items:stretch;gap:0;width:100%;min-height:76px;margin:0 auto;display:flex}.top-nav-brand{flex:0 0 var(--top-nav-brand-width);width:var(--top-nav-brand-width);justify-content:center;align-items:center;padding:8px 0;display:inline-flex}.top-nav-brand-logo{width:auto;height:46px;display:block}.top-nav-brand-logo-custom{object-fit:contain;max-width:100%}.top-nav-controls,.top-nav-links{flex:auto;align-items:stretch;gap:0;min-width:0;display:flex}.top-nav-links>.nav-item,.top-nav-links>.nav-dropdown,.top-nav-right>.nav-item,.top-nav-right>.nav-dropdown{flex:0 0 var(--top-nav-item-width);width:var(--top-nav-item-width);min-height:100%}.top-nav-right{flex:none;align-items:stretch;margin-left:auto;display:flex}.top-nav-utility{flex:0 0 var(--top-nav-item-width);width:var(--top-nav-item-width);align-items:stretch;min-height:100%;display:flex}.top-nav-links>.nav-item,.top-nav-links>.nav-dropdown>.nav-item,.top-nav-right>.nav-item,.top-nav-right>.nav-dropdown>.nav-item,.top-nav-utility>.nav-item{width:100%;height:calc(100% + 1px);margin-bottom:-1px;padding:0 20px}.nav-item{border:1px solid var(--nav-button-border,transparent);background:var(--nav-button-background,transparent);color:var(--nav-button-text,var(--text-soft));cursor:pointer;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.nav-item-utility-content{flex-direction:column;align-items:center;width:100%;min-width:0;line-height:1.1;display:flex}.nav-item-utility-action{white-space:nowrap;display:block}.nav-item-utility-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;display:block;overflow:hidden}.nav-item-with-badge{gap:8px}.nav-item-badge{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.nav-item:hover{color:var(--nav-button-text,var(--text-main));background:var(--nav-button-hover-background,#1f29370f)}.nav-item-active{border-color:var(--nav-button-border,#1f293714);background:var(--nav-button-active-background,#1f29371a);color:var(--nav-button-text,var(--text-main))}.nav-dropdown,.admin-menu{align-items:stretch;display:flex;position:relative}.nav-dropdown-menu,.admin-dropdown{border:1px solid var(--border);background:var(--surface-raised);min-width:180px;box-shadow:var(--shadow-soft);border-radius:0;gap:6px;padding:8px;display:grid;position:absolute;top:100%;left:0}.app-content{max-width:1200px;margin:0 auto;padding:24px}.app-content:has(.calendar-page){max-width:none;padding-inline:10px}.app-content:has(.calendar-day-map-page){max-width:none;padding-inline:10px}.app-content:has(.job-editor-layout){max-width:none;padding-inline:10px}.app-content:has(.job-card-pdf-page-root){max-width:none;padding-inline:10px}.app-content:has(.messages-page){width:100%;min-width:0;max-width:none;margin:0;padding-block:10px;padding-inline:10px}.app-content:has(.jobs-page-wide-table){max-width:none;padding-inline:10px}.page-title{margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1.05}.page-description{max-width:720px;color:var(--text-soft);margin:0;font-size:1rem;line-height:1.6}.page-back-link{color:var(--text-soft);font-weight:600}.page-canvas{border:1px dashed #0000;border-radius:28px;min-height:calc(100vh - 114px)}.calendar-page{align-content:start;align-items:start;gap:24px;display:grid}.calendar-day-map-page{align-content:start;gap:20px;display:grid}.calendar-day-map-toolbar{--calendar-week-control-height:52px;justify-content:center;align-items:stretch;display:flex}.calendar-day-map-toolbar-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px;width:100%;display:grid}.calendar-day-map-toolbar-centre{justify-content:center;min-width:0;display:flex}.calendar-day-map-toolbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.calendar-day-map-toolbar-spacer{min-width:0}.calendar-day-map-toolbar .calendar-week-switcher{align-items:stretch}.calendar-day-map-toolbar .calendar-week-nav,.calendar-day-map-toolbar .calendar-week-picker-button{box-sizing:border-box;min-height:var(--calendar-week-control-height);height:var(--calendar-week-control-height)}.calendar-day-map-toolbar .calendar-week-nav{flex:0 0 var(--calendar-week-control-height);width:var(--calendar-week-control-height);aspect-ratio:1}.calendar-day-map-team-filter{min-width:min(260px,100%);position:relative}.calendar-day-map-toolbar .calendar-day-map-team-filter{--calendar-day-map-filter-height:var(--calendar-week-control-height)}.calendar-day-map-header-actions .calendar-day-map-team-filter{--calendar-day-map-filter-height:44px}.calendar-day-map-route-button,.calendar-day-map-view-toggle-button{white-space:nowrap;flex:none}.calendar-day-map-toolbar .calendar-day-map-route-button,.calendar-day-map-toolbar .calendar-day-map-view-toggle-button{min-height:var(--calendar-week-control-height)}.calendar-day-map-header-actions .calendar-day-map-route-button{min-height:44px}.calendar-day-map-team-filter .calendar-filter-dropdown-summary{min-height:var(--calendar-day-map-filter-height);height:var(--calendar-day-map-filter-height);box-sizing:border-box;min-width:min(260px,100vw - 48px);padding:0 14px}.calendar-day-map-team-filter .calendar-filter-dropdown-body{min-width:min(300px,100vw - 48px)}.calendar-day-map-page-body{height:clamp(460px,100vh - 220px,1080px);min-height:0}.calendar-day-map-page-body>.calendar-day-map-layout{height:100%}.calendar-week-toolbar{--calendar-week-control-height:52px;align-items:center;gap:12px;display:flex}.calendar-week-toolbar-side{flex-wrap:wrap;flex:1 1 0;justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.calendar-week-switcher,.calendar-week-switcher-group{flex:none;align-items:center;gap:12px;display:flex}.calendar-week-create-button{min-height:var(--calendar-week-control-height);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.calendar-week-toolbar-controls{flex-wrap:nowrap;flex:1 1 0;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.calendar-toolbar-filter-stack{flex:none;gap:6px;width:180px;display:grid}.calendar-toolbar-search-stack{flex:none;gap:6px;width:240px;display:grid}.calendar-toolbar-search-input{width:100%;min-width:0;height:calc(var(--calendar-week-control-height)/2);box-sizing:border-box;padding:0 10px;font-size:.84rem;line-height:1.2}.calendar-filters-clear-button{width:100%;height:calc(var(--calendar-week-control-height)/2);white-space:nowrap;box-sizing:border-box;justify-content:center;align-items:center;padding:0 10px;font-size:.84rem;display:inline-flex}.calendar-filter-dropdown{position:relative}.calendar-toolbar-filter-stack .calendar-filter-dropdown,.calendar-toolbar-filter-stack .calendar-filter-dropdown-summary{width:100%}.calendar-toolbar-filter-stack .calendar-filter-dropdown-summary{min-height:calc(var(--calendar-week-control-height)/2);height:calc(var(--calendar-week-control-height)/2);box-sizing:border-box;padding:0 12px;font-size:.84rem}.calendar-toolbar-filter-stack .calendar-filter-dropdown-summary:after{font-size:1rem}.calendar-filter-dropdown-summary{min-width:130px;min-height:var(--calendar-week-control-height);border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:600;list-style:none;display:flex}.calendar-filter-dropdown-summary::-webkit-details-marker{display:none}.calendar-filter-dropdown-summary:after{content:"+";color:var(--text-soft);font-size:1.25rem;line-height:1}.calendar-filter-dropdown[open] .calendar-filter-dropdown-summary:after{content:"−"}.calendar-filter-dropdown-summary:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.calendar-filter-dropdown-count{color:var(--text-soft);font-size:.86rem;font-weight:700}.calendar-filter-dropdown-body{border:1px solid var(--border);background:var(--surface-raised);width:min(320px,100vw - 40px);min-width:240px;max-height:320px;box-shadow:var(--shadow-soft);z-index:30;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.calendar-filter-options{grid-template-columns:1fr;gap:0;display:grid}.calendar-filter-option{border:0;border-bottom:1px solid var(--border);background:var(--surface-raised);cursor:pointer;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:flex}.calendar-filter-option:hover{border-color:var(--border-strong);box-shadow:0 6px 14px #0f172a0f}.calendar-filter-option:last-child{border-bottom:0}.calendar-filter-option:has(.config-checkbox:focus-visible){border-color:var(--border-strong);box-shadow:0 0 0 3px #1f293714}.calendar-filter-option-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.calendar-week-nav,.calendar-week-picker-button{min-height:var(--calendar-week-control-height);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-main);cursor:pointer;border-radius:0;font-weight:700}.calendar-week-nav{flex:0 0 var(--calendar-week-control-height);width:var(--calendar-week-control-height);height:var(--calendar-week-control-height);min-height:var(--calendar-week-control-height);justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.calendar-week-picker{flex:0 320px;width:min(100%,320px);position:relative}.calendar-week-picker-button{text-align:center;width:100%;padding:12px 14px}.calendar-week-nav:focus-visible,.calendar-week-picker:focus-within{outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.calendar-week-picker-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.calendar-trash-drop-target{min-width:88px;min-height:var(--calendar-week-control-height);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-soft);box-sizing:border-box;-webkit-user-select:none;user-select:none;align-content:center;justify-items:center;gap:4px;padding:8px 14px;transition:border-color .14s,background-color .14s,box-shadow .14s,color .14s,transform .14s,opacity .14s;display:grid}.calendar-trash-drop-target-active{color:var(--text-main)}.calendar-trash-drop-target-over{color:#991b1b;background:#fee2e2;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 0 0 3px #dc26261f}.calendar-trash-drop-target-disabled{opacity:.58}.calendar-trash-drop-target-icon{width:28px;height:28px}.calendar-trash-drop-target-label{letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1}.calendar-table-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);border-radius:0;overflow:auto}.calendar-table{width:100%;min-width:calc(var(--calendar-column-width,190px)*var(--calendar-column-count,8));border-collapse:separate;border-spacing:0;table-layout:fixed}.calendar-table th,.calendar-table td{width:calc(100%/var(--calendar-column-count,8));min-width:var(--calendar-column-width,190px);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.calendar-table th:last-child,.calendar-table td:last-child{border-right:0}.calendar-table th{background:var(--accent-soft);color:var(--text-main);letter-spacing:.06em;text-align:center;text-transform:uppercase;padding:16px;font-size:.88rem;font-weight:700}.calendar-table th.calendar-table-clickable-header{padding:0}.calendar-table-header-content{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;display:inline-flex}.calendar-table-header-date{color:var(--text-soft);letter-spacing:.02em;font-size:.8rem;font-weight:600}.calendar-table-header-button{width:100%;min-height:100%;color:inherit;cursor:pointer;font:inherit;text-transform:inherit;background:0 0;border:0;align-content:center;justify-items:center;padding:16px;display:grid}.calendar-table-header-button:hover .calendar-table-header-content,.calendar-table-header-button:focus-visible .calendar-table-header-content{color:#9a3412}.calendar-table-header-button:hover,.calendar-table-header-button:focus-visible{background:#ffffff4d}.calendar-table-header-button:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.calendar-table td{background:var(--surface-raised);padding:0}.calendar-table-sticky-column{position:sticky;right:0}.calendar-table th.calendar-table-sticky-column{z-index:3;box-shadow:-1px 0 0 var(--border),-16px 0 24px #0f172a14}.calendar-table td.calendar-table-sticky-column{z-index:2;box-shadow:-1px 0 0 var(--border),-16px 0 24px #0f172a0d}.calendar-table-slot{align-content:start;gap:12px;min-height:clamp(280px,56vh,620px);padding:12px;display:grid}.calendar-table-slot-fill{grid-template-rows:minmax(0,1fr)}.calendar-synced-section{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.calendar-synced-section-spacer{min-height:0}.calendar-day-team-slots{align-content:start;gap:12px;min-height:100%;display:grid}.calendar-team-slot{border:1px solid var(--calendar-team-slot-border,var(--border));border-left:6px solid var(--calendar-team-slot-accent,var(--border-strong));background:var(--calendar-team-slot-background,var(--surface));min-height:176px;color:var(--calendar-team-slot-text,var(--text-main));padding:14px;transition:border-color .14s,background-color .14s,box-shadow .14s}.calendar-team-slot-content,.calendar-team-slot-jobs{align-content:start;gap:12px;display:grid}.calendar-team-slot-header{justify-content:space-between;align-items:flex-start;gap:12px;min-height:24px;display:flex}.calendar-team-slot-header-copy{gap:4px;min-width:0;display:grid}.calendar-team-slot-name{font-weight:700;line-height:1.4}.calendar-team-slot-droppable{cursor:default}.calendar-team-slot-empty{align-content:start}.calendar-team-slot-over{background:#fff7edeb;border-color:#d97706;box-shadow:inset 0 0 0 1px #d977061f}.calendar-team-slot-hint{border:1px dashed var(--calendar-team-slot-border,var(--border));background:#ffffff6b;align-content:center;min-height:110px;margin:0;padding:12px;font-size:.8rem;line-height:1.45;display:grid}.calendar-team-slot .calendar-job-entry-link{align-content:start;min-height:110px}.calendar-slot-holiday-list{align-content:start;gap:8px;display:grid}.calendar-slot-job-list{min-height:0}.calendar-slot-job-list-fill{min-height:100%}.calendar-slot-job-list-droppable{cursor:default;transition:background-color .14s,box-shadow .14s}.calendar-slot-job-list-over{background:#fff7edeb;box-shadow:inset 0 0 0 1px #d977061f}.calendar-slot-job-list-content{align-content:start;gap:8px;display:grid}.calendar-slot-job-list-title{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.calendar-job-drop-zone{border:1px dashed #0000;align-content:start;gap:8px;min-height:44px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:grid}.calendar-job-drop-zone-empty{min-height:68px;padding:8px}.calendar-job-drop-zone-droppable{background:#ffffff2e;border-color:#1f29371f}.calendar-job-drop-zone-over{background:#fff7edeb;border-color:#d97706;box-shadow:inset 0 0 0 1px #d977061f}.calendar-job-drop-zone-hint{color:var(--text-soft);margin:0;font-size:.8rem;line-height:1.45}.calendar-job-drop-preview{background:#fff7edb8;border:2px dashed #d97706;place-items:center;min-height:72px;padding:10px 12px;display:grid}.calendar-job-drop-preview-label{color:#9a3412;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.calendar-slot-bank-holiday-entry,.calendar-slot-holiday-entry{text-overflow:ellipsis;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;padding:6px 8px;font-size:.78rem;font-weight:600;line-height:1.3;overflow:hidden}.calendar-slot-bank-holiday-entry{background:#dbeafe;border-left:3px solid #1d4ed8}.calendar-slot-holiday-entry-approved{background:#dcfce7;border-left:3px solid #15803d}.calendar-slot-holiday-entry-requested{background:#fff1db;border-left:3px solid #b45309}.calendar-slot-holiday-entry-rejected{background:#fee2e2;border-left:3px solid #dc2626}.calendar-job-entry{position:relative}.calendar-job-entry-draggable{cursor:grab;touch-action:none}.calendar-job-entry-draggable:active{cursor:grabbing}.calendar-job-entry-dragging{z-index:2}.calendar-job-entry-placeholder .calendar-job-entry-link{opacity:.18;box-shadow:none;transform:none}.calendar-job-entry-overlay{pointer-events:none;transform-origin:0 0}.calendar-job-entry-drop-target .calendar-job-entry-link{border-color:#d97706;box-shadow:0 10px 24px #b4530929}.calendar-job-entry-link{border:1px solid var(--border);background:var(--surface-raised);appearance:none;width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;border-left:4px solid #0000;gap:3px;padding:10px;text-decoration:none;transition:border-color .14s,box-shadow .14s,opacity .14s;display:grid}.calendar-job-entry-route-order{width:fit-content;color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;background:#0f172a14;border-radius:999px;align-items:center;padding:2px 7px;font-size:.7rem;font-weight:800;line-height:1.35;display:inline-flex}.calendar-job-entry-link:hover{border-color:#d97706;box-shadow:0 8px 18px #b453091f}.calendar-job-entry-link-preview{box-shadow:0 18px 36px #b4530933}.calendar-job-entry-link-live{border-color:#0ea5e947;box-shadow:0 12px 24px #0ea5e91f}.calendar-job-entry-link-build{background:#fff7ed;border-left-color:#b45309}.calendar-job-entry-link-strip{background:#f8fafc;border-left-color:#475569}.calendar-job-entry-heading{align-items:center;gap:8px;min-width:0;display:flex}.calendar-job-entry-phase{flex:none;align-items:center;display:inline-flex}.calendar-job-entry-phase-build{color:#9a3412}.calendar-job-entry-phase-strip{color:#334155}.calendar-job-entry-phase-icon{flex:none;width:14px;height:14px}.calendar-job-entry-title-row{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.calendar-job-entry-title{font-weight:600;line-height:1.35}.calendar-job-entry-phase-summary{color:var(--text-soft);text-transform:lowercase;font-size:.78rem;line-height:1.35}.calendar-job-entry-address{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;line-height:1.35;overflow:hidden}.calendar-job-entry-live-status{color:#0f766e;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.35}.calendar-job-entry-meta,.calendar-job-entry-empty{color:var(--text-soft);font-size:.8rem;line-height:1.4}.calendar-job-entry-empty{margin:0}.calendar-status-note{color:var(--text-soft);margin:0;font-size:.94rem}.modal-card.calendar-day-map-modal{grid-template-rows:auto minmax(0,1fr);gap:20px;width:min(1600px,100vw - 80px);max-width:none;height:calc(100vh - 120px);padding:0 20px 20px;display:grid;overflow:hidden}.modal-card.calendar-job-editor-modal{grid-template-rows:auto minmax(0,1fr);gap:20px;width:min(1200px,100vw - 48px);max-width:none;height:calc(100vh - 80px);padding:0 20px 20px;display:grid;overflow:hidden}.modal-card.calendar-print-modal{grid-template-rows:auto minmax(0,1fr);gap:20px;width:min(720px,100vw - 48px);max-width:none;max-height:calc(100vh - 80px);padding:0 20px 20px;display:grid;overflow:hidden}.calendar-job-editor-modal-copy,.calendar-print-modal-copy{gap:6px;min-width:0;display:grid}.calendar-job-editor-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.calendar-print-modal-actions{justify-content:flex-end;align-items:center;display:flex}.calendar-job-editor-modal-body,.calendar-print-modal-body{min-height:0;padding-right:4px;overflow:auto}.calendar-print-modal-layout{gap:16px;display:grid}.calendar-print-day-picker{gap:6px;display:grid}.calendar-print-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-print-selection-actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-print-job-list{gap:10px;max-height:min(420px,100vh - 360px);padding:4px;display:grid;overflow:auto}.calendar-print-job-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:12px;padding:12px 14px;display:grid}.calendar-print-job-option-copy{gap:4px;min-width:0;display:grid}.calendar-print-job-option-title{font-weight:600}.calendar-print-job-option-meta{color:var(--text-soft);font-size:.94rem;line-height:1.5}.calendar-print-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.calendar-job-editor-modal-note{color:var(--text-soft);margin:0;line-height:1.55}.calendar-job-editor-modal-status{border:1px solid var(--border);background:var(--surface);gap:12px;padding:16px;display:grid}.job-editor-modal-page-link{color:var(--text-soft);font-weight:600}.calendar-day-map-header-copy{gap:6px;display:grid}.calendar-day-map-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.calendar-day-map-layout{grid-template-columns:minmax(0,1.9fr) minmax(300px,.95fr);align-items:stretch;gap:20px;min-height:0;display:grid}.calendar-day-map-layout-no-panel{grid-template-columns:minmax(0,1fr)}.calendar-day-map-map-column{grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.calendar-day-map-canvas-wrap{z-index:0;border:1px solid var(--border);background:var(--surface);height:100%;min-height:0;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.calendar-day-map-canvas{width:100%;height:100%;min-height:0}.calendar-day-map-canvas .leaflet-container{width:100%;height:100%;font:inherit}.calendar-day-map-canvas .leaflet-tooltip{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-main);box-shadow:var(--shadow-soft);font:inherit;border-radius:0;font-size:.78rem;font-weight:700}.calendar-day-map-canvas .leaflet-tooltip-top:before{border-top-color:var(--border-strong)}.calendar-day-map-empty{color:var(--text-soft);text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;background:#f6f2eae6;place-items:center;padding:24px;font-size:.92rem;font-weight:600;line-height:1.55;display:grid;position:absolute;inset:0}.calendar-day-map-attribution{color:var(--text-soft);text-align:right;margin:0;font-size:.72rem;line-height:1.45}.calendar-day-map-attribution a{color:inherit;text-decoration:underline}.calendar-day-map-panel{align-content:start;gap:16px;min-height:0;max-height:100%;padding-right:4px;display:grid;overflow:auto}.calendar-day-map-panel-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);gap:14px;padding:16px;display:grid}.calendar-day-map-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-day-map-panel-title{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:800}.calendar-day-map-panel-close-button{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-main);cursor:pointer;padding:8px 12px;font-weight:700;line-height:1}.calendar-day-map-note{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.55}.calendar-day-map-selected-summary{color:var(--text-soft);margin:-4px 0 0;font-size:.84rem;line-height:1.55}.calendar-day-map-selected-list{gap:14px;display:grid}.calendar-day-map-route-list{gap:10px;display:grid}.calendar-day-map-route-stop{border:1px solid var(--border);background:var(--surface-raised);gap:6px;padding:12px;display:grid}.calendar-day-map-route-stop-title{margin:0;font-weight:600;line-height:1.4}.calendar-day-map-route-stop-meta{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.5}.calendar-day-map-route-actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-day-map-route-visibility-button{white-space:nowrap}.team-day-route-picker-modal{gap:20px;width:min(100%,720px);padding:20px;display:grid}.team-day-route-picker-copy{gap:6px;display:grid}.team-day-route-picker-intro{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.5}.team-day-route-picker-body{gap:14px;display:grid}.team-day-route-picker-list{gap:12px;display:grid}.team-day-route-picker-row{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.team-day-route-picker-row-active{border-color:var(--brand);box-shadow:inset 0 0 0 1px #f973162e}.team-day-route-picker-row-stale{border-style:dashed}.team-day-route-picker-row-copy{gap:4px;min-width:0;display:grid}.team-day-route-picker-team-name,.team-day-route-picker-team-meta,.team-day-route-picker-team-note{margin:0}.team-day-route-picker-team-name{font-weight:700;line-height:1.4}.team-day-route-picker-team-meta{color:var(--text-soft);font-size:.84rem;line-height:1.45}.team-day-route-picker-team-note{color:#9a3412;font-size:.82rem;line-height:1.5}.team-day-route-picker-button{flex:none;min-width:168px}.team-day-route-picker-button-content{justify-content:center;align-items:center;gap:10px;display:inline-flex}.team-day-route-picker-spinner{border:2px solid #ffffff52;border-top-color:#fff;border-radius:999px;width:16px;height:16px;animation:.75s linear infinite team-day-route-picker-spinner-spin}@keyframes team-day-route-picker-spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-day-map-selected-job{border:1px solid var(--border);background:var(--surface-raised);gap:14px;padding:14px;display:grid}.calendar-day-map-job-header{gap:10px;display:grid}.calendar-day-map-job-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-day-map-team-pill{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-main);align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.calendar-day-map-team-pill-unassigned{background:#fff}.calendar-day-map-job-number{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.calendar-day-map-job-title{margin:0;font-size:1.08rem;font-weight:700;line-height:1.4}.calendar-day-map-job-scheduled-date{color:var(--text-soft);margin:0;font-size:.84rem;line-height:1.5}.calendar-day-map-job-address{color:var(--text-soft);margin:0;font-size:.88rem;line-height:1.55}.calendar-day-map-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-day-map-assign{gap:12px;display:grid}.calendar-day-map-hidden-list{gap:10px;display:grid}.calendar-day-map-hidden-item{border:1px solid var(--border);background:var(--surface-raised);padding:12px}.calendar-day-map-hidden-title{margin:0 0 4px;font-size:.88rem;font-weight:700;line-height:1.45}.calendar-day-map-hidden-meta{color:var(--text-soft);margin:0;font-size:.8rem;line-height:1.45}.calendar-day-map-marker-icon{background:0 0;border:0;overflow:visible!important}.calendar-day-map-marker-shell{width:var(--calendar-day-map-marker-size,32px);height:var(--calendar-day-map-marker-size,32px);place-items:center;display:grid;position:relative}.calendar-day-map-marker{background:var(--calendar-day-map-marker-fill,#fff);width:100%;height:100%;color:var(--calendar-day-map-marker-text,#1f2937);cursor:pointer;border:2px solid #1f2937;border-radius:999px;place-items:center;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;box-shadow:0 12px 24px #0f172a2e}.calendar-day-map-marker svg{width:var(--calendar-day-map-marker-icon-size,16px);height:var(--calendar-day-map-marker-icon-size,16px)}.calendar-day-map-marker-count{font-size:max(9px,calc(var(--calendar-day-map-marker-size,32px)*.44));font-variant-numeric:tabular-nums;font-weight:800;line-height:1;display:block}.calendar-day-map-route-stop-badge{color:#1f2937;font-variant-numeric:tabular-nums;white-space:nowrap;background:#fff;border:1px solid #1f2937;border-radius:999px;justify-content:center;align-items:center;min-width:24px;min-height:22px;padding:0 7px;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 16px #0f172a24}.calendar-day-map-marker-selected{border-color:#b45309;transform:scale(1.08);box-shadow:0 0 0 4px #b453092e,0 12px 24px #0f172a33}.calendar-day-map-route-anchor-icon{background:0 0;border:0}.calendar-day-map-route-anchor{color:#fff;letter-spacing:.02em;white-space:nowrap;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 10px 20px #0f172a2e}.calendar-day-map-route-anchor-start{background:#15803d}.calendar-day-map-route-anchor-end{background:#b91c1c}.calendar-day-map-route-anchor-depot{background:#334155}.holidays-page{gap:24px;display:grid}.holidays-header{gap:12px;display:grid}.holidays-calendar{gap:20px;display:grid}.holidays-calendar-toolbar{--holidays-calendar-control-size:52px;z-index:12;background-color:var(--page-bg);align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:77px}.holidays-calendar-nav,.holidays-calendar-range{min-height:var(--holidays-calendar-control-size);border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.holidays-calendar-nav{flex:0 0 var(--holidays-calendar-control-size);width:var(--holidays-calendar-control-size);height:var(--holidays-calendar-control-size);color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.15rem;font-weight:700;line-height:1;display:inline-flex}.holidays-calendar-range{color:var(--text-main);text-align:center;flex:auto;margin:0;padding:12px 16px;font-weight:700}.holidays-calendar-nav:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.holidays-month-list{gap:20px;display:grid}.holidays-month-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);gap:18px;padding:24px;display:grid}.holidays-month-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.holidays-month-title{margin:0;font-size:1.35rem;font-weight:700}.holidays-month-table-wrap{border:1px solid var(--border);overflow:hidden}.holidays-month-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.holidays-month-table th,.holidays-month-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.holidays-month-table th:last-child,.holidays-month-table td:last-child{border-right:0}.holidays-month-table tbody tr:last-child td{border-bottom:0}.holidays-month-table th{background:var(--accent-soft);color:var(--text-main);letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:12px 8px;font-size:.8rem;font-weight:700}.holidays-month-day{vertical-align:top;background:var(--surface);height:128px;padding:8px;position:relative}.holidays-month-day-muted{background:#f2ede4}.holidays-month-day-today{box-shadow:inset 0 0 0 2px var(--accent)}.holidays-month-day-bank-holiday{background:#eef4ff}.holidays-month-day-button{z-index:0;width:100%;height:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;transition:background-color .14s,box-shadow .14s,transform .14s;position:absolute;inset:0}.holidays-month-day-button:hover{box-shadow:inset 0 0 0 1px var(--border-strong);background:#1f29370f;transform:translateY(-1px)}.holidays-month-day-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.holidays-month-day-content{align-content:start;gap:8px;height:100%;display:grid;position:relative}.holidays-month-day-overlay{z-index:1;pointer-events:none;align-content:start;gap:8px;height:100%;display:grid;position:relative}.holidays-month-day-number{justify-content:center;align-items:center;min-width:32px;height:32px;font-weight:700;display:inline-flex}.holidays-month-day-number-today{background:var(--accent);color:#fff}.holidays-month-day-events{align-content:start;gap:4px;display:grid}.holidays-month-bank-holiday-label{color:#1e3a8a;white-space:nowrap;text-overflow:ellipsis;background:#dbeafe;border-left:3px solid #1d4ed8;padding:4px 6px;font-size:.72rem;font-weight:700;line-height:1.35;overflow:hidden}.holidays-month-entry{border-left:3px solid var(--accent);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:.78rem;font-weight:600;line-height:1.3;overflow:hidden}.holidays-month-entry-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;pointer-events:auto;border:0;transition:transform .14s,box-shadow .14s,filter .14s}.holidays-month-entry-button:hover{box-shadow:inset 0 0 0 1px var(--border-strong);filter:brightness(.98);transform:translateY(-1px)}.holidays-month-entry-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.holidays-month-entry-approved{background:#dcfce7;border-left-color:#15803d}.holidays-month-entry-requested{background:#fff1db;border-left-color:#b45309}.holidays-month-entry-rejected{background:#fee2e2;border-left-color:#dc2626}.holidays-request-list{gap:12px;display:grid}.holidays-request-card{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.holidays-request-copy{gap:6px;display:grid}.holidays-request-name{font-weight:700}.holidays-request-meta,.holidays-request-status,.holidays-request-empty,.holidays-modal-copy,.holidays-modal-summary-label{color:var(--text-soft);line-height:1.5}.holidays-request-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.holidays-request-reject-button{color:#991b1b;background:#fef2f2;border-color:#fecaca}.holidays-request-empty,.holidays-modal-copy{margin:0}.holidays-modal-card{gap:18px;width:min(100%,640px);padding:20px;display:grid}.holidays-modal-card .modal-header{padding:0}.holidays-choice-row{gap:12px;display:grid}.holidays-choice-button{width:100%}.holidays-modal-summary{border:1px solid var(--border);background:var(--accent-soft);gap:6px;padding:14px 16px;display:grid}.holidays-modal-summary-value{font-weight:700}.holidays-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.holidays-cancel-button{background:var(--danger)}.configs-page{gap:24px;display:grid}.configs-header{gap:12px;display:grid}.config-accordion,.section-accordion{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);overflow:visible}.config-accordion-summary,.section-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;padding:22px 24px;font-size:1.05rem;font-weight:700;list-style:none;display:flex}.config-accordion-summary::-webkit-details-marker{display:none}.section-accordion-summary::-webkit-details-marker{display:none}.config-accordion-summary-hidden{display:none}.config-accordion-summary:after,.section-accordion-summary:after{content:"+";color:var(--text-soft);font-size:1.4rem;line-height:1}.config-accordion[open] .config-accordion-summary:after,.section-accordion[open] .section-accordion-summary:after{content:"−"}.config-accordion-body,.section-accordion-body{gap:20px;padding:0 24px 24px;display:grid}.config-accordion-body-no-summary{padding-top:24px}.config-link-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.config-link-card:hover,.config-link-card:focus-visible{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 20px 44px #1f29371f}.config-link-card-copy{gap:8px;display:grid}.config-link-card-title{font-size:1.05rem;font-weight:700}.config-link-card-description{color:var(--text-soft);line-height:1.6}.config-link-card-arrow{color:var(--text-soft);font-size:1.4rem;line-height:1}.config-helper-text,.config-readonly-notice,.config-storage-notice{color:var(--text-soft);margin:0;line-height:1.6}.config-storage-notice{border:1px solid var(--border);background:var(--accent-soft);color:var(--text-main);border-radius:18px;padding:14px 16px}.config-form{gap:20px;display:grid}.config-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.config-card{border:1px solid var(--border);background:var(--surface);gap:16px;padding:18px;display:grid}.config-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.config-toggle-copy{gap:6px;display:grid}.config-card-title{font-size:1rem;font-weight:700;display:block}.team-route-config-card,.team-route-config-fields{gap:14px;display:grid}.team-route-config-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.team-route-config-actions{flex-wrap:wrap;gap:12px;display:flex}.team-route-config-summary,.team-route-config-status-note{color:var(--text-soft);margin:0;line-height:1.5}.team-route-config-status-note{font-size:.84rem}.job-card-pdf-toolbar-card,.job-card-pdf-palette-card,.job-card-pdf-canvas-card,.job-card-pdf-sidebar-card{align-self:start}.job-card-pdf-toolbar-card,.job-card-pdf-preview-card,.job-card-pdf-builder-stage{overflow:hidden}.job-card-pdf-toolbar-card,.job-card-pdf-preview-card{border:1px solid var(--border);background:var(--surface)}.job-card-pdf-toolbar-card{gap:16px;padding:18px;display:grid}.job-card-pdf-toolbar-row,.job-card-pdf-toolbar-actions,.job-card-pdf-selection-actions,.job-card-pdf-colour-grid,.job-card-pdf-grid-two{gap:12px;display:grid}.job-card-pdf-toolbar-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.job-card-pdf-toolbar-field{min-width:0}.job-card-pdf-canvas-card-heading,.job-card-pdf-preview-heading{flex-wrap:wrap;align-items:flex-end}.job-card-pdf-canvas-heading-copy{flex:0 auto}.job-card-pdf-preview-heading-controls{flex:0 240px;min-width:min(240px,100%)}.job-card-pdf-canvas-heading-side{flex:540px;gap:10px;max-width:100%;display:grid}.job-card-pdf-canvas-heading-controls{grid-template-columns:minmax(260px,360px) minmax(180px,260px);align-items:end;gap:12px;width:100%;display:grid}.job-card-pdf-canvas-presence{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;display:flex}.job-card-pdf-canvas-presence-badge{white-space:nowrap;background:#ffffffb8;border:1px solid;align-items:center;gap:8px;min-height:32px;padding:6px 10px;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.job-card-pdf-canvas-presence-dot{border-radius:999px;flex:none;width:8px;height:8px}.job-card-pdf-zoom-range{width:100%;accent-color:var(--accent)}.job-card-pdf-toolbar-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.job-card-pdf-status-row{gap:8px;display:grid}.job-card-pdf-status-note{color:var(--text-soft);margin:0;line-height:1.5}.job-card-pdf-standalone,.job-card-pdf-standalone-content{gap:10px;display:grid}.job-card-pdf-layout{align-items:start;gap:10px;display:grid}.job-card-pdf-workbench{--job-card-pdf-workbench-sticky-top:86px;--job-card-pdf-workbench-sticky-bottom-gap:10px;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:10px;display:grid}.job-card-pdf-workbench-with-selection-sidebar{grid-template-columns:150px minmax(0,1fr) 320px}.job-card-pdf-palette-card{top:var(--job-card-pdf-workbench-sticky-top);max-height:calc(100vh - var(--job-card-pdf-workbench-sticky-top) - var(--job-card-pdf-workbench-sticky-bottom-gap));padding:14px;position:sticky;overflow:auto}.job-card-pdf-selection-sidebar-card{top:var(--job-card-pdf-workbench-sticky-top);max-height:calc(100vh - var(--job-card-pdf-workbench-sticky-top) - var(--job-card-pdf-workbench-sticky-bottom-gap));align-self:start;position:sticky;overflow:auto}.job-card-pdf-palette-grid{grid-template-columns:1fr;gap:10px;display:grid}.job-card-pdf-palette-button{min-height:42px}.job-card-pdf-palette-button-armed{color:#7a4b1f;background:#a66a2c1f;border-color:#d39d60;box-shadow:inset 0 0 0 1px #a66a2c2e}.job-card-pdf-builder-stage{gap:12px;display:grid}.job-card-pdf-builder-stage-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-card-pdf-builder-stage-note{color:var(--text-soft);font-size:.92rem;line-height:1.5}.job-card-pdf-builder-scroll{border:1px solid var(--border);background:linear-gradient(#ffffffd1,#ffffffd1),repeating-linear-gradient(45deg,#1f293708,#1f293708 12px,#1f29370a 12px 24px);padding:20px;overflow:auto}.job-card-pdf-builder-scroll-drawing,.job-card-pdf-builder-draw-layer{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23A66A2C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 3.5 20.5 9.5 10 20l-6.5.5L4 14z'/%3E%3Cpath d='m12.5 5.5 6 6'/%3E%3Cpath d='M7 17h2.5'/%3E%3C/svg%3E") 4 20,crosshair}.job-card-pdf-builder-page,.job-card-pdf-page{border:1px solid var(--job-card-pdf-border,var(--border-strong));margin:0 auto;position:relative;box-shadow:0 18px 40px #1f29371f}.job-card-pdf-builder-page{overflow:visible}.job-card-pdf-builder-grid{pointer-events:none;background-image:linear-gradient(90deg,#1f293714 1px,#0000 1px),linear-gradient(#1f293714 1px,#0000 1px);position:absolute;inset:0}.job-card-pdf-print-margin-guide{pointer-events:none;border:1px dashed #a66a2c9e;position:absolute;box-shadow:inset 0 0 0 1px #ffffffb8}.job-card-pdf-builder-draw-layer{z-index:5;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;inset:0}.job-card-pdf-builder-draw-preview{border:1.5px dashed var(--job-card-pdf-accent,var(--accent));pointer-events:none;background:#a66a2c1a;border-radius:2px;position:absolute;box-shadow:inset 0 0 0 1px #ffffffb8}.job-card-pdf-builder-block,.job-card-pdf-page-block{appearance:none;cursor:pointer;width:100%;transition:box-shadow .14s,outline-color .14s,transform .14s;display:block}.job-card-pdf-builder-block{touch-action:none}.job-card-pdf-builder-block-surface{border-radius:inherit;width:100%;height:100%;position:relative;overflow:hidden}.job-card-pdf-builder-block:hover,.job-card-pdf-page-block:hover{box-shadow:inset 0 0 0 2px #1f29371f}.job-card-pdf-builder-block-selected,.job-card-pdf-page-block-selected{box-shadow:inset 0 0 0 2px var(--job-card-pdf-accent,var(--accent))}.job-card-pdf-context-menu{z-index:50;border:1px solid var(--border);background:var(--surface-raised);min-width:148px;padding:6px;display:grid;position:fixed;box-shadow:0 18px 40px #1f29372e}.job-card-pdf-context-menu-item{color:var(--text-main);font:inherit;text-align:left;background:0 0;border:0;padding:9px 10px}.job-card-pdf-context-menu-item:hover,.job-card-pdf-context-menu-item:focus-visible{background:#1f29370f;outline:none}.job-card-pdf-context-menu-item-danger{color:#8b1e1e}.job-card-pdf-collaborator-cursor{z-index:4;background:var(--job-card-pdf-collaborator-colour,#0ea5e9);will-change:left,top;pointer-events:none;border-radius:999px;width:10px;height:10px;transition:left 48ms linear,top 48ms linear,box-shadow .12s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffeb}.job-card-pdf-builder-drag-handle{z-index:4;cursor:grab;background:0 0;border:0;justify-content:flex-end;align-items:flex-end;width:36px;height:36px;padding:0;display:flex;position:absolute;top:-36px;left:-36px}.job-card-pdf-builder-drag-safezone{z-index:3;opacity:0;position:absolute}.job-card-pdf-builder-drag-safezone-top-triangle{clip-path:polygon(0 0,0 100%,100% 100%);background:linear-gradient(to bottom right,#0000 calc(50% - 1px),#a66a2cd1 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(#a66a2cd1,#a66a2cd1) 0/2px 100% no-repeat,linear-gradient(#a66a2cd1,#a66a2cd1) bottom/100% 2px no-repeat,linear-gradient(#a66a2c1f,#a66a2c1f);width:100%;height:25px;top:-25px;left:0}.job-card-pdf-builder-drag-safezone-left-triangle{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(to bottom right,#0000 calc(50% - 1px),#a66a2cd1 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(#a66a2cd1,#a66a2cd1) top/100% 2px no-repeat,linear-gradient(#a66a2cd1,#a66a2cd1) 100%/2px 100% no-repeat,linear-gradient(#a66a2c1f,#a66a2c1f);width:25px;height:100%;top:0;left:-25px}.job-card-pdf-builder-drag-handle:active{cursor:grabbing}.job-card-pdf-builder-drag-handle:focus-visible{outline:none}.job-card-pdf-builder-drag-handle-visual{background:#fffffffa;border:1px solid #1f293738;justify-content:center;align-items:center;width:20px;height:20px;transition:box-shadow .14s,border-color .14s;display:flex;box-shadow:0 10px 24px #1f29372e}.job-card-pdf-builder-drag-handle:hover .job-card-pdf-builder-drag-handle-visual,.job-card-pdf-builder-drag-handle:focus-visible .job-card-pdf-builder-drag-handle-visual,.job-card-pdf-builder-block-selected .job-card-pdf-builder-drag-handle .job-card-pdf-builder-drag-handle-visual{border-color:var(--job-card-pdf-accent,var(--accent));box-shadow:0 12px 28px #1f29373d}.job-card-pdf-builder-drag-handle-icon{width:12px;height:12px;stroke:var(--job-card-pdf-accent,var(--accent));stroke-width:1.35px;fill:none;stroke-linecap:round;stroke-linejoin:round}.job-card-pdf-builder-inline-divider-handle{z-index:3;cursor:ew-resize;background:0 0;border:0;width:18px;padding:0;position:absolute;top:0;bottom:0;transform:translate(-50%)}.job-card-pdf-builder-inline-divider-handle:before{content:"";background:var(--job-card-pdf-inline-label-divider,var(--job-card-pdf-accent,var(--accent)));opacity:.96;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.job-card-pdf-builder-inline-divider-handle:after{content:"";background:radial-gradient(circle at 50% 35%,#1f29373d 0 1px,#0000 1.5px),radial-gradient(circle,#1f29373d 0 1px,#0000 1.5px),radial-gradient(circle at 50% 65%,#1f29373d 0 1px,#0000 1.5px),#fffffff0;border:1px solid #1f293733;border-radius:999px;width:12px;height:34px;transition:border-color .12s,box-shadow .12s,background-color .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 22px #1f29372e}.job-card-pdf-builder-inline-divider-handle:hover:after,.job-card-pdf-builder-inline-divider-handle:focus-visible:after,.job-card-pdf-builder-block-selected .job-card-pdf-builder-inline-divider-handle:after{border-color:var(--job-card-pdf-accent,var(--accent));box-shadow:0 12px 26px #1f293738}.job-card-pdf-builder-inline-divider-handle:focus-visible{outline:none}.job-card-pdf-builder-handle{z-index:2;background:0 0;border:0;width:18px;height:18px;padding:0;position:absolute;overflow:visible}.job-card-pdf-builder-handle:before{content:"";border-color:var(--job-card-pdf-accent,var(--accent));opacity:.92;background:0 0;border-style:solid;transition:transform .12s,opacity .12s;position:absolute;inset:3px}.job-card-pdf-builder-handle:hover:before,.job-card-pdf-builder-handle:focus-visible:before{opacity:1;transform:scale(1.08)}.job-card-pdf-builder-handle:focus-visible{outline:none}.job-card-pdf-builder-handle-nw{cursor:nwse-resize;top:0;left:0}.job-card-pdf-builder-handle-nw:before{border-width:2px 0 0 2px;border-top-left-radius:7px}.job-card-pdf-builder-handle-ne{cursor:nesw-resize;top:0;right:0}.job-card-pdf-builder-handle-ne:before{border-width:2px 2px 0 0;border-top-right-radius:7px}.job-card-pdf-builder-handle-sw{cursor:nesw-resize;bottom:0;left:0}.job-card-pdf-builder-handle-sw:before{border-width:0 0 2px 2px;border-bottom-left-radius:7px}.job-card-pdf-builder-handle-se{cursor:nwse-resize;bottom:0;right:0}.job-card-pdf-builder-handle-se:before{border-width:0 2px 2px 0;border-bottom-right-radius:7px}.job-card-pdf-preview-card{min-height:620px;padding:18px;overflow:auto}.job-card-pdf-inspector{gap:20px;display:grid}.job-card-pdf-inspector-empty{align-content:start;min-height:180px}.job-card-pdf-inspector-empty-message{color:var(--text-soft);margin:0;line-height:1.5}.job-card-pdf-inspector-section{border-top:1px solid var(--border);gap:12px;padding-top:20px;display:grid}.job-card-pdf-inspector-section:first-child{border-top:0;padding-top:0}.job-card-pdf-inspector-title{margin:0;font-size:1rem}.job-card-pdf-align-button-row{gap:6px;display:flex}.job-card-pdf-align-button{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text-main);cursor:pointer;font:inherit;text-align:center;white-space:nowrap;flex:1 1 0;padding:8px 10px;font-size:.84rem;font-weight:600}.job-card-pdf-align-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised)}.job-card-pdf-align-button-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent)12%,var(--surface));color:var(--text-main)}.job-card-pdf-align-button:disabled{cursor:not-allowed;opacity:.65}.job-card-pdf-align-mixed-note{color:var(--text-soft);margin:8px 0 0;font-size:.82rem}.job-card-pdf-selected-block-type{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.84rem;font-weight:700}.job-card-pdf-colour-grid,.job-card-pdf-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.job-card-pdf-colour-input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;padding:6px}.job-card-pdf-checkbox-row{min-height:44px;color:var(--text-main);align-items:center;gap:10px;display:flex}.job-card-pdf-page{overflow:hidden}.job-card-pdf-page-block{text-align:inherit;background:0 0;border:0;padding:0}.job-card-pdf-block-inner,.job-card-pdf-photo-placeholder,.job-card-pdf-gallery-item,.job-card-pdf-pen-lines,.job-card-pdf-pen-grid,.job-card-pdf-signature-block,.job-card-pdf-field-block,.job-card-pdf-checklist-block{box-sizing:border-box;width:100%;height:100%}.job-card-pdf-block-inner{align-content:start;gap:8px;display:grid}.job-card-pdf-inline-editor{align-content:start}.job-card-pdf-inline-input,.job-card-pdf-inline-textarea,.job-card-pdf-inline-richtext-editor{box-sizing:border-box;width:100%;min-width:0;color:inherit;font:inherit;line-height:inherit;text-align:inherit;background:#ffffff2e;border:1px dashed #1f29372e;transition:background-color .14s,color .14s,border-color .14s}.job-card-pdf-inline-input{min-height:0;padding:4px 6px}.job-card-pdf-inline-textarea{resize:none;min-height:54px;padding:6px;overflow-y:auto}.job-card-pdf-inline-richtext-editor{white-space:break-spaces;overflow-wrap:anywhere;word-break:break-word;min-height:54px;padding:6px;overflow-y:auto}.job-card-pdf-inline-textarea-plain,.job-card-pdf-inline-richtext-editor-plain{height:100%;min-height:0}.job-card-pdf-inline-textarea-inline,.job-card-pdf-inline-richtext-editor-inline{background:0 0;border:0;border-radius:0;height:100%;min-height:100%;padding:6px 8px}.job-card-pdf-inline-richtext-row{white-space:break-spaces;min-height:1.2em}.job-card-pdf-inline-title-input{color:var(--job-card-pdf-muted,var(--text-soft));letter-spacing:.04em;text-transform:uppercase;font-size:.78em;font-weight:700}.job-card-pdf-inline-secondary-input{font-size:.72em}.job-card-pdf-inline-hint-input{min-height:48px;font-size:.9em}.job-card-pdf-inline-item-input{background:0 0;border:0;padding:0}.job-card-pdf-inline-item-actions{flex-wrap:wrap;gap:6px;display:flex}.job-card-pdf-inline-chip{color:var(--text-main);font:inherit;background:#ffffffe0;border:1px solid #1f293724;padding:4px 8px;font-size:.72em}.job-card-pdf-inline-chip:disabled{opacity:.5}.job-card-pdf-inline-input:focus,.job-card-pdf-inline-textarea:focus,.job-card-pdf-inline-richtext-editor:focus,.job-card-pdf-inline-chip:focus{outline:2px solid var(--job-card-pdf-accent,var(--accent));outline-offset:1px}.job-card-pdf-text-block,.job-card-pdf-field-block,.job-card-pdf-pen-area-block,.job-card-pdf-checklist-block,.job-card-pdf-photo-block,.job-card-pdf-gallery-block{gap:8px;display:grid}.job-card-pdf-text-value,.job-card-pdf-field-value,.job-card-pdf-photo-caption,.job-card-pdf-checklist-label,.job-card-pdf-signature-secondary,.job-card-pdf-pen-area-hint{margin:0}.job-card-pdf-text-value{white-space:break-spaces;overflow-wrap:anywhere;word-break:break-word}.job-card-pdf-text-row-list{align-content:start;gap:0;min-width:0;min-height:0;display:grid}.job-card-pdf-text-row{white-space:break-spaces;overflow-wrap:anywhere;word-break:break-word;margin:0}.job-card-pdf-field-value{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.job-card-pdf-field-label,.job-card-pdf-photo-caption,.job-card-pdf-signature-secondary{color:var(--job-card-pdf-muted,var(--text-soft));letter-spacing:.04em;text-transform:uppercase;font-size:.78em;font-weight:700}.job-card-pdf-field-block-inline,.job-card-pdf-text-block-inline{grid-template-columns:var(--job-card-pdf-inline-label-width,38%)minmax(0,1fr);align-content:stretch;gap:0;height:100%}.job-card-pdf-text-block.job-card-pdf-inline-editor:not(.job-card-pdf-text-block-inline){grid-template-rows:minmax(0,1fr);align-content:stretch;height:100%}.job-card-pdf-inline-table{box-sizing:border-box;isolation:isolate;background:var(--job-card-pdf-inline-table-background,transparent);border-radius:0;position:relative;overflow:hidden}.job-card-pdf-inline-table:after{content:"";z-index:2;box-shadow:inset 0 0 0 1px var(--job-card-pdf-inline-table-border,transparent);pointer-events:none;border-radius:0;position:absolute;inset:0}.job-card-pdf-field-label-panel{box-sizing:border-box;border-right:1px solid var(--job-card-pdf-inline-label-divider,#1f29372e);background:var(--job-card-pdf-inline-label-background,transparent);min-width:0;color:var(--job-card-pdf-inline-label-colour,var(--text-main));letter-spacing:.01em;text-transform:none;white-space:pre-wrap;align-items:center;padding:6px 8px;font-size:.86em;font-weight:700;line-height:1.2;display:flex}.job-card-pdf-field-label-panel-input{box-sizing:border-box;border-style:solid;border-width:0 1px 0 0;border-right-color:var(--job-card-pdf-inline-label-divider,#1f29372e);background:var(--job-card-pdf-inline-label-background,transparent);min-height:100%;color:var(--job-card-pdf-inline-label-colour,inherit);border-radius:0}.job-card-pdf-field-value-inline{box-sizing:border-box;align-items:center;min-width:0;min-height:100%;padding:6px 8px;display:flex}.job-card-pdf-text-value-inline{box-sizing:border-box;align-self:stretch;min-width:0;min-height:100%;padding:6px 8px}.job-card-pdf-field-value-placeholder{opacity:.52;font-style:italic}.job-card-pdf-pen-area-header,.job-card-pdf-signature-labels{gap:4px;display:grid}.job-card-pdf-pen-area-hint{color:var(--job-card-pdf-muted,var(--text-soft));font-size:.9em;line-height:1.4}.job-card-pdf-pen-lines{align-content:start;gap:10px;display:grid}.job-card-pdf-pen-line{border-bottom:1px solid #1f29372e;width:100%;display:block}.job-card-pdf-pen-grid{align-content:stretch;gap:8px;height:100%;display:grid}.job-card-pdf-pen-grid-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.job-card-pdf-pen-grid-cell{border:1px dashed #1f293733;min-height:28px}.job-card-pdf-checklist-items{gap:8px 12px;display:grid}.job-card-pdf-checklist-item{align-items:center;gap:8px;display:flex}.job-card-pdf-checklist-box{border:1px solid;flex:none;width:14px;height:14px}.job-card-pdf-signature-block{align-content:end;gap:8px}.job-card-pdf-signature-line{border-bottom:1px solid;width:100%;min-height:1px}.job-card-pdf-photo-block,.job-card-pdf-gallery-item{overflow:hidden}.job-card-pdf-field-block-photo:not(.job-card-pdf-field-block-inline){grid-template-rows:auto minmax(0,1fr);align-content:stretch}.job-card-pdf-field-photo-strip{align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;display:grid}.job-card-pdf-field-photo-item{min-width:0;min-height:0;display:grid;overflow:hidden}.job-card-pdf-field-photo-placeholder{min-height:48px}.job-card-pdf-photo,.job-card-pdf-photo-placeholder{flex:auto;width:100%;min-height:0}.job-card-pdf-photo{object-fit:cover;height:100%;display:block}.job-card-pdf-photo-contain{object-fit:contain;background:#1f29370a}.job-card-pdf-photo-placeholder{color:var(--job-card-pdf-muted,var(--text-soft));text-align:center;border:1px dashed #1f293733;place-items:center;font-size:.92em;display:grid}.job-card-pdf-gallery-grid{width:100%;height:100%;display:grid}.job-card-pdf-gallery-item{gap:6px;min-width:0;min-height:0;display:grid}@media (max-width:1280px){.job-card-pdf-workbench,.job-card-pdf-workbench-with-selection-sidebar{grid-template-columns:150px minmax(0,1fr)}.job-card-pdf-selection-sidebar-card{grid-column:1/-1;max-height:none;position:static}}@media (max-width:900px){.job-card-pdf-toolbar-row,.job-card-pdf-canvas-heading-controls,.job-card-pdf-colour-grid,.job-card-pdf-grid-two,.job-card-pdf-selection-actions{grid-template-columns:1fr}.job-card-pdf-canvas-card-heading,.job-card-pdf-preview-heading{align-items:stretch}.job-card-pdf-canvas-heading-copy,.job-card-pdf-canvas-heading-side,.job-card-pdf-preview-heading-controls{flex-basis:100%}.job-card-pdf-canvas-presence{justify-content:flex-start}.job-card-pdf-workbench,.job-card-pdf-workbench-with-selection-sidebar{grid-template-columns:1fr}.job-card-pdf-palette-card,.job-card-pdf-selection-sidebar-card{max-height:none;position:static}}.config-checkbox{width:18px;height:18px;accent-color:var(--accent);margin:0}.calendar-config-grid-wrap{overflow-x:auto}.calendar-config-grid{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:936px}.calendar-config-day-card{cursor:pointer;min-width:0;padding:14px}.calendar-config-day-card .config-card-heading{gap:8px}.calendar-config-day-card .config-card-title{white-space:nowrap;font-size:.95rem}.calendar-config-day-card-disabled{cursor:default}.calendar-config-width-card,.calendar-config-width-copy,.calendar-config-width-preview{gap:12px;display:grid}.calendar-config-width-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendar-config-width-value,.calendar-config-width-preview-label{font-weight:700}.calendar-config-width-value{white-space:nowrap;font-size:1rem}.calendar-config-width-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-config-width-range{width:auto;min-width:220px;accent-color:var(--accent);flex:240px}.calendar-config-width-reset{flex:none}.calendar-config-width-preview-label{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}.calendar-config-width-preview-frame{border:1px solid var(--border);background:var(--surface);align-items:center;width:min(100%,420px);min-height:52px;padding:10px 12px;display:flex;overflow-x:auto}.calendar-config-width-preview-bar{background:var(--accent);min-width:40px;height:22px}.job-phases-create-form,.ordered-config-options-create-form{gap:12px;display:grid}.job-phases-create-row,.ordered-config-options-create-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.job-phases-field,.ordered-config-options-field{flex:320px;max-width:460px}.job-phases-notice-field{flex:0 180px;max-width:220px}.job-phases-add-button,.ordered-config-options-add-button{min-width:120px}.job-phases-status-note,.ordered-config-options-status-note{color:var(--text-soft);margin:0;font-size:.95rem}.job-phases-table-card,.ordered-config-options-table-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);overflow-x:auto}.job-phases-table,.ordered-config-options-table{border-collapse:separate;border-spacing:0;width:100%;min-width:560px}.job-phases-table th,.job-phases-table td,.ordered-config-options-table th,.ordered-config-options-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;background:var(--surface-raised);padding:14px 16px}.job-phases-table th,.ordered-config-options-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.job-phases-table tbody tr:last-child td,.ordered-config-options-table tbody tr:last-child td{border-bottom:0}.job-phases-order-cell,.ordered-config-options-order-cell{width:92px;color:var(--text-soft);white-space:nowrap;font-weight:600}.job-phases-name-cell{min-width:220px}.job-phases-name-input{width:100%;min-width:0}.job-phases-notice-cell{width:180px}.job-phases-notice-input{width:100%;min-width:0}.job-phases-move-cell,.ordered-config-options-move-cell{text-align:right;width:100px}.job-phases-sortable-row,.ordered-config-options-sortable-row{will-change:transform;backface-visibility:hidden;transition:box-shadow .14s,opacity .14s,transform .14s}.job-phases-sortable-row-draggable,.ordered-config-options-sortable-row-draggable{cursor:grab}.job-phases-sortable-row-disabled,.ordered-config-options-sortable-row-disabled{opacity:.88}.job-phases-sortable-row-dragging,.ordered-config-options-sortable-row-dragging{opacity:.56}.job-phases-sortable-row-drop-target td,.ordered-config-options-sortable-row-drop-target td{box-shadow:inset 0 0 0 2px var(--accent)}.job-phases-sortable-handle,.ordered-config-options-sortable-handle{border:1px solid var(--border-strong);background:var(--surface);min-width:40px;color:var(--text-soft);appearance:none;letter-spacing:1px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:8px 10px;font-family:inherit;font-size:.8rem;font-weight:700;display:inline-flex}.job-phases-sortable-handle:active,.ordered-config-options-sortable-handle:active{cursor:grabbing}.job-phases-sortable-handle:disabled,.ordered-config-options-sortable-handle:disabled{cursor:not-allowed}.nav-layout-preview-card{border:1px solid var(--border);background:var(--surface);gap:16px;padding:18px;display:grid}.nav-layout-preview-scroll{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#f6f2eaf0;overflow:auto hidden}.nav-layout-preview-bar{align-items:stretch;width:100%;min-width:max-content;min-height:76px;display:flex}.nav-layout-preview-links{align-items:stretch;display:flex}.nav-layout-preview-spacer{flex:auto;min-width:24px}.nav-layout-sortable-item{will-change:transform;backface-visibility:hidden;flex:none;align-items:stretch;min-height:76px;transition:box-shadow .14s,opacity .14s,transform .14s;display:flex}.nav-layout-sortable-item-draggable{cursor:grab}.nav-layout-sortable-item-draggable:active{cursor:grabbing}.nav-layout-sortable-item-disabled{opacity:.82}.nav-layout-sortable-item-dragging{opacity:.56}.nav-layout-sortable-item-drop-target{box-shadow:inset 0 0 0 2px var(--accent)}.nav-layout-sortable-handle{border-top:1px solid var(--nav-button-border,var(--border));border-left:1px solid var(--nav-button-border,var(--border));border-right:1px solid var(--nav-button-border,var(--border));border-bottom:1px solid var(--nav-button-border,var(--border));background:var(--nav-button-background,var(--surface-raised));width:28px;min-width:28px;color:var(--nav-button-text,var(--text-soft));appearance:none;letter-spacing:1px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.8rem;font-weight:700;display:inline-flex}.nav-layout-sortable-handle:active{cursor:grabbing}.nav-layout-sortable-handle:disabled{cursor:not-allowed}.nav-layout-preview-button{width:var(--top-nav-item-width);min-width:var(--top-nav-item-width);height:auto;min-height:76px;cursor:inherit;pointer-events:none;border-left:0;margin-bottom:0;padding:0 20px}.config-colour-control{gap:12px;display:grid;position:relative}.config-colour-control-compact{justify-items:start}.config-colour-trigger{border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;text-align:left;border-radius:0;justify-content:center;align-items:center;width:100%;min-height:52px;padding:12px 14px;transition:transform .14s,box-shadow .14s;display:flex}.config-colour-trigger-compact{width:48px;min-width:48px;min-height:48px;padding:0}.config-colour-trigger:disabled{cursor:not-allowed;opacity:.6}.config-colour-trigger:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 24px #1f293724}.config-colour-popover{z-index:100;border:1px solid var(--border);background:var(--surface-raised);border-radius:0;gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 34px #1f29372e}.config-colour-popover-compact{width:min(260px,100vw - 96px);right:auto}.config-colour-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.config-preset-button{aspect-ratio:1;cursor:pointer;background:0 0;border:1px solid #1f29371f;box-shadow:inset 0 0 0 1px #ffffff59}.config-preset-button-default{background:linear-gradient(135deg,var(--surface-raised)0 48%,var(--accent-soft)48% 52%,var(--surface-raised)52% 100%);border-style:dashed;box-shadow:inset 0 0 0 1px #1f293714,inset 0 0 0 999px #ffffff59}.config-preset-button:disabled{cursor:not-allowed;opacity:.55}.config-preset-button-active{outline:2px solid var(--text-main);outline-offset:2px}.config-colour-picker-button{justify-self:stretch}.config-colour-picker-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.configs-submit-button{justify-self:start}.config-empty-state{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-soft);border-radius:28px;padding:28px}.permissions-page{gap:24px;display:grid}.permissions-header,.permissions-layout,.permission-role-heading{gap:12px;display:grid}.permission-role-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.permission-role-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);border-radius:28px;gap:18px;padding:22px;display:grid}.permission-role-card-create{border-style:dashed}.permission-role-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.permission-role-badge,.permission-role-note{margin:0}.permission-role-badge{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.permission-role-title{margin:0;font-size:1.35rem}.permission-role-note{color:var(--text-soft);line-height:1.5}.permissions-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.permissions-table-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);border-radius:0;overflow-x:auto}.permissions-table{border-collapse:collapse;width:100%;min-width:720px}.permissions-table th,.permissions-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:16px}.permissions-table th:not(:last-child),.permissions-table td:not(:last-child){border-right:1px solid var(--border)}.permissions-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.permissions-table tbody tr:last-child td{border-bottom:0}.permissions-role-name{font-weight:700}.permissions-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.permissions-modal-card{overscroll-behavior:contain;gap:18px;width:min(100%,960px);max-height:calc(100vh - 48px);padding:20px;display:grid;overflow-y:auto}.permissions-modal-card .modal-header{z-index:1;background:var(--surface-raised);padding:0;position:sticky;top:0}.permissions-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.permissions-modal-grid-role{grid-template-columns:1fr}.permissions-modal-note{color:var(--text-soft);margin:0;line-height:1.5}.permissions-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.permissions-modal-remove{margin-right:auto}.permission-role-actions{justify-content:flex-start;gap:12px;display:flex}.permission-delete-button{white-space:nowrap;align-self:start}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.permission-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;gap:10px;padding:16px;display:grid}.permission-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.permission-card-code{font-size:.95rem;font-weight:700;line-height:1.4}.permission-card-description{color:var(--text-soft);font-size:.94rem;line-height:1.55}.permission-card-checkbox{width:18px;height:18px;accent-color:var(--accent);margin:0}.permission-matrix-card{border:1px solid var(--border);background:var(--surface);border-radius:0;overflow-x:auto}.permission-matrix{border-collapse:collapse;width:100%;min-width:680px}.permission-matrix th,.permission-matrix td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 16px}.permission-matrix th:not(:last-child),.permission-matrix td:not(:last-child){border-right:1px solid var(--border)}.permission-matrix th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.permission-matrix tbody tr:last-child td{border-bottom:0}.permission-matrix-toggle{width:18px;height:18px;accent-color:var(--accent);margin:0}.permission-matrix-title{font-weight:700}.permission-matrix-code{color:var(--text-soft);margin-top:4px;font-size:.82rem}.permission-matrix-description{color:var(--text-soft);line-height:1.5}.jobs-page{gap:24px;display:grid}.jobs-page-wide-table{width:100%}.job-editor-panel{gap:24px;display:grid}.job-editor-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;width:min(100%,1000px);margin-inline:auto;display:grid}.jobs-header{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.jobs-header-copy{gap:10px;display:grid}.jobs-header-actions{flex-wrap:wrap;gap:12px;display:flex}.jobs-create-toggle{justify-self:start}.jobs-create-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);gap:18px;padding:20px;display:grid}.jobs-form-grid{gap:18px;display:grid}.jobs-address-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.jobs-suggestions-card{border:1px solid var(--border);background:var(--surface);gap:12px;padding:16px;display:grid}.jobs-suggestions-hint,.jobs-suggestions-status,.jobs-address-line-secondary{color:var(--text-soft);margin:0;line-height:1.5}.jobs-suggestions-list{gap:8px;max-height:260px;display:grid;overflow-y:auto}.jobs-suggestion-option{border:1px solid var(--border);background:var(--surface-raised);width:100%;color:var(--text-main);cursor:pointer;text-align:left;padding:12px 14px;line-height:1.5}.jobs-suggestion-option:hover{background:var(--accent-soft)}.jobs-actions{justify-content:flex-end;display:flex}.jobs-table-tools{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.jobs-table-search-field{flex:340px;max-width:460px;margin:0}.jobs-table-search-input{width:100%}.jobs-table-results,.jobs-table-pagination-status{color:var(--text-soft);margin:0;font-size:.95rem;font-weight:600}.jobs-table-card{border:1px solid var(--border);background:var(--surface-raised);width:100%;box-shadow:var(--shadow-soft);overflow-x:auto}.jobs-table{border-collapse:collapse;width:100%;min-width:1100px}.jobs-table th,.jobs-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:16px}.jobs-table th:last-child,.jobs-table td:last-child{border-right:0}.jobs-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.jobs-table th.jobs-table-sortable-header{padding:0}.jobs-table-sort-button{width:100%;color:inherit;appearance:none;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:16px;transition:background-color .14s,color .14s;display:flex}.jobs-table-sort-button:hover,.jobs-table-sort-button:focus-visible{background:var(--accent-soft)}.jobs-table-sort-button-active{color:var(--text-main)}.jobs-table-sort-indicator{color:inherit;margin-left:auto;font-size:.95rem;line-height:1}.jobs-table tbody tr:last-child td{border-bottom:0}.jobs-table-empty-state{padding:28px}.jobs-table-empty-state p{color:var(--text-soft);margin:0}.jobs-address-cell,.jobs-summary-cell{gap:4px;display:grid}.jobs-table-action-cell{white-space:nowrap}.jobs-row-link{text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .14s}.jobs-edit-link{justify-content:center;align-items:center;display:inline-flex}.jobs-row-link:hover{text-decoration-color:currentColor}.jobs-table-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.jobs-table-pagination-controls{flex-wrap:wrap;gap:10px;display:flex}.jobs-table-pagination-button{justify-content:center;min-width:96px}.job-editor-back-link{color:var(--text-soft);font-weight:600}.job-editor-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.job-editor-site-card{align-content:start}.job-editor-card-header,.job-editor-card-copy{gap:8px;display:grid}.job-editor-card-header{grid-column:1/-1;align-items:start}.job-editor-section-title{margin:0;font-size:1.35rem}.job-editor-field{z-index:0;min-width:0;position:relative}.job-editor-field .field-input{padding:11px 12px}.job-editor-input-with-prefix{align-items:center;gap:8px;display:flex}.job-editor-input-prefix{color:var(--text-soft);-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;font-weight:700}.job-editor-input-with-prefix-control{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;padding:0}.job-editor-input-with-prefix-control:focus{box-shadow:none;outline:none}.job-editor-textarea{resize:vertical;min-height:140px}.job-editor-field-full{grid-column:1/-1}.job-editor-field-active{z-index:20}.job-editor-field-popover-open{z-index:40}.job-editor-field-active .field-input,.job-editor-field-active .job-editor-checkbox-toggle{border-color:var(--border-strong);box-shadow:0 0 0 1px #1f29370f}.job-editor-field-locked .field-input,.job-editor-field-locked .job-editor-checkbox-toggle{cursor:not-allowed}.job-editor-field-locked .field-input:disabled,.job-editor-field-locked .job-editor-checkbox-toggle:disabled{color:var(--text-soft)}.job-editor-checkbox-row{align-items:center;display:flex}.job-editor-checkbox-toggle{--job-editor-checkbox-accent:#9ca3af;--job-editor-checkbox-background:#7b7f87;border:2px solid var(--job-editor-checkbox-accent);background:var(--job-editor-checkbox-background);color:#fff;cursor:pointer;min-height:36px;font:inherit;border-radius:2px;align-items:center;gap:10px;padding:6px 10px 6px 6px;font-weight:700;line-height:1;transition:border-color .16s,background-color .16s,box-shadow .16s,opacity .16s;display:inline-flex}.job-editor-checkbox-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #f8717133}.job-editor-checkbox-toggle:disabled{opacity:.72}.job-editor-checkbox-toggle-unchecked{--job-editor-checkbox-accent:#9ca3af;--job-editor-checkbox-background:#7b7f87}.job-editor-checkbox-toggle-checked{--job-editor-checkbox-accent:#fb5f70;--job-editor-checkbox-background:#ff8f99}.job-editor-checkbox-indicator{border:2px solid var(--job-editor-checkbox-accent);background:#fff;flex-shrink:0;width:20px;height:20px}.job-editor-checkbox-status{text-align:center;min-width:28px}.job-editor-field-spacer{min-height:0}.job-editor-field-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.job-editor-field-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.job-editor-field-saving{color:var(--text-soft);white-space:nowrap;align-items:center;gap:8px;font-size:.84rem;font-weight:600;display:inline-flex}.job-editor-field-saving-spinner{border:2px solid #1f29372e;border-top-color:var(--accent);border-radius:999px;width:14px;height:14px;animation:.75s linear infinite job-editor-field-saving-spinner-spin}.job-editor-field-editor{color:var(--text-soft);align-items:center;gap:8px;font-size:.84rem;font-weight:600;display:inline-flex}.job-editor-field-editor-avatar{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.job-editor-field-editor-name{white-space:nowrap}.job-editor-optional-label{color:var(--text-soft);margin-left:6px;font-size:.84rem;font-weight:600;display:inline-block}.job-editor-field-error{color:var(--danger);margin:6px 0 0;font-size:.84rem;font-weight:600;line-height:1.4}.job-editor-multiselect{gap:8px;display:grid;position:relative}.job-editor-multiselect-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.job-editor-multiselect-dropdown{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);z-index:30;gap:0;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0}.job-editor-multiselect-option{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.job-editor-multiselect-option:last-child{border-bottom:0}.job-editor-radio-options{gap:8px;display:grid}.job-editor-radio-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;line-height:1.5;display:flex}.job-editor-radio-option:has(.job-editor-radio-input:checked){background:#fff7ed;border-color:#d97706;box-shadow:inset 0 0 0 1px #d9770614}.job-editor-radio-input{margin:0}.job-editor-help-text{color:var(--text-soft);margin:0;line-height:1.5}.job-editor-card-title{margin:0;font-size:1.18rem}.job-editor-card-helper{color:var(--text-soft);margin:0;line-height:1.5}.job-editor-card-header-split{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.job-editor-select-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.job-editor-select-action-field{flex:260px;min-width:min(100%,260px)}.job-editor-printed-strip{flex-wrap:wrap;align-items:center;gap:10px 12px;padding:2px 0 4px;display:flex}.job-editor-printed-title{margin:0;font-size:1rem}.job-editor-checkbox-toggle-compact{gap:8px;min-height:32px;padding:4px 10px 4px 4px}.job-editor-checkbox-toggle-compact .job-editor-checkbox-indicator{width:18px;height:18px}.job-editor-printed-history-button{min-height:32px;padding-block:6px}.job-editor-printed-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-left:auto;display:inline-flex}.job-editor-printed-presence{color:var(--text-soft);margin:0;font-size:.9rem;font-weight:600;line-height:1.4}@keyframes job-editor-field-saving-spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.job-attachments-card-error{grid-column:1/-1;margin:0}.job-attachments-create-modal{gap:18px;width:min(100%,640px);padding:20px;display:grid;position:relative;overflow:hidden}.job-attachments-create-modal-drag-active{box-shadow:0 0 0 2px #0f766e33,var(--shadow-soft);border-color:#0f766e73}.job-attachments-create-modal-drop-target{z-index:2;color:#0f766e;pointer-events:none;text-align:center;background:#f0fdfaeb;border:2px dashed #0f766e73;align-content:center;justify-items:center;gap:12px;padding:32px;display:grid;position:absolute;inset:0}.job-attachments-create-modal-drop-icon{font-size:clamp(4rem,10vw,6rem);font-weight:700;line-height:1}.job-attachments-create-modal-drop-copy{letter-spacing:.04em;text-transform:uppercase;font-size:1.1rem;font-weight:700}.job-attachments-create-modal .modal-header{padding:0}.job-attachments-create-modal-body{gap:16px;display:grid}.job-attachments-create-modal-file-picker{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.job-attachments-create-modal-file-trigger{white-space:nowrap}.job-attachments-create-modal-file-name{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:47px;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 14px;display:flex;overflow:hidden}.job-attachments-create-modal-file-name-empty{color:var(--text-soft)}.job-attachments-create-modal-file-input{display:none}.job-attachments-create-modal-file-help{color:var(--text-soft);margin:8px 0 0;font-size:.92rem;line-height:1.5}.job-attachments-create-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.job-attachments-table-wrapper{border:1px solid var(--border);background:var(--surface);grid-column:1/-1;overflow-x:auto}.job-attachments-table{border-collapse:collapse;width:100%;min-width:900px}.job-attachments-table th,.job-attachments-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top;text-align:left;padding:14px 16px}.job-attachments-table th:last-child,.job-attachments-table td:last-child{border-right:0}.job-attachments-table th{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.job-attachments-table tbody tr:last-child td{border-bottom:0}.job-attachments-empty-row{color:var(--text-soft);text-align:center}.job-attachment-preview-button,.job-attachment-link-button,.job-attachment-action-button,.job-attachment-toolbar-button,.job-attachment-colour-swatch{color:inherit;cursor:pointer;background:0 0;border:0}.job-attachment-preview-button{justify-content:center;align-items:center;padding:0;display:inline-flex}.job-attachment-preview-image{object-fit:cover;border:1px solid var(--border);background:#f3f4f6;width:84px;height:64px;display:block}.job-attachment-preview-pill{border:1px solid var(--border);background:var(--surface-raised);min-width:84px;min-height:64px;color:var(--text-soft);letter-spacing:.02em;justify-content:center;align-items:center;padding:10px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.job-attachment-preview-pill-image{color:#9a3412}.job-attachment-preview-pill-video{color:#0f766e}.job-attachment-preview-pill-pdf{color:#b42318}.job-attachment-preview-pill-document,.job-attachment-preview-pill-other{color:#475569}.job-attachment-empty-copy{color:#b45309;font-weight:700}.job-attachment-link-button{text-align:left;text-underline-offset:3px;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .14s}.job-attachment-link-button:hover{text-decoration-color:currentColor}.job-attachment-meta-copy{color:var(--text-soft);margin-top:4px;font-size:.82rem}.job-attachment-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.job-attachment-action-button{color:#b45309;padding:0;font-weight:700}.job-attachment-action-button-danger{color:var(--danger)}.job-attachment-action-button:disabled{cursor:wait;opacity:.65}.job-attachment-preview-modal{gap:20px;width:min(1100px,100vw - 48px);max-width:none;padding:0 20px 20px;display:grid}.job-attachment-preview-modal-body{justify-content:center;align-items:center;max-height:calc(100vh - 180px);display:flex;overflow:auto}.job-attachment-preview-modal-image{object-fit:contain;max-width:100%;max-height:calc(100vh - 220px);display:block}.job-printed-history-modal{gap:20px;width:min(680px,100vw - 48px);max-width:none;padding:0 20px 20px;display:grid}.job-printed-reason-modal{gap:20px;width:min(560px,100vw - 48px);max-width:none;padding:0 20px 20px;display:grid}.job-printed-reason-modal-body{gap:14px;display:grid}.job-printed-reason-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.job-printed-history-modal-body{gap:14px;display:grid}.job-printed-history-list{gap:12px;display:grid}.job-printed-history-row{border:1px solid var(--border);background:var(--surface);padding:14px 16px}.job-printed-history-status,.job-printed-history-meta,.job-printed-history-reason{margin:0}.job-printed-history-status{font-weight:700}.job-printed-history-meta{color:var(--text-soft);margin-top:4px;line-height:1.5}.job-printed-history-reason{color:var(--text-main);white-space:pre-wrap;margin-top:8px;line-height:1.5}.job-attachment-annotate-modal{grid-template-rows:auto auto auto minmax(0,1fr);gap:16px;width:min(1400px,100vw - 32px);max-width:none;height:calc(100vh - 48px);padding:0 20px 20px;display:grid;overflow:hidden}.job-attachment-annotator-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.job-attachment-toolbar-button{border:1px solid var(--border);background:var(--surface);padding:10px 12px;font-weight:700}.job-attachment-toolbar-button-active{color:#9a3412;background:#fff7ed;border-color:#d97706}.job-attachment-toolbar-button:disabled,.job-attachment-colour-swatch:disabled{cursor:not-allowed;opacity:.6}.job-attachment-toolbar-divider{background:var(--border);align-self:stretch;width:1px}.job-attachment-colour-swatch{border:2px solid var(--border);background:var(--job-attachment-colour);width:28px;height:28px}.job-attachment-colour-swatch-active{border-color:var(--text-main)}.job-attachment-colour-picker,.job-attachment-size-control,.job-attachment-zoom-control{color:var(--text-soft);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.job-attachment-colour-picker input[type=color]{border:1px solid var(--border);background:var(--surface);width:36px;height:32px;padding:0}.job-attachment-size-control input[type=range]{width:120px}.job-attachment-zoom-select{border:1px solid var(--border);background:var(--surface);min-width:120px;color:var(--text-main);font:inherit;padding:8px 10px}.job-attachment-annotator-status{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.job-attachment-annotator-surface{border:1px solid var(--border);min-height:0;box-shadow:var(--shadow-soft);touch-action:none;background:#111827;position:relative;overflow:auto}.job-attachment-annotator-stage-shell{place-items:center;min-width:100%;min-height:100%;display:grid}.job-attachment-annotator-stage{flex:none;position:relative}.job-attachment-annotator-stage-hidden{visibility:hidden}.job-attachment-annotator-loading{color:#ffffffc7;letter-spacing:.01em;pointer-events:none;place-items:center;padding:24px;font-size:.95rem;font-weight:600;display:grid;position:absolute;inset:0}.job-attachment-annotator-image{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.job-attachment-annotator-overlay{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.job-attachment-brush-preview{border:2px solid var(--job-attachment-brush-colour);background:var(--job-attachment-brush-fill);pointer-events:none;z-index:4;border-radius:999px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #11182733,inset 0 0 0 1px #ffffff2e}.job-attachment-brush-preview-eraser{border-style:dashed;box-shadow:0 0 0 1px #1118274d,inset 0 0 0 1px #ffffff42}.job-attachment-cursor{pointer-events:none;z-index:5;position:absolute;transform:translate(-50%,-50%)}.job-attachment-cursor:before{content:"";border:2px solid var(--job-attachment-cursor-colour);background:#ffffffb8;border-radius:999px;width:14px;height:14px;display:block}.job-attachment-cursor-label{color:#fff;white-space:nowrap;background:#111827d9;padding:4px 8px;font-size:.72rem;font-weight:700;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.customers-page{gap:24px;display:grid}.customers-header{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.customers-header-copy{gap:10px;display:grid}.customers-create-toggle{justify-self:start}.customers-create-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);gap:18px;padding:20px;display:grid}.customers-actions{justify-content:flex-end;display:flex}.customers-list{gap:16px;display:grid}.customers-search-field{width:min(100%,360px)}.customers-table-card{border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);overflow-x:auto}.customers-table{border-collapse:collapse;width:100%;min-width:760px}.customers-table th,.customers-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:16px}.customers-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.customers-table tbody tr:last-child td{border-bottom:0}.customers-expanded-row>td{background:var(--surface);padding-top:0}.customer-view-button{justify-content:center;align-items:center;display:inline-flex}.customer-view-icon{width:18px;height:18px}.customer-expanded-panel{gap:18px;padding:18px;display:grid}.customer-expanded-meta{gap:12px;display:grid}.customer-expanded-title,.customer-expanded-contact-name,.customer-contacts-title,.customer-contact-card-title{margin:0}.customer-expanded-copy,.customer-expanded-empty,.customer-contacts-note,.job-create-note{color:var(--text-soft);margin:0;line-height:1.5}.customer-contact-card{border:1px solid var(--border);background:var(--surface-raised);gap:8px;padding:16px;display:grid}.customer-expanded-contacts-table-card{border:1px solid var(--border);background:var(--surface-raised);overflow-x:auto}.customer-expanded-contacts-table{border-collapse:collapse;width:100%;min-width:640px}.customer-expanded-contacts-table th,.customer-expanded-contacts-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 16px}.customer-expanded-contacts-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.customer-expanded-contacts-table tbody tr:last-child td{border-bottom:0}.teams-page{gap:24px;display:grid}.teams-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teams-header-copy,.team-member-summary{gap:6px;display:grid}.teams-list{gap:24px;display:grid}.team-card{--team-table-card-background:var(--surface-raised);--team-table-border:var(--border);--team-table-header-background:var(--surface-raised);--team-table-header-text:var(--text-soft);--team-table-row-background:var(--surface-raised);--team-table-row-text:var(--text-main);--team-table-inline-background:var(--surface);--team-table-inline-text:var(--text-main);--team-table-leader-background:var(--accent-soft);--team-table-leader-text:var(--text-main);--team-table-popover-background:var(--surface-raised);--team-table-hover-background:var(--accent-soft);gap:12px;display:grid}.team-card-header,.teams-inline-editor{gap:12px;display:grid}.team-card-header{flex-wrap:wrap;justify-content:flex-start;align-items:start;gap:12px;display:flex}.team-card-title,.team-search-option-label{margin:0;font-weight:700}.team-card-title{flex:auto;align-items:center;min-width:0;min-height:33px;font-size:1.25rem;display:flex}.team-card-toggle{width:33px;height:33px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.team-card-title-button{width:100%;min-height:33px;color:inherit;cursor:pointer;font:inherit;text-align:left;white-space:normal;background:0 0;border:0;align-items:center;min-width:0;padding:0;display:flex}.team-card-toggle-icon{border:1px solid var(--team-table-border);background:var(--team-table-header-background);width:100%;height:100%;color:var(--team-table-header-text);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;line-height:1;display:inline-flex}.team-card-edit-button{flex-shrink:0;height:33px}.team-card-panel{justify-items:start;gap:12px;display:grid}.team-card-summary,.team-search-option-description,.team-search-empty{color:var(--text-soft);margin:0;line-height:1.5}.teams-create-panel{justify-items:start;gap:16px;display:grid}.teams-table-card{border:1px solid var(--team-table-border);background:var(--team-table-card-background);box-shadow:var(--shadow-soft);overflow-x:auto}.teams-table{border-collapse:collapse;width:100%;min-width:760px}.teams-table th,.teams-table td{border-bottom:1px solid var(--team-table-border);color:var(--team-table-row-text);text-align:left;vertical-align:top;padding:16px}.teams-table th:not(:last-child),.teams-table td:not(:last-child){border-right:1px solid var(--team-table-border)}.teams-table th{background:var(--team-table-header-background);color:var(--team-table-header-text);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.teams-table td{background:var(--team-table-row-background)}.teams-table tbody tr:last-child td{border-bottom:0}.teams-table-role{white-space:nowrap;font-weight:700}.team-leader-row td{background:var(--team-table-leader-background);color:var(--team-table-leader-text)}.teams-inline-row td,.teams-add-row td{background:var(--team-table-inline-background);color:var(--team-table-inline-text)}.teams-inline-editor{max-width:560px}.teams-actions-inline{flex-wrap:wrap;gap:12px;display:flex}.team-search-field{gap:6px;display:grid;position:relative}.team-search-dropdown{z-index:80;border:1px solid var(--team-table-border,var(--border));background:var(--team-table-popover-background,var(--surface-raised));max-height:280px;box-shadow:var(--shadow-soft);display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.team-search-option,.team-search-empty{border:0;border-bottom:1px solid var(--team-table-border,var(--border));background:var(--team-table-popover-background,var(--surface-raised));text-align:left;padding:12px 14px}.team-search-option{cursor:pointer;gap:4px;display:grid}.team-search-option:hover{background:var(--team-table-hover-background,var(--accent-soft))}.team-search-dropdown>:last-child{border-bottom:0}.job-create-modal-card,.customer-create-modal-card{overscroll-behavior:contain;gap:18px;width:min(100%,960px);max-height:calc(100vh - 48px);padding:20px;display:grid;overflow-y:auto}.job-create-modal-card{width:min(100%,760px)}.job-create-modal-card .modal-header,.customer-create-modal-card .modal-header{z-index:1;background:var(--surface-raised);padding:0;position:sticky;top:0}.job-create-grid,.customer-create-grid,.customer-contact-grid{gap:16px;display:grid}.customer-create-grid,.customer-contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.customer-create-notes-field,.job-create-grid>.field:last-child{grid-column:1/-1}.customer-create-notes-input,.job-create-description-input{resize:vertical;min-height:120px}.job-customer-row,.customer-contacts-header,.customer-contact-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.job-customer-search,.customer-contacts-copy{flex:320px}.customer-contacts-section,.customer-contacts-list{gap:16px;display:grid}.teams-modal-card{overscroll-behavior:contain;gap:18px;width:min(100%,920px);max-height:calc(100vh - 48px);padding:20px;display:grid;overflow-y:auto}.teams-modal-card .modal-header{z-index:1;background:var(--surface-raised);padding:0;position:sticky;top:0}.teams-edit-modal{gap:18px;width:min(100%,620px);padding:20px;display:grid}.teams-edit-modal .modal-header{padding:0}.teams-confirm-modal{gap:18px;width:min(100%,520px);padding:20px;display:grid}.teams-confirm-modal .modal-header{padding:0}.team-form-grid{gap:16px;display:grid}.team-form-note{color:var(--text-soft);margin:0;line-height:1.5}.team-members-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.team-member-option{border:1px solid var(--border);background:var(--surface);border-radius:20px;gap:8px;padding:16px;display:grid}.team-member-option-leader{border-color:var(--border-strong);background:var(--accent-soft)}.team-member-option-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.team-member-option-title,.team-member-summary-count{font-weight:700}.team-member-option-badge{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.team-member-option-description,.team-member-summary-list{color:var(--text-soft);line-height:1.5}.team-member-option-checkbox{width:18px;height:18px;accent-color:var(--accent);margin:0}.teams-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.teams-modal-remove{margin-right:auto}.staff-page{gap:24px;display:grid}.staff-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;display:flex}.staff-create-panel{justify-items:start;gap:16px;display:grid}.staff-holiday-toolbar{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.staff-holiday-switcher{justify-content:center;align-items:center;gap:12px;display:inline-flex;position:relative}.staff-holiday-nav-button{justify-content:center;align-items:center;width:52px;min-width:52px;min-height:52px;padding:0;font-size:1.15rem;line-height:1;display:inline-flex}.staff-holiday-year-picker{position:relative}.staff-holiday-year-trigger{justify-items:center;gap:4px;min-width:148px;display:grid}.staff-holiday-year-trigger-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.staff-holiday-year-trigger-value{font-size:1.1rem;font-weight:700}.staff-holiday-year-popover{z-index:20;border:1px solid var(--border);background:var(--surface-raised);width:min(280px,100vw - 48px);box-shadow:var(--shadow-soft);gap:14px;padding:16px;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.staff-holiday-year-popover-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.modal-backdrop{z-index:50;overscroll-behavior:contain;background:#1f293747;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--border);background:var(--surface-raised);width:min(100%,820px);box-shadow:var(--shadow-soft)}.staff-modal-card{gap:14px;padding:20px;display:grid}.reset-password-modal-card{width:min(100%,520px)}.modal-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 20px 0;display:flex}.staff-modal-card .modal-header{padding:0}.modal-title{margin:0;font-size:1.35rem}.modal-close-button{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-main);cursor:pointer;padding:10px 14px;font-weight:700;line-height:1}.staff-grid{grid-template-columns:1fr;gap:14px;display:grid}.modal-backdrop-nested{z-index:60}.staff-actions{justify-content:flex-end;display:flex}.staff-actions-split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.staff-table-card{border:1px solid var(--border);background:var(--surface-raised);overflow-x:auto}.staff-table{border-collapse:collapse;width:100%;min-width:980px}.staff-table th,.staff-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:16px}.staff-table th:not(:last-child),.staff-table td:not(:last-child){border-right:1px solid var(--border)}.staff-table th{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.staff-table tbody tr:last-child td{border-bottom:0}.staff-table-number-cell{white-space:nowrap}.table-input,.table-select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:140px;color:var(--text-main);padding:10px 12px}.staff-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.staff-icon-button{border:1px solid var(--border-strong);background:var(--surface-raised);width:36px;height:36px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.staff-icon-button:disabled{cursor:wait;opacity:.7}.staff-icon-button-icon{width:16px;height:16px}.table-empty{color:var(--text-soft)}@media (max-width:860px){.modal-card.calendar-day-map-modal{width:calc(100vw - 48px);height:auto;max-height:calc(100vh - 48px);padding:0 16px 16px;overflow:auto}.calendar-day-map-layout,.calendar-day-map-map-column{min-height:auto}.calendar-day-map-canvas-wrap,.calendar-day-map-canvas{height:360px;min-height:360px}.calendar-day-map-panel{max-height:none}.calendar-week-toolbar{flex-direction:column;align-items:stretch}.calendar-day-map-toolbar{justify-content:stretch}.calendar-day-map-toolbar-controls{grid-template-columns:1fr;align-items:stretch;width:100%}.calendar-day-map-toolbar-spacer{display:none}.calendar-day-map-toolbar-centre,.calendar-day-map-toolbar-right{justify-content:stretch}.calendar-week-toolbar-side,.calendar-week-switcher,.calendar-week-switcher-group,.calendar-week-toolbar-controls{width:100%}.calendar-week-switcher-group,.calendar-week-switcher{justify-content:center}.calendar-day-map-team-filter,.calendar-day-map-header-actions .calendar-day-map-team-filter{width:100%;min-width:0}.calendar-day-map-page-body{height:auto}.calendar-week-create-button{width:100%}.calendar-week-toolbar-controls{flex-wrap:wrap;justify-content:stretch}.calendar-toolbar-search-input{height:calc(var(--calendar-week-control-height)/2);width:100%}.calendar-toolbar-filter-stack,.calendar-toolbar-search-stack{flex:100%;width:100%}.calendar-team-slot-header,.team-day-route-picker-row{flex-direction:column;align-items:stretch}.team-day-route-picker-button{width:100%;min-width:0}.calendar-filter-dropdown-body{width:auto;min-width:0;left:0;right:0}.top-nav-inner{gap:0}.top-nav-brand-logo{height:38px}.permissions-toolbar{align-items:stretch}.permissions-modal-grid{grid-template-columns:1fr}.permissions-modal-actions{justify-content:flex-start}.permissions-modal-remove{margin-right:0}.permission-role-card-header{flex-direction:column}.permission-delete-button{width:100%}.teams-header,.jobs-header{align-items:stretch}.jobs-header-actions{width:100%}.customers-header{align-items:stretch}.jobs-actions,.customers-actions{justify-content:stretch}.jobs-actions>.primary-button,.jobs-create-toggle,.customers-actions>.primary-button,.customers-create-toggle,.customers-search-field{width:100%}.jobs-address-grid,.job-editor-layout,.job-editor-card{grid-template-columns:1fr}.job-editor-field-spacer{display:none}.team-card-header{justify-items:stretch}.teams-actions-inline{flex-direction:column;align-items:stretch}.teams-create-panel{justify-items:stretch}.team-members-grid{grid-template-columns:1fr}.holidays-calendar-toolbar{flex-wrap:wrap}.holidays-calendar-range{order:-1;width:100%}.holidays-request-card{flex-direction:column;align-items:stretch}.holidays-choice-row,.holidays-modal-actions{justify-content:stretch}.holidays-choice-row>.secondary-button,.holidays-modal-actions>button{width:100%}.staff-grid{grid-template-columns:1fr}.staff-header{flex-direction:column;align-items:stretch}.staff-holiday-toolbar{justify-content:center}.staff-holiday-switcher{gap:8px;width:100%}.staff-holiday-year-picker{flex:auto}.staff-holiday-year-trigger{width:100%}.staff-holiday-year-popover{width:min(100%,100vw - 48px)}.staff-create-panel{justify-items:stretch}}.messages-page{--messages-sidebar-width:200px;--messages-panel-height:calc(100svh - 96px);width:100%;min-width:0;min-height:var(--messages-panel-height);flex-direction:column;padding:0;display:flex}.messages-layout{grid-template-columns:minmax(0,var(--messages-sidebar-width))minmax(0,1fr)minmax(0,var(--messages-sidebar-width));width:100%;min-width:0;min-height:var(--messages-panel-height);flex:auto;align-items:stretch;gap:10px;display:grid}.messages-sidebar,.messages-thread-pane,.messages-thread-details{height:var(--messages-panel-height);border:1px solid var(--border);background:var(--surface-raised);min-width:0;min-height:0;box-shadow:var(--shadow-soft);display:grid;overflow:hidden}.messages-sidebar{max-width:var(--messages-sidebar-width);grid-template-rows:auto minmax(0,1fr);max-height:none}.messages-thread-pane{flex-direction:column;max-height:none;display:flex}.messages-thread-details{max-width:var(--messages-sidebar-width);grid-template-rows:auto minmax(0,1fr);max-height:none}.messages-thread-pane-empty{justify-content:center;align-items:center}.messages-thread-details-empty{place-items:center}.messages-sidebar-header,.messages-thread-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.messages-sidebar-create-button{justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;font-size:1.6rem;line-height:1;display:inline-flex}.messages-thread-header-copy{min-width:0}.messages-thread-header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.messages-section-eyebrow{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:700}.messages-thread-title{margin:0;font-size:1.45rem}.messages-thread-subtitle{color:var(--text-soft);margin:6px 0 0;font-size:.94rem}.messages-thread-typing{color:#0f766e;font-size:.9rem;font-weight:600}.messages-thread-pinned-jobs-panel-shell{border-bottom:1px solid var(--border);background:linear-gradient(#f2eadb8c,#f2eadb00);gap:12px;padding:0 20px 20px;display:grid}.messages-thread-pinned-jobs-note{color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.5}.messages-thread-pinned-toggle{align-items:center;gap:10px;display:inline-flex}.messages-thread-pinned-toggle-active{border-color:var(--border-strong)}.messages-thread-pinned-toggle-count{min-width:22px;height:22px;color:var(--text-main);background:#1f29371a;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.messages-thread-pinned-jobs-panel{gap:12px;padding:0;display:grid}.messages-thread-pinned-jobs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.messages-thread-pinned-job-card{border:1px solid var(--border);background:var(--surface);gap:14px;padding:14px 16px;display:grid}.messages-thread-pinned-job-card-copy{gap:6px;display:grid}.messages-thread-pinned-job-number,.messages-thread-pinned-job-title,.messages-thread-pinned-job-meta,.messages-thread-pinned-job-address{margin:0}.messages-thread-pinned-job-number{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.messages-thread-pinned-job-title{font-size:1rem;line-height:1.45}.messages-thread-pinned-job-meta,.messages-thread-pinned-job-address{color:var(--text-soft);font-size:.88rem;line-height:1.5}.messages-thread-pinned-job-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.messages-thread-details-header{border-bottom:1px solid var(--border);gap:0;padding:20px;display:grid}.messages-thread-details-header .messages-section-eyebrow{margin:0}.messages-thread-details-body{align-content:start;gap:20px;min-width:0;min-height:0;padding:20px;display:grid;overflow:auto}.messages-thread-details-section{gap:12px;min-width:0;display:grid}.messages-thread-details-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.messages-thread-details-section-title{margin:0;font-size:1rem}.messages-thread-details-list{gap:10px;min-width:0;display:grid}.messages-thread-details-item{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;width:100%;min-width:0;padding:12px 14px;display:flex}.messages-thread-details-item-copy{gap:4px;min-width:0;display:grid}.messages-thread-details-item-title{overflow-wrap:anywhere;font-weight:700}.messages-thread-details-item-description,.messages-thread-details-empty-copy{color:var(--text-soft);overflow-wrap:anywhere;font-size:.9rem;line-height:1.45}.messages-thread-details-empty-copy{margin:0}.messages-thread-details-item-pill{background:#1f293714;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.messages-thread-quick-add{gap:10px;min-width:0;display:grid;position:relative}.messages-thread-quick-add .field-input{box-sizing:border-box;min-width:0;max-width:100%}.messages-thread-quick-add-dropdown{z-index:20;border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);gap:0;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0}.messages-thread-quick-add-option{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.messages-thread-quick-add-option:last-child{border-bottom:0}.messages-thread-quick-add-option:hover,.messages-thread-quick-add-option-active{background:var(--accent-soft)}.messages-thread-quick-add-option-copy{gap:4px;min-width:0;display:grid}.messages-thread-quick-add-option-title{font-weight:700}.messages-thread-quick-add-option-description{color:var(--text-soft);font-size:.88rem;line-height:1.45}.messages-thread-quick-add-option-kind{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.76rem;font-weight:700}.messages-thread-quick-add-empty{color:var(--text-soft);padding:12px 14px;font-size:.9rem;line-height:1.45}.messages-thread-list{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:0;min-height:0;display:grid;overflow:hidden auto}.messages-thread-card{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;gap:10px;padding:16px 18px;display:grid}.messages-thread-card:hover{background:var(--accent-soft)}.messages-thread-card-active{background:#1f293714}.messages-thread-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.messages-thread-card-title-row{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.messages-thread-card-top-meta{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.messages-thread-card-title{min-width:0;font-weight:700}.messages-thread-card-time{color:var(--text-soft);flex:none;font-size:.82rem}.messages-thread-card-participants,.messages-thread-card-preview{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.45}.messages-thread-card-preview{min-width:0;color:var(--text-main)}.messages-thread-card-unread{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.messages-sidebar-empty-state,.messages-thread-empty-state,.messages-thread-empty-copy{color:var(--text-soft);text-align:center;justify-items:center;gap:12px;padding:32px 24px;display:grid}.messages-thread-empty-title{color:var(--text-main);margin:0;font-size:1.4rem}.messages-thread-messages{overscroll-behavior:contain;scrollbar-gutter:stable;background:linear-gradient(#ede6da59,#0000 28%);flex-direction:column;flex:auto;gap:16px;min-height:0;padding:20px;display:flex;overflow:hidden auto}.messages-thread-messages>.messages-message:first-child{margin-top:auto}.messages-thread-messages>.messages-thread-empty-copy:first-child{margin:auto 0}.messages-thread-typing-row{padding:12px 20px 0}.messages-thread-typing{margin:0}.messages-message{border:1px solid var(--border);background:var(--surface);gap:8px;max-width:min(100%,720px);padding:14px 16px;display:grid}.messages-message-own{background:#f2eadb;align-self:flex-end}.messages-message-system{background:linear-gradient(#fef3c7d1,#fffbebf5);border-color:#d977063d}.messages-message-system .messages-message-author{color:#92400e}.messages-message-system .messages-message-time,.messages-message-system .messages-message-status{color:#a16207}.messages-message-pending{opacity:.82}.messages-message-meta{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.messages-message-author{font-weight:700}.messages-message-time{color:var(--text-soft);font-size:.82rem}.messages-message-body{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5}.messages-message-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.messages-message-actions .form-error{margin:0}.messages-message-acknowledgement-pill{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised)88%,#f8fafc 12%);min-height:38px;color:var(--text-soft);border-radius:999px;align-items:center;padding:0 14px;font-size:.86rem;font-weight:600;line-height:1.3;display:inline-flex}.messages-message-status{color:var(--text-soft);font-size:.8rem;font-weight:600}.messages-compose{border-top:1px solid var(--border);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px 16px;display:grid}.messages-compose-input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:56px;max-height:160px;color:var(--text-main);resize:vertical;box-sizing:border-box;padding:11px 12px}.messages-compose-input:focus{border-color:var(--border-strong);outline:2px solid #0000;box-shadow:0 0 0 3px #1f293714}.messages-compose-actions,.messages-modal-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.messages-compose-send-button{justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.messages-modal-card{gap:18px;width:min(100%,880px);padding:20px;display:grid}.messages-modal-card .modal-header{padding:0}.messages-modal-content{gap:18px;display:grid}.messages-participant-picker,.messages-job-picker{gap:14px;display:grid}.messages-field-help{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.45}.messages-participant-picker-controls{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.messages-selected-participants,.messages-selected-jobs{gap:10px;display:grid}.messages-selected-participant,.messages-selected-job{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.messages-selected-participant-copy,.messages-selected-job-copy{gap:4px;min-width:0;display:grid}.messages-selected-participant-label,.messages-selected-job-label{font-weight:700}.messages-selected-participant-description,.messages-selected-job-description{color:var(--text-soft);font-size:.9rem}.messages-selected-participant-remove{color:var(--danger);cursor:pointer;background:0 0;border:0;font-weight:700}@media (min-width:981px){.app-frame:has(.messages-page){grid-template-rows:auto minmax(0,1fr);height:100svh;min-height:100svh;display:grid;overflow:hidden}.app-content:has(.messages-page){align-items:stretch;width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.messages-page{--messages-panel-height:100%;flex:auto;width:100%;height:100%;min-height:0;overflow:hidden}.messages-layout{height:var(--messages-panel-height);width:100%;min-height:0;overflow:hidden}.messages-sidebar,.messages-thread-pane,.messages-thread-details{height:100%}}@media (max-width:980px){.messages-layout{grid-template-columns:minmax(0,1fr);min-height:0}.messages-sidebar,.messages-thread-pane,.messages-thread-details{height:auto}}@media (max-width:720px){.job-attachments-create-modal-file-picker{grid-template-columns:minmax(0,1fr)}.messages-sidebar-header,.messages-thread-header,.messages-thread-details-section-header,.messages-thread-card-top,.messages-thread-card-top-meta,.messages-thread-pinned-job-actions,.messages-thread-details-item,.messages-modal-actions{flex-direction:column;align-items:stretch}.messages-compose{grid-template-columns:minmax(0,1fr)}.messages-compose-actions{flex-direction:column;align-items:stretch}.messages-participant-picker-controls{grid-template-columns:minmax(0,1fr)}.messages-selected-participant,.messages-selected-job{flex-direction:column;align-items:stretch}}
