/* Scoped Ant Design form interaction and layout. */
#moduleModal.ant-quote-modal { width:min(1040px, calc(100vw - 48px)); border-radius:12px; background:#fff; box-shadow:0 16px 48px #0003; }
.ant-quote-modal .modal-heading { padding:22px 28px; border-bottom:1px solid #f0f0f0; }
.ant-quote-modal .modal-heading h2 { font-size:21px; color:#1f1f1f; }
.ant-quote-modal .modal-heading .eyebrow { color:#8c8c8c; letter-spacing:1px; }
.ant-quote-modal #moduleFormContent { padding:8px 28px 24px; background:#fafafa; }
.ant-quote-modal .form-section { margin:16px 0 0; padding:22px 24px; border:1px solid #f0f0f0; border-radius:8px; background:white; }
.ant-quote-modal .form-section h3 { margin:0 0 22px; color:#262626; font-size:15px; font-weight:600; display:flex; align-items:center; gap:10px; }
.ant-quote-modal .form-section h3::before { content:''; width:3px; height:15px; background:#1677ff; border-radius:2px; }
.ant-quote-modal .form-grid { gap:22px 24px; }
.ant-quote-modal .field { min-width:0; gap:8px; }
.ant-quote-modal .field > span,.ant-quote-modal .field > legend { color:#262626; font-size:14px; font-weight:400; }
.ant-quote-modal .field b { color:#ff4d4f; }
.ant-quote-modal .field input:not([type=checkbox]):not([type=hidden]),.ant-quote-modal .field textarea { width:100%; min-height:40px; border:1px solid #d9d9d9; border-radius:6px; padding:8px 11px; color:#262626; background:white; font-size:14px; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.ant-quote-modal .field textarea { min-height:88px; resize:vertical; line-height:1.7; }
.ant-quote-modal .field input:hover,.ant-quote-modal .field textarea:hover { border-color:#4096ff; }
.ant-quote-modal .field input:focus,.ant-quote-modal .field textarea:focus { outline:0; border-color:#1677ff; box-shadow:0 0 0 2px #1677ff1a; }
.ant-quote-modal .field input::placeholder,.ant-quote-modal .field textarea::placeholder { color:#bfbfbf; font-size:13px; }
.ant-quote-modal .field input:disabled { color:#bfbfbf; background:#f5f5f5; cursor:not-allowed; }
.ant-quote-modal .quote-native-select { display:none !important; }
.ant-quote-modal .quote-select { position:relative; width:100%; }
.ant-quote-modal .quote-select input { padding-right:58px !important; cursor:pointer; }
.quote-select-arrow { position:absolute; right:13px; top:9px; pointer-events:none; color:#8c8c8c; }
.quote-select-clear { position:absolute; right:30px; top:8px; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; color:#999; cursor:pointer; font-size:18px; }
.quote-select-clear:hover { color:#262626; background:#f0f0f0; }
.quote-select-popup { position:fixed; z-index:2000; padding:4px; border-radius:8px; background:white; overflow:auto; box-shadow:0 6px 16px #0002,0 3px 6px #0000001f; font-size:14px; }
.quote-select-popup [role=option] { padding:9px 12px; min-height:36px; border-radius:4px; cursor:pointer; color:#262626; overflow-wrap:anywhere; }
.quote-select-popup [role=option]:hover,.quote-select-popup .is-active { background:#f5f5f5; }
.quote-select-popup [aria-selected=true] { background:#e6f4ff; font-weight:600; }
.quote-select-empty { padding:24px; color:#8c8c8c; text-align:center; }
.ant-quote-modal .quote-field-invalid input:not([type=hidden]),.ant-quote-modal .quote-field-invalid textarea { border-color:#ff4d4f; }
.ant-quote-modal .quote-field-invalid input:focus { box-shadow:0 0 0 2px #ff4d4f1a; }
.ant-quote-modal .quote-field-error { color:#ff4d4f; font-size:12px; line-height:1.5; }
.ant-quote-modal .quote-calc-action { align-items:center; gap:16px; margin:0; }
.ant-quote-modal .quote-calc-action > span { color:#8c8c8c; font-size:12px; line-height:1.7; }
.ant-quote-modal .empty-calculation { border:1px dashed #d9d9d9; background:#fafafa; color:#8c8c8c; border-radius:8px; padding:28px; }
.ant-quote-modal .quote-recommendation { border:1px solid #d9d9d9; border-radius:8px; box-shadow:none; }
.ant-quote-modal .quote-recommendation.selected { border-color:#1677ff; background:#f0f7ff; }
.ant-quote-modal .calculation-heading p { line-height:1.6; }
.ant-quote-modal .primary-button,.ant-quote-modal .secondary-button { min-height:36px; border-radius:6px; padding:7px 18px; font-size:14px; box-shadow:none; }
.ant-quote-modal .primary-button { background:#1677ff; border:1px solid #1677ff; }
.ant-quote-modal .secondary-button { background:white; border:1px solid #d9d9d9; color:#262626; }
.ant-quote-modal .secondary-button:hover { border-color:#4096ff; color:#1677ff; }
.ant-quote-modal .form-footer { background:white; border-top:1px solid #f0f0f0; padding:16px 28px; gap:12px; }
@media(max-width:760px) { #moduleModal.ant-quote-modal { width:100vw; height:100dvh; max-height:100dvh; border-radius:0; } .ant-quote-modal .modal-heading { padding:16px; } .ant-quote-modal .modal-heading h2 { font-size:18px; } .ant-quote-modal #moduleFormContent { padding:0 12px 16px; } .ant-quote-modal .form-section { padding:18px 16px; margin-top:12px; } .ant-quote-modal .form-grid { grid-template-columns:1fr; gap:20px; } .ant-quote-modal .quote-calc-action { align-items:stretch; flex-direction:column; } .ant-quote-modal .form-footer { padding:12px 16px; } }
