/* Service checkout and purchase views use the site's existing controls and palette. */
#small-dialog-order-work { width:calc(100% - 32px); max-width:1000px; margin:40px auto; }
#small-dialog-order-work .popup-tab-content { padding:0; }
#small-dialog-order-work .mfp-close { top:14px; right:14px; width:36px; height:36px; line-height:2.25rem; border:0; border-radius:50%; background:#f3f4f4; }
.service-checkout-header { padding:28px 64px 24px 28px; border-bottom:1px solid #e5e9e7; }
.service-checkout-header h2 { font-size:1.625rem; margin:8px 0; }
.service-checkout-header p { color:#78828b; margin:0; overflow-wrap:anywhere; }
.service-order-kicker { display:block; color:#78828b; font-size:0.875rem; line-height:1.6; margin:0; }
.service-order-kicker i { color:#00b366; margin-right:6px; }
.service-checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; }
.service-checkout-content { padding:28px; min-width:0; }
.service-checkout-section { padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid #e5e9e7; }
.service-checkout-section:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.service-checkout-section h3,.service-checkout-summary h3 { font-size:1.125rem; margin:0 0 14px; }
.service-checkout-section label { font-size:0.875rem; }
.service-checkout-section textarea { min-height:145px; border:1px solid #e1e6e3; box-shadow:none; padding:14px; line-height:1.7; }
.service-checkout-section .service-muted { font-size:0.875rem; margin:10px 0 0; }
.service-checkout-extras { display:grid; gap:10px; margin-top:16px; }
.service-checkout-extra { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:14px; border:1px solid #e3e8e5; border-radius:6px; transition:background .2s,border-color .2s; }
.service-checkout-extra:has(input:checked) { background:#f1faf5; border-color:#00b366; }
.service-checkout-extra .checkbox label { font-size:0.875rem; line-height:1.7; overflow-wrap:anywhere; }
.service-checkout-extra-price { text-align:right; white-space:nowrap; }
.service-checkout-extra-price strong { display:block; font-size:0.9375rem; font-weight:500; }
.service-checkout-extra-price small { display:block; color:#78828b; font-size:0.875rem; }
.service-checkout-summary { padding:28px 24px; background:#f5f8f6; border-left:1px solid #e5e9e7; position:sticky; top:0; }
.service-summary-list { margin:0; }
.service-summary-list > div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:12px 0; border-bottom:1px solid #e7ebe8; }
.service-summary-list dt { color:#78828b; font-size:0.875rem; font-weight:400; }
.service-summary-list dd { color:#38434c; font-size:0.875rem; font-weight:500; margin:0; text-align:right; max-width:62%; overflow-wrap:anywhere; }
.service-checkout-total { padding:24px 0 12px; }
.service-checkout-total > span { display:block; font-size:0.875rem; color:#65756a; }
.service-checkout-total strong { display:block; color:#00b366; font-size:1.875rem; line-height:1.5; margin-top:6px; font-weight:600; }
.service-checkout-summary > .service-muted { font-size:0.875rem; margin:0 0 20px; }
.service-checkout-summary .button { padding:13px 14px; line-height:1.5; height:auto; }
.service-checkout-footnote { font-size:0.875rem; line-height:1.6; color:#78828b; margin:14px 0 0; }
.service-checkout-footnote i { margin-right:5px; }
.service-preview-note { padding:14px; margin:0; border:1px solid #dce9e1; background:#fff; border-radius:5px; color:#65756a; font-size:0.875rem; line-height:1.7; }
#work-form-order > .service-order-feedback { margin:20px 28px 0; }
.service-order-page { padding-top:36px; padding-bottom:60px; }
.service-order-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:0 0 24px; }
.service-order-header .deal-title { font-size:1.75rem; line-height:1.4; margin:5px 0 0; overflow-wrap:anywhere; }
.service-order-header .deal-badge { flex-shrink:0; margin-top:9px; }
.service-order-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0 0 28px; }
.service-order-progress li { display:flex; align-items:center; gap:10px; border-bottom:2px solid #e4e9e6; padding:0 0 14px; color:#929b96; font-size:0.875rem; }
.service-order-progress li > span { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex:0 0 26px; border:1px solid #dce3df; border-radius:50%; font-size:0.875rem; }
.service-order-progress .is-current,.service-order-progress .is-complete { color:#009350; border-color:#00b366; }
.service-order-progress .is-current > span,.service-order-progress .is-complete > span { background:#00b366; color:#fff; border-color:#00b366; }
.service-order-status { display:flex; align-items:flex-start; gap:18px; border:1px solid #dfebe4; }
.service-order-status-icon { display:flex; align-items:center; justify-content:center; flex:0 0 44px; height:44px; font-size:1.375rem; color:#00b366; background:#eef8f2; border-radius:8px; }
.service-order-status h2 { font-size:1.125rem; margin:0 0 8px; }
.service-order-status p { margin:0 0 6px; color:#657180; font-size:0.9375rem; line-height:1.7; }
.service-order-status small { color:#78828b; font-size:0.875rem; }
.service-order-status.is-closed { border-color:#e5e8eb; }
.service-order-status.is-closed .service-order-status-icon { color:#78828b; background:#f0f2f4; }
.service-summary-caption { font-size:0.875rem; line-height:1.6; color:#78828b; margin:0; }
.service-order-total { display:block; font-size:1.875rem; color:#00b366; font-weight:600; line-height:1.5; margin:8px 0 16px; }
.service-order-actions { display:grid; gap:12px; margin-top:22px; }
.service-order-actions .service-order-actions { margin:0; }
.service-order-actions .button { width:100%; margin:0; display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; padding:12px 14px; font-size:0.875rem; line-height:1.5; height:auto; }
.service-action-feedback:empty { display:none; }
.service-summary-hint { font-size:0.875rem; color:#78828b; line-height:1.6; margin:0; }
.service-order-peer .deal-profile { align-items:center; }
.service-order-peer .deal-profile-info a { display:block; margin-top:4px; font-size:0.875rem; }
.service-order-peer .deal-profile-info strong { font-size:0.9375rem; }
.service-order-brief .service-brief-text { font-size:0.9375rem; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
.service-order-attachments { margin-top:24px; padding-top:20px; border-top:1px solid #edf0ee; }
.service-order-attachments h3 { font-size:0.9375rem; margin:0 0 14px; }
.service-table-scroll { overflow-x:auto; }
.deal-summary-table .service-line-caption { display:block; color:#8b9590; font-size:0.875rem; font-weight:400; margin-top:4px; }
.service-line-plus { color:#00b366; margin-right:8px; }
.deal-summary-table .service-summary-total td { border-top:2px solid #e0e9e4; font-weight:600; }
.service-order-page .deal-summary-table td { font-size:0.875rem; }
.service-order-page .deal-summary-table td:last-child { white-space:nowrap; }
.service-order-management > .service-setting { padding:24px; margin-bottom:24px; box-shadow:var(--deal-shadow); border-radius:var(--deal-radius); }
.service-order-management textarea,.service-cancellation textarea { min-height:110px; margin-top:10px; font:inherit; line-height:1.7; padding:14px; }
.service-order-management h3 { font-size:1.125rem; margin-bottom:12px; }
.service-cancellation { background:#fff; margin:24px 0; }
.service-cancellation summary,.service-workspace-brief summary { display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; font-size:0.875rem; color:#48525b; font-weight:500; }
.service-cancellation summary::-webkit-details-marker,.service-workspace-brief summary::-webkit-details-marker { display:none; }
.service-cancellation summary > i:last-child,.service-workspace-brief summary > i { margin-left:auto; transition:transform .2s; }
.service-cancellation[open] summary > i:last-child,.service-workspace-brief[open] summary > i { transform:rotate(180deg); }
.service-cancellation-content { margin-top:18px; padding-top:16px; border-top:1px solid #e5eae7; animation:fadeIn .2s ease; }
.service-cancellation-content label { font-size:0.875rem; }
.service-cancellation-reason { padding:14px; background:#f6f8f7; border-radius:5px; margin-bottom:18px; }
.service-cancellation-reason p { margin:6px 0 0; overflow-wrap:anywhere; }
.deal-sidebar-column > .service-cancellation { margin:0 0 24px; padding:20px; border:1px solid #e6eae8; border-radius:var(--deal-radius,8px); }
.deal-sidebar-column .service-cancellation-content { font-size:0.875rem; line-height:1.7; }
.deal-sidebar-column .service-cancellation-content .button { display:block; width:100%; white-space:normal; line-height:1.6; margin-top:10px; text-align:center; }
.deal-sidebar-column .service-action-buttons { display:block; }
.service-cancel-counter { display:inline-block; margin:0 0 14px; padding:4px 10px; background:#f2f5f3; border-radius:4px; font-size:0.875rem; color:#65736c; }
.service-arbitration-compose { padding:20px; margin:20px 0; border:1px solid #e4eae6; border-radius:6px; }
.service-arbitration-compose textarea { min-height:100px; }
.service-action-buttons { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.service-workspace-brief { padding:18px 0; border-bottom:1px solid #e7ece9; }
.service-workspace-brief > div { padding-top:14px; overflow-wrap:anywhere; animation:fadeIn .2s ease; }
.service-workspace-brief p { font-size:0.875rem; line-height:1.8; }
@media(max-width:800px) { .service-checkout-layout { grid-template-columns:1fr; } .service-checkout-summary { position:static; border-left:0; border-top:1px solid #e5e9e7; } }
@media(max-width:575px) { #small-dialog-order-work { width:calc(100% - 20px); margin:20px auto; } .service-checkout-header { padding:24px 54px 20px 20px; } .service-checkout-header h2 { font-size:1.375rem; } .service-checkout-content,.service-checkout-summary { padding:20px; } .service-checkout-extra { padding:12px; gap:12px; } .service-order-header { flex-direction:column; gap:12px; } .service-order-header .deal-title { font-size:1.4375rem; } .service-order-progress { gap:10px; } .service-order-progress li { gap:7px; flex-direction:column; align-items:flex-start; font-size:0.875rem; } .service-order-status { padding:20px; gap:12px; } .service-order-status-icon { flex-basis:36px; height:36px; font-size:1.125rem; } .service-order-management > .service-setting { padding:18px; } .service-action-buttons { flex-direction:column; align-items:stretch; } }
