/* 0.5.3.0: unified controls for sales/fulfillment screens, RetailCRM-inspired but lean. */
.crm-click-row{cursor:pointer;transition:background .14s ease;outline-offset:-3px}
.crm-click-row:hover{background:#fff8e8!important}
.crm-click-row:focus-visible{outline:2px solid #c29b46;background:#fffaef}
.crm-click-row a{position:relative;z-index:1}
.crm-workflow-inline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 17px;border:1px solid #e4e8ef;border-radius:12px;background:#f8fafc}
.crm-workflow-inline .subtle{margin:8px 0 0}
.crm-application-workflow>.section-bar{align-items:center;margin-bottom:14px}
.crm-application-workflow .section-bar p{margin:6px 0 0}
.crm-visits-inline{margin-top:12px}
.crm-work-anchor{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.crm-work-anchor>a{white-space:nowrap}
.crm-work-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,335px);gap:19px;align-items:start}
.crm-work-main,.crm-work-aside{min-width:0;display:grid;gap:19px}
.crm-work-aside{position:sticky;top:18px}
.crm-work-panel{padding:24px 28px;min-width:0;scroll-margin-top:22px}
.crm-work-panel>.section-bar{gap:12px;align-items:center;margin-bottom:15px;flex-wrap:wrap}
.crm-work-panel h2{font-size:19px;line-height:1.4;margin:0;color:#193149}
.crm-work-panel h3{font-size:16px;margin:0 0 10px}
.crm-work-panel .subtle{font-size:12px;line-height:1.55;color:#6e8194}
.crm-work-panel .section-bar .subtle{max-width:260px}
.crm-unified-form{display:grid;gap:17px;margin:10px 0 0}
.crm-work-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.crm-unified-field{min-width:0;display:grid;align-content:start;gap:7px}
.crm-unified-field:has(textarea),.crm-unified-field:has(input[type=file]){grid-column:1/-1}
.crm-unified-field>label,.crm-unified-form>label{display:block;margin:0;font-size:13px;font-weight:700;line-height:1.4;color:#334960}
.crm-unified-field>label>span{color:#aa6a18}
.crm-unified-field .field-control,.crm-unified-form>.field-control{display:block;width:100%;min-width:0;max-width:100%;min-height:43px;border:1px solid #c9d6e1;border-radius:10px;padding:9px 12px;background:white;color:#20354b;font:inherit;font-size:14px}
.crm-unified-field textarea.field-control{min-height:90px;resize:vertical}
.crm-unified-field input[type=checkbox]{width:19px;height:19px;accent-color:#bd943e}
.crm-unified-field .field-control:focus-visible,.crm-unified-form>.field-control:focus-visible{border-color:#b68c32;outline:2px solid #e9c86e70;outline-offset:0;box-shadow:none}
.crm-unified-field.has-error .field-control{border-color:#c25e55}
.crm-unified-field .field-error{font-size:12px;color:#a33729;line-height:1.4}
.crm-work-form-foot{display:flex;justify-content:flex-end;border-top:1px solid #ebeff3;padding-top:15px}
.crm-work-form-foot>.button{min-width:175px;max-width:100%}
.crm-work-expand{border:1px solid #dfe7ed;border-radius:11px;background:#fafcfd;margin-top:14px;padding:0 15px;overflow:hidden}
.crm-work-expand>summary{display:flex;align-items:center;cursor:pointer;color:#32485b;font-size:13px;font-weight:760;min-height:45px;padding:10px 2px;list-style:none}
.crm-work-expand>summary::before{content:'＋';font-size:19px;margin-right:9px;color:#9f7a25}
.crm-work-expand[open]>summary{border-bottom:1px solid #e6e9ef;margin-bottom:17px}
.crm-work-expand[open]>summary::before{content:'−'}
.crm-work-expand>.crm-unified-form{padding:0 0 17px}
.crm-work-records{display:grid;gap:9px;margin-top:12px}
.crm-work-record{display:grid;gap:6px;border:1px solid #e5eaf0;border-radius:10px;padding:13px 15px;background:#fff;min-width:0}
.crm-work-record>strong{font-size:13px;color:#243951}
.crm-work-record small{color:#718298;font-size:12px;line-height:1.5}
.crm-work-record p{font-size:13px;margin:0;color:#435568;overflow-wrap:anywhere;line-height:1.5}
.crm-work-record a{color:#344e64}
.crm-work-addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.crm-work-address-card{display:grid;gap:7px;background:#f7f9fb;border:1px solid #e2e7ed;border-radius:10px;padding:13px 15px;min-width:0;overflow-wrap:anywhere;font-size:13px}
.crm-work-address-card small{color:#75889a}
.crm-work-total{font-size:12px;color:#715519;background:#fff7df;border-radius:9px;padding:8px 12px;border:1px solid #ebd59f}
.crm-work-subsection{margin-top:20px;border-top:1px solid #e7ecf1;padding-top:19px}
.crm-work-stage{display:inline-flex;align-items:center;white-space:normal;padding:5px 10px;font-size:12px;font-weight:770;border:1px solid #d5e1eb;border-radius:8px;background:#f2f6f9;color:#465c70}
.crm-work-stage-draft,.crm-work-stage-waiting_pickup{background:#fff7e2;color:#875a19;border-color:#f0d59c}
.crm-work-stage-contracted,.crm-work-stage-in_workshop,.crm-work-stage-in_production{background:#eff2ff;color:#4f5ba1;border-color:#d9def9}
.crm-work-stage-ready,.crm-work-stage-delivery{background:#e8f4fa;color:#2f718c;border-color:#c6e5f2}
.crm-work-stage-delivered,.crm-work-stage-closed{background:#e8f6ec;color:#287b4b;border-color:#bae5c6}
.crm-work-stage-cancelled{background:#fceeee;color:#a34b47;border-color:#f0c6c3}
.crm-work-timeline{border-left:2px solid #ecdbac;padding-left:15px;margin-top:14px;display:grid;gap:17px;max-height:540px;overflow:auto;overscroll-behavior:contain}
.crm-work-event{display:grid;gap:5px;position:relative;min-width:0}
.crm-work-event:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#cba952;left:-20px;top:4px}
.crm-work-event strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.crm-work-event time,.crm-work-event small{font-size:11px;color:#73889a;line-height:1.4}
.crm-work-stage-panel .crm-unified-form{margin-top:14px;gap:13px}
.crm-work-check{display:flex!important;align-items:start;gap:9px;font-weight:500!important;font-size:12px!important;line-height:1.5!important}
.crm-work-check input{accent-color:#c29b42;width:17px;height:17px;flex:0 0 17px;margin:1px 0 0}
.crm-work-table{min-width:730px}
.crm-work-table :is(td,th){padding:12px 14px;vertical-align:middle}
.crm-work-table tbody tr:hover{background:#fffaf0}
.crm-work-table a{text-decoration:none;font-weight:680}
.crm-work-table a:hover{text-decoration:underline}
.crm-work-form-page{padding:30px;max-width:1020px;margin:0}
.crm-work-form-page .crm-form-actions{margin:5px -30px -30px;padding:21px 30px}
.workspace-home-workflow{margin:13px 0 24px;max-width:440px}
/* Keep old/new forms consistent without changing business behaviour. */
.workspace-layout .crm-form-generic .panel,.workspace-layout .crm-client-profile>.crm-grid .panel{border:1px solid #e0e7ee;box-shadow:0 5px 22px #182f470b}
.workspace-layout .crm-form-generic .form-stack>div:not(.notice){display:grid;gap:7px}
.workspace-layout .crm-form-generic .form-stack :is(input:not([type=checkbox]),select,textarea),
.workspace-layout .crm-client-profile form :is(input:not([type=checkbox]),select,textarea){min-width:0;border-radius:10px;min-height:42px}
.workspace-layout .crm-form-generic .form-stack :is(label),.workspace-layout .crm-client-profile form label{font-weight:700;font-size:13px;color:#334960}
.workspace-layout .crm-client-profile .panel>h2,.workspace-layout .crm-form-generic .panel>h2{font-size:19px;margin-top:0}
@media(max-width:1120px){.crm-work-two-col{grid-template-columns:minmax(0,1fr)}.crm-work-aside{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}.crm-work-timeline{max-height:420px}}
@media(max-width:740px){.crm-work-panel{padding:20px}.crm-work-field-grid{grid-template-columns:1fr}.crm-work-aside{grid-template-columns:1fr}.crm-work-form-page{padding:20px}.crm-work-form-page .crm-form-actions{margin:5px -20px -20px;padding:17px 20px}.crm-workflow-inline{align-items:stretch}.crm-workflow-inline .button{width:100%;justify-content:center}.crm-work-form-foot>.button{width:100%}}
/* Extend the same spacing/field states to catalogue and staff account forms. */
.workspace-layout .fabric-form-shell .form-stack>div:not(.fabric-form-actions),
.workspace-layout .staff-profile-field{display:grid;gap:7px;min-width:0}
.workspace-layout .fabric-form-shell .form-stack>div>label,
.workspace-layout .staff-profile-field>label{font-size:13px;font-weight:700;color:#35495b}
.workspace-layout .fabric-form-shell .form-stack :is(input:not([type=checkbox]),select,textarea),
.workspace-layout .staff-profile-field :is(input,select){width:100%;min-width:0;max-width:100%;border-radius:10px;min-height:43px}
.workspace-layout .fabric-form-shell .form-stack :is(input:not([type=checkbox]),select,textarea):focus-visible,
.workspace-layout .staff-profile-field :is(input,select):focus-visible{outline:2px solid #e9c86e85;outline-offset:0;border-color:#b88d3a}
.workspace-layout .fabric-form-shell .fabric-form-actions,
.workspace-layout .staff-profile-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:18px}
@media(max-width:520px){.workspace-layout .fabric-form-shell .fabric-form-actions .button,
.workspace-layout .staff-profile-form-actions .button{flex:1;white-space:normal;text-align:center}}
.crm-work-client-contacts{display:flex;flex-wrap:wrap;gap:9px 16px;font-size:12px;color:#5a7186;margin-top:10px}
.crm-work-client-contacts strong{color:#24384b}
.crm-work-filters{margin-top:0}

/* v0.6.0.4: operator -> manager -> coordinator. Business fields remain unchanged. */
.crm-app-work-hint,.crm-work-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 21px;margin:0 0 18px;border:1px solid #e7d6a9;background:#fffaf0;border-radius:13px;color:#35475b}
.crm-app-work-hint>div,.crm-work-intro{min-width:0}
.crm-app-work-hint>div{display:grid;gap:5px}
.crm-app-work-hint strong,.crm-work-intro strong{font-size:13px;color:#675021}
.crm-app-work-hint span,.crm-work-intro span{font-size:13px;line-height:1.55;color:#66788a}
.crm-app-work-hint .button{flex:none}
.crm-work-intro{justify-content:flex-start;align-items:baseline;gap:13px;margin:0 0 20px}
.crm-work-intro strong{white-space:nowrap}
.crm-work-anchor{position:relative;z-index:1;gap:4px;scroll-margin-top:15px}
.crm-work-anchor>a{font-size:12px;min-height:35px;display:inline-flex;align-items:center}
.crm-work-two-col{grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:18px}
.crm-work-main{gap:15px}
.crm-work-aside{gap:15px}
.crm-work-panel{padding:23px 25px}
.crm-work-panel .section-bar{align-items:center;gap:12px}
.crm-order-contract>.section-bar{margin-bottom:12px}
.crm-order-contract .crm-work-help{margin:0 0 17px;color:#627589;font-size:13px;line-height:1.65;max-width:690px}
.crm-step-label{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.045em;color:#99702a;font-weight:770;text-transform:uppercase}
.crm-contract-ready,.crm-contract-pending{font-size:11px;font-weight:750;border-radius:8px;border:1px solid #e3d6b1;background:#fff8e4;color:#7e631f;padding:7px 10px;white-space:nowrap}
.crm-contract-ready{border-color:#bfdac8;background:#eefaef;color:#246d44}
.crm-form-subheading{font-size:14px;font-weight:790;line-height:1.35;color:#32485b;padding-bottom:8px;border-bottom:1px solid #e6ebf0;margin-top:3px}
.crm-order-contract .crm-unified-form{gap:17px}
.crm-order-contract .crm-work-field-grid{row-gap:14px;column-gap:17px}
.crm-order-extra{border:1px solid #e4eaf0;border-radius:10px;padding:0 14px;background:#fafbfd}
.crm-order-extra summary{padding:13px 0;cursor:pointer;color:#43596b;font-size:13px;font-weight:680}
.crm-order-extra[open]>.crm-unified-field{padding-bottom:15px}
.crm-work-stage-caption{font-size:12px;color:#77889a;line-height:1.5;margin:9px 0 12px}
.crm-current-stage{margin:11px 0}
.crm-stage-prerequisite{font-size:12px;line-height:1.55;border:1px solid #f0d69d;border-radius:9px;background:#fff9e8;padding:11px 12px;color:#765825;margin:0}
.crm-stage-prerequisite a{color:#76551a;font-weight:740}
.crm-stage-close-fields{border-top:1px solid #e3eaf0;padding-top:13px;display:grid;gap:11px}
.crm-stage-close-fields[hidden]{display:none}
.crm-work-stage-panel .crm-unified-form{gap:12px}
.crm-unified-checkbox{display:flex;align-items:center;min-height:44px;padding:9px 11px;border:1px solid #e0e7ef;border-radius:9px;background:#fbfcfe}
.crm-unified-checkbox>label{display:flex;gap:10px;align-items:center;cursor:pointer;margin:0!important}
.crm-unified-checkbox>label>span{font-size:13px;color:#34485c;font-weight:620}
.crm-unified-checkbox input{flex:none;margin:0;width:18px;height:18px}
.crm-unified-checkbox>.subtle{font-size:12px;margin-left:28px}
.crm-unified-form .crm-work-form-foot{margin-top:5px}
.crm-work-summary{display:grid;grid-template-columns:minmax(110px,32%) minmax(0,1fr);gap:12px 16px;font-size:13px}
.crm-work-summary dt{color:#73869a}
.crm-work-summary dd{margin:0;color:#2f4559;overflow-wrap:anywhere}
/* Forms and tables: consistent rhythm in client, application, fabric and fulfillment. */
.workspace-layout :is(.crm-grid>.panel,.crm-work-panel,.crm-form-generic .panel,.staff-profile-settings-panel){min-width:0}
.workspace-layout .crm-grid>.panel .section-bar{gap:10px;flex-wrap:wrap;align-items:center}
.workspace-layout .crm-work-field-grid .field-control{box-sizing:border-box}
.workspace-layout .crm-work-field-grid input[type=file]{max-width:100%}
.workspace-layout :is(.crm-application-workflow,.crm-work-panel,.crm-grid .panel) .button{max-width:100%;line-height:1.3}
@media(max-width:1180px){.crm-work-two-col{grid-template-columns:minmax(0,1fr)}.crm-work-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.crm-work-panel{padding:19px}.crm-work-intro,.crm-app-work-hint{flex-direction:column;align-items:flex-start;gap:8px;padding:15px}.crm-work-field-grid{grid-template-columns:1fr}.crm-work-aside{grid-template-columns:1fr}.crm-order-contract .section-bar{align-items:flex-start}.crm-contract-ready,.crm-contract-pending{white-space:normal}}
@media(max-width:440px){.crm-work-anchor{gap:3px}.crm-work-anchor>a{font-size:11px}.crm-work-intro span{font-size:12px}.crm-app-work-hint .button{width:100%;justify-content:center}}

/* Order documents — unobtrusive delete affordance and readable confirmation. */
.crm-document-record{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.crm-document-record-info{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.crm-document-record-info a{min-width:0;overflow-wrap:anywhere}
.crm-document-delete-trigger{flex:0 0 34px;width:34px;height:34px;border:1px solid #e0e6ec;border-radius:9px;background:#fff;color:#788797;display:grid;place-items:center;cursor:pointer}
.crm-document-delete-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.crm-document-delete-trigger:hover{background:#fff1ee;border-color:#eecbc5;color:#ae5148}
.crm-document-delete-trigger:focus-visible{outline:2px solid #b38c3b;outline-offset:2px}
.crm-document-delete-dialog{width:min(95vw,475px);max-height:88dvh;overflow:auto;padding:25px 28px;border:1px solid #dfe5eb;border-radius:18px;color:#21344a;background:#fff;box-shadow:0 20px 60px #16253835}
.crm-document-delete-dialog::backdrop{background:#1d2a3d86}
.crm-document-delete-dialog h2{font-size:20px;line-height:1.35;margin:0 0 13px}
.crm-document-delete-dialog p{font-size:14px;line-height:1.65;color:#526579;margin:0 0 24px;overflow-wrap:anywhere}
.crm-document-delete-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.crm-document-delete-confirm{color:#fff!important;background:#ac4b42!important;border-color:#ac4b42!important}
.crm-document-delete-confirm:hover{background:#93392f!important}
@media(max-width:540px){.crm-document-delete-dialog{padding:22px 18px}.crm-document-delete-actions>.button{flex:1}}
