/* Readable payment selection and compact form controls in both themes. */
:root{--border:var(--line);--surface-soft:var(--soft);--text:var(--ink)}
.payment-choice-dialog{background:var(--surface,#fff);color:var(--ink,#172b3b);border-color:var(--line,#cfe1f0)}
.payment-choice-dialog h2,.payment-choice-dialog p,.payment-choice-dialog label{color:var(--ink,#172b3b)}
.payment-choice-dialog p{opacity:.82}
.payment-choice-dialog label{justify-content:flex-start;border-color:var(--line,#b7cedf);background:var(--soft,#f3f7fa);font-size:13px;min-height:54px}
.payment-choice-dialog label:has(input:checked){background:color-mix(in srgb,var(--primary,#0085ff) 17%,var(--surface,#fff));border-color:var(--primary,#0085ff)}
.payment-choice-dialog input[type=radio]{appearance:auto!important;display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;padding:0!important;margin:0!important;flex:0 0 18px!important;accent-color:var(--primary,#0085ff)}
.payment-choice-dialog button:not(.primary){background:var(--soft,#eef3f4);color:var(--ink,#172b3b);border:1px solid var(--line,#dce5e7)}
.form-grid select,.form-grid .search-select-button,.payment-plan-fields select,.payment-frequency-control select{min-height:40px;padding-top:7px;padding-bottom:7px;border-radius:10px;font-size:13px}
.search-select-panel input{min-height:38px}
.numeric-edit-wrap{position:relative;display:block;width:100%;min-width:0}
.numeric-edit-wrap>input{width:100%;padding-right:42px;box-sizing:border-box;appearance:textfield;-moz-appearance:textfield}
.numeric-edit-wrap>input::-webkit-outer-spin-button,.numeric-edit-wrap>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.numeric-select-all{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:8px;background:var(--soft,#eef3f4);color:var(--ink,#172b3b);font-size:17px;line-height:1;cursor:pointer}
.numeric-select-all:hover,.numeric-select-all:focus-visible{background:color-mix(in srgb,var(--primary,#0085ff) 19%,var(--surface,#fff));outline:2px solid var(--primary,#0085ff)}
.quote-line-order{display:flex;gap:4px;grid-column:1/-1;justify-content:flex-end}
.quote-line-order button{width:36px;min-width:36px;min-height:32px;padding:0;font-size:18px}
#dossier-workspace-modal .dossier-workspace-card{min-height:0}
#dossier-workspace-modal .dossier-tabs{position:relative;z-index:2;flex:0 0 auto;background:var(--surface,#fff)}
#dossier-workspace-body{min-height:0;flex:1 1 auto;overscroll-behavior:contain}
@media(max-width:760px){.quote-line-order{grid-column:1;justify-content:flex-start}.payment-choice-dialog{padding:20px}.payment-choice-dialog label{min-height:48px}}
/* Client choices remain attached to their editor row when moved. */
#quote-lines .quote-line.client-service-selected{background:#f0fbf4;border:2px solid #65b584;box-shadow:inset 4px 0 0 #269153}
#quote-lines .quote-line.client-service-unselected{border:1px dashed #b9c8d2}
.client-service-choice{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;background:#e3f5e9;color:#176b39;font-size:12px;font-weight:750;line-height:1.4}
.client-service-selected .client-service-choice:before{content:'✓';font-size:15px}
.client-service-unselected .client-service-choice{background:#e7edf1;color:#566b7a}
