.brand-home{appearance:none;background:transparent;border:0;padding:0;font-family:inherit;cursor:pointer;text-align:left;min-height:44px}
.brand-home:focus-visible{outline:2px solid #a4cdbb;outline-offset:5px;border-radius:6px}
.sidebar-collapsed .sidebar-brand{flex-direction:column;gap:6px}
.sidebar-collapsed .sidebar-brand .brand-home{display:flex;justify-content:center;width:44px;min-width:44px;font-size:0;gap:0}
.sidebar-collapsed .brand-home .brand-dot{display:none}
.conversation-status-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.conversation-status-tags:empty{display:none}
.conversation-status-tag{display:inline-flex;align-items:center;border:1px solid;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:650;line-height:1.35;white-space:normal;text-align:left}
.conversation-tag-red{background:#fff1f0;border-color:#f2b8b5;color:#a52824}
.conversation-tag-yellow{background:#fff7dc;border-color:#e8ce80;color:#775609}
.soji-intake-summary{padding:20px;margin:16px 0}.soji-intake-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.soji-intake-title h2{margin:0}.soji-intake-summary dl{display:flex;gap:32px;flex-wrap:wrap}.soji-intake-summary dt{color:#60756d;font-size:13px}.soji-intake-summary dd{margin:4px 0;font-weight:600}.soji-intake-photos{display:flex;gap:12px;overflow:auto}.soji-intake-photos a{display:flex;flex-direction:column;gap:6px;color:#176b56;flex-shrink:0}.soji-intake-photos img{width:120px;height:100px;object-fit:cover;border-radius:8px;border:1px solid #d6e1dc}
.soji-intake-editor{border:0;padding:0;margin:16px 0;display:grid;gap:16px}.soji-intake-categories{display:flex;flex-wrap:wrap;gap:18px;border:0;padding:0}.soji-intake-categories label{display:flex;align-items:center;gap:8px}.soji-intake-summary>.panel{padding:16px 0;border:0;box-shadow:none}.soji-intake-summary .order-photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,180px))}.soji-intake-summary .order-photo-thumb{height:140px}.soji-intake-summary .order-photo-thumb img{height:100%;object-fit:cover}.soji-intake-summary>dl{margin:12px 0}.soji-intake-title{flex-wrap:wrap;gap:12px}
/* One aligned surface; compact photo metadata and consistent gallery rhythm. */
.soji-intake-summary{padding:24px!important}.soji-intake-title{margin-bottom:20px}.soji-intake-title h2{flex:1;font-size:18px}.soji-save-status{color:#426b59;font-size:12px;font-weight:500}.soji-intake-summary>dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 24px;max-width:640px}.soji-intake-summary dd{font-size:16px;line-height:1.5}.soji-photo-section{border:0;border-top:1px solid #e1e8e4;border-radius:0;padding:20px 0 0;margin:0;box-shadow:none;background:transparent}.soji-photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.soji-photo-toolbar h3{font-size:16px;margin:0}.soji-photo-toolbar .actions{margin:0;gap:8px}.soji-photo-toolbar .button{min-height:36px;padding:8px 12px;font-size:13px;border-radius:8px}.soji-photo-section>.muted{font-size:12px;margin:8px 0 16px;line-height:1.5}.soji-intake-summary .order-photo-grid,.soji-photo-section .order-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,160px));gap:16px}.soji-photo-section .order-photo-card{border:0;background:transparent;box-shadow:none;border-radius:0;overflow:hidden}.soji-photo-section .order-photo-thumb{width:100%;height:160px!important;padding:0;border:1px solid #dce5e0;border-radius:10px;overflow:hidden;background:#f1f5f3}.soji-photo-section .order-photo-thumb img{width:100%;height:100%;object-fit:cover}.soji-photo-section .order-photo-card>div{padding:8px 0 0;display:grid;gap:3px}.soji-photo-section .order-photo-card strong{font-size:12px;font-weight:500;line-height:1.4;color:#53685e}.soji-photo-section .order-photo-card small{font-size:11px;line-height:1.4;color:#77867e}.soji-photo-section .order-photo-card p{font-size:12px;margin:2px 0 0;line-height:1.4}.soji-intake-summary>.form-hint{margin:20px 0 0;font-size:12px;line-height:1.5}.soji-intake-title .button{padding:8px 12px;min-height:36px;font-size:13px}@media(max-width:600px){.soji-intake-summary{padding:16px!important}.soji-intake-summary>dl{gap:16px}.soji-photo-toolbar{gap:12px}.soji-photo-toolbar .actions{flex-wrap:wrap}.soji-photo-section .order-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.soji-photo-section .order-photo-thumb{height:auto!important;aspect-ratio:1}}
.soji-intake-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;gap:20px 24px;margin:0 0 24px;min-width:0}.soji-intake-editor>.field{margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500}.soji-intake-editor input:not([type=radio]),.soji-intake-editor select{height:42px;min-height:42px;padding:8px 12px;font-size:14px;border-radius:8px;width:100%;box-sizing:border-box}.soji-intake-categories{grid-column:1/-1;margin:0;gap:8px;min-width:0}.soji-intake-categories legend{font-size:13px;font-weight:500;padding:0;margin-bottom:10px}.soji-intake-categories label{font-size:13px;line-height:20px;padding:8px 12px;border:1px solid #dce5e0;border-radius:8px;background:#fff;cursor:pointer;gap:8px}.soji-intake-categories label:has(input:checked){border-color:#277a64;background:#edf7f2;color:#176d55}.soji-intake-categories input[type=radio]{width:16px;height:16px;margin:0;accent-color:#17765f}.soji-intake-categories label:focus-within{outline:2px solid #17765f;outline-offset:2px}.soji-intake-editor>.actions{grid-column:1/-1;display:flex;gap:8px;margin:0}.soji-intake-editor>.actions .button{min-height:36px;padding:8px 14px;font-size:13px;border-radius:8px}@media(max-width:600px){.soji-intake-editor{grid-template-columns:1fr;gap:16px;max-width:none}.soji-intake-categories{gap:8px}.soji-intake-categories label{flex:0 0 auto}}
.soji-intake-editor>.field{margin:0!important;align-self:start}.soji-photo-toolbar .button{margin:0!important;height:36px;box-sizing:border-box;display:inline-flex;align-items:center}
.soji-intake-title>div{min-width:0}.soji-intake-title h2{margin:0}.soji-intake-intro{margin:6px 0 0;color:#60756d;font-size:14px;line-height:1.5}.soji-intake-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 20px}.soji-intake-value{min-width:0}.soji-intake-value dd{display:flex;align-items:center;justify-content:space-between;gap:12px}.soji-intake-editor>.soji-intake-value{align-self:start}.soji-inline-edit-button{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid #d6e1dc;border-radius:8px;background:#fff;color:#176d55;cursor:pointer}.soji-inline-edit-button:hover{background:#edf7f2;border-color:#277a64}.soji-inline-edit-button:focus-visible{outline:2px solid #17765f;outline-offset:2px}.soji-required-dot{display:inline-block;flex:0 0 7px;width:7px;height:7px;margin-inline-start:7px;vertical-align:middle;border-radius:50%;background:#c62828}.soji-intake-editor .soji-field-label{display:flex;align-items:center;gap:0}.soji-intake-editor>.soji-inline-field select,.soji-intake-editor>.soji-inline-field input{width:100%;box-sizing:border-box}.soji-intake-editor>.soji-inline-field .soji-other-city{margin-top:8px}.soji-intake-editor>.soji-intake-categories{padding:0}.soji-intake-editor>.actions{margin-top:0}
/* Keep the content and fixed action bars aligned while the navigation overlays it. */
@media(min-width:901px){
 .shell:not(:has(.inspection-workspace))>.workspace{width:calc(100% - 76px);margin-left:76px}
 .shell:not(:has(.inspection-workspace)) .intake-footer,.shell:not(:has(.inspection-workspace)) .order-chat-workspace .inspection-navigation.intake-footer{left:76px}
 .shell:not(.sidebar-collapsed)>.sidebar{box-shadow:8px 0 24px #192e2926}
}
@media(min-width:901px) and (hover:hover) and (pointer:fine){
 .sidebar .sidebar-toggle{display:none}
}
/* Mobile navigation uses its existing explicit menu button. */
@media(max-width:900px){
 .sidebar-collapsed .sidebar-brand{flex-direction:row;justify-content:space-between}
 .sidebar-collapsed .sidebar-brand .brand-home{width:auto;font-size:1.5rem;gap:8px}
 .sidebar-collapsed .brand-home .brand-dot{display:inline}
}

.soji-order-source .source-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.source-summary dt{color:#657a73;font-size:13px}.source-summary dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.soji-order-source .actions{margin-top:20px}.soji-order-source details{margin-top:20px}
.pipeline-ticket .soji-next-action{display:block;color:#176957;font-size:14px;font-weight:650;line-height:1.4;text-align:left}
.soji-compact-heading{margin:0 0 12px!important;gap:12px;align-items:center!important}.soji-compact-heading h1{font-size:26px!important;line-height:1.2;margin:0!important}.soji-compact-heading .actions{margin:0;gap:8px;flex-wrap:wrap}.soji-compact-heading .button,.soji-compact-toolbar .button{min-height:36px;padding:8px 12px;font-size:13px}.soji-compact-controls{display:grid!important;grid-template-columns:minmax(200px,1fr) minmax(150px,190px) minmax(150px,190px) minmax(155px,180px) auto!important;gap:10px!important;align-items:end!important;margin:0!important}.soji-compact-controls>input{grid-column:1;grid-row:1}.soji-compact-controls>.soji-lead-date-preset{grid-column:4;grid-row:1}.soji-compact-controls .field{margin:0!important;gap:4px;font-size:12px}.soji-compact-controls input,.soji-compact-controls select,.soji-compact-controls>.button{min-height:38px!important;height:38px;padding:7px 10px!important;font-size:13px}.soji-compact-toolbar{margin:8px 0!important;align-items:center!important;gap:12px}.soji-compact-toolbar .pipeline-scroll-hint{display:inline;margin-left:12px;font-size:12px}.soji-lead-date-range{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:8px}.soji-lead-date-range .field{margin:0;font-size:12px;gap:4px}.soji-lead-date-range input{min-height:36px;padding:6px 10px}.soji-lead-date-range .muted{font-size:12px;padding-bottom:8px}
@media(max-width:1100px){.soji-compact-controls{grid-template-columns:1fr 1fr 1fr!important}.soji-compact-controls>input{grid-column:1 / 3}.soji-compact-controls>.soji-lead-date-preset{grid-column:3;grid-row:1}}
@media(max-width:600px){.soji-compact-heading{align-items:flex-start!important;flex-direction:column}.soji-compact-heading h1{font-size:22px!important}.soji-compact-controls{grid-template-columns:1fr 1fr!important}.soji-compact-controls>input{grid-column:1 / -1}.soji-compact-controls>.soji-lead-date-preset{grid-column:auto;grid-row:auto}.soji-compact-toolbar .pipeline-scroll-hint{display:none}.soji-lead-date-range .field{flex:1;min-width:130px}}
:root{--soji-action:#176f5b;--soji-action-strong:#146e59;--soji-divider:#dce4e0;--soji-owner-divider:#d8e4e0;--soji-surface:#f5f8f6;--soji-action-hover:#e7f3ed;--soji-field-gap:12px;--soji-group-gap:20px}
.soji-site-registration{position:relative;max-width:100%;margin:0 0 14px}.soji-site-registration>.field{display:grid;gap:8px;margin:0}.soji-site-registration .field input{width:100%}.soji-site-vehicle-results{display:grid;gap:2px;max-height:230px;overflow:auto;margin:6px 0 0;padding:4px;border:1px solid var(--soji-divider);border-radius:10px;background:#fff}.soji-site-vehicle-results button{display:grid;gap:2px;width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;text-align:left;color:inherit;cursor:pointer}.soji-site-vehicle-results button:hover,.soji-site-vehicle-results button:focus-visible{background:var(--soji-action-hover);outline:2px solid var(--soji-action)}.soji-site-vehicle-results strong{font-size:14px;font-weight:650}.soji-site-vehicle-results span,.soji-site-lookup-note{font-size:13px;line-height:1.5}.soji-site-lookup-note{margin:5px 0 0;color:#526960}.soji-site-lookup-note.alert{color:#9e432a}.soji-site-lookup-note .text-button{margin-left:8px}
.soji-site-customer-choice{display:grid;gap:8px;min-width:0;margin:16px 0;padding:0;border:0}.soji-site-customer-choice legend{padding:0;font-size:14px;font-weight:650;color:#243a32}.soji-site-customer-choice p{margin:0 0 4px;font-size:13px;line-height:1.5;color:#526960}.soji-site-customer-option{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--soji-divider);border-radius:8px;cursor:pointer;overflow-wrap:anywhere}.soji-site-customer-option:has(input:checked){border-color:var(--soji-action);background:var(--soji-action-hover)}.soji-site-customer-option input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--soji-action)}.soji-site-customer-option span{min-width:0;font-size:14px;line-height:1.45}.soji-site-customer-option:focus-within{outline:2px solid var(--soji-action);outline-offset:2px}
.soji-primary-tabs{justify-content:flex-start!important;gap:12px}.soji-primary-tabs>button{flex:0 0 auto!important;min-width:110px}.soji-order-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start}.soji-step-content{min-width:0}.soji-order-steps{position:sticky;top:90px;padding:16px 0}.soji-order-steps ol{list-style:none;margin:0;padding:0}.soji-order-steps li{position:relative;padding-bottom:24px}.soji-order-steps li:not(:last-child):before{content:'';position:absolute;left:17px;top:34px;bottom:0;border-left:1px solid #cbd9d3}.soji-order-steps li>button{display:flex;align-items:center;gap:12px;width:100%;padding:0;text-align:left;border:0;background:none;color:#667770;cursor:pointer}.soji-step-marker{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #cbd9d3;border-radius:50%;background:var(--soji-surface)}.soji-order-steps strong{font-size:14px}.soji-order-steps small{display:block;font-size:12px;margin-top:3px}.soji-order-steps .is-current>button{color:var(--soji-action-strong)}.soji-order-steps .is-current .soji-step-marker{background:var(--soji-action);color:white;border-color:var(--soji-action)}.soji-order-steps .is-complete .soji-step-marker{color:#147555;background:#e5f4ec}.soji-order-steps li>p{margin:12px 0 0 46px;font-size:12px;line-height:1.7;color:#687b73}.soji-step-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px;gap:12px}.soji-step-heading h2{margin:0;font-size:21px}.soji-step-heading>span{font-size:13px;color:#687b73}.soji-step-navigation{display:flex;justify-content:space-between;gap:12px;padding:20px 0;margin-top:16px;border-top:1px solid var(--soji-divider)}.soji-mobile-step{display:none}.soji-step-content>.order-flow-footer{position:static;margin-top:16px}.soji-step-content>.order-flow-footer:has(>button:only-child){display:none}@media(max-width:1100px){.soji-order-layout{grid-template-columns:170px minmax(0,1fr);gap:16px}}@media(max-width:800px){.soji-order-layout{display:block}.soji-order-steps{position:static;padding:8px 0 16px}.soji-order-steps ol{display:none}.soji-mobile-step{display:grid;gap:6px;font-size:13px}.soji-mobile-step select{width:100%}.soji-step-navigation{flex-wrap:wrap}.soji-step-navigation button{max-width:100%;white-space:normal}}
/* Expanded conversation mode: reserve a readable form column. */
@media(min-width:1001px){.order-chat-workspace.enquiry-full-workspace.enquiry-chat-layout{grid-template-columns:minmax(0,1fr) clamp(320px,27vw,400px);gap:20px}.order-chat-workspace.enquiry-chat-layout .soji-order-layout{grid-template-columns:156px minmax(0,1fr);gap:20px}.order-chat-workspace.enquiry-chat-layout .soji-order-steps strong{font-size:13px}.order-chat-workspace.enquiry-chat-layout .soji-order-steps li{padding-bottom:20px}.order-chat-workspace.enquiry-chat-layout .soji-order-steps li>p{margin-left:42px;font-size:11px}.order-chat-workspace.enquiry-chat-layout .soji-step-marker{flex-basis:30px;height:30px}.order-chat-workspace.enquiry-chat-layout .soji-order-steps li:before{left:15px;top:30px}}
.order-chat-workspace .soji-step-content{container-type:inline-size;container-name:order-step}.order-chat-workspace .soji-step-content .field{margin-top:0}.order-chat-workspace .soji-step-content .form-grid{gap:16px}.order-chat-workspace .soji-step-content .panel{padding:20px}.order-chat-workspace .soji-step-content h2{font-size:18px;line-height:1.4}.order-chat-workspace .soji-step-heading{margin:10px 0 16px}.order-chat-workspace .soji-step-navigation{padding:16px 0;align-items:center}.order-chat-workspace .soji-step-navigation .button{min-height:40px;padding:10px 14px;font-size:13px}.order-chat-workspace .soji-step-content>.order-flow-footer>button:last-child:not(:first-child){display:none}.order-chat-workspace .soji-step-content>.order-flow-footer{margin-top:12px}.order-chat-workspace .soji-intake-summary .button{min-height:36px!important}.order-chat-workspace .soji-step-content table{width:100%}.order-chat-workspace .soji-step-content th,.order-chat-workspace .soji-step-content td{padding:12px;vertical-align:top}.order-chat-workspace .soji-step-content .actions{gap:8px}
@container order-step (max-width:520px){.soji-intake-editor{grid-template-columns:1fr}.soji-intake-summary>dl{grid-template-columns:1fr;gap:12px}.soji-photo-toolbar{align-items:flex-start}.soji-intake-title{align-items:flex-start}.soji-step-navigation{flex-wrap:wrap}.form-grid{grid-template-columns:1fr!important}}
/* Shared task form rhythm; dense inspection gets its own full-page surface. */
.order-task-dialog .text-button{appearance:none;border:0;border-radius:6px;background:transparent;color:var(--soji-action);font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:8px 10px;cursor:pointer}.order-task-dialog .text-button:hover{background:#eaf3ee}.order-task-dialog .text-button:focus-visible{outline:2px solid var(--soji-action);outline-offset:2px}.order-task-dialog .text-button:disabled{opacity:.5;cursor:default}.soji-step-content>.order-billing-toggle{display:none}.order-task-dialog .field{margin-top:0}.order-task-dialog .form-grid{gap:16px}.order-task-dialog .panel h2{font-size:18px;line-height:1.4}.order-task-dialog .panel h3{font-size:16px;line-height:1.4}.order-task-dialog .form-hint{font-size:12px;line-height:1.5}.dialog.inspection-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;box-sizing:border-box}.inspection-dialog input,.inspection-dialog select,.inspection-dialog textarea{max-width:100%;box-sizing:border-box}.inspection-dialog .form-grid{gap:16px}.inspection-dialog .field{margin-top:0}
.soji-step-content>.order-billing-summary{display:none}
.soji-substeps ul,.soji-substeps ol{list-style:none!important;padding:0!important;margin:8px 0!important}.soji-order-steps .soji-substeps{margin-left:40px}.soji-substeps li{padding:0!important;margin:0!important}.soji-substeps li:before{display:none!important}.soji-substeps li>button{font:inherit;font-size:12px!important;line-height:1.5!important;display:block!important;width:100%;border:0;background:transparent;color:#60766c;padding:7px 8px!important;border-radius:6px;text-align:left;cursor:pointer}.soji-substeps button:hover,.soji-substeps button.is-active{color:var(--soji-action-strong);background:#e2f1e9;font-weight:600}.soji-substeps button:disabled{opacity:.45;cursor:default}.soji-substeps ul ul,.soji-substeps ol ul{margin-left:14px!important;border-left:1px solid #d9e4dd;padding-left:8px!important}.soji-order-steps li>p{display:none}.soji-nested-task{grid-template-columns:190px minmax(0,1fr) minmax(320px,27%)!important;gap:20px!important}.soji-nested-task>.soji-substeps{overflow:auto;padding:16px 12px;min-height:0}.soji-nested-task>.order-task-content{min-width:0}.soji-nested-task .order-task-scroll nav[aria-label="Intake steps"],.soji-nested-task .order-task-scroll nav[aria-label="Collection details steps"],.soji-nested-task .order-task-scroll nav[aria-label="Receipt details steps"],.soji-nested-task .order-task-scroll nav[aria-label="Item assessment steps"],.soji-step-content nav[aria-label="Billing sections"]{display:none}.soji-nested-task .order-task-scroll{padding:20px!important}.soji-step-content h2,.soji-step-content h3{scroll-margin-top:20px}@media(max-width:1000px){.soji-nested-task{grid-template-columns:160px minmax(0,1fr)!important}.soji-nested-task>.order-task-chat{grid-column:2}}@media(max-width:650px){.soji-nested-task{display:flex!important;flex-direction:column}.soji-nested-task>.soji-substeps{max-height:160px;flex-shrink:0}.soji-nested-task>.order-task-content{overflow:auto;flex:1}.soji-order-steps .soji-substeps{margin-left:0}.soji-order-steps .soji-substeps ul{display:flex;flex-wrap:wrap;gap:4px}.soji-order-steps .soji-substeps ol{display:block}}

@media(min-width:1001px){.order-task-dialog .soji-nested-task{display:grid!important}.soji-nested-task:not(:has(.enquiry-chat-pane:not([hidden]))){grid-template-columns:190px minmax(0,1fr)!important}.soji-nested-task>.order-task-chat:has(.enquiry-chat-pane[hidden]){display:none}}

.soji-nested-task>.order-task-chat{width:auto!important;min-width:0!important;max-width:100%}.soji-nested-task>.order-task-chat>.enquiry-chat-pane{width:100%!important;min-width:0!important;max-width:100%}

/* One inline workspace; the left rail is the only step navigation. */
.soji-order-steps{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.soji-step-content>.order-flow-footer{display:none!important}.soji-inline-intake{min-width:0}.soji-inline-intake nav[aria-label="Intake steps"],.soji-inline-intake nav[aria-label="Collection details steps"],.soji-inline-intake nav[aria-label="Receipt details steps"],.soji-inline-intake nav[aria-label="Item assessment steps"],.soji-inline-intake [data-soji-navigation-only]{display:none!important}.soji-inline-actions:empty{display:none}.soji-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.soji-service-decisions{margin-bottom:16px;border-bottom:1px solid var(--soji-divider);padding:12px 0}.soji-service-decisions summary{cursor:pointer;font-size:13px;color:var(--soji-action)}.soji-decision-item{display:grid;gap:10px;padding:16px 0}.soji-decision-item>span{font-size:12px;color:#667770}.soji-inline-intake .panel{margin-top:0}.soji-inline-intake .intake-task-steps{display:none!important}

@media(min-width:1001px){.order-chat-workspace.enquiry-chat-layout .soji-order-layout{grid-template-columns:210px minmax(0,1fr)}.soji-order-steps{max-height:calc(100dvh - 230px)}.soji-order-steps .soji-substeps{margin-left:28px}}
/* All sections stay mounted; tab changes preserve drafts. */
.soji-continuous-order [hidden]{display:none!important}.soji-continuous-section{scroll-margin-top:110px;border-bottom:1px solid var(--soji-divider);padding:8px 0 32px;margin-bottom:24px;min-width:0}.soji-continuous-section:last-child{border-bottom:0}.soji-continuous-section>.service-order-header{display:none}.soji-continuous-section .order-flow-footer{display:none!important}.soji-intake-section>.service-order-header{display:none}.soji-intake-section{scroll-margin-top:110px;margin:24px 0;padding-top:16px;border-top:1px solid var(--soji-divider)}.soji-intake-section>h3{margin:0 0 16px;color:var(--soji-action);font-size:17px}.soji-continuous-order .soji-inline-intake [data-soji-navigation-only]{display:none!important}.soji-continuous-order .soji-order-steps{top:90px;max-height:calc(100dvh - 120px)}.soji-continuous-order .soji-substeps{margin-left:24px}.soji-continuous-order .soji-step-content>section>.soji-step-heading{padding-bottom:14px;border-bottom:1px solid var(--soji-divider)}.soji-continuous-order .receipt-microsteps>section,.soji-continuous-order .recorded-receipt-review>section{margin:20px 0}.soji-continuous-order .soji-inline-actions{position:static!important}.soji-continuous-order .soji-order-steps{align-self:start}.soji-continuous-order .soji-step-content{overflow:visible}
.soji-continuous-order .soji-order-steps{top:24px;max-height:calc(100dvh - 220px)}.soji-continuous-order .soji-subgroup-title{display:block;padding:10px 8px 4px;font-size:12px;line-height:1.5}.soji-continuous-order .recorded-receipt-facts{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 16px}.soji-continuous-order .recorded-receipt-facts dd{margin:0}.soji-continuous-order .order-billing-summary{display:none}
.soji-section-save{display:flex;justify-content:flex-end;margin:16px 0 0}.soji-section-save .button{min-height:38px;padding:8px 14px}
.soji-continuous-order .soji-estimate-review:has(>.flex-articles){background:#fff;border:1px solid var(--soji-divider);border-radius:16px;padding:20px}.soji-continuous-order .soji-estimate-review>.flex-articles{background:transparent;border:0;box-shadow:none;padding:0;margin:0}.soji-continuous-order .soji-estimate-review>.soji-section-save{border-top:1px solid var(--soji-divider);padding-top:16px;margin-top:16px}.soji-continuous-order .receipt-microsteps .soji-receipt-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--soji-divider);padding-top:16px;margin-top:16px}.soji-continuous-order .receipt-microsteps .soji-receipt-actions .button{min-height:40px}
.soji-continuous-order .item-tag-panel>h2{display:none}.soji-section-save{gap:12px;align-items:center}.soji-section-save>[role=status]{font-size:12px;color:#62786f}

/* Compact batch labels; the physical QR layout belongs in the print preview. */
.soji-label-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.soji-label-toolbar strong{font-size:1rem}
.soji-label-toolbar p,.soji-label-hint{font-size:.875rem;color:var(--muted,#64766f);margin:6px 0 0}
.soji-label-selection{margin-top:16px;border:1px solid #dce5e1;border-radius:10px;overflow:hidden}
.soji-label-selection>summary{cursor:pointer;padding:12px 14px;color:#176e59;font-weight:600}
.soji-label-selection-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f4f8f6;font-size:.8125rem;color:#536a60;gap:12px}
.soji-label-selection-head label{display:flex;align-items:center;gap:12px;margin:0}
.soji-label-list{max-height:280px;overflow:auto;overscroll-behavior:contain}
.soji-label-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;margin:0;border-top:1px solid #e5ece8;font-size:.875rem;cursor:pointer}
.soji-label-row input,.soji-label-selection-head input{width:18px;height:18px;margin:0;accent-color:#176e59}
.soji-label-name{overflow-wrap:anywhere;min-width:0}
.soji-label-row code{font-size:.75rem;color:#64766f;white-space:nowrap}
.soji-label-readonly{border:1px solid #dce5e1;border-radius:10px;margin-top:16px;padding:12px 14px}.soji-label-readonly>p{margin:0 0 8px;color:#176e59;font-weight:600}.soji-label-readonly .soji-label-list{max-height:280px}.soji-label-readonly .soji-label-row{grid-template-columns:minmax(0,1fr) auto auto;cursor:default}.soji-label-readonly .text-button{margin-top:8px}.soji-label-row>span:last-child:not(.soji-label-name){font-size:.75rem;color:#176e59}
.soji-label-manager .soji-label-hint{margin-top:12px}
.soji-label-preview{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;padding:0;border:1px solid #dce5e1;border-radius:12px;box-sizing:border-box;background:#fff;color:#19372e}
.soji-label-preview[open]{display:flex;flex-direction:column}
.soji-label-preview::backdrop{background:rgba(15,35,29,.55)}
.soji-label-preview>header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;flex-shrink:0}
.soji-label-preview h2{font-size:1.125rem;margin:0}
.soji-label-preview p{font-size:.875rem;margin:4px 0 0;color:#64766f}
.soji-label-preview-actions{display:flex;gap:8px;flex-wrap:wrap}
.soji-label-preview>iframe{width:100%;flex:1;min-height:0;border:0;background:#edf1ef}
@media(max-width:600px){.soji-label-row{grid-template-columns:18px minmax(0,1fr)}.soji-label-row code{grid-column:2}.soji-label-toolbar>.button{width:100%}.soji-label-preview>header{padding:12px}.soji-label-preview-actions .button{padding:8px 10px}}
.soji-item-decisions{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.soji-item-decision-icon{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#8c4533;text-decoration:none;min-width:36px;min-height:36px;border-radius:6px}.soji-item-decision-icon:hover{background:#fff0e9}.soji-item-decision-icon:focus-visible{outline:2px solid #176e59;outline-offset:2px}.soji-item-decision-icon[aria-disabled=true]{opacity:.45;cursor:default}.soji-item-decision-status{font-size:12px;color:#8c4533}.soji-decision-editor-only:empty{display:none}.soji-decision-editor-only .soji-decision-item{border:1px solid var(--soji-divider);border-radius:10px;padding:16px}.article-editor-actions:has(.soji-item-decisions){display:flex;gap:4px;flex-wrap:wrap}
.article-editor-row:has(.soji-item-decisions){grid-template-columns:110px minmax(140px,1fr) 110px max-content}.article-editor-actions:has(.soji-item-decisions){flex-wrap:nowrap;min-width:max-content;align-items:center}.soji-item-decisions{flex-wrap:nowrap}.soji-item-decision-icon.article-icon-action{width:36px;height:36px;min-width:36px;padding:6px;box-sizing:border-box}.soji-item-decision-status{max-width:100px;white-space:normal}
@container order-step (max-width:650px){.article-editor-row:has(.soji-item-decisions){grid-template-columns:95px minmax(0,1fr)}.article-editor-row:has(.soji-item-decisions)>.article-editor-price{grid-column:1}.article-editor-row:has(.soji-item-decisions)>.article-editor-actions{grid-column:2;justify-self:end}}
/* Order ends at payment; workshop and dispatch have independent tab panels. */
.soji-continuous-order>.soji-primary-tabs{position:sticky;top:64px;z-index:6;background:var(--soji-surface);margin-bottom:20px;flex-wrap:wrap}
.soji-independent-tab{padding:20px 0;min-width:0}.soji-independent-tab .order-flow-footer{display:none!important}
.soji-prerequisite{font-size:13px;color:#61756c;line-height:1.6;margin:10px 0}.soji-prerequisite .text-button{padding:3px 6px;min-height:30px;font-size:13px}
.soji-intake-section:not(:has(.soji-inline-intake)){margin:8px 0;padding:8px 0;border:0}.soji-intake-section:not(:has(.soji-inline-intake))>h3{font-size:14px;color:#65796f;margin:0}
.soji-independent-tab .panel{max-width:100%;box-sizing:border-box}
.soji-continuous-order .soji-order-steps{top:128px;max-height:calc(100dvh - 240px)}
.enquiry-work-scroll:has(>.soji-continuous-order),.enquiry-work-scroll:has(.soji-continuous-order){overflow-anchor:none}

.soji-order-steps button:disabled{cursor:not-allowed;opacity:.5}.soji-order-steps button:disabled:hover{background:transparent}
/* Service arrangement and independently collapsible intake. */
.soji-arrangement-heading,.soji-intake-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.soji-arrangement-heading h3,.soji-intake-heading h3{margin:0;font-size:16px;color:var(--soji-action)}
.soji-intake-heading span{display:block;font-size:12px;color:#63786e;margin-top:6px}
.soji-intake-heading>.text-button{flex-shrink:0}
.soji-arrangement-summary{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:10px 18px;font-size:14px}
.soji-arrangement-summary dt{color:#62786f}.soji-arrangement-summary dd{margin:0;overflow-wrap:anywhere}
.soji-arrangement .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.soji-arrangement-items{margin:16px 0!important;border:0;padding:0}.soji-arrangement-items legend{font-size:13px;font-weight:600;margin-bottom:8px}
.soji-arrived-shortcut{margin-top:12px}.soji-arrangement-command{border-top:1px solid var(--soji-divider);margin-top:16px;padding-top:16px}
.soji-arrangement .service-stack{margin-top:20px;border-top:1px solid var(--soji-divider);padding-top:16px}
.soji-order-steps li>.soji-rail-toggle{width:auto;margin:8px 0 0 40px;font-size:12px;color:var(--soji-action);padding:4px 0}
.soji-quote-switch{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.soji-quote-switch button{border:1px solid var(--soji-divider);border-radius:8px;padding:8px 12px;background:white;color:var(--soji-action);cursor:pointer}.soji-quote-switch button[aria-current=step]{background:#e2f1e9;border-color:var(--soji-action)}
.soji-intake-section .receipt-microsteps>section{margin:14px 0}.soji-intake-section .receipt-microsteps h3{font-size:14px}.soji-intake-section .item-tag-panel{margin-top:16px}

.soji-estimate-line{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border,var(--soji-divider))}
.soji-estimate-line>div:first-child{flex:1;min-width:0}.soji-estimate-line small{display:block;color:#637570;margin-top:.25rem}
.soji-estimate-confirm{position:fixed;z-index:1000;top:35%;left:50%;transform:translateX(-50%);width:min(480px,90vw);padding:24px;background:white;border:1px solid #b8cbc4;border-radius:16px;box-shadow:0 0 0 100vmax #142b2566}

.soji-receipt-issues{margin:16px 0}.soji-receipt-issues>summary{cursor:pointer;color:#176b57;font-size:.9rem;width:fit-content}.soji-receipt-issues[open]>summary{margin-bottom:16px}.soji-receipt-issues textarea{min-height:90px}

/* Each item owns its final quote and customer decision controls. */
.soji-quote-cards{display:grid;gap:16px}.soji-quote-cards>.form-hint{margin:0}.soji-quote-card{display:grid;gap:16px;padding:20px}.soji-quote-card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.soji-quote-card-heading h4{font-size:1.05rem;margin:0 0 4px}.soji-quote-card-heading code{font-size:.75rem;color:#64766f}.soji-quote-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px solid #e2e9e5;padding-top:14px}.soji-quote-summary span,.soji-quote-summary small{color:#64766f}.soji-quote-summary strong{font-size:1.15rem}.soji-quote-decision{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #e2e9e5;padding-top:14px}.soji-quote-decision>span{margin-right:auto;font-weight:600}.soji-quote-card>.assessment-inline-editor{margin:0}.soji-quote-revise{justify-self:start}.soji-quote-card .assessment-inline-line{max-width:100%}
.soji-quote-card>.button{justify-self:start}.soji-quote-card>.soji-prerequisite{margin:0}.soji-quote-card>.assessment-inline-editor{width:100%;box-sizing:border-box}

/* Decision editor has two fields; the baseline three-column grid clipped Reason. */
.soji-decision-editor-only .order-item-decision-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start;min-width:0}
.soji-decision-editor-only .order-item-decision-form>strong{grid-column:1/-1;font-size:16px}
.soji-decision-editor-only .order-item-decision-form label{min-width:0;align-content:start}
.soji-decision-editor-only .order-item-decision-form select,.soji-decision-editor-only .order-item-decision-form textarea{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
.soji-decision-editor-only .order-item-decision-form textarea{min-height:90px}
.soji-decision-editor-only .order-item-decision-form>.form-hint{grid-column:1/-1;color:#62766c;line-height:1.5}
.soji-decision-editor-only .order-item-decision-form>.actions{grid-column:1/-1;border-top:1px solid var(--soji-divider);padding-top:16px;margin-top:0}
@container order-step (max-width:700px){.soji-decision-editor-only .order-item-decision-form{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.soji-decision-editor-only .order-item-decision-form{grid-template-columns:minmax(0,1fr)}}

/* Billing: payment first; document tools stay inside their owning cards. */
.soji-payment-first{display:grid;gap:20px}.soji-billing-card{padding:24px!important;margin:0!important}.soji-billing-card h3{margin:0 0 16px}.soji-billing-card .section-head h3{margin:0}.soji-billing-card .invoice-totals{margin:20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.soji-billing-card .invoice-totals strong{display:block;font-size:22px;margin-top:5px}.soji-billing-card .actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.soji-final-invoice-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid #dbe4e0}.soji-final-invoice-row small{display:block;margin-top:5px;color:#657a73}.soji-final-invoice-row>div{min-width:0;overflow-wrap:anywhere}.soji-final-invoice-row button{flex-shrink:0}.soji-billing-optional{padding:16px 0;border-top:1px solid #dbe4e0}.soji-billing-optional summary{cursor:pointer;color:#196f5c;font-weight:600}.soji-billing-history>.panel{margin-top:16px}.soji-payment-form{margin-top:20px}.soji-payment-form fieldset{border:0;padding:0;margin:0}.soji-payment-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.soji-paid-message{color:#196f5c;font-weight:600}.soji-billing-modal{width:min(1120px,calc(100vw - 48px));height:calc(100dvh - 48px);max-height:none;max-width:none;border:0;border-radius:16px;padding:0;background:#f6f8f7;color:#1c322b}.soji-billing-modal::backdrop{background:#10241f99}.soji-billing-modal>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;background:white;border-bottom:1px solid #dbe4e0}.soji-billing-modal>header h2{margin:0;font-size:23px}.soji-billing-modal-body{padding:24px;overflow:auto;height:calc(100% - 85px);box-sizing:border-box}.soji-proforma-content{height:100%;display:flex;flex-direction:column;gap:16px}.soji-proforma-content iframe{width:100%;flex:1;min-height:420px;border:0}.soji-billing-modal .invoice-generation .panel{margin:0}.soji-invoice-payment{margin-top:20px}.soji-billing-card .form-hint{margin:12px 0}.soji-payment-first .alert{margin-top:12px}@media(max-width:650px){.soji-billing-card{padding:16px!important}.soji-final-invoice-row{align-items:flex-start;flex-direction:column}.soji-payment-form .form-grid{grid-template-columns:1fr}.soji-billing-modal{width:100vw;height:100dvh;border-radius:0}.soji-billing-modal-body{padding:16px}.soji-billing-card .invoice-totals strong{font-size:18px}}

.soji-billing-modal{margin:auto;inset:0}

/* Align the connector to a fixed circle centre independently of wrapped titles. */
.soji-order-steps{--soji-marker-size:34px}
.soji-order-steps>ol>li>button:not(.soji-rail-toggle){align-items:flex-start}
.soji-order-steps .soji-step-marker{box-sizing:border-box;width:var(--soji-marker-size);min-width:var(--soji-marker-size);height:var(--soji-marker-size);flex:0 0 var(--soji-marker-size);position:relative;z-index:1}
.soji-order-steps>ol>li:not(:last-child):before{left:calc(var(--soji-marker-size)/2 - .5px);top:var(--soji-marker-size);bottom:0}
@media(min-width:1001px){.order-chat-workspace.enquiry-chat-layout .soji-order-steps{--soji-marker-size:30px}.order-chat-workspace.enquiry-chat-layout .soji-order-steps>ol>li:not(:last-child):before{left:calc(var(--soji-marker-size)/2 - .5px);top:var(--soji-marker-size)}}


/* Vehicle entry owns its actions until capture is complete. */
.soji-estimate-review:has(.vehicle-capture,.soji-item-editor) > .soji-section-save{display:none}
.vehicle-capture .vehicle-registration-row{position:relative;display:block;max-width:440px}
.vehicle-capture .vehicle-registration-row input{padding-right:52px;width:100%}
.vehicle-capture .plate-scan-trigger{position:absolute;right:8px;bottom:5px;width:42px;height:42px;padding:0;border:0;background:transparent}
.vehicle-capture .soji-selected-vehicle{padding:18px 20px;display:grid;gap:6px}
.vehicle-capture .soji-selected-vehicle h3,.vehicle-capture .soji-selected-vehicle p{margin:0}
.vehicle-capture .text-button,.vehicle-summary-row .text-button{border:0;background:transparent;padding:8px 0;justify-self:start;font:inherit;color:var(--primary,#16715f);cursor:pointer}
.vehicle-capture .actions{align-items:center;gap:20px}
.vehicle-summary-row>.vehicle-capture{flex-basis:100%;min-width:0;max-width:680px;padding:4px 0 16px}
.vehicle-summary-row>.soji-vehicle-edit-title{flex-basis:100%;font-size:16px}
.vehicle-summary-row .vehicle-capture .field{width:min(100%,480px)}
.vehicle-summary-row .vehicle-capture .field input{width:100%;box-sizing:border-box}
.soji-add-vehicle{margin-top:16px}
.soji-estimate-item{border:0;border-bottom:1px solid #dce5e1;border-radius:0;padding:16px 0 20px;margin-bottom:0}
.soji-estimate-item>header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.soji-item-identity{display:grid;gap:4px;min-width:0}.soji-item-identity strong{font-size:16px}.soji-item-identity span{overflow-wrap:anywhere}
.soji-item-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.soji-item-editor{display:grid;grid-template-columns:minmax(170px,240px) minmax(220px,1fr);gap:16px;max-width:720px}
.soji-item-category{align-self:center;margin:0;color:#62786f;font-size:14px;font-weight:600}.soji-item-editor-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.soji-item-editor label{display:grid;gap:6px}.soji-item-editor :is(input,select){width:100%;height:48px;box-sizing:border-box}
.soji-new-item{border-bottom:0}
.soji-estimate-review .soji-item-heading-actions>.text-button,.soji-estimate-review .soji-item-editor-actions>.text-button{border:0;background:transparent;min-height:44px;width:auto;padding:8px;white-space:nowrap}
.soji-estimate-services{width:100%;padding:16px 0 0}.vehicle-summary-row>.soji-estimate-services{grid-column:1/-1;flex-basis:100%}
.soji-service-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 44px;gap:12px;align-items:end;margin-bottom:12px}
.soji-service-row label,.soji-estimate-item label,.soji-add-service{display:grid;gap:6px;font-size:14px}
.soji-estimate-services select,.soji-estimate-services input,.soji-estimate-item input,.soji-estimate-item select{min-width:0;width:100%}
.soji-add-service{max-width:440px}.soji-item-total{text-align:right;margin-top:12px}.soji-service-summary{list-style:none;padding:0;font-size:14px;min-width:220px}.soji-service-summary li{display:flex;justify-content:space-between;gap:20px}
@media(max-width:650px){.soji-service-row{grid-template-columns:minmax(0,1fr) 95px 44px}.soji-item-editor{grid-template-columns:minmax(0,1fr)}}
/* Keep validation tied to its field and saved-card actions within the card. */
.soji-service-row [aria-invalid="true"]{border-color:#b42318}.soji-service-row small[role="alert"]{grid-column:1/-1;color:#b42318;font-size:13px}.soji-estimate-item-total{display:flex;justify-content:flex-end;gap:12px;margin:10px 0 0;font-size:14px}.soji-estimate-item-total span{color:#62786f}.soji-estimate-totals{grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;width:100%}.soji-estimate-totals dd{text-align:right;font-variant-numeric:tabular-nums}.soji-estimate-actions{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;border-top:1px solid var(--soji-divider);padding-top:16px;margin-top:16px}.soji-estimate-actions>.flex-articles{display:contents}.soji-estimate-actions .estimate-response{display:contents;padding:0}.soji-estimate-actions .estimate-response>span:first-child{color:#62786f}.soji-estimate-actions .response-editor,.soji-estimate-actions .response-feedback{flex-basis:100%}.soji-receipt-history{margin-bottom:16px}.soji-receipt-history>section{padding:12px 0;border-bottom:1px solid var(--soji-divider)}

/* Icon controls share a centred hit area, independent of glyph baselines. */
.soji-step-content :is(.button,.text-button,.article-icon-action):has(>svg){display:inline-flex;align-items:center;justify-content:center;gap:8px}
:is(.button,.text-button,.icon-button,.article-icon-action)>svg{display:block;flex:none;vertical-align:middle}
.vehicle-registration-row,.vehicle-capture .vehicle-registration-row{position:relative;display:block;max-width:440px}
.vehicle-registration-row>.field,.wizard-panel .vehicle-registration-row>.field{margin:0;min-width:0}
.vehicle-registration-row input,.vehicle-capture .vehicle-registration-row input{box-sizing:border-box;width:100%;height:48px;min-height:48px;padding-inline-end:56px}
.vehicle-registration-row .plate-scan-trigger,.vehicle-capture .plate-scan-trigger{position:absolute;inset-inline-end:3px;right:3px;bottom:2px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;line-height:1;color:var(--primary,#16715f)}
.plate-scan-trigger:hover{background:var(--soji-action-hover)}.plate-scan-trigger:focus-visible{outline:2px solid var(--soji-action);outline-offset:-2px}
.soji-service-row>label:first-child{grid-column:1;grid-row:1}.soji-service-row>label:nth-child(2){grid-column:2;grid-row:1}
.soji-service-row>button{grid-column:3;grid-row:1;align-self:end;width:44px;height:48px;min-height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.soji-service-row>small[role=alert]{grid-row:2;margin:0}
.soji-item-heading-actions>button,.soji-item-decision-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;padding:0;box-sizing:border-box}
.soji-service-row input,.soji-service-row select,.soji-estimate-item>header input,.soji-estimate-item>header select{height:48px;min-height:48px;box-sizing:border-box}
.soji-service-row>button,.soji-item-heading-actions>button{border:0;border-radius:8px;background:transparent;color:var(--primary,#16715f);cursor:pointer}
.soji-service-row>button:hover,.soji-item-heading-actions>button:hover{background:var(--soji-action-hover)}
.soji-service-row>button:focus-visible,.soji-item-heading-actions>button:focus-visible{outline:2px solid var(--soji-action);outline-offset:2px}

.soji-vehicle-owner{display:contents}.soji-owner-confirm{border-top:1px solid var(--soji-owner-divider);padding-top:16px;margin-top:12px}.soji-owner-confirm p{overflow-wrap:anywhere}.soji-owner-confirm .actions{flex-wrap:wrap;gap:12px}

.vehicle-capture .soji-selected-vehicle{grid-template-columns:max-content minmax(0,1fr);column-gap:var(--soji-group-gap);row-gap:var(--soji-field-gap)}
.soji-selected-vehicle>h3,.soji-selected-vehicle>p,.soji-selected-vehicle .soji-owner-confirm,.soji-selected-vehicle [role=status]{grid-column:1/-1}
.soji-selected-vehicle .soji-change-vehicle,.soji-selected-vehicle .soji-vehicle-owner>button{justify-self:start;align-self:center;width:auto;margin:0;padding:8px 0}
.soji-inspection-setup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--soji-field-gap);align-items:start;margin-bottom:var(--soji-group-gap)}
.soji-inspection-setup .field{margin:0}.soji-inspection-setup .soji-inspector-note{grid-column:1/-1;grid-row:2;margin:0}
.soji-inspection-setup summary,.soji-quote-breakdown summary{cursor:pointer;color:var(--soji-action);padding:8px 0}
.soji-inspector-note textarea{width:100%;min-height:64px;margin-top:8px}
.soji-quote-breakdown{margin:12px 0}.soji-quote-breakdown ul{list-style:none;padding:0;margin:8px 0}
.soji-quote-breakdown li{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--soji-divider)}
.soji-quote-breakdown dl{display:grid;grid-template-columns:1fr auto;gap:8px}.soji-quote-breakdown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
/* Final pricing and response share one compact inline form. */
.soji-simple-quote{display:grid;gap:16px;color:var(--soji-ink,#20352e);font-size:14px;line-height:1.5}
.soji-simple-quote .field{display:grid;gap:6px;margin:0;min-width:0;font-size:14px;font-weight:600}
.soji-simple-quote input:not([type=checkbox]):not([type=radio]),.soji-simple-quote select{box-sizing:border-box;width:100%;height:42px;min-height:42px;margin:0;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;color:var(--soji-ink,#20352e);border:1px solid var(--soji-divider,#d7e2dc);border-radius:8px;background:var(--soji-surface,#fff)}
.soji-simple-quote input::placeholder{color:#61776e}.soji-simple-quote input:focus-visible,.soji-simple-quote select:focus-visible{outline:2px solid var(--soji-action,#16715f);outline-offset:2px}
.soji-simple-quote-lines{display:grid;gap:14px}.soji-simple-quote-line{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px 12px;align-items:end}
.soji-simple-quote-line>.text-button{padding:9px 0;min-height:42px;margin:0;font-size:14px}.soji-simple-line-details{grid-column:1/-1;font-size:13px}.soji-simple-line-details[open]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.soji-simple-line-details summary{grid-column:1/-1;cursor:pointer;color:var(--soji-action,#16715f);padding:4px 0}
.soji-simple-quote-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--soji-divider,#d7e2dc)}.soji-simple-quote-total strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.soji-simple-quote .form-hint{margin:0;font-size:13px;color:#61776e}.soji-simple-quote-options summary{cursor:pointer;color:var(--soji-action,#16715f);font-size:13px}.soji-simple-quote-options .field{margin-top:8px;max-width:300px}
.soji-simple-response{margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--soji-divider,#d7e2dc);min-width:0}.soji-simple-response legend{float:left;width:100%;margin-bottom:8px;font-size:14px;font-weight:600}.soji-simple-response .actions{clear:both;display:flex;flex-wrap:wrap;gap:8px;margin:0}
.soji-response-choice{display:inline-flex;align-items:center;gap:8px;min-height:40px;box-sizing:border-box;padding:8px 12px;border:1px solid var(--soji-divider,#d7e2dc);border-radius:8px;cursor:pointer;font-size:14px;font-weight:400}.soji-response-choice:has(input:checked){background:#e8f3ee;border-color:var(--soji-action,#16715f)}.soji-response-choice input{margin:0;accent-color:var(--soji-action,#16715f)}
.soji-simple-evidence{display:grid;grid-template-columns:1fr 1fr;gap:16px}.soji-simple-evidence>.field:nth-child(3),.soji-simple-consent{grid-column:1/-1}.soji-simple-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;margin:0}.soji-simple-consent input{margin-top:4px;accent-color:var(--soji-action,#16715f)}
.soji-simple-quote-save{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0;padding-top:16px;border-top:1px solid var(--soji-divider,#d7e2dc)}.soji-simple-quote-save small{font-size:13px;color:#61776e}.soji-simple-quote-save .button{margin:0;min-height:40px;padding:9px 18px;font-size:14px;font-weight:600}
@media(max-width:900px){.soji-simple-quote-line{grid-template-columns:minmax(0,1fr) 120px auto}.soji-simple-evidence{grid-template-columns:1fr}.soji-simple-evidence>.field{grid-column:1}}
.soji-handover{display:grid;gap:18px;max-width:900px;margin:0}
.soji-handover-vehicles{border:0;padding:0;margin:0;min-width:0}
.soji-handover-vehicles legend,.soji-handover-label{font-size:14px;font-weight:650;color:#274238;margin-bottom:8px}
.soji-handover-vehicle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.soji-handover-vehicle{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid #d6e1dc;border-radius:10px;background:#fff;cursor:pointer}
.soji-handover-vehicle:has(input:checked){border-color:#176b57;background:#edf6f1}
.soji-handover-vehicle input{flex:none;margin:0;accent-color:#176b57}
.soji-handover-vehicle span{display:grid;gap:2px;min-width:0}
.soji-handover-vehicle strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.soji-handover-vehicle small{font-size:12px;color:#61776d}
.soji-handover-one-vehicle{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding-bottom:12px;border-bottom:1px solid #dce5e0}
.soji-handover-one-vehicle span{font-size:13px;color:#61776d}
.soji-handover-row,.soji-handover-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}
.soji-handover .field{display:grid;gap:7px;min-width:0;margin:0;font-size:14px;font-weight:650;color:#274238}
.soji-handover :is(input:not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:42px;margin:0;font-size:15px;font-weight:400}
.soji-handover textarea{min-height:70px;resize:vertical}
.soji-handover-group{min-width:0;display:grid;gap:7px}
.soji-handover-label{display:block;margin:0}
.soji-handover-choices{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.soji-handover-choice{appearance:none;min-height:42px;padding:8px 12px;border:1px solid #cddbd4;border-radius:8px;background:#fff;color:#176b57;font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer}
.soji-handover-choice[aria-pressed=true]{border-color:#176b57;background:#e6f2eb;color:#125540}
.soji-handover-choice:hover{border-color:#176b57}
.soji-handover-choice:focus-visible,.soji-handover-vehicle:focus-within,.soji-handover-disclosure:focus-visible{outline:2px solid #176b57;outline-offset:2px}
.soji-handover-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.soji-handover-carried{margin:0;color:#415e51;line-height:1.4;overflow-wrap:anywhere}
.soji-handover-extra{border-top:1px solid #dce5e0;padding-top:12px}
.soji-handover-disclosure{appearance:none;border:0;background:transparent;padding:0;color:#176b57;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.soji-handover-extra-fields{display:grid;gap:14px;margin-top:14px}
.soji-handover-required{color:#b3261e}
.soji-handover-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;border-top:1px solid #dce5e0;padding-top:14px}
.soji-handover-actions p{flex:1 1 240px;margin:0;color:#61776d;font-size:13px;line-height:1.4}
.soji-handover-actions .button{min-height:44px;white-space:nowrap}
@media(max-width:650px){.soji-handover-row,.soji-handover-checks{grid-template-columns:minmax(0,1fr)}.soji-handover-vehicle-list{grid-template-columns:minmax(0,1fr)}.soji-handover-actions{justify-content:stretch}.soji-handover-actions .button{width:100%}}
/* Saved handover: compact disclosures and a deliberate type hierarchy. */
.soji-continuous-order .recorded-receipt-review{min-width:0}
.soji-continuous-order .recorded-receipt-review>h2{margin:0 0 4px;color:#1d332d;font-size:18px;font-weight:700;line-height:1.35}
.soji-continuous-order .recorded-receipt-review>h2+p{margin:0 0 18px;color:#526c62;font-size:14px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.soji-continuous-order .recorded-receipt-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;max-width:680px;margin:0 0 20px}
.soji-continuous-order .recorded-receipt-facts>div{min-width:0}
.soji-continuous-order .recorded-receipt-facts dt{margin:0 0 3px;color:#587168;font-size:12px;font-weight:600;line-height:1.35}
.soji-continuous-order .recorded-receipt-facts dd{margin:0;color:#1d332d;font-size:14px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure{margin:0;border:0;border-top:1px solid var(--soji-divider);border-radius:0;background:transparent;box-shadow:none;padding:0}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure:last-of-type{border-bottom:1px solid var(--soji-divider)}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:10px 26px 10px 0;border:0;background:transparent;color:var(--soji-action);font-size:14px;line-height:1.35;list-style:none;cursor:pointer;position:relative}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary::-webkit-details-marker{display:none}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);transition:transform .15s ease}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure[open]>summary::after{transform:translateY(-30%) rotate(225deg)}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary:hover{color:#105844;background:#f5f8f6}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary:focus-visible{outline:2px solid var(--soji-action);outline-offset:2px;border-radius:4px}
.soji-continuous-order .recorded-receipt-review .soji-disclosure-label{font-size:14px;font-weight:650;color:inherit}
.soji-continuous-order .recorded-receipt-review .soji-disclosure-meta{min-width:0;margin-left:auto;color:#587168;font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary~*{font-size:14px;font-weight:400;line-height:1.45;color:#344d43}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary~* strong,.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary~* b{font-weight:600}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure[open]{padding-bottom:12px}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>summary+p{margin-top:12px}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>section{padding:10px 0;border-bottom:1px solid var(--soji-divider)}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>section:last-child{border-bottom:0}
.soji-continuous-order .recorded-receipt-review .soji-handover-disclosure>section p{margin:3px 0}
@container order-step (max-width:520px){.soji-continuous-order .recorded-receipt-facts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.soji-continuous-order .recorded-receipt-facts{grid-template-columns:minmax(0,1fr)}}
/* The visit is an inline task, not a second full-size card. */
.soji-continuous-order .soji-home-visit-plan:has(.service-stack){display:block;padding:16px 18px}
.soji-continuous-order .soji-home-visit-plan .soji-arrangement-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.soji-continuous-order .soji-home-visit-plan .soji-arrangement-summary{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:0 0 12px}
.soji-continuous-order .soji-home-visit-plan>.button{min-height:40px;padding:9px 14px;font-size:14px}
.soji-continuous-order .soji-home-visit-plan .service-stack{display:block;margin-top:12px}
.soji-continuous-order .soji-home-visit-plan .service-stack>.service-toolbar{display:none}
.soji-continuous-order .soji-home-visit-plan .service-list{margin:0}
.soji-continuous-order .soji-home-visit-plan .service-empty{margin:0;color:#587168;font-size:13px;line-height:1.4;text-align:left}
.soji-continuous-order .soji-home-visit-editor{padding-top:4px}
.soji-continuous-order .soji-home-visit-editor>fieldset{min-width:0;margin:0;padding:0;border:0}
.soji-continuous-order .soji-home-visit-editor .form-grid{gap:12px}
.soji-continuous-order .soji-home-visit-editor .field{min-width:0;margin:0;color:#263b34;font-size:13px;font-weight:600}
.soji-continuous-order .soji-home-visit-editor .field>input,.soji-continuous-order .soji-home-visit-editor .field>select{box-sizing:border-box;min-width:0;width:100%;min-height:42px;margin-top:5px;padding:9px 12px;font-size:14px;font-weight:400}
.soji-continuous-order .soji-home-visit-editor .soji-visit-optional{margin-top:12px;border-top:1px solid var(--soji-divider)}
.soji-continuous-order .soji-home-visit-editor .soji-visit-optional>summary{padding:12px 0;color:var(--soji-action);font-size:14px;font-weight:600;cursor:pointer}
.soji-continuous-order .soji-home-visit-editor .soji-visit-optional>.form-grid{padding:0 0 8px}
.soji-continuous-order .soji-home-visit-editor .actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--soji-divider)}
.soji-continuous-order .soji-home-visit-editor .actions>.button{min-height:40px;padding:9px 14px;font-size:14px}
.soji-continuous-order .soji-arrangement:has(.service-stack){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:16px 18px}
.soji-continuous-order .soji-arrangement:has(.service-stack)>.soji-arrangement-heading{grid-column:1/-1;margin:0}
.soji-continuous-order .soji-arrangement:has(.service-stack)>.soji-arrangement-summary{grid-column:1/-1;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:0}
.soji-continuous-order .soji-arrangement:has(.service-stack)>.soji-arrangement-summary>dt:first-child,.soji-continuous-order .soji-arrangement:has(.service-stack)>.soji-arrangement-summary>dd:nth-child(2){display:none}
.soji-continuous-order .soji-arrangement:has(.service-stack)>.actions{grid-column:2;grid-row:3;align-self:center;margin:0}
.soji-continuous-order .soji-arrangement .service-stack{display:contents}
.soji-continuous-order .soji-arrangement .service-stack .service-toolbar{grid-column:1;grid-row:3;align-items:center;margin:0;padding:0;border:0}
.soji-continuous-order .soji-arrangement .service-stack .service-toolbar>.button{min-height:40px;padding:9px 14px;font-size:14px}
.soji-continuous-order .soji-arrangement .service-stack .service-list{grid-column:1/-1;grid-row:4;margin:0}
.soji-continuous-order .soji-arrangement .service-empty{margin:0;padding:0;color:#587168;text-align:left;font-size:13px;line-height:1.4}
.soji-continuous-order .soji-arrangement:has(.soji-visit-inline)>.actions,.soji-continuous-order .soji-arrangement:has(.soji-visit-inline)>.soji-arrangement-summary,.soji-continuous-order .soji-arrangement:has(.soji-visit-inline) .service-stack>.service-toolbar{display:none}
.soji-continuous-order .soji-arrangement .soji-visit-inline{grid-column:1/-1;grid-row:2;min-width:0;margin-top:4px;padding-top:14px;border-top:1px solid var(--soji-divider)}
.soji-continuous-order .soji-arrangement .soji-visit-inline>h4{margin:0 0 14px;color:#1d332d;font-size:16px;line-height:1.3}
.soji-continuous-order .soji-arrangement .soji-visit-inline form>fieldset{display:block;min-width:0;margin:0;padding:0;border:0}
.soji-continuous-order .soji-arrangement .soji-visit-inline .service-grid{gap:14px}
.soji-continuous-order .soji-arrangement .soji-visit-inline .field{min-width:0;margin:0;color:#263b34;font-size:13px;font-weight:600}
.soji-continuous-order .soji-arrangement .soji-visit-inline .field>input,.soji-continuous-order .soji-arrangement .soji-visit-inline .field>select,.soji-continuous-order .soji-arrangement .soji-visit-inline .field>textarea{box-sizing:border-box;min-width:0;width:100%;min-height:42px;margin-top:5px;padding:9px 12px;font-size:14px;font-weight:400}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-city-alert{margin:0;padding:10px 12px;border-radius:8px;background:#fff3e8;color:#7c371c;font-size:13px;line-height:1.45}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-city-alert .text-button{border:0;background:none;color:#176f5b;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-duration{margin:10px 0 0;color:#587168;font-size:13px}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-optional{margin-top:14px;border-top:1px solid var(--soji-divider)}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-optional>summary{padding:13px 0;color:var(--soji-action);font-size:14px;font-weight:600;cursor:pointer}
.soji-continuous-order .soji-arrangement .soji-visit-inline .soji-visit-optional>.service-grid{padding:3px 0 8px}
.soji-continuous-order .soji-arrangement .soji-visit-inline form>.actions{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:14px 0 0;border-top:1px solid var(--soji-divider)}
.soji-continuous-order .soji-arrangement .soji-visit-inline form>.actions>.button{min-height:40px;padding:9px 14px;font-size:14px}
.soji-continuous-order .soji-arrangement:has(.soji-visit-inline) .service-list{grid-row:3}
.soji-continuous-order .soji-arrangement:has(.soji-visit-inline) .service-list:has(>.service-empty){display:none}

dialog.service-dialog:has(.soji-visit-primary){box-sizing:border-box;display:flex;flex-direction:column;width:min(580px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
dialog.service-dialog:has(.soji-visit-primary):not([open]){display:none}
dialog.service-dialog:has(.soji-visit-primary)>h2{flex:none;margin:0;padding:20px 22px 12px;color:#1d332d;font-size:20px;line-height:1.3}
dialog.service-dialog:has(.soji-visit-primary)>form{display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden}
dialog.service-dialog:has(.soji-visit-primary) form>fieldset{display:block;min-height:0;margin:0;padding:4px 22px 16px;border:0;overflow:auto;overscroll-behavior:contain}
dialog.service-dialog:has(.soji-visit-primary) .service-grid{gap:14px}
dialog.service-dialog:has(.soji-visit-primary) .field{min-width:0;margin:0;color:#263b34;font-size:13px;font-weight:600}
dialog.service-dialog:has(.soji-visit-primary) .field>input,dialog.service-dialog:has(.soji-visit-primary) .field>select,dialog.service-dialog:has(.soji-visit-primary) .field>textarea{box-sizing:border-box;min-width:0;width:100%;min-height:42px;margin-top:5px;padding:9px 12px;font-size:14px;font-weight:400}
dialog.service-dialog:has(.soji-visit-primary) .field>textarea{resize:vertical}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-city-alert{margin:0;padding:10px 12px;border-radius:8px;background:#fff3e8;color:#7c371c;font-size:13px;font-weight:500;line-height:1.45}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-city-alert .text-button{border:0;background:none;color:#176f5b;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-duration{margin:10px 0 0;color:#587168;font-size:13px}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-optional{margin-top:14px;border-top:1px solid var(--soji-divider)}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-optional>summary{padding:13px 0;color:var(--soji-action);font-size:14px;font-weight:600;cursor:pointer}
dialog.service-dialog:has(.soji-visit-primary) .soji-visit-optional>.service-grid{padding:3px 0 8px}
dialog.service-dialog:has(.soji-visit-primary) form>.alert{margin:0 22px 12px}
dialog.service-dialog:has(.soji-visit-primary) form>.actions{display:flex;flex:none;gap:8px;flex-wrap:wrap;margin:0;padding:12px 22px;border-top:1px solid var(--soji-divider);background:var(--soji-surface)}
dialog.service-dialog:has(.soji-visit-primary) form>.actions>.button{min-height:40px;padding:9px 14px;font-size:14px}
@media(max-width:620px){.soji-continuous-order .soji-arrangement .soji-visit-inline .service-grid,dialog.service-dialog:has(.soji-visit-primary) .service-grid{grid-template-columns:minmax(0,1fr)}.soji-continuous-order .soji-arrangement .soji-visit-inline .field.wide,dialog.service-dialog:has(.soji-visit-primary) .field.wide{grid-column:1}dialog.service-dialog:has(.soji-visit-primary)>h2{padding:16px 16px 10px}dialog.service-dialog:has(.soji-visit-primary) form>fieldset{padding:4px 16px 16px}dialog.service-dialog:has(.soji-visit-primary) form>.actions{padding:12px 16px}}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan:has(.service-stack){display:block;padding:16px 18px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-stack{display:block;margin-top:12px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-stack>.service-toolbar{display:none}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-stack .service-list{display:block;margin:0}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan>.soji-arrangement-summary>dt:first-child,.soji-continuous-order .soji-arrangement.soji-home-visit-plan>.soji-arrangement-summary>dd:nth-child(2){display:block}
.soji-continuous-order .soji-home-visit-editor .soji-visit-city-alert{margin:12px 0;padding:10px 12px;border-radius:8px;background:#fff3e8;color:#7c371c;font-size:13px;line-height:1.45}
.soji-continuous-order .soji-home-visit-editor .soji-visit-city-alert .text-button{border:0;background:none;color:#176f5b;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}

/* Keep the visit heading, summary and form on one consistent spacing rhythm. */
.soji-continuous-order .soji-arrangement.soji-home-visit-plan>.soji-arrangement-heading{margin:0 0 12px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan>.soji-arrangement-summary{row-gap:8px;margin:0 0 16px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan>.button{margin:0}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor{padding-top:0}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor>.form-hint{margin:0 0 20px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor .form-grid{column-gap:16px;row-gap:20px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor .form-grid+.form-grid{margin-top:20px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor .field>input,.soji-continuous-order .soji-arrangement.soji-home-visit-plan .soji-home-visit-editor .field>select{min-height:44px;margin-top:8px;padding:10px 14px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-stack{margin-top:20px;padding-top:0}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article{margin:0;padding:16px 0;border:0;border-top:1px solid var(--soji-divider);border-radius:0;background:transparent;box-shadow:none}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article .service-toolbar{margin:0 0 8px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article p{margin:4px 0 0;font-size:14px;line-height:1.45}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article p.service-muted{font-size:13px}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article .actions{margin:12px 0 0}
.soji-continuous-order .soji-arrangement.soji-home-visit-plan .service-list article .actions>.button{min-height:38px;padding:8px 12px;font-size:13px}
/* Match the compact Operate form scale, scoped to the shared inspection. */
.dialog.inspection-dialog.soji-visual-inspection{box-sizing:border-box;width:min(1180px,calc(100vw - 48px));max-width:1180px;height:auto;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #d8e4df;border-radius:16px;background:#fff;color:#20352e;font-size:14px;line-height:1.5;overflow:hidden}
.soji-visual-inspection *{box-sizing:border-box}
.soji-visual-inspection>form{display:flex;flex-direction:column;max-height:calc(100dvh - 50px);margin:0;overflow:hidden}
.soji-visual-inspection .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid #d8e4df;background:#fff}
.soji-visual-inspection h2{font-size:20px;font-weight:650;line-height:1.3;margin:0}
.soji-visual-inspection h3{font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}
.soji-visual-inspection h4{font-size:14px;font-weight:600;line-height:1.4;margin:0 0 12px}
.soji-visual-inspection p{font-size:14px;font-weight:400;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}
.soji-visual-inspection .dialog-head p{margin:4px 0 0;color:#61776e;font-size:13px}
.soji-visual-inspection .inspection-dialog-body{flex:1;min-height:0;overflow:auto;padding:16px 24px;display:block}
.soji-visual-inspection :is(.muted,.form-hint){font-size:13px;line-height:1.45;font-weight:400;color:#61776e}
.soji-visual-inspection :is(.soji-inspection-item-switch,.soji-inspection-capture){border:0;padding:0;margin:0;min-width:0}
.soji-inspection-items{display:flex;gap:8px;overflow-x:auto;padding:12px 24px;border-bottom:1px solid #d8e4df;background:#f6f9f7}
.soji-inspection-items>button{display:flex;flex-direction:column;text-align:left;gap:2px;min-width:150px;max-width:250px;flex:none;border:1px solid #d8e4df;border-radius:8px;background:#fff;padding:8px 12px;color:#20352e;font:inherit;cursor:pointer}
.soji-inspection-items>button strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.soji-inspection-items>button span{font-size:12px;color:#61776e}.soji-inspection-items>button[aria-pressed=true]{border-color:#16715f;background:#e8f4ee}
.soji-visual-inspection .soji-inspection-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.soji-inspection-toolbar>span:first-child{font-weight:600}.soji-inspection-toolbar>.button{margin-left:auto}
.soji-visual-inspection .field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-size:14px;font-weight:600;color:#294239}
.soji-visual-inspection .field>span{font-size:14px;line-height:1.4;font-weight:600}
.soji-visual-inspection :is(input:not([type=file]):not([type=checkbox]):not([type=range]),select,textarea){width:100%;min-width:0;min-height:42px;height:42px;margin:0;padding:9px 12px;border:1px solid #d8e4df;border-radius:8px;background:#f7faf8;color:#20352e;font:400 14px/1.4 inherit;font-family:inherit;font-size:14px;font-weight:400;box-shadow:none}
.soji-visual-inspection textarea{height:auto;min-height:70px;resize:vertical}.soji-visual-inspection input[type=checkbox]{width:18px;height:18px;accent-color:#16715f}
.soji-visual-inspection :is(input,textarea,select,button,summary):focus-visible{outline:2px solid #16715f;outline-offset:3px}
.soji-visual-inspection .button,.soji-visual-inspection .text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:40px;margin:0;padding:9px 14px;border-radius:8px;font-size:14px;line-height:1.4;font-weight:600;color:#fff;background:#16715f;border:1px solid #16715f;cursor:pointer}
.soji-visual-inspection .button.secondary{background:#fff;color:#16715f;border-color:#d8e4df}.soji-visual-inspection .text-button{background:transparent;border-color:transparent;color:#16715f;padding:6px 12px}
.soji-visual-inspection button[aria-pressed=true]{background:#e8f4ee;color:#115846;border-color:#16715f}.soji-visual-inspection button:disabled{opacity:.55;cursor:default}
.soji-visual-inspection .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.soji-inspection-more{border-top:1px solid #d8e4df;margin:16px 0 0;padding:0}.soji-inspection-more>summary{cursor:pointer;padding:12px 0;font-size:14px;font-weight:600;color:#16715f}.soji-inspection-more>p{margin-top:0}
.soji-inspection-form-grid,.soji-inspection-finding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.soji-inspection-finding-grid>section{display:flex;flex-direction:column;gap:12px;min-width:0}.soji-inspection-finding-grid h4,.soji-inspection-finding-grid p{margin:0}
.soji-inspection-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.soji-inspection-area{border:1px solid #d8e4df;border-radius:10px;overflow:hidden;background:#fff;min-width:0;display:flex;flex-direction:column}
.soji-inspection-area[data-status=cleanAreas]{border-color:#6aa38a}.soji-inspection-area[data-status=findings]{border-color:#b98948}
.soji-inspection-area-open{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;width:100%;border:0;background:transparent;color:#20352e;font:inherit;cursor:pointer}
.soji-inspection-area-open>img{width:100%;height:92px;object-fit:contain}.soji-inspection-area-open>svg{height:92px;width:36px;color:#61776e}.soji-inspection-area-open strong{font-size:14px;font-weight:600;text-align:center}.soji-inspection-area-open>span{font-size:12px;color:#61776e}
.soji-inspection-area-result{padding:0 10px 10px;margin-top:auto}.soji-inspection-area-result .field>span{font-size:12px}.soji-visual-inspection .soji-inspection-area-result select{font-size:12px;padding:8px 6px;height:38px;min-height:38px}
.soji-inspection-finding-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.soji-inspection-finding-heading h3{margin:0}
.soji-inspection-mode{display:flex;justify-content:flex-end;margin-bottom:8px}.soji-inspection-part{margin:0 0 16px}.soji-inspection-part :is(.part-list,.seat-part-list){font-size:14px}
.soji-inspection-problems,.soji-inspection-treatments{display:flex;flex-wrap:wrap;gap:8px}.soji-visual-inspection :is(.soji-inspection-problems,.soji-inspection-treatments) .button{padding:8px 10px;font-size:13px;font-weight:500}
.soji-inspection-evidence{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.soji-inspection-photo{width:100%}.soji-photo-pin-target{display:block;position:relative;padding:0;border:1px solid #d8e4df;border-radius:8px;overflow:hidden;background:#f6f9f7;width:100%;cursor:crosshair}.soji-photo-pin-target>img{display:block;width:100%;height:auto}.soji-photo-pin{position:absolute;display:block;width:28px;height:28px;transform:translate(-50%,-50%);color:#a04722;pointer-events:none}
.soji-inspection-evidence .actions{margin-top:8px}.soji-inspection-editor-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:12px;border-top:1px solid #d8e4df}
.soji-inspection-finding-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #d8e4df}.soji-inspection-finding-row>div{flex:1;min-width:0}.soji-inspection-finding-row p{margin:4px 0 0;font-size:13px}.soji-inspection-finding-row .evidence-preview{width:80px;height:70px;padding:0;flex:none}.soji-inspection-finding-row .evidence-image{width:100%;height:100%;object-fit:cover}
.soji-inspection-summary{list-style:none;padding:0;margin:16px 0}.soji-inspection-summary li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #d8e4df}.soji-inspection-summary strong{font-size:13px;font-weight:500}
.soji-visual-inspection>form>footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 24px;background:#fff;border-top:1px solid #d8e4df}.soji-visual-inspection footer>.form-hint{margin-right:auto;max-width:50%}
.soji-visual-inspection .alert{margin:12px 0 0;padding:10px 12px;font-size:14px;background:#fff4ed;color:#9d4727;border:1px solid #f2d5c3;border-radius:8px}
@media(max-width:1000px){.soji-inspection-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dialog.inspection-dialog.soji-visual-inspection{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.soji-visual-inspection>form{max-height:calc(100dvh - 26px)}.soji-inspection-finding-grid,.soji-inspection-form-grid{grid-template-columns:minmax(0,1fr)}.soji-inspection-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.soji-visual-inspection :is(.dialog-head,.inspection-dialog-body){padding:16px}.soji-inspection-items{padding:12px 16px}.soji-inspection-toolbar .muted{flex-basis:100%;order:3}.soji-visual-inspection footer>.form-hint{max-width:none;flex-basis:100%}.soji-inspection-finding-row{flex-wrap:wrap}}
/* Legacy dialog rules must not push each action to a separate edge. */
.dialog.inspection-dialog.soji-visual-inspection>form>footer>.button{margin:0}
.dialog.inspection-dialog.soji-visual-inspection>form>footer>.form-hint{margin:0 auto 0 0}
.dialog.inspection-dialog.soji-visual-inspection .soji-inspection-toolbar>.button{margin:0 0 0 auto}
.soji-visual-inspection .soji-inspection-part .seat-model-picker{display:flex;flex-direction:column;gap:12px}
.soji-visual-inspection .soji-inspection-part .seat-model-canvas{width:100%;height:280px;min-height:280px;max-height:280px}
.soji-visual-inspection .soji-inspection-part .seat-model-list{width:100%;padding:0;min-width:0}
.soji-visual-inspection .soji-inspection-part :is(.seat-view-options,.part-options){display:flex;flex-wrap:wrap;gap:6px}
.soji-visual-inspection .soji-inspection-part .part-options{max-height:150px;overflow:auto;padding:4px}
.soji-visual-inspection .soji-inspection-part .chip{font-size:13px;font-weight:500;line-height:1.4;padding:7px 10px;min-height:36px;border-radius:8px;color:#16715f;border:1px solid #d8e4df;background:#fff}
.soji-visual-inspection .soji-inspection-part .chip[aria-pressed=true]{background:#e8f4ee;color:#115846;border-color:#16715f}
.soji-visual-inspection .soji-inspection-part :is(.picker-controls,.seat-model-tools){margin:0;padding:0}
.soji-visual-inspection .soji-inspection-part .part-map{max-width:100%;margin:8px 0}
dialog.dialog.inspection-dialog.soji-visual-inspection>form>footer>.button:last-child{margin:0}
/* Contain the scrolling body; legacy form height cannot clip the heading. */
dialog.dialog.inspection-dialog.soji-visual-inspection>form{max-height:calc(100dvh - 50px)}
dialog.dialog.inspection-dialog.soji-visual-inspection>form>footer{padding:12px 24px;min-height:0}
dialog.dialog.inspection-dialog.soji-visual-inspection .button{min-height:40px;padding:9px 14px;font-size:14px;font-weight:600;line-height:1.4}
dialog.dialog.inspection-dialog.soji-visual-inspection :is(.soji-inspection-problems,.soji-inspection-treatments) .button{padding:8px 10px;font-size:13px;font-weight:500}
@media(max-width:760px){dialog.dialog.inspection-dialog.soji-visual-inspection>form{max-height:calc(100dvh - 26px)}}
.soji-tasks-comments,.soji-task-inbox{max-width:1120px;min-width:0}.soji-tasks-comments>.panel,.soji-tasks-comments>form{margin:18px 0}.soji-task-editor fieldset,.soji-comment-editor fieldset{border:0;padding:0;margin:0;min-width:0}.soji-task-editor .form-grid,.soji-comment-editor .form-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.soji-task-editor .field,.soji-comment-editor .field{margin:0 0 16px;min-width:0}.soji-task-editor input,.soji-task-editor select,.soji-comment-editor select,.soji-comment-editor input{max-width:100%;box-sizing:border-box}.soji-tasks-comments audio{width:min(100%,480px);margin-top:12px}.soji-task-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #dce4e0}.soji-task-row>div{min-width:0}.soji-task-row p,.soji-comment-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.soji-task-row small,.soji-comment-row small{color:#657a73}.soji-comment-row{border-top:1px solid #dce4e0;padding:18px 0}.soji-comment-row header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.soji-voice-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.soji-audio-upload{font-size:13px;color:#176f5b;display:grid;gap:5px}.soji-audio-upload input{max-width:250px}.soji-tasks-comments footer{margin-top:16px;padding-top:16px;border-top:1px solid #dce4e0;justify-content:flex-end}.soji-primary-tabs{overflow-x:auto}.soji-inbox-filters{display:flex;gap:16px;align-items:end;margin:20px 0;flex-wrap:wrap}.soji-inbox-filters>input{flex:1;min-width:220px}.soji-inbox-filters label{display:grid;gap:6px;font-size:13px}.soji-inbox-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.soji-inbox-card{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:16px;width:100%;background:white;border:1px solid #dce4e0;border-radius:12px;padding:20px;text-align:left;color:#19352e;cursor:pointer;font:inherit}.soji-inbox-card:hover{border-color:#176f5b;background:#f9fcfa}.soji-inbox-card:focus-visible{outline:2px solid #176f5b;outline-offset:2px}.soji-inbox-rank{color:#657a73;font-size:14px}.soji-inbox-card h3{margin:6px 0;font-size:17px}.soji-inbox-card p{margin:6px 0;font-size:13px}.soji-inbox-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.soji-inbox-kind{color:#176f5b;font-weight:600}.soji-overdue{color:#a54a19}.soji-inbox-excerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#657a73}.soji-inbox-card small{color:#657a73}.soji-task-inbox>.actions{margin-top:16px}@media(max-width:700px){.soji-task-row{display:block}.soji-task-row .actions{margin-top:12px}.soji-task-editor .form-grid,.soji-comment-editor .form-grid{grid-template-columns:1fr}.soji-inbox-filters>*{width:100%}.soji-inbox-card{padding:14px;gap:10px;grid-template-columns:24px minmax(0,1fr) 14px}}
.soji-tasks-comments{max-width:920px}.soji-tasks-comments .section-head{display:block;margin-bottom:20px}.soji-tasks-comments .section-head h2{margin-bottom:4px}.soji-tasks-comments .section-head p{margin:0}.soji-reminder-list{border:1px solid #dce4e0;border-radius:14px;background:#fff;padding:16px 20px}.soji-add-reminder{display:block;width:100%;border:0;background:transparent;color:#176f5b;font:inherit;font-weight:600;text-align:left;padding:12px 8px;cursor:pointer;border-radius:8px}.soji-add-reminder:hover{background:#eef5f1}.soji-add-reminder:focus-visible,.soji-task-check:focus-visible{outline:2px solid #176f5b;outline-offset:2px}.soji-reminder-empty{color:#657a73;margin:8px 8px 16px}.soji-task-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 8px;border-top:1px solid #e4ebe7}.soji-task-main{display:grid;gap:4px}.soji-task-main strong{font-size:16px;line-height:1.4}.soji-task-main small{font-size:13px;line-height:1.4}.soji-task-main p{font-size:14px;color:#526960;margin:4px 0}.soji-task-check{width:24px;height:24px;padding:0;border:2px solid #73877f;background:#fff;color:#fff;border-radius:50%;font-size:15px;line-height:1;cursor:pointer}.soji-task-check:hover{border-color:#176f5b}.soji-task-check:not(:empty){background:#176f5b;border-color:#176f5b}.soji-task-check:disabled{cursor:default;opacity:.5}.soji-task-edit{align-self:start}.soji-completed-reminders{border-top:1px solid #e4ebe7;padding-top:12px}.soji-completed-reminders summary,.soji-reminder-options summary{color:#176f5b;font-weight:600;cursor:pointer}.soji-task-editor{padding:12px 8px 16px}.soji-task-editor fieldset{border:0;margin:0;padding:0;min-width:0}.soji-task-editor .field{display:grid;gap:6px;margin:0 0 14px;font-size:14px;font-weight:600}.soji-task-editor .field input,.soji-task-editor .field select,.soji-task-editor .field textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:16px;font-weight:400}.soji-reminder-date-row,.soji-reminder-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.soji-reminder-options{margin:2px 0 14px}.soji-reminder-options[open] summary{margin-bottom:14px}.soji-reminder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.soji-order-notes{margin-top:30px;border-top:1px solid #dce4e0;padding-top:22px}.soji-order-notes-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.soji-order-notes-head h3{margin:0}.soji-order-notes .soji-comment-editor{margin-top:16px}.soji-order-notes .soji-comment-row:first-of-type{margin-top:14px}@media(max-width:700px){.soji-reminder-list{padding:12px}.soji-reminder-date-row,.soji-reminder-option-grid{grid-template-columns:1fr}.soji-task-row{grid-template-columns:28px minmax(0,1fr) auto}.soji-task-edit{padding:4px}}
.soji-reminder-alert{position:fixed;z-index:1100;right:24px;top:88px;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:18px 20px;border:1px solid #b6d4c8;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(14,53,42,.16);color:#19352e}.soji-reminder-alert strong{font-size:17px}.soji-reminder-alert p{margin:8px 0 4px;font-size:16px;font-weight:600;overflow-wrap:anywhere}.soji-reminder-alert small{color:#526960;font-size:13px}.soji-reminder-alert-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.soji-reminder-alert-actions .button{padding:8px 14px}@media(max-width:700px){.soji-reminder-alert{right:16px;top:72px}}
.soji-task-inbox{max-width:920px}.soji-task-inbox .section-head{align-items:center;gap:16px}.soji-task-inbox .section-head p{margin:5px 0 0}.soji-inbox-tabs{display:flex;gap:24px;margin-top:24px;border-bottom:1px solid #dce4e0}.soji-inbox-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#526960;font:inherit;font-size:16px;font-weight:600;padding:12px 4px 11px;cursor:pointer}.soji-inbox-tabs button[aria-selected=true]{color:#176f5b;border-bottom-color:#176f5b}.soji-inbox-tabs button:hover{color:#176f5b}.soji-inbox-tabs button:focus-visible,.soji-inbox-title:focus-visible,.soji-inbox-open:focus-visible{outline:2px solid #176f5b;outline-offset:2px}.soji-inbox-filters{margin:18px 0 20px;gap:12px}.soji-inbox-filters>input{min-width:220px}.soji-inbox-filters label{font-size:13px;font-weight:600;color:#435b52}.soji-inbox-filters select{min-width:150px}.soji-inbox-count{margin:0 0 10px;color:#435b52;font-size:14px;font-weight:600}.soji-inbox-count span{font-weight:400}.soji-inbox-list{display:block;list-style:none;margin:0;padding:0;border:1px solid #dce4e0;border-radius:14px;background:#fff;overflow:hidden}.soji-inbox-list:empty{display:none}.soji-inbox-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px 20px}.soji-inbox-row+.soji-inbox-row{border-top:1px solid #e4ebe7}.soji-inbox-row:hover{background:#f9fcfa}.soji-inbox-action-mark{width:10px;height:10px;margin:7px 0 0 7px;border-radius:50%;background:#176f5b}.soji-inbox-row-main{min-width:0}.soji-inbox-title,.soji-inbox-open{border:0;background:none;color:#19352e;font:inherit;cursor:pointer}.soji-inbox-title{display:block;padding:0;text-align:left;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.soji-inbox-title:hover,.soji-inbox-open:hover{text-decoration:underline;text-underline-offset:3px}.soji-inbox-row-main p{margin:4px 0 0;font-size:14px;color:#526960;line-height:1.45}.soji-inbox-row-main p.soji-overdue,.soji-inbox-row-main .soji-overdue{color:#a54a19}.soji-inbox-row-main small{display:block;margin-top:3px;color:#526960;font-size:13px}.soji-inbox-row-main .soji-inbox-excerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soji-inbox-open{align-self:center;color:#176f5b;font-size:14px;font-weight:600;white-space:nowrap;padding:6px 0}.soji-inbox-empty{border:1px solid #dce4e0;border-radius:14px;background:#fff;padding:28px 20px;color:#526960}.soji-task-inbox [role=tabpanel]>.actions{margin-top:16px}@media(max-width:700px){.soji-task-inbox .section-head{align-items:flex-start}.soji-inbox-tabs{gap:18px}.soji-inbox-row{grid-template-columns:28px minmax(0,1fr);padding:16px 14px;gap:12px}.soji-inbox-open{grid-column:2;justify-self:start;padding:4px 0}.soji-inbox-filters>*{width:100%}}
.soji-inbox-row.is-done .soji-inbox-title{text-decoration:line-through;text-decoration-thickness:1px;color:#526960}
.soji-inbox-row-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.soji-owner-transfer{grid-column:2/-1;display:grid;gap:12px;padding:16px;border:1px solid #dce4e0;border-radius:12px;background:#f8fbf9}.soji-owner-transfer p{margin:0}.soji-owner-transfer .field{display:grid;gap:6px;max-width:520px}.soji-owner-transfer select,.soji-owner-transfer input{width:100%;min-width:0}.soji-owner-transfer .actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:700px){.soji-inbox-row-actions,.soji-owner-transfer{grid-column:2}.soji-owner-transfer{padding:12px}.soji-inbox-row-actions{gap:12px}}
.soji-new-enquiry{max-width:760px;margin:0 auto;padding:12px 0 40px}.soji-new-enquiry h1{margin:18px 0 8px}.soji-new-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;margin:28px 0 20px}.soji-new-progress button{display:flex;align-items:center;gap:8px;padding:8px 0;background:none;border:0;color:#63766f;font:inherit;font-size:14px}.soji-new-progress span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid #cadbd3;border-radius:50%}.soji-new-progress .active button{color:#176f5b;font-weight:700}.soji-new-progress .active span{background:#176f5b;color:white;border-color:#176f5b}.soji-new-progress .done span{background:#e5f3ec}.soji-new-enquiry .panel{padding:28px}.soji-new-enquiry h2{margin:12px 0 24px;font-size:24px;outline:none}.soji-new-enquiry fieldset{margin:0;padding:0;border:0;min-width:0}.soji-new-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.soji-new-options label{display:flex;gap:12px;align-items:center;border:1px solid #d4dfda;padding:18px;border-radius:10px;cursor:pointer}.soji-new-options label.selected{border-color:#176f5b;background:#e7f4ed}.soji-new-options input{width:18px;height:18px;accent-color:#176f5b;margin:0}.soji-new-enquiry .field{margin-bottom:18px}.soji-new-enquiry footer{margin-top:28px;padding-top:20px;border-top:1px solid #dce4e0;justify-content:flex-end}.soji-new-enquiry small,.soji-new-summary{color:#657a73}.soji-new-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:20px}.soji-new-photos figure{margin:0}.soji-new-photos img{width:100%;height:120px;object-fit:cover;border-radius:8px}.soji-new-summary{font-size:13px;padding:12px;background:#f4f8f6;border-radius:8px}@media(max-width:600px){.soji-new-progress button{flex-direction:column;font-size:12px;gap:6px}.soji-new-enquiry .panel{padding:20px}.soji-new-enquiry h2{font-size:21px}}
.soji-product-groups{display:grid;gap:18px;max-width:760px}.soji-product-group{min-width:0}.soji-product-group h3{margin:0 0 8px;color:#50655d;font-size:14px;font-weight:600;line-height:1.4}.soji-product-group .soji-new-options{display:flex;flex-wrap:wrap;gap:8px;margin:0}.soji-product-group .soji-new-options label{min-height:42px;padding:9px 14px;font-size:14px;line-height:1.4;background:#fff}.soji-product-group .soji-new-options label.selected,.soji-product-group .soji-new-options label:has(input:checked){background:#e7f4ed;border-color:#176f5b;color:#17614e}.soji-product-group .soji-new-options label:focus-within{outline:2px solid #176f5b;outline-offset:2px}.soji-intake-categories .soji-product-groups{margin-top:4px}.soji-intake-categories .soji-product-group h3{font-size:13px}.soji-intake-categories .soji-product-group .soji-new-options label{min-height:36px;padding:7px 12px;font-size:13px}
.soji-lead-report{max-width:1500px;margin:auto}.soji-lead-report h1{margin:4px 0 8px}.soji-lead-report .eyebrow{font-size:11px;letter-spacing:.14em;color:#176f5b;font-weight:700;margin:0}.soji-funnel-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}.soji-funnel-filters label{display:grid;gap:7px;flex:1;min-width:145px;font-size:13px}.soji-funnel-filters select,.soji-funnel-filters input{width:100%;min-width:0;box-sizing:border-box}.soji-funnel-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.soji-funnel-stats .panel{padding:18px}.soji-funnel-stats small{display:block;color:#657a73;font-size:12px}.soji-funnel-stats strong{display:block;font-size:28px;margin-top:10px}.soji-sankey-scroll{overflow:auto}.soji-sankey-scroll svg{width:100%;min-width:950px;display:block}.soji-sankey-label{font-size:14px;fill:#223f35;font-weight:600}.soji-sankey-count{font-size:12px;fill:#6b7f77}.soji-sankey-column{font-size:11px;fill:#75867f;letter-spacing:1px;font-weight:700}.soji-sankey-total{font-size:18px;fill:#176f5b;font-weight:700}.soji-funnel-tables{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.soji-funnel-tables table{width:100%;border-collapse:collapse;font-size:13px}.soji-funnel-tables th,.soji-funnel-tables td{padding:12px 8px;border-bottom:1px solid #e2e9e5;text-align:right}.soji-funnel-tables th:first-child{text-align:left;font-weight:500}.soji-report-table-scroll{overflow:auto}.soji-report-definitions{margin-top:18px;font-size:13px}.soji-report-definitions summary{cursor:pointer;font-weight:600;color:#176f5b}.soji-report-definitions li{margin:12px 0;line-height:1.6}@media(max-width:850px){.soji-funnel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.soji-funnel-tables{grid-template-columns:1fr}.soji-lead-report>.section-head{align-items:start}.soji-funnel-filters label{min-width:130px}}
.soji-scan-launch{display:flex;justify-content:flex-end;margin:12px 0}.soji-scan-dialog{position:fixed;inset:0;margin:auto;width:min(960px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #cddbd5;border-radius:14px;color:#1c322c;background:#fff;overflow:hidden}.soji-scan-dialog[open]{display:flex;flex-direction:column}.soji-scan-dialog::backdrop{background:rgb(15 38 30 / .5)}.soji-scan-header,.soji-scan-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;flex-shrink:0}.soji-scan-header h2{margin:0;font-size:22px}.soji-scan-header p{margin:6px 0 0;color:#49635a}.soji-scan-stages{display:flex;overflow-x:auto;border-block:1px solid #dce5e0;flex-shrink:0}.soji-scan-stages button{flex:1;min-width:125px;display:flex;flex-direction:column;gap:8px;padding:16px 10px;background:#f5f8f6;border:0;border-bottom:3px solid transparent;color:#36574a;text-align:center}.soji-scan-stages button[aria-current=step]{background:#e0f1e9;border-bottom-color:#16715f;color:#125f4c}.soji-scan-body{padding:20px 24px;overflow:auto;min-height:0}.soji-scan-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.soji-scan-summary h3{margin:0}.soji-scan-input{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.soji-scan-input label{width:100%;font-weight:600}.soji-scan-input input{flex:1;min-width:180px;width:auto}.soji-scan-items{list-style:none;padding:0;margin:20px 0}.soji-scan-items li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #dce5e0}.soji-scan-items li>div{min-width:0;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}.soji-scan-items small{color:#49635a}.soji-scan-items .is-complete s{color:#226446}.soji-scan-items button{flex-shrink:0}.soji-scan-notice{color:#145d3b;background:#edf7ef;padding:12px;border-radius:8px}.soji-scan-footer{border-top:1px solid #dce5e0;flex-wrap:wrap}.soji-scan-camera{display:block;width:min(100%,400px);max-height:220px;object-fit:cover}.soji-scan-dialog button:focus-visible{outline:2px solid #16715f;outline-offset:-3px}@media(max-width:600px){.soji-scan-header,.soji-scan-body,.soji-scan-footer{padding:14px}.soji-scan-items li{align-items:flex-start}.soji-scan-items button{max-width:120px}.soji-scan-footer .button{flex:1}.soji-scan-input input{width:100%;flex-basis:100%}}
.soji-board-scan-button{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:12px}.soji-board-scan-button svg{flex-shrink:0}.soji-board-scan-dialog{width:min(560px,calc(100vw - 32px))}
.soji-compact-controls{grid-template-columns:minmax(230px,1fr) minmax(170px,210px) minmax(160px,200px) auto auto!important;column-gap:12px!important;row-gap:8px!important}
.soji-compact-controls>input{grid-column:1;grid-row:1}.soji-compact-controls>.field:has(select[aria-label="Sort by"]){grid-column:2;grid-row:1}.soji-compact-controls>.soji-lead-date-preset{grid-column:3;grid-row:1}.soji-compact-controls>[aria-controls="pipeline-filters"]{grid-column:4;grid-row:1}.soji-compact-controls>.soji-save-board-filter{grid-column:5;grid-row:1}
.soji-compact-controls>input{align-self:end}.soji-compact-controls .field{color:#29443d;font-size:13px;font-weight:600}.soji-compact-controls input,.soji-compact-controls select,.soji-compact-controls>.button{height:42px!important;min-height:42px!important;font-size:14px!important}.soji-compact-controls>.button{white-space:nowrap}
.pipeline-extra-filters.soji-board-filters{position:relative;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px 16px;margin:10px 0 16px;padding:16px;background:#f7faf8;border:1px solid #dce8e2;border-radius:12px;align-items:start}
.soji-board-filters .field{display:flex;flex-direction:column;gap:6px;min-width:0;color:#29443d;font-size:13px;font-weight:600}.soji-board-filters select,.soji-category-select>summary{height:42px;min-height:42px;padding:9px 12px;font-size:14px;font-weight:400;color:#1c302b;background:#fff;border:1px solid #d4e1db;border-radius:8px}
.soji-category-select{position:relative;min-width:0}.soji-category-select>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.soji-category-select>summary::-webkit-details-marker{display:none}.soji-category-select>summary:after{content:'';width:7px;height:7px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}.soji-category-select[open]>summary:after{transform:rotate(225deg) translateY(-1px)}.soji-category-select>summary:focus-visible{outline:2px solid #176957;outline-offset:2px}
.soji-category-options{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:max(100%,220px);padding:6px;background:#fff;border:1px solid #cbdcd3;border-radius:10px;box-shadow:0 8px 22px rgba(25,59,47,.14)}.soji-category-options label{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:6px;font-size:14px;font-weight:400;cursor:pointer}.soji-category-options label:hover{background:#eff6f2}.soji-category-options input{width:17px;height:17px;accent-color:#176957}.soji-category-options button{width:100%;margin-top:4px;padding:9px;text-align:left;color:#176957;background:transparent;border:0;border-top:1px solid #e2ebe6;cursor:pointer}
.soji-category-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.soji-board-filter-error{margin:6px 0 0;color:#ad3e28;font-size:13px}.soji-board-clear{align-self:end;min-height:42px;padding:0 8px;white-space:nowrap;border:0;background:transparent;color:#176957;font-size:13px;cursor:pointer}.soji-board-clear:hover{text-decoration:underline}
.soji-board-columns{position:relative;z-index:21;margin-left:auto}.soji-board-columns>summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid #d4e1db;border-radius:8px;background:#fff;color:#176957;font-size:13px;font-weight:600;cursor:pointer;list-style:none;white-space:nowrap}.soji-board-columns>summary::-webkit-details-marker{display:none}.soji-board-columns>summary:after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}.soji-board-columns[open]>summary:after{transform:rotate(225deg) translateY(-1px)}.soji-board-columns>summary:focus-visible{outline:2px solid #176957;outline-offset:2px}
.soji-board-columns-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:22;width:min(288px,calc(100vw - 32px));max-height:min(480px,75vh);overflow:auto;padding:8px;background:#fff;border:1px solid #cbdcd3;border-radius:10px;box-shadow:0 8px 22px rgba(25,59,47,.14)}.soji-board-columns-menu p{margin:4px 8px 8px;color:#536b62;font-size:12px;font-weight:600}.soji-board-columns-menu label{display:flex;align-items:center;gap:10px;min-height:38px;padding:7px 8px;border-radius:6px;color:#1c302b;font-size:13px;cursor:pointer}.soji-board-columns-menu label:hover{background:#eff6f2}.soji-board-columns-menu input{width:17px;height:17px;flex:none;accent-color:#176957}.soji-board-columns-shortcuts{display:flex;gap:12px;padding:9px 8px 3px;border-top:1px solid #e2ebe6}.soji-board-columns-shortcuts button{padding:4px 0;border:0;background:transparent;color:#176957;font-size:12px;font-weight:600;cursor:pointer}.soji-board-columns-shortcuts button:hover{text-decoration:underline}.soji-board-no-columns{display:flex;align-items:center;gap:12px;padding:18px;background:#f7faf8;border:1px solid #dce8e2;border-radius:10px}.soji-board-no-columns strong{font-size:14px}
@media(max-width:1100px){.soji-compact-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}.soji-compact-controls>input{grid-column:1/-1;grid-row:1}.soji-compact-controls>.field:has(select[aria-label="Sort by"]){grid-column:1;grid-row:2}.soji-compact-controls>.soji-lead-date-preset{grid-column:2;grid-row:2}.soji-compact-controls>[aria-controls="pipeline-filters"]{grid-column:1;grid-row:3}.soji-compact-controls>.soji-save-board-filter{grid-column:2;grid-row:3}.soji-compact-controls>.button{justify-self:start}.pipeline-extra-filters.soji-board-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.soji-board-clear{grid-column:1/-1;justify-self:end;min-height:30px}}
@media(max-width:600px){.soji-compact-controls>input{grid-column:1/-1}.soji-compact-controls>.field:has(select[aria-label="Sort by"]){grid-column:1/-1;grid-row:2}.soji-compact-controls>.soji-lead-date-preset{grid-column:1/-1;grid-row:3}.soji-compact-controls>[aria-controls="pipeline-filters"],.soji-compact-controls>.soji-save-board-filter{grid-row:4}.soji-compact-controls>.button{justify-self:stretch}.pipeline-extra-filters.soji-board-filters{grid-template-columns:1fr;padding:12px}.soji-category-options{width:100%}.soji-board-columns-menu{left:0;right:auto;width:min(240px,calc(100vw - 150px));max-height:min(360px,55vh)}}
.soji-column-sorting{grid-template-columns:minmax(230px,1fr) minmax(160px,200px) auto auto!important}
.soji-column-sorting>input{grid-column:1;grid-row:1}.soji-column-sorting>.soji-lead-date-preset{grid-column:2;grid-row:1}.soji-column-sorting>[aria-controls="pipeline-filters"]{grid-column:3;grid-row:1}.soji-column-sorting>.soji-save-board-filter{grid-column:4;grid-row:1}
.intake-column>header:has(.soji-column-tools){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}.soji-column-tools{display:contents}.soji-column-count{justify-self:end}.soji-column-sort{grid-column:1/-1;display:block;min-width:0}.soji-column-sort select{display:block;width:100%;min-width:0;height:34px;padding:5px 10px;border:1px solid #cbdcd3;border-radius:7px;background:#fff;color:#1c302b;font-size:12px;font-weight:600;cursor:pointer}.soji-column-sort select:focus-visible{outline:2px solid #176957;outline-offset:2px}
@media(max-width:1100px){.soji-column-sorting{grid-template-columns:repeat(2,minmax(0,1fr))!important}.soji-column-sorting>input{grid-column:1/-1;grid-row:1}.soji-column-sorting>.soji-lead-date-preset{grid-column:1;grid-row:2}.soji-column-sorting>[aria-controls="pipeline-filters"]{grid-column:2;grid-row:2}.soji-column-sorting>.soji-save-board-filter{grid-column:2;grid-row:3}}
@media(max-width:600px){.soji-column-sorting>.soji-lead-date-preset{grid-column:1/-1;grid-row:2}.soji-column-sorting>[aria-controls="pipeline-filters"]{grid-column:1;grid-row:3}.soji-column-sorting>.soji-save-board-filter{grid-column:2;grid-row:3}}
.soji-board-columns-footer{position:sticky;bottom:-8px;display:grid;gap:8px;margin:8px -8px -8px;padding:8px;background:#fff;border-top:1px solid #e2ebe6;box-shadow:0 -4px 12px rgba(25,59,47,.05)}
.soji-board-columns-footer .soji-board-columns-shortcuts{padding:0;border:0}
.soji-board-columns-footer .soji-save-columns{width:100%;min-height:36px;margin:0;padding:7px 12px;font-size:13px}
.soji-board-columns-footer .soji-column-save-error{margin:0;color:#a04332;font-size:12px;font-weight:500}
.wa-compose-tools .wa-add-choices{background:transparent;border:0;color:#176c55;cursor:pointer;font:inherit;font-size:13px;font-weight:600;min-height:36px;padding:6px 8px;text-align:left;flex:1}
.wa-compose-tools .wa-add-choices:hover{text-decoration:underline;text-underline-offset:3px}
.wa-compose-tools .wa-add-choices:focus-visible{outline:2px solid #176c55;outline-offset:2px;border-radius:5px}
.wa-compose-tools .wa-add-choices:disabled{color:#708079;cursor:not-allowed;text-decoration:none}
.wa-compose-tools .wa-template-mode{color:#39584e;font-size:13px;font-weight:600;flex:1;padding:6px 8px}
.wa-choices{display:grid;gap:5px}.wa-choices label{color:#263e35;font-size:13px;font-weight:600}.wa-choices small{color:#536960;font-size:12px}.wa-choices textarea{min-height:76px}
.wa-preview-note{color:#536960;font-size:12px;margin:0}
/* One inset chevron for every single-choice dropdown in the app. */
body select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%233d5b50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px 8px !important;
  padding-inline-end: 38px !important;
}

body select:not([multiple]):not([size]):disabled {
  cursor: not-allowed;
}
.staff-grid{grid-template-columns:minmax(0,1fr)}
.soji-routing-panel{max-width:none;min-width:0}
.soji-routing-panel>h2{margin:0 0 8px}
.soji-routing-panel>p.muted{max-width:780px}
.soji-routing-caption{margin:22px 0 10px;font-weight:700;color:#315d4d}
.soji-routing-calendar-scroll{max-width:100%;overflow-x:auto;border:1px solid #dbe5df;border-radius:12px;background:#fff}
.soji-routing-calendar{width:100%;min-width:1800px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.soji-routing-calendar th,.soji-routing-calendar td{border-right:1px solid #e3eae6;border-bottom:1px solid #e3eae6;padding:12px;vertical-align:top;text-align:left}
.soji-routing-calendar tr:last-child th,.soji-routing-calendar tr:last-child td{border-bottom:0}
.soji-routing-calendar th:last-child,.soji-routing-calendar td:last-child{border-right:0}
.soji-routing-calendar thead th{white-space:normal;overflow-wrap:break-word;line-height:1.35;background:#eef5f1;color:#315d4d;font-size:14px;font-weight:700}
.soji-routing-calendar thead th:first-child,.soji-routing-calendar tbody th{width:210px;position:sticky;left:0;z-index:1;box-shadow:1px 0 0 #dbe5df}
.soji-routing-calendar thead th:first-child{z-index:2}
.soji-routing-calendar thead th:nth-child(2),.soji-routing-calendar tbody td:nth-child(2){width:170px}
.soji-routing-calendar thead th:nth-child(2){white-space:normal;line-height:1.35}
.soji-routing-calendar tbody th{background:#fff;white-space:normal}
.soji-routing-calendar thead th:last-child,.soji-routing-calendar tbody td:last-child{width:150px;position:sticky;right:0;z-index:1;box-shadow:-1px 0 0 #dbe5df}
.soji-routing-calendar thead th:last-child{z-index:2;background:#eef5f1}
.soji-routing-calendar tbody td:last-child{background:#fff}
.soji-routing-person{display:grid;gap:8px;font-size:14px}
.soji-routing-person strong{font-size:16px;overflow-wrap:anywhere}
.soji-routing-person small,.soji-routing-eligibility{font-size:12px;font-weight:500;line-height:1.35;color:#5c7067;overflow-wrap:anywhere}
.soji-routing-opt-in{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}
.soji-routing-opt-in label{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;cursor:pointer}
.soji-routing-opt-in input[type=checkbox]{accent-color:#11735a;width:18px;height:18px;flex:none;margin:0}
.soji-routing-opt-in input[type=checkbox]:focus-visible{outline:2px solid #176f5b;outline-offset:2px}
.soji-routing-opt-in label:has(input:disabled){cursor:not-allowed}
.soji-routing-eligibility summary{display:grid;place-items:center;width:24px;height:24px;border:1px solid #b7cfc2;border-radius:50%;color:#315d4d;cursor:pointer;list-style:none}
.soji-routing-eligibility summary::-webkit-details-marker{display:none}
.soji-routing-eligibility summary:hover{background:#eef5f1}
.soji-routing-eligibility summary:focus-visible{outline:2px solid #176f5b;outline-offset:2px}
.soji-routing-eligibility summary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.soji-routing-eligibility>span{display:block;max-width:160px;margin-top:6px}
.soji-routing-eligibility[open]{flex-basis:100%}
.soji-routing-save{display:flex;align-items:flex-start;gap:4px;flex-direction:column}
.soji-routing-save .button{padding:7px 12px;font-size:13px}
.soji-routing-error{display:block;color:#a33d2c;font-size:12px;font-weight:600;line-height:1.35;white-space:normal}
.soji-routing-cell,.soji-routing-shift{display:flex;align-items:flex-start;gap:6px}
.soji-routing-shifts{display:grid;gap:6px;width:100%;min-width:0}
.soji-routing-day{display:block;flex:1;min-width:0;padding:8px;border:1px solid #b7dac9;border-radius:9px;background:#eaf5ef;color:#174e3b;font:inherit;font-size:13px;font-weight:700;text-align:left;white-space:nowrap;cursor:pointer}
.soji-routing-day:hover{background:#dcf0e5}
.soji-routing-add{min-width:0;flex:1;border:1px dashed #bed3c8;border-radius:8px;background:transparent;color:#176f5b;font:inherit;font-size:13px;font-weight:650;text-align:left;white-space:nowrap;padding:7px;cursor:pointer}
.soji-routing-add:hover{background:#f0f8f3}
.soji-routing-copy,.soji-routing-remove{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:1px solid #bed3c8;border-radius:8px;background:#fff;color:#176f5b;cursor:pointer}
.soji-routing-copy:hover{background:#f0f8f3}
.soji-routing-remove{color:#a33d2c;border-color:#e4cbc5}
.soji-routing-remove:hover{background:#fff3f0}
.soji-routing-copy svg,.soji-routing-remove svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.soji-routing-add:focus-visible,.soji-routing-day:focus-visible,.soji-routing-copy:focus-visible,.soji-routing-remove:focus-visible,.soji-routing-save button:focus-visible,.soji-shift-dialog button:focus-visible,.soji-shift-dialog input:focus-visible{outline:2px solid #176f5b;outline-offset:2px}
.soji-routing-panel .form-hint{margin:12px 0 0}
.soji-shift-dialog{width:min(440px,calc(100vw - 24px));max-height:min(92vh,850px);margin:auto;padding:22px;border:1px solid #cbded5;border-radius:16px;background:#fff;color:#1b342b;box-shadow:0 18px 48px rgba(20,47,37,.18);overflow-y:auto}
.soji-shift-dialog::backdrop{background:rgba(18,42,33,.45)}
.soji-shift-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.soji-shift-dialog-head h3{margin:0;font-size:20px;line-height:1.2}
.soji-shift-dialog-head p{margin:5px 0 0;color:#5c7067;font-size:13px}
.soji-shift-dialog-head .text-button{flex:none}
.soji-shift-help{margin:20px 0 4px;color:#52675d;font-size:13px;line-height:1.45}
.soji-shift-empty{padding:30px 0 24px}
.soji-shift-empty p{margin:0 0 14px}
.soji-shift-dial{display:block;width:min(260px,100%);height:auto;margin:6px auto 10px;overflow:visible}
.soji-shift-track{fill:none;stroke:#e5eee8;stroke-width:15}
.soji-shift-arc{fill:none;stroke:#16745b;stroke-width:15;stroke-linecap:round}
.soji-shift-tick{stroke:#93a99e;stroke-width:1.5}
.soji-shift-axis{fill:#60786d;font-size:10px;text-anchor:middle;font-variant-numeric:tabular-nums}
.soji-shift-centre-label,.soji-shift-centre-time,.soji-shift-centre-duration,.soji-shift-handle-text{text-anchor:middle;font-family:inherit;font-variant-numeric:tabular-nums}
.soji-shift-centre-label{fill:#60786d;font-size:11px}
.soji-shift-centre-time{fill:#1b342b;font-size:21px;font-weight:700}
.soji-shift-centre-duration{fill:#52675d;font-size:10px}
.soji-shift-handle{fill:#185e4b;stroke:#fff;stroke-width:2;cursor:grab;touch-action:none}
.soji-shift-handle:active{cursor:grabbing}
.soji-shift-handle-text{fill:#fff;font-size:11px;font-weight:700;pointer-events:none}
.soji-shift-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.soji-shift-times label{display:grid;gap:5px;font-size:13px;font-weight:700}
.soji-shift-times input{min-width:0;width:100%;font:inherit;font-variant-numeric:tabular-nums}
.soji-shift-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.soji-shift-tabs button{padding:6px 9px;border:1px solid #cbded5;border-radius:8px;background:#fff;color:#315d4d;font:inherit;font-size:12px;cursor:pointer}
.soji-shift-tabs button.is-active{background:#eaf5ef;border-color:#16745b;font-weight:700}
.soji-shift-secondary{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.soji-shift-secondary button{font-size:13px}
.soji-shift-remove{color:#a33d2c}
.soji-shift-dialog>.soji-routing-error{margin:12px 0 0}
.soji-shift-dialog-actions{position:sticky;bottom:0;z-index:1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:20px -22px -22px;padding:16px 22px 22px;border-top:1px solid #dbe5df;background:#fff}
.soji-shift-dialog-actions .button{font-size:13px}
.soji-routing-availability{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #cbded5;border-radius:12px;background:#eef7f2;margin:16px 0}
.soji-routing-availability p{margin:4px 0 0}
@media(max-width:620px){.soji-routing-availability{align-items:stretch;flex-direction:column}.soji-routing-availability button{align-self:flex-start}.soji-routing-calendar thead th:first-child,.soji-routing-calendar tbody th{width:150px}.soji-routing-calendar thead th:last-child,.soji-routing-calendar tbody td:last-child{position:static;box-shadow:none}.soji-shift-dialog{padding:18px}.soji-shift-dialog-actions{margin:20px -18px -18px;padding:16px 18px 18px}}
.soji-routing-calendar{min-width:2470px}
.soji-routing-calendar thead th:nth-child(4),.soji-routing-calendar tbody td:nth-child(4){width:130px}
.soji-routing-calendar thead th:nth-child(5),.soji-routing-calendar tbody td:nth-child(5){width:150px}
.soji-routing-calendar thead th:nth-child(6),.soji-routing-calendar tbody td:nth-child(6){width:205px}
.soji-routing-calendar input[type=checkbox]{accent-color:#11735a;width:18px;height:18px;margin:0;flex:none}
.soji-routing-calendar input:focus-visible{outline:2px solid #176f5b;outline-offset:2px}
.soji-routing-categories{display:grid;gap:8px;font-size:13px}
.soji-routing-categories label,.soji-routing-policy-check{display:flex;align-items:center;gap:8px;cursor:pointer}
.soji-routing-policy{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:16px 0;border-bottom:1px solid #dbe5df}
.soji-routing-policy>.field{width:360px;max-width:100%;margin:0}
.soji-routing-policy>.form-hint{flex-basis:100%;margin:0}
.soji-routing-policy-check{font-size:14px}
.soji-routing-policy-check input{accent-color:#11735a;width:18px;height:18px}
.soji-enquiry-handoff{border-top:1px solid #dbe5df;margin-top:20px;padding-top:16px}
.soji-handoff-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.soji-handoff-summary p{margin:0}
.soji-handoff-editor{display:grid;gap:12px;margin-top:16px;max-width:600px}
.soji-routing-status{color:#775012;font-size:14px;margin:8px 0}
.soji-handoff-history{font-size:13px;margin-top:12px}
.soji-handoff-history summary{cursor:pointer;color:#176f5b}
.soji-handoff-history li{margin:8px 0}
.soji-handoff-history small{display:block;color:#5c7067}
.soji-handoff-history p{margin:4px 0}

.service-order-header>.soji-owner-header{flex:1 0 100%;min-width:0;margin:0;padding:10px 0 0}
.soji-owner-header .soji-handoff-summary{justify-content:flex-start;gap:12px}
.soji-owner-header .soji-handoff-summary .button{min-height:36px;padding:6px 12px;font-size:13px}
.soji-owner-header .soji-handoff-editor{width:100%;max-width:600px}
.soji-owner-header .soji-handoff-editor select,.soji-owner-header .soji-handoff-editor textarea{width:100%;min-width:0}

.soji-routing-calendar thead th:nth-child(3),.soji-routing-calendar tbody td:nth-child(3){width:180px}
.soji-routing-calendar td select{width:100%;min-width:150px;font-size:13px}
.soji-people-list{display:grid;gap:12px;margin-top:24px}.soji-person{width:100%;min-width:0}.soji-person-body{padding:0 28px 24px!important}.soji-person-section{padding:22px 0;border-top:1px solid #e3eae6}.soji-person-section h4{font-size:17px;margin:0 0 15px}.soji-person-line,.soji-person-grant{display:flex;justify-content:space-between;align-items:center;gap:18px}.soji-person-line strong,.soji-person-grant strong{display:block}.soji-person-label,.soji-person-grant small{display:block;color:#5b7169;font-size:13px;margin-bottom:4px}.soji-person-grants{display:grid;gap:12px;margin-bottom:16px}.soji-person-grant{padding:12px 16px;background:#f5f8f6;border-radius:12px}.soji-person-add{margin-top:20px;padding:20px;background:#f5f8f6;border-radius:12px}.soji-person-add h5{font-size:16px;margin:0 0 14px}.soji-person-footer{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;border-top:1px solid #e3eae6}.soji-person-edit{max-width:550px}.soji-person .staff-summary-meta{min-width:145px}@media(max-width:700px){.soji-person-body{padding:0 16px 18px!important}.soji-person-line,.soji-person-grant{align-items:flex-start;flex-direction:column}.soji-person .staff-summary-meta{min-width:0}}

.soji-admin-confirm{max-width:550px;margin:14px 0;padding:16px 20px;background:#f3f7f5;border-radius:12px}.soji-admin-confirm p{margin:0 0 12px}
.soji-person-body{display:block!important}.soji-person-section{padding:16px 0}.soji-person-section:first-child{border-top:0}.soji-person-section h4{margin-bottom:10px}.soji-person-grant{gap:10px}.soji-person-grant .text-button{padding:6px 8px}@media(max-width:700px){.soji-person-line,.soji-person-grant{flex-direction:row;align-items:center}.soji-person-line>div,.soji-person-grant>div{min-width:0}.soji-person-line strong,.soji-person-grant strong{overflow-wrap:anywhere}}

.soji-person-section>.button{margin-right:12px}.soji-person-section>.text-button{vertical-align:middle}

.soji-responsibility-fields,.soji-create-person>fieldset{border:0;padding:0;margin:0;min-width:0}.soji-responsibility-block{padding:14px 0}.soji-responsibility-block+.soji-responsibility-block{border-top:1px solid #e3eae6}.soji-responsibility-block h5{font-size:15px;margin:0 0 6px}.soji-responsibility-block .form-hint{margin:6px 0 12px;max-width:720px}.soji-responsibility-check{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}.soji-responsibility-check input{width:20px;height:20px;flex:none;accent-color:#18745f}.soji-responsibility-check strong{font-size:15px}.soji-responsibility-check small{display:block}.soji-outlet-choices{display:flex;gap:12px 28px;flex-wrap:wrap}.soji-responsibility-summary{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px 18px;margin:0 0 16px}.soji-responsibility-summary dt{color:#5b7169}.soji-responsibility-summary dd{margin:0}.soji-create-person h4{margin:24px 0 6px}.soji-create-person>.actions{margin-top:16px}.soji-person-section form>.actions{margin-top:12px}@media(max-width:600px){.soji-responsibility-summary{grid-template-columns:1fr;gap:4px}.soji-responsibility-summary dd{margin-bottom:10px}.soji-outlet-choices{flex-direction:column;gap:4px}.soji-responsibility-block .form-hint{line-height:1.5}}
.soji-okrs{min-width:0;color:#203b33}.soji-okrs h1{margin:0}.soji-okr-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin:24px 0}.soji-okr-filters label,.soji-okr-toolbar label{display:grid;gap:6px;font-size:13px;font-weight:600}.soji-okr-filters select,.soji-okr-filters input{width:100%;min-width:0}.soji-okr-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid #ceded6;padding-bottom:16px}.soji-okr-tabs{display:flex;gap:8px}.soji-okr-tabs button{border:1px solid #c7dcd2;border-radius:8px;background:#fff;color:#176f5b;padding:12px 18px;font-weight:700}.soji-okr-tabs button[aria-pressed=true]{background:#176f5b;color:#fff}.soji-okr-tabs button:hover{border-color:#176f5b}.soji-okr-explanation{max-width:75ch;color:#526c62;margin:16px 0 28px}.soji-okr-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.soji-okr-caption h2{margin:0;font-size:20px}.soji-okr-caption span{font-size:13px}.soji-okr-table-scroll{overflow:auto;border:1px solid #ceded6;border-radius:12px;background:#fff;max-height:65vh;scrollbar-color:#8bac9e #eef4f0}.soji-okr-table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}.soji-okr-table th,.soji-okr-table td{padding:12px 14px;border-bottom:1px solid #e0eae5;text-align:right;min-width:112px}.soji-okr-table thead th{background:#edf4f0;position:sticky;top:0;z-index:2;color:#36574a;font-size:12px;font-weight:700;vertical-align:bottom}.soji-okr-table th:first-child{position:sticky;left:0;min-width:180px;max-width:220px;white-space:normal;overflow-wrap:anywhere;text-align:left;background:#fff;z-index:1}.soji-okr-table thead th:first-child{background:#edf4f0;z-index:3}.soji-okr-table th small{display:block;font-size:11px;font-weight:400;color:#526c62;margin-top:5px}.soji-okr-table .soji-okr-total{background:#f1f7f3;font-weight:700}.soji-okr-count{background:transparent;border:0;color:#176f5b;border-radius:5px;padding:6px 9px;min-width:34px;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.soji-okr-count:disabled{color:#677a72;text-decoration:none;cursor:default;opacity:1}.soji-okr-count:not(:disabled):hover{background:#e3f0e9}.soji-okrs button:focus-visible,.soji-okrs summary:focus-visible,.soji-okr-table-scroll:focus-visible{outline:2px solid #176f5b;outline-offset:3px}.soji-okr-empty,.soji-okr-loading{padding:24px;color:#526c62;background:#edf4f0;border-radius:8px}.soji-okr-definitions{margin-top:24px;font-size:13px;color:#526c62;max-width:85ch}.soji-okr-definitions summary{cursor:pointer;font-weight:600;color:#176f5b;padding:10px 0}.soji-okr-definitions li{margin-bottom:10px}.soji-okr-drill{margin-top:24px}.soji-okr-drill ul{list-style:none;padding:0;margin:0}.soji-okr-ticket{display:flex;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:14px 0;background:transparent;border:0;border-bottom:1px solid #e0eae5;color:inherit;cursor:pointer}.soji-okr-ticket:hover strong{text-decoration:underline}.soji-okr-ticket small{display:block;color:#526c62;margin-top:4px}.soji-okrs ::selection{background:#cee6da;color:#173d2e}@media(max-width:1200px){.soji-okr-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media(max-width:600px){.soji-okr-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.soji-okr-toolbar{align-items:stretch}.soji-okr-toolbar label{width:100%}.soji-okr-table th:first-child{min-width:125px;max-width:145px}.soji-okr-table th,.soji-okr-table td{padding:10px;min-width:100px}.soji-okr-ticket{flex-direction:column;gap:6px}.soji-okr-explanation{margin-bottom:20px}}
.soji-okr-modal{width:min(960px,calc(100vw - 32px));max-height:90vh;overflow:auto;box-sizing:border-box;border:1px solid #c7dcd2;border-radius:16px;padding:24px;background:#fff;color:#203b33;box-shadow:0 18px 50px #183e3433}.soji-okr-modal::backdrop{background:#102f2866}.soji-okr-modal-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.soji-okr-modal h2{margin:0;font-size:22px}.soji-okr-modal-head p{margin:5px 0}.soji-okr-metric-definition{max-width:75ch;line-height:1.55}.soji-okr-modal-filters{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.soji-okr-modal-filters label{display:grid;gap:6px;font-size:13px;font-weight:600;flex:1;min-width:145px}.soji-okr-modal-filters input,.soji-okr-modal-filters select{width:100%;min-width:0}.soji-okr-metric-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:20px 0}.soji-okr-metric-summary>strong{font-size:28px}.soji-okr-metric-summary small{flex-basis:100%;color:#526c62}.soji-okr-age-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.soji-okr-age-summary>div{display:grid;gap:4px;padding:16px 0;border-top:1px solid #ceded6}.soji-okr-age-summary span{color:#526c62;font-size:13px}.soji-okr-age-summary strong{font-size:26px;font-variant-numeric:tabular-nums}.soji-okr-age-summary p{grid-column:1/-1;margin:0}.soji-okr-ticket-list{list-style:none;padding:0;margin:0}.soji-okr-ticket-list a{text-decoration:none}.soji-okr-ticket-list a:hover{background:#edf4f0}.soji-okr-modal a:focus-visible,.soji-okr-modal button:focus-visible,.soji-okr-modal summary:focus-visible{outline:2px solid #176f5b;outline-offset:2px}.soji-okr-modal summary{cursor:pointer;color:#176f5b;padding:8px 0}.soji-okr-trend-values{max-height:220px;overflow:auto}.soji-okr-trend-values table{width:100%;text-align:left;font-variant-numeric:tabular-nums}.soji-okr-trend-values th,.soji-okr-trend-values td{padding:8px;border-bottom:1px solid #dce7e0}.soji-okr-modal>.form-hint{line-height:1.5}@media(max-width:600px){.soji-okr-modal{padding:16px;width:calc(100vw - 16px)}.soji-okr-modal-filters{gap:10px}.soji-okr-modal-filters label{min-width:calc(50% - 10px)}.soji-okr-modal h2{font-size:19px}.soji-okr-age-summary strong{font-size:22px}}

.soji-okr-modal{margin:auto}.soji-okr-modal-head{position:sticky;top:-24px;background:#fff;z-index:2;margin:-24px -24px 0;padding:24px 24px 12px;border-bottom:1px solid #e0eae5}@media(max-width:600px){.soji-okr-modal-head{top:-16px;margin:-16px -16px 0;padding:16px 16px 10px}}


.soji-okr-modal-filters .soji-okr-measure{flex-basis:100%}.soji-okr-transfer-summary{margin-top:12px}.soji-okr-transfer-summary p{margin:4px 0}
.soji-okr-column-actions{display:flex;justify-content:flex-end;margin:12px 0;gap:12px;flex-wrap:wrap}
.soji-okr-detail-tabs{display:flex;gap:20px;border-bottom:1px solid #ceded6;margin-top:16px}.soji-okr-detail-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#526c62;padding:12px 4px;font-weight:700}.soji-okr-detail-tabs button[aria-selected=true]{border-bottom-color:#176f5b;color:#176f5b}.soji-okr-assign{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:8px 0 16px;border-bottom:1px solid #e0eae5}.soji-okr-assign label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:180px;flex:1}.soji-okr-assign input,.soji-okr-assign select{width:100%;min-width:0}.soji-okr-assign .form-hint,.soji-okr-assign [role=alert]{flex-basis:100%;margin:0}.soji-okr-ticket-list .soji-okr-ticket{border-bottom:0}@media(max-width:600px){.soji-okr-assign label{min-width:100%}}
.soji-okr-age-chart{display:block;width:100%;height:auto;max-height:300px;margin:12px 0 20px;font:12px inherit;overflow:visible}.soji-okr-age-chart text{fill:#36574a;font-size:12px}
@media(max-width:600px){.soji-okr-age-chart text{font-size:14px}}
