/* Keep service content out of the legacy amount form's side-by-side grid. */
.operation-amount-card.operation-services-card{grid-template-columns:minmax(0,1fr);gap:16px}
.operation-services-card>*,.operation-services-card .operation-section-heading{grid-column:1/-1;min-width:0}
.operation-service-lines{min-width:0;color:#071a3d}
.operation-services-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.operation-services-heading h3{display:flex;align-items:center;gap:8px;margin:0;font:700 1.02rem Outfit,sans-serif}
.operation-services-heading h3>span{display:inline-grid;place-items:center;min-width:24px;min-height:24px;padding:0 6px;border-radius:8px;background:#edf3fa;color:#42617f;font-size:.75rem}
.operation-services-heading p{margin:4px 0 0;color:#718198;font-size:.76rem;line-height:1.5}
.operation-service-lines button,.operation-service-picker button{font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.operation-service-lines .operation-service-add{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid #f5b975;border-radius:10px;background:#fff6eb;color:#b85b00;font-size:.8rem;font-weight:700}
.operation-service-add>span{font-size:1.15rem;line-height:1}
.operation-service-row{border-bottom:1px solid #e2e9f2}
.operation-service-line-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 0}
.operation-service-description{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;min-width:0}
.operation-service-description>strong{font-size:.88rem;overflow-wrap:anywhere}
.operation-service-origin{padding:3px 7px;border-radius:6px;background:#eef2f7;color:#61738a;font-size:.62rem;line-height:1.4}
.operation-service-origin.is-appointment{background:#fff0de;color:#a65400}
.operation-service-units{flex-basis:100%;color:#728198;font-size:.74rem;line-height:1.4}
.operation-service-subtotal{font-size:.88rem;text-align:right;overflow-wrap:anywhere}
.operation-service-actions{display:flex;align-items:center;gap:4px}
.operation-service-actions button{min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#214d80;font-size:.76rem}
.operation-service-actions .operation-service-remove{width:44px;padding:0;font-size:1.4rem;color:#8c6170}
.operation-service-actions button:hover{background:#eff4fa}
.operation-service-actions .operation-service-remove:hover{background:#fff1f1;color:#ad2727}
.operation-service-actions button[aria-expanded=true]{border-color:#cad9eb;background:#edf4fc}
.operation-service-editor{display:grid;grid-template-columns:minmax(0,2fr) minmax(70px,.65fr) minmax(100px,1fr);gap:12px;margin-bottom:12px;padding:14px;border:1px solid #dce6f3;border-radius:12px;background:#f5f8fc}
.operation-service-editor label{display:grid;gap:6px;min-width:0;font-size:.75rem;color:#45617e}
.operation-service-editor input,.operation-service-search input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #ccdbee;border-radius:9px;font:inherit;background:#fff;color:#071a3d}
.operation-service-editor input[readonly]{background:#edf2f8;color:#61738a}
.operation-service-editor input:focus-visible,.operation-service-search input:focus-visible{outline:3px solid #f6a45455;border-color:#f68b1f}
.operation-service-lines button:focus-visible,.operation-service-picker button:focus-visible{outline:3px solid #2468b8;outline-offset:2px}
.operation-services-empty{margin:0;padding:13px 14px;border:1px dashed #d5dfec;border-radius:10px;background:#fafbfd;color:#718198;font-size:.78rem;line-height:1.5}
.operation-service-lines [data-services-error]{margin:10px 0 0;color:#a32626;font-size:.8rem;line-height:1.5}
.operation-calculation-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:4px}
.operation-calculation-footer>.vx-button{flex-shrink:0;min-height:44px;justify-content:center;font-size:.82rem}
.operation-service-total{display:none}
.operation-services-card.has-service-items>.operation-manual-heading,.operation-services-card.has-service-items>.operation-amount-field,.operation-services-card.has-service-items .operation-quick-row{display:none}
.operation-services-card.has-service-items .operation-service-total{display:grid;gap:4px}
.operation-service-total>span{color:#718198;font-size:.75rem}
.operation-service-total>output{color:#071a3d;font:800 1.18rem Outfit,sans-serif}
.operation-calculation-footer .operation-quick-row{flex:1 1 360px;flex-wrap:wrap}
.operation-calculation-footer .operation-quick-amounts{grid-template-columns:repeat(4,minmax(50px,1fr))}
.operation-agenda-context{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin:0;padding:10px 12px;border:1px solid #ffe1be;border-radius:10px;background:#fff8ef;color:#8a5a2b;font-size:.74rem;line-height:1.5}
.operation-agenda-context a{flex-shrink:0;color:#b8600c;font-weight:700}
.operation-agenda-context i{margin-right:5px;color:#f68b1f}
/* Native dialog supplies focus containment, Escape handling, and a top-layer backdrop. */
dialog.operation-service-picker{width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #dce6f3;border-radius:18px;background:#fff;color:#071a3d;box-shadow:0 24px 80px #071a3d44;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
dialog.operation-service-picker::backdrop{background:#071a3d77;backdrop-filter:blur(3px)}
.operation-service-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 12px}
.operation-service-picker h3{margin:0;font:700 1.12rem Outfit,sans-serif}
.operation-service-picker header p{margin:5px 0 0;color:#718198;font-size:.78rem;line-height:1.5}
.operation-service-picker [data-service-picker-close]{flex-shrink:0;width:44px;height:44px;border:1px solid #dce6f3;border-radius:10px;background:#f5f8fc;color:#42617f}
.operation-service-search{display:grid;gap:7px;margin:0 20px 12px;font-size:.76rem;color:#61738a}
.operation-service-search input{font-size:.88rem}
.operation-service-results{max-height:340px;overflow:auto;padding:0 20px;overscroll-behavior:contain}
.operation-service-picker .operation-service-result{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 0;border:0;border-bottom:1px solid #e5ebf3;background:#fff;text-align:left;color:#173b6c}
.operation-service-result>span:first-child{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.operation-service-result strong{font-size:.85rem}
.operation-service-result>strong{text-align:right;overflow-wrap:anywhere}
.operation-service-result small{color:#718198;font-size:.74rem;font-weight:400}
.operation-service-result-add{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#fff0de;color:#b85b00;font-size:1.1rem}
.operation-service-picker .operation-service-result:hover{background:#f8fafd}
.operation-service-search-empty{padding:12px 20px;color:#718198;font-size:.8rem;line-height:1.5}
.operation-service-picker>footer{display:grid;gap:6px;padding:16px 20px 20px;margin-top:10px;border-top:1px solid #e2e9f2;background:#f8fafd}
.operation-service-picker [data-service-manual]{min-height:44px;padding:10px;border:1px solid #cad9eb;border-radius:10px;background:#fff;color:#214d80}
.operation-service-picker footer small{color:#718198;font-size:.74rem;text-align:center}
.operation-service-lines [hidden],.operation-service-picker [hidden]{display:none!important}
/* Existing receipt and Agenda completion presentation. */
.operation-service-summary{padding:16px;margin:16px 0;background:#f5f8fc;border-radius:12px;overflow-wrap:anywhere}
.operation-service-summary article{padding:12px 0;border-bottom:1px solid #dce6f3;display:grid;gap:5px}
.operation-service-summary small{font-size:12px}
.agenda-complete-choices{padding:12px;border:1px solid #dce6f3;border-radius:10px}
.agenda-complete-choices summary{cursor:pointer;font-weight:600}
.agenda-complete-choices a,.agenda-complete-choices button{display:block;margin-top:10px;width:100%;padding:12px;text-align:center;box-sizing:border-box;border-radius:8px;border:1px solid #ccdbee;background:#fff;color:#123b74}
.agenda-complete-choices small{display:block;line-height:1.5;margin-top:8px}
/* Confirmation: only the detail scrolls; total and actions stay in view. */
dialog.operation-confirm-compact{width:min(760px,calc(100vw - 32px));max-height:min(90dvh,760px);overflow:hidden;box-sizing:border-box}
dialog.operation-confirm-compact[open]{display:flex;flex-direction:column}
.operation-confirm-compact>.operation-confirm-header{flex-shrink:0;gap:12px;padding:16px 20px;padding-right:68px}
.operation-confirm-compact .operation-confirm-header>span{flex-basis:40px;height:40px;border-radius:12px}
.operation-confirm-compact .operation-confirm-header h2{margin:0 0 3px;font-size:1.17rem}
.operation-confirm-compact .operation-confirm-header .operation-modal-close{top:16px;right:16px}
.operation-confirm-compact>.operation-confirm-body{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;padding:16px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.operation-confirm-compact .operation-confirm-detail{min-width:0}
.operation-confirm-compact .operation-confirm-entities{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.operation-confirm-compact .operation-confirm-entities article{padding:9px 10px;min-width:0}
.operation-confirm-compact .operation-confirm-entities article>span{flex-shrink:0}
.operation-confirm-compact .operation-confirm-entities .operation-avatar{width:36px;height:36px;border-radius:11px}
.operation-confirm-compact .operation-confirm-entities article>div{min-width:0;overflow-wrap:anywhere}
.operation-confirm-compact .operation-confirm-detail>h3{margin:14px 0 2px}
.operation-confirm-compact .operation-confirm-body dl>div{display:flex;align-items:center;padding:8px 0;gap:12px}
.operation-confirm-compact .operation-confirm-original dd{font-size:1.06rem}
.operation-confirm-compact .operation-service-summary{margin:12px 0 0;padding:0 12px;border:1px solid #e0e8f3;background:#f8fafd;border-radius:12px}
.operation-confirm-compact .operation-service-summary h3{display:flex;align-items:center;gap:8px;margin:0;padding:10px 0;font:700 .84rem Outfit,sans-serif;border-bottom:1px solid #e2e9f2}
.operation-confirm-compact .operation-service-summary h3>span{padding:2px 6px;border-radius:5px;background:#eaf1fa;color:#42617f;font-size:.7rem}
.operation-confirm-compact .operation-service-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0}
.operation-confirm-compact .operation-service-summary article:last-child{border-bottom:0}
.operation-confirm-compact .operation-service-summary article>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}
.operation-confirm-compact .operation-service-summary article strong{font-size:.83rem;overflow-wrap:anywhere}
.operation-confirm-compact .operation-service-summary article small{flex-basis:100%;font-size:.71rem;line-height:1.4;color:#718198}
.operation-confirm-compact .operation-service-summary article>b{font-size:.84rem;text-align:right;overflow-wrap:anywhere}
.operation-confirm-compact .operation-confirm-appointment-note{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0;color:#64768d;font-size:.73rem;line-height:1.5}
.operation-confirm-compact .operation-confirm-appointment-note i{margin-top:3px;color:#d77b19}
.operation-confirm-compact .operation-confirm-savings{margin-top:10px;padding:8px 10px}
.operation-confirm-compact .operation-after-confirm{margin:0;padding:10px 12px;border:1px solid #deeee6;border-radius:10px;background:#f2faf6}
.operation-confirm-compact .operation-after-confirm h3{margin:0 0 5px;font-size:.75rem}
.operation-confirm-compact .operation-after-confirm ul{display:flex;flex-wrap:wrap;gap:5px 16px}
.operation-confirm-compact .operation-after-confirm li{font-size:.72rem;line-height:1.45}
.operation-confirm-compact>.operation-confirm-footer{flex:0 0 auto;background:#fff;border-top:1px solid #dce6f0;box-shadow:0 -6px 20px #071a3d08}
.operation-confirm-compact .operation-confirm-total{align-items:center;gap:12px;margin:0;padding:12px 20px;border:0}
.operation-confirm-compact .operation-confirm-total>span{font-size:.85rem}
.operation-confirm-compact .operation-confirm-total>strong{font-size:1.5rem;overflow-wrap:anywhere;text-align:right}
.operation-confirm-compact .operation-confirm-actions{grid-template-columns:minmax(100px,.32fr) minmax(0,1fr);gap:10px;padding:0 20px 16px;border:0;background:#fff}
.operation-confirm-compact .operation-confirm-actions .operation-modal-back{grid-row:auto;min-height:44px;padding:10px 14px}
.operation-confirm-compact .operation-confirm-actions form{grid-row:auto;min-width:0}
.operation-confirm-compact .operation-confirm-actions .operation-confirm-submit{min-height:44px;font-size:.84rem}
@media(max-width:480px){
    dialog.operation-confirm-compact{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
    .operation-confirm-compact>.operation-confirm-header{padding:14px;padding-right:58px;gap:10px}
    .operation-confirm-compact .operation-confirm-header>span{flex-basis:34px;height:34px}
    .operation-confirm-compact .operation-confirm-header h2{font-size:1.02rem}
    .operation-confirm-compact .operation-confirm-header p{font-size:.72rem}
    .operation-confirm-compact .operation-confirm-header .operation-modal-close{top:14px;right:12px}
    .operation-confirm-compact>.operation-confirm-body{padding:12px 14px;gap:10px}
    .operation-confirm-compact .operation-confirm-entities{grid-template-columns:minmax(0,1fr);gap:6px}
    .operation-confirm-compact .operation-confirm-entities article{padding:7px 9px}
    .operation-confirm-compact .operation-confirm-entities article>span:not(.operation-avatar){width:30px;height:30px}
    .operation-confirm-compact .operation-confirm-entities .operation-avatar{width:30px;height:30px}
    .operation-confirm-compact .operation-confirm-total{padding:10px 14px}
    .operation-confirm-compact .operation-confirm-total>strong{font-size:1.2rem}
    .operation-confirm-compact .operation-confirm-actions{padding:0 14px max(14px,env(safe-area-inset-bottom));grid-template-columns:80px minmax(0,1fr);gap:8px}
    .operation-confirm-compact .operation-service-summary{padding-inline:10px}
    .operation-confirm-compact .operation-service-summary article{gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
}
@media(max-height:500px){
    dialog.operation-confirm-compact{max-height:calc(100dvh - 12px)}
    .operation-confirm-compact>.operation-confirm-header{padding-top:10px;padding-bottom:10px}
    .operation-confirm-compact .operation-confirm-total{padding-top:8px;padding-bottom:8px}
    .operation-confirm-compact .operation-confirm-actions{padding-bottom:10px}
}
@media(max-width:720px){
    .operation-services-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
    .operation-service-line-summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
    .operation-service-description{grid-column:1/-1}
    .operation-service-subtotal{justify-self:start;text-align:left}
    .operation-service-actions{justify-self:end}
    .operation-service-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;gap:10px}
    .operation-service-editor label:first-child{grid-column:1/-1}
    .operation-service-editor input,.operation-service-search input{font-size:16px}
    .operation-calculation-footer{align-items:stretch}
    .operation-calculation-footer>.vx-button{width:100%}
    .operation-calculation-footer .operation-quick-row{flex-basis:100%}
    .operation-calculation-footer .operation-quick-amounts{width:100%}
    dialog.operation-service-picker{width:100%;max-height:calc(100dvh - 20px);margin:auto 0 0;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}
    .operation-service-picker>header{padding:18px 16px 12px}
    .operation-service-search{margin-inline:16px}
    .operation-service-results{padding-inline:16px;max-height:40dvh}
    .operation-service-picker .operation-service-result{gap:10px;grid-template-columns:minmax(0,1fr) auto 28px}
    .operation-service-picker>footer{padding-inline:16px}
}
