/* Quotation entry: compact mobile rows without replacing business controls. */
body.mobile-ui-active #quoteEditorModal { position:fixed; inset:auto 0; top:var(--mq-visible-top,0px); height:var(--mq-visible-height,100dvh); padding:0; }
body.mobile-ui-active #quoteEditorModal .quote-editor-dialog { width:100%; height:100%; max-height:100%; min-height:0; border:0; border-radius:0; }
body.mobile-ui-active #quoteEditorModal .quote-form-head { flex-wrap:nowrap; padding:8px 12px; gap:8px; min-height:44px; }
body.mobile-ui-active #quoteEditorModal .quote-form-head h3 { font-size:15px; }
body.mobile-ui-active #quoteEditorModal .quote-form-head { display:grid;grid-template-columns:auto minmax(0,1fr) auto;flex:none; }
body.mobile-ui-active #quoteEditorModal .quote-form-head h3 { grid-column:2;grid-row:1;min-width:0;margin:0; }
body.mobile-ui-active #quoteEditorModal .quote-form-head-actions { display:contents; }
body.mobile-ui-active #quoteEditorModal #quoteEditorClose { grid-column:1;grid-row:1;min-width:0;margin:0; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu { grid-column:3;grid-row:1; }
body.mobile-ui-active #quoteEditorModal .quote-form-head-actions button,
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu > summary { min-height:32px; height:32px; width:auto; padding:4px 8px; font-size:12px; line-height:22px; }
body.mobile-ui-active #quoteEditorModal #quoteForm { display:grid; flex:1; min-height:0; overflow:auto; gap:10px; padding:0 12px 78px; scroll-padding-top:45px; scroll-padding-bottom:85px; scrollbar-gutter:auto; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-step-hidden { display:none!important; }
body.mobile-ui-active #quoteEditorModal .quote-form-step-nav { position:sticky; top:0; z-index:8; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; padding:3px 0 5px; border:0; background:#fff; }
body.mobile-ui-active #quoteEditorModal .quote-form-step-nav.is-standard { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.mobile-ui-active #quoteEditorModal .quote-form-step-nav a { display:flex; align-items:center; justify-content:center; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#667a91; min-height:32px; height:32px; padding:4px 2px; }
body.mobile-ui-active #quoteEditorModal .quote-form-step-nav a[aria-current=step] { border-color:#1766c7; color:#155ec5; background:transparent; }
body.mobile-ui-active #quoteEditorModal .quote-form-step-nav a strong { font-size:12px; line-height:18px; }
body.mobile-ui-active #quoteEditorModal .quote-section-heading { margin:0 0 7px; padding:0; min-height:0; background:none; border:0; border-radius:0; }
body.mobile-ui-active #quoteEditorModal .quote-section-heading strong { font-size:13px; }
body.mobile-ui-active #quoteEditorModal .quote-section-heading span { display:block; color:#728297; font-size:11px; line-height:17px; margin-top:3px; }
body.mobile-ui-active #quoteEditorModal .quote-basic-info-section > .quote-section-heading { display:none; }
body.mobile-ui-active #quoteEditorModal :is(.quote-basic-info-fields,.quote-service-plan-fields,.quote-maintenance-cost-fields,.quote-summary-layout) { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
body.mobile-ui-active #quoteEditorModal :is(.quote-basic-info-section,.quote-service-plan,.quote-maintenance-cost-estimate,.quote-editor-block,.quote-summary-sheet) { padding:0; margin:0; border:0; background:#fff; box-shadow:none; border-radius:0; }
body.mobile-ui-active #quoteEditorModal :is(.mqe-field,.quote-service-plan-fields > label,.quote-maintenance-cost-fields > label,.mqe-fold-body > label) { display:grid; grid-template-columns:94px minmax(0,1fr); align-items:center; gap:4px 8px; margin:0; padding:5px 0; border-bottom:1px solid #edf1f6; min-width:0; }
body.mobile-ui-active #quoteEditorModal :is(.mqe-field > label,.quote-service-plan-fields > label > span,.quote-maintenance-cost-fields > label > span,.mqe-fold-body > label > span) { margin:0; font-size:12px; color:#42576e; line-height:18px; }
body.mobile-ui-active #quoteEditorModal .mqe-field > small { grid-column:2; font-size:10px; line-height:15px; margin:0; }
body.mobile-ui-active #quoteEditorModal .mqe-field:has(#quotePlaceName) { grid-template-columns:1fr; }
body.mobile-ui-active #quoteEditorModal .mqe-field:has(#quotePlaceName) > small { grid-column:1; }
body.mobile-ui-active #quoteEditorModal :is(input:not([type=checkbox]):not([type=hidden]),select) { box-sizing:border-box; width:100%; min-width:0; min-height:34px; height:34px; margin:0; padding:5px 7px; border:0; border-bottom:1px solid #dce4ee; border-radius:0; font-size:13px; background:#fff; box-shadow:none; }
body.mobile-ui-active #quoteEditorModal :is(input:not([type=checkbox]),select,textarea):focus { outline:2px solid #9ec5fa; outline-offset:0; border-color:#1766c7; }
body.mobile-ui-active #quoteEditorModal textarea { min-height:94px; max-height:250px; padding:8px; font-size:13px; line-height:20px; }
body.mobile-ui-active #quoteEditorModal :is(.quote-special-terms,.project-profile-confirm) { display:flex; align-items:flex-start; font-size:12px; gap:7px; grid-template-columns:none; }
body.mobile-ui-active #quoteEditorModal input[type=checkbox] { width:16px; height:16px; min-height:16px; flex:none; }
body.mobile-ui-active #quoteEditorModal .mqe-fold { grid-column:1 / -1; border:0; border-bottom:1px solid #e5ebf3; border-radius:0; margin:0; padding:0; background:#fff; min-width:0; }
body.mobile-ui-active #quoteEditorModal .mqe-fold > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:40px; margin:0; padding:6px 0; list-style:none; cursor:pointer; font-size:12px; }
body.mobile-ui-active #quoteEditorModal .mqe-fold > summary::-webkit-details-marker { display:none; }
body.mobile-ui-active #quoteEditorModal .mqe-fold > summary::after { content:'⌄'; flex:none; color:#7d8ca0; }
body.mobile-ui-active #quoteEditorModal .mqe-fold[open] > summary::after { transform:rotate(180deg); }
body.mobile-ui-active #quoteEditorModal .mqe-fold > summary > strong { font-size:12px; font-weight:600; color:#304b69; flex:1; }
body.mobile-ui-active #quoteEditorModal .mqe-fold-hint { color:#78889a; max-width:52%; text-align:right; font-size:11px; overflow-wrap:anywhere; }
body.mobile-ui-active #quoteEditorModal .mqe-fold-body { padding:0 0 8px; min-width:0; }
body.mobile-ui-active #quoteEditorModal .mqe-fold:not([open]) > .mqe-fold-body { display:none; }
body.mobile-ui-active #quoteEditorModal .quote-venue-status { font-size:10px; line-height:15px; padding:3px 0; }
body.mobile-ui-active #quoteEditorModal .quote-venue-status strong { font-size:10px; }
body.mobile-ui-active #quoteEditorModal .quote-service-subsection-heading { margin:8px 0 2px; font-size:12px; }
body.mobile-ui-active #quoteEditorModal .quote-service-subsection-heading span { font-size:11px; line-height:17px; }
body.mobile-ui-active #quoteEditorModal #quoteServicePlanSection > .quote-service-subsection-heading { display:none; }
body.mobile-ui-active #quoteEditorModal .quote-service-plan-systems { padding:0; border:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-service-plan-systems > span { display:none; }
body.mobile-ui-active #quoteEditorModal :is(.quote-service-system-options,.quote-assessment-instrument-options) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 7px; }
body.mobile-ui-active #quoteEditorModal :is(.quote-service-system-option,.quote-assessment-instrument-option) { min-height:34px; padding:4px 0; border:0; background:none; border-radius:0; font-size:12px; gap:6px; }
body.mobile-ui-active #quoteEditorModal .quote-service-extra { margin:0; padding:0; border:0; border-bottom:1px solid #e5ebf3; border-radius:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-service-extra > summary { min-height:40px; padding:8px 0; font-size:12px; }
body.mobile-ui-active #quoteEditorModal .quote-maintenance-cost-results { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin:8px 0 0; padding:0; border:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-maintenance-cost-results > div,
body.mobile-ui-active #quoteEditorModal .quote-maintenance-cost-results .mqe-fold-body > div { display:flex; justify-content:space-between; gap:12px; padding:6px 0; min-height:0; border:0; border-bottom:1px solid #edf1f6; border-radius:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-maintenance-cost-results :is(span,strong) { font-size:12px; }
body.mobile-ui-active #quoteEditorModal .quote-editor-head { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:8px; }
body.mobile-ui-active #quoteEditorModal .quote-editor-actions { display:flex; gap:5px; flex-wrap:wrap; }
body.mobile-ui-active #quoteEditorModal .quote-editor-actions button { min-height:32px; width:auto; min-width:0; padding:5px 7px; font-size:11px; }
body.mobile-ui-active #quoteEditorModal #quoteEditorSection > .muted { font-size:10px; line-height:16px; margin-bottom:6px; }
body.mobile-ui-active #quoteEditorModal #quoteEditorSection > .table-scroll { border:0!important; border-radius:0!important; background:none!important; padding:0!important; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table { display:block; min-width:0!important; width:100%; border:0!important; border-radius:0!important; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table thead { display:none; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table tbody { display:grid; gap:0; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table .quote-line-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; padding:0!important; margin:0; border:0!important; border-bottom:1px solid #e5ebf3!important; border-radius:0!important; background:#fff; box-shadow:none; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table .quote-line-row > td { display:block; min-width:0; width:auto; border:0!important; border-radius:0!important; padding:0!important; background:transparent; }
body.mobile-ui-active #quoteEditorModal .quote-line-row > td::before { display:none; }
body.mobile-ui-active #quoteEditorModal .quote-line-row.mqe-line-open { padding:0 0 9px; }
body.mobile-ui-active #quoteEditorModal .quote-line-row:not(.mqe-line-open) > td:not(.mqe-line-summary) { display:none!important; }
body.mobile-ui-active #quoteEditorModal .quote-line-row > .mqe-line-summary { grid-column:1 / -1; }
body.mobile-ui-active #quoteEditorModal .quote-line-row.mqe-line-open > td[data-mqe-label]::before { display:block; content:attr(data-mqe-label); color:#6b7c91; font-size:11px; line-height:17px; margin:0; }
body.mobile-ui-active #quoteEditorModal .quote-line-row > td:has([data-field=itemName],[data-field=spec],[data-field=remark]) { grid-column:1 / -1; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table :is(.mqe-line-toggle,.mqe-group-toggle) { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; grid-template-rows:auto auto; align-items:center; gap:1px 8px; width:100%; min-height:58px; height:auto; padding:8px 0; margin:0; border:0; border-radius:0; background:transparent; text-align:left; color:#29425f; box-shadow:none; }
body.mobile-ui-active #quoteEditorModal .mqe-line-name { grid-column:1; min-width:0; font-size:13px; line-height:19px; overflow-wrap:anywhere; }
body.mobile-ui-active #quoteEditorModal .mqe-line-calculation { grid-row:2; grid-column:1; color:#76869a; font-size:11px; line-height:16px; }
body.mobile-ui-active #quoteEditorModal .mqe-line-amount { grid-row:1 / 3; grid-column:2; font-size:13px; }
body.mobile-ui-active #quoteEditorModal .mqe-chevron { grid-row:1 / 3; grid-column:3; color:#8494a5; font-size:13px; text-align:center; }
body.mobile-ui-active #quoteEditorModal .mqe-line-open .mqe-line-toggle .mqe-chevron,
body.mobile-ui-active #quoteEditorModal .mqe-group-open .mqe-group-toggle .mqe-chevron { transform:rotate(180deg); }
body.mobile-ui-active #quoteEditorModal .quote-line-row .remove-quote-line { min-height:30px; height:30px; width:auto; min-width:0; padding:4px 8px; margin:0; font-size:11px; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table .quote-group-row { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; border:0; border-bottom:1px solid #dce5ef; border-radius:0; background:#f6f8fb; padding:0 6px; margin-top:8px; }
body.mobile-ui-active #quoteEditorModal .quote-group-row > td { display:block; border:0; padding:0; min-width:0; }
body.mobile-ui-active #quoteEditorModal .quote-group-row > td::before { display:none; }
body.mobile-ui-active #quoteEditorModal .quote-group-row:not(.mqe-group-editing) > td:not(.mqe-group-summary) { display:none!important; }
body.mobile-ui-active #quoteEditorModal .quote-group-row > .mqe-group-summary { display:flex; align-items:center; gap:8px; }
body.mobile-ui-active #quoteEditorModal .mqe-group-summary > .mqe-group-toggle { flex:1; min-width:0; }
body.mobile-ui-active #quoteEditorModal .mqe-group-summary > .mqe-group-manage { flex:none; width:auto; min-width:0; min-height:30px; height:30px; margin:0; padding:3px 0; color:#5b728b; font-size:11px; border:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-group-row :is(.quote-group-spacer,.quote-group-subtotal-label-cell,.quote-group-subtotal-value-cell) { display:none!important; }
body.mobile-ui-active #quoteEditorModal .quote-group-row .mqe-group-toggle { min-height:40px; grid-template-rows:auto; grid-template-columns:minmax(0,1fr) auto auto 12px; padding:7px 0; }
body.mobile-ui-active #quoteEditorModal .mqe-group-toggle strong { font-size:12px; line-height:18px; }
body.mobile-ui-active #quoteEditorModal .mqe-group-toggle span { color:#76869a; font-size:10px; }
body.mobile-ui-active #quoteEditorModal .mqe-group-toggle b { font-size:12px; }
body.mobile-ui-active #quoteEditorModal .mqe-group-toggle .mqe-chevron { grid-column:4; grid-row:1; }
body.mobile-ui-active #quoteEditorModal .quote-group-actions-cell { display:flex!important; gap:8px; padding-bottom:6px!important; }
body.mobile-ui-active #quoteEditorModal .quote-group-actions-cell button { min-height:30px; height:30px; width:auto; padding:4px 8px; font-size:11px; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table :is(.mqe-group-hidden,.quote-group-subtotal-row) { display:none!important; }
body.mobile-ui-active #quoteEditorModal .quote-editor-table .quote-settlement-row { display:flex; justify-content:space-between; padding:7px 0; gap:8px; border:0; border-bottom:1px solid #edf1f6; border-radius:0; background:none; }
body.mobile-ui-active #quoteEditorModal .quote-settlement-row > td { padding:0; border:0; width:auto; font-size:12px; }
body.mobile-ui-active #quoteEditorModal .quote-settlement-row :is(.quote-cell-index,.quote-settlement-spacer) { display:none; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions { position:fixed; bottom:max(0px,calc(var(--mq-layout-height,100dvh) - var(--mq-visible-top,0px) - var(--mq-visible-height,100dvh))); left:0; right:0; z-index:11; display:flex; flex-direction:row!important; flex-wrap:nowrap; gap:6px; align-items:center!important; margin:0; padding:9px 12px max(9px,env(safe-area-inset-bottom)); min-height:54px; box-sizing:border-box; border-top:1px solid #dce5ef; background:#fff; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions button { flex:0 0 auto!important; width:auto; min-width:64px; height:36px; min-height:36px; padding:6px 10px; margin:0; font-size:12px; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions .quote-draft-save-state { flex:1 1 40px!important; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px; line-height:16px; color:#74879b; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions:has(.quote-draft-save-state.is-error) { flex-wrap:wrap; }
body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions .quote-draft-save-state.is-error { flex:1 0 100%!important; white-space:normal; color:#b42318; overflow:visible; }
body.mobile-ui-active #quoteEditorModal #quoteForm:has(.quote-draft-save-state.is-error) { padding-bottom:115px; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu { position:relative; padding:0; margin:0; border:0; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu > summary { display:block; color:#5c718a; cursor:pointer; list-style:none; padding:4px 1px; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu > summary::-webkit-details-marker { display:none; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu-body { display:none; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu[open] > .mqe-editor-menu-body { display:grid; position:absolute; top:36px; right:0; z-index:30; background:#fff; box-shadow:0 5px 24px #203b5b22; border:1px solid #dce5ef; border-radius:7px; padding:4px; min-width:140px; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu-body > button { min-height:36px; height:36px; border:0; color:#38536c; white-space:nowrap; text-align:left; background:#fff; }
body.mobile-ui-active #quoteEditorModal .mqe-editor-menu-body > #cancelQuoteEdit { color:#ad3434; }
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-row {grid-template-columns:minmax(0,1fr);gap:6px;padding:8px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-row > * {grid-column:1;grid-row:auto;min-width:0;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-check {white-space:normal;overflow:visible;font-size:12px;line-height:18px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-check > span {white-space:normal;overflow:visible;overflow-wrap:anywhere;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-content {display:flex;flex-wrap:wrap;gap:5px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-content select[multiple] {width:100%;min-width:0;height:58px;min-height:58px;font-size:12px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-actions {display:flex;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-end;align-items:center!important;gap:5px;}
body.mobile-ui-active #quoteEditorModal .quote-mobile-attachment-order {display:contents;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-actions button {flex:0 0 auto!important;width:auto!important;min-width:0;min-height:32px;height:32px;margin:0;padding:4px 7px;font-size:12px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-selected-files {font-size:11px;line-height:17px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-images figure {width:116px;max-width:100%;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-images .af-stored-image {width:78px!important;min-width:0;min-height:58px;height:58px;margin:0;padding:5px;font-size:12px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-images .remove-quote-attachment-image {position:absolute;top:0;right:0;width:28px!important;min-width:28px;min-height:28px;height:28px;margin:0;padding:0;line-height:26px;font-size:16px;}
body.mobile-ui-active #quoteEditorModal .quote-proposal-attachment-images figcaption {white-space:normal;overflow:visible;overflow-wrap:anywhere;font-size:11px;line-height:17px;}
@media(max-height:480px) {
  body.mobile-ui-active #quoteEditorModal .quote-form-head { padding:3px 10px; min-height:34px; }
  body.mobile-ui-active #quoteEditorModal .quote-form-head h3 { font-size:13px; }
  body.mobile-ui-active #quoteEditorModal .quote-form-step-nav { padding:0; }
  body.mobile-ui-active #quoteEditorModal .quote-form-step-nav a { min-height:28px; height:28px; }
  body.mobile-ui-active #quoteEditorModal #quoteForm { padding-bottom:59px; scroll-padding-top:32px; scroll-padding-bottom:63px; }
  body.mobile-ui-active #quoteEditorModal #quoteForm .quote-form-save-actions { min-height:46px; padding:5px 10px; }
}
