/* WP EasyCart Admin — Shipping ( 6.0.7 ): the three pages' tabs, the ways, live sources, At checkout, weights, the test bench, Rates and Carriers & labels. */
#ecsu [hidden] { display:none !important; }

/* Shipping, Rates, Carriers & labels */
.ecsp-tabs { display:flex; flex-wrap:wrap; gap:4px; margin:0 0 14px; padding:0; border-bottom:1px solid var(--ecv2-g200); }
.ecsp-tab { display:inline-flex; align-items:center; min-height:38px; padding:0 14px; margin-bottom:-1px; border:1px solid transparent; border-radius:8px 8px 0 0; font-size:13.5px; font-weight:600; color:var(--ecv2-g700); text-decoration:none; }
.ecsp-tab:hover, .ecsp-tab:focus-visible { color:var(--ecv2-g900); background:var(--ecv2-g50, #f9fafb); }
.ecsp-tab.is-current { color:var(--ecv2-g900); background:#fff; border-color:var(--ecv2-g200); border-bottom-color:#fff; }

.ecsp-ways { grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); }

/* Your own rates in use: the line under the ways that points to the rate types */
.ecsp-ways-next { display:flex; align-items:flex-start; gap:10px; margin:12px 0 0; padding:10px 12px; border-radius:var(--ecv2-r); background:var(--ecsu-accent-soft); font-size:13px; line-height:1.5; color:var(--ecv2-g800); }
.ecsp-ways-next b { color:var(--ecv2-g900); }
.ecsp-ways-next .ecsu-link { margin-left:4px; }
.ecsp-ways-next-arrow { flex:0 0 auto; width:18px; height:18px; margin-top:1px; background:var(--ecsu-accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 3v11M4 9.5 9 14l5-4.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 3v11M4 9.5 9 14l5-4.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }

/* The rate types as cards ( a radio group: setup-shipping-v2.js moves through them with the arrow keys ) */
.ecsp-modes { display:grid; grid-template-columns:repeat(auto-fill, minmax(176px, 1fr)); gap:10px; }
.ecsp-mode { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; padding:12px 14px; border:1px solid var(--ecv2-g300); border-radius:10px; background:#fff; text-align:left; font:inherit; color:var(--ecv2-g800); cursor:pointer; }
.ecsp-mode:hover { border-color:var(--ecv2-g400, #9ca3af); }
.ecsp-mode:focus-visible { outline:2px solid var(--ecsu-accent); outline-offset:2px; }
.ecsp-mode[aria-checked="true"] { border-color:var(--ecsu-accent); box-shadow:inset 0 0 0 1px var(--ecsu-accent); background:var(--ecsu-accent-soft); }
.ecsp-mode::after { content:""; position:absolute; top:12px; right:12px; width:18px; height:18px; box-sizing:border-box; border:2px solid var(--ecv2-g400, #9ca3af); border-radius:50%; background:#fff; }
.ecsp-mode[aria-checked="true"]::after { border-color:var(--ecsu-accent); background:radial-gradient(circle, var(--ecsu-accent) 0 4px, #fff 4.5px); }
.ecsp-mode-art { display:flex; align-items:center; justify-content:center; width:64px; height:44px; border-radius:8px; background:var(--ecv2-g50, #f9fafb); color:var(--ecv2-g600); }
.ecsp-mode[aria-checked="true"] .ecsp-mode-art { background:#fff; color:var(--ecsu-accent); }
.ecsp-mode-art svg { display:block; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ecsp-mode-art .ecsp-mode-fill { fill:currentColor; stroke:none; }
.ecsp-mode-text { display:flex; flex-direction:column; gap:3px; min-width:0; padding-right:12px; }
.ecsp-mode-text b { font-size:13.5px; line-height:1.35; color:var(--ecv2-g900); }
.ecsp-mode-text span { font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.ecsp-mode-state { margin-top:auto; font-size:11.5px; font-weight:600; color:var(--ecv2-g600); }
.ecsp-mode-state.is-on { color:#067647; }
@media ( max-width: 600px ) {
	.ecsp-modes { grid-template-columns:minmax(0, 1fr); }
	.ecsp-mode { display:grid; grid-template-columns:64px minmax(0, 1fr); align-items:start; gap:4px 12px; padding-right:40px; }
	.ecsp-mode-art { grid-row:1 / span 2; }
	.ecsp-mode-state { grid-column:2; margin-top:0; }
}

/* Your own rates by place */
.ecsp-places { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecsp-places li { display:grid; grid-template-columns:minmax(120px, 180px) minmax(0, 1fr); gap:4px 12px; margin:0; padding:9px 12px; font-size:13px; line-height:1.45; color:var(--ecv2-g700); }
.ecsp-places li + li { border-top:1px solid var(--ecv2-g100); }
.ecsp-places b { color:var(--ecv2-g900); }
.ecsp-places span { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }

/* Live sources */
.ecsp-sources { list-style:none; margin:0; padding:0; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecsp-source { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0; padding:10px 12px; }
.ecsp-source + .ecsp-source { border-top:1px solid var(--ecv2-g100); }
.ecsp-source-text { flex:1 1 220px; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; min-width:0; font-size:13px; color:var(--ecv2-g700); }
.ecsp-source-text > b { font-size:13.5px; color:var(--ecv2-g900); }
.ecsp-source-text > span:last-child { flex-basis:100%; line-height:1.45; }
.ecsp-source .ecpr-sw { flex:1 1 260px; }

/* At checkout */
.ecsp-switches { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:14px 20px; }
.ecsp-amounts { display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:16px; padding-top:14px; border-top:1px solid var(--ecv2-g100); }
.ecsp-amount { display:flex; flex-direction:column; gap:4px; min-width:0; max-width:320px; font-size:13px; color:var(--ecv2-g700); }
.ecsp-amount > span:first-child { font-weight:600; color:var(--ecv2-g900); }
.ecsp-amount small { font-size:12px; line-height:1.4; color:var(--ecv2-g600); }
.ecsp-weights-line.is-warn { color:#92400e; }

/* The test bench */
.ecsp-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.ecsp-test { display:flex; flex-direction:column; gap:12px; }
.ecsp-test fieldset { margin:0; padding:0; border:0; min-width:0; display:flex; flex-direction:column; gap:8px; }
.ecsp-test legend { padding:0; margin:0 0 6px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g600); }
.ecsp-test label { display:flex; flex-direction:column; gap:3px; min-width:0; font-size:12px; color:var(--ecv2-g600); }
.ecsp-test .ecsu-in, .ecsp-test input.ecsu-in { width:100%; }
.ecsp-test .ecsu-unit, .ecsp-test .ecsu-money { display:flex; width:100%; }
.ecsp-test .ecsu-unit .ecsu-in, .ecsp-test .ecsu-money .ecsu-in { flex:1 1 auto; min-width:0; }
.ecsp-test-describe { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.ecsp-test-place { display:grid !important; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:8px !important; }
.ecsp-test-place legend { grid-column:1 / -1; }
.ecsp-test-place label:first-of-type { grid-column:1 / -1; }
.ecsp-seg { display:inline-flex; align-self:flex-start; border:1px solid var(--ecv2-g300); border-radius:8px; overflow:hidden; }
.ecsp-seg button { min-height:32px; padding:0 12px; border:0; background:#fff; font-size:12.5px; color:var(--ecv2-g700); cursor:pointer; }
.ecsp-seg button + button { border-left:1px solid var(--ecv2-g300); }
.ecsp-seg button[aria-checked="true"] { background:var(--ecv2-g900); color:#fff; font-weight:600; }
.ecsp-found { list-style:none; margin:0; padding:4px; border:1px solid var(--ecv2-g200); border-radius:8px; max-height:220px; overflow:auto; }
.ecsp-found li { margin:0; }
.ecsp-pick { display:flex; flex-direction:column; gap:1px; width:100%; padding:6px 8px; border:0; border-radius:6px; background:none; text-align:left; font-size:13px; color:var(--ecv2-g900); cursor:pointer; }
.ecsp-pick:hover, .ecsp-pick:focus-visible { background:var(--ecsu-accent-soft); }
.ecsp-pick small, .ecsp-line-name small { font-size:11.5px; color:var(--ecv2-g600); }
.ecsp-lines { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ecsp-lines li { display:grid; grid-template-columns:minmax(0, 1fr) 56px auto; align-items:center; gap:8px; margin:0; font-size:13px; }
.ecsp-line-name { display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; color:var(--ecv2-g900); }
.ecsp-lines input.ecsp-qty { width:56px; text-align:center; }
.ecsp-test-go { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.ecsp-test-go small { font-size:11.5px; color:var(--ecv2-g600); }
.ecsp-empty { margin:0; font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); }
.ecsp-test-out { margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.ecsp-test-out:empty { display:none; }
.ecsp-for { margin:0; font-size:12px; color:var(--ecv2-g600); overflow-wrap:anywhere; }
.ecsp-blocked { margin:0; padding:8px 10px; border-radius:8px; background:#fffbeb; color:#92400e; font-size:12.5px; line-height:1.45; }
.ecsp-out-title, .ecsp-saved-title { margin:4px 0 0; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g600); }
.ecsp-rates, .ecsp-left, .ecsp-notes { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ecsp-rates li { display:flex; flex-direction:column; gap:2px; margin:0; padding:8px 10px; border:1px solid var(--ecv2-g200); border-radius:8px; font-size:13px; }
.ecsp-rate-head { display:flex; justify-content:space-between; gap:10px; color:var(--ecv2-g900); }
.ecsp-rate-price { font-variant-numeric:tabular-nums; white-space:nowrap; }
.ecsp-how { font-size:12px; line-height:1.45; color:var(--ecv2-g600); overflow-wrap:anywhere; }
.ecsp-notes li, .ecsp-left li { margin:0; font-size:12.5px; line-height:1.45; color:var(--ecv2-g700); }
.ecsp-left b { color:var(--ecv2-g900); }
.ecsp-quotes { margin:0; font-size:11.5px; color:var(--ecv2-g600); }
.ecsp-test-save { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.ecsp-test-save .ecsu-in { flex:1 1 140px; width:auto; }
.ecsp-saved { margin-top:16px; padding-top:12px; border-top:1px solid var(--ecv2-g200); display:flex; flex-direction:column; gap:8px; }
.ecsp-saved-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.ecsp-saved-item { display:flex; align-items:flex-start; gap:8px; margin:0; padding:8px 10px; border:1px solid var(--ecv2-g200); border-radius:8px; }
.ecsp-saved-item.is-moved { border-color:#f59e0b; background:#fffbeb; }
.ecsp-saved-text { flex:1 1 auto; display:flex; flex-direction:column; gap:2px; min-width:0; font-size:12.5px; line-height:1.45; color:var(--ecv2-g700); overflow-wrap:anywhere; }
.ecsp-saved-text b { font-size:13px; color:var(--ecv2-g900); }
.ecsp-moved { color:#92400e; font-weight:600; }
.ecsp-moved-note { margin:0; padding:8px 10px; border-radius:8px; background:#fffbeb; color:#92400e; font-size:12.5px; font-weight:600; }
.ecsp-saved-act { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; }

@media ( max-width: 600px ) {
	.ecsp-places li { grid-template-columns:minmax(0, 1fr); }
	.ecsp-test-describe { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
}

/* Rates ( 6.0.7 part 2 ): who pays what, the places editor's intro */
.ecsh-places-intro { margin:0 0 10px; font-size:13px; line-height:1.5; color:var(--ecv2-g600); }
.ecsh-cover-wrap { overflow-x:auto; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecsh-cover { width:100%; border-collapse:collapse; font-size:13px; min-width:520px; }
.ecsh-cover th, .ecsh-cover td { padding:9px 12px; text-align:left; vertical-align:top; border-top:1px solid var(--ecv2-g100); line-height:1.45; }
.ecsh-cover thead th { border-top:0; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g600); background:var(--ecv2-g50, #f9fafb); }
.ecsh-cover tbody th { font-weight:600; color:var(--ecv2-g900); white-space:nowrap; }
.ecsh-cover td { color:var(--ecv2-g700); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ecsh-cover-tag { display:inline-block; margin-left:6px; padding:0 8px; border-radius:999px; background:var(--ecv2-g100); color:var(--ecv2-g700); font-size:11px; font-weight:600; }
.ecsh-cover-ok { margin:10px 0 0; font-size:13px; font-weight:600; color:#067647; }

/* Carriers & labels ( 6.0.7 part 3 ): the ship-from address, Test the connection */
.ecsc-origin { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:10px 14px; margin:4px 0 0; }
.ecsc-origin label { display:flex; flex-direction:column; gap:4px; min-width:0; font-size:12.5px; font-weight:600; color:var(--ecv2-g700); }
.ecsc-origin .ecv2-input { width:100%; box-sizing:border-box; }
.ecsc-wide { grid-column:1 / -1; }
.ecsc-origin-go { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ecsc-users { margin:12px 0 0; font-size:13px; line-height:1.5; color:var(--ecv2-g700); }

/* Carrier marks ( as Shipping settings draws them; Rates' live services and Carriers & labels ) */
.ecsu-wrap .ecsh-mark { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:7px; font-size:10px; font-weight:800; letter-spacing:.03em; color:#fff; background:var(--ecv2-g700); flex-shrink:0; }
.ecsu-wrap .ecsh-mark-auspost { background:#dc1928; }
.ecsu-wrap .ecsh-mark-canadapost { background:#c8102e; }
.ecsu-wrap .ecsh-mark-dhl { background:#ffcc00; color:#d40511; }
.ecsu-wrap .ecsh-mark-fedex { background:#4d148c; }
.ecsu-wrap .ecsh-mark-ups { background:#351c15; color:#ffb500; }
.ecsu-wrap .ecsh-mark-usps { background:#333366; }
.ecsu-wrap .ecsh-mark-royalmail { background:#da202a; }
.ecsu-wrap .ecsh-mark-fraktjakt { background:#0b6e4f; }

/* Side drawers: Rates' place, Carriers & labels' carrier details ( a <dialog> at the window's right ) */
.ecsu-dialog.ecrt-drawer, .ecsu-dialog.ecst-embed-drawer { width:min(620px, calc(100vw - 32px)); max-width:none; height:100vh; max-height:100vh; margin:0 0 0 auto; border-radius:0; flex-direction:column; }
.ecsu-dialog.ecrt-drawer[open], .ecsu-dialog.ecst-embed-drawer[open] { display:flex; }
.ecsu-dialog.ecrt-drawer .ecsu-dialog-body, .ecsu-dialog.ecst-embed-drawer .ecsu-dialog-body { flex:1 1 auto; overflow:auto; }
.ecst-embed-drawer .ecst-embed-drawer-foot { padding:12px 18px; border-top:1px solid var(--ecv2-g200); background:#fff; }
.ecst-embed-drawer .ecst-group-rows { border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); padding:4px 0; }
.ecsu-fine.is-drawers .ecst-rows-fine { display:none; }
@media ( max-width: 600px ) {
	.ecsu-dialog.ecrt-drawer, .ecsu-dialog.ecst-embed-drawer { width:100vw; }
}

/* ---- Rates ---- */
.ecrt-way { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 14px; padding:12px 16px; background:#fff; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); font-size:13.5px; color:var(--ecv2-g800); }
.ecrt-way b { color:var(--ecv2-g900); }
.ecrt-way-note { color:var(--ecv2-g600); }

.ecrt-rule-choices { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:10px; }
.ecrt-rule-choice { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid var(--ecv2-g300); border-radius:10px; background:#fff; text-align:left; font:inherit; color:var(--ecv2-g800); cursor:pointer; }
.ecrt-rule-choice:hover { border-color:var(--ecv2-g400, #9ca3af); }
.ecrt-rule-choice[aria-checked="true"] { border:2px solid var(--ecsu-accent); padding:11px 13px; background:var(--ecsu-accent-soft); }
.ecrt-radio { flex:0 0 auto; width:18px; height:18px; margin-top:1px; border:2px solid var(--ecv2-g400, #9ca3af); border-radius:50%; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; background:#fff; }
.ecrt-rule-choice[aria-checked="true"] .ecrt-radio { border-color:var(--ecsu-accent); }
.ecrt-rule-choice[aria-checked="true"] .ecrt-radio::after { content:""; width:8px; height:8px; border-radius:50%; background:var(--ecsu-accent); }
.ecrt-rule-text { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ecrt-rule-text b { font-size:13.5px; color:var(--ecv2-g900); }
.ecrt-rule-text span { font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); overflow-wrap:anywhere; }
/* The zone rule's example: an order to one of the store's places, and what it gets under each answer */
.ecrt-rule-example { margin:0 0 10px; font-size:13px; line-height:1.5; font-weight:600; color:var(--ecv2-g800); overflow-wrap:anywhere; }
.ecrt-rule-text .ecrt-rule-head { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; }
.ecrt-rule-text .ecrt-rule-tag { display:inline-block; padding:0 8px; border-radius:999px; background:var(--ecv2-g100); font-size:11px; font-weight:600; line-height:1.7; color:var(--ecv2-g700); vertical-align:1px; }
.ecrt-rule-text .ecrt-rule-offer { margin-top:4px; padding:6px 8px; border-radius:6px; background:var(--ecv2-g50, #f9fafb); font-size:12.5px; color:var(--ecv2-g800); font-variant-numeric:tabular-nums; }
.ecrt-rule-choice[aria-checked="true"] .ecrt-rule-offer { background:#fff; }
.ecrt-rule-note { margin:10px 0 0; padding:8px 10px; border-radius:8px; background:var(--ecv2-g50, #f9fafb); font-size:12.5px; line-height:1.45; color:var(--ecv2-g700); }

.ecrt-place { scroll-margin-top:72px; }
.ecrt-place-head { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px 12px; }
.ecrt-place-head .ecsu-card-head { flex:1 1 240px; min-width:0; }
.ecrt-table-wrap { overflow-x:auto; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecrt-table { width:100%; border-collapse:collapse; font-size:13px; }
.ecrt-table th, .ecrt-table td { padding:8px 10px; text-align:left; vertical-align:middle; border-top:1px solid var(--ecv2-g100); }
.ecrt-table thead th { border-top:0; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ecv2-g600); background:var(--ecv2-g50, #f9fafb); white-space:nowrap; }
.ecrt-table td:first-child { min-width:180px; }
.ecrt-table td:first-child > input.ecv2-input { width:100%; min-width:160px; box-sizing:border-box; }
.ecrt-table tr.ecrt-new td { background:var(--ecv2-g50, #f9fafb); }
.ecrt-act { width:1%; text-align:right; white-space:nowrap; }
.ecrt-remove { color:var(--ecv2-g700); }
.ecrt-remove.is-sure { border-color:#b42318; color:#b42318; background:#fef3f2; }
.ecsu-wrap .ecrt-money input.ecsu-in.ecsu-money-in { width:96px; }
.ecrt-money-word { display:flex; align-items:center; padding:0 8px; font-size:12px; color:var(--ecv2-g600); border-right:1px solid var(--ecv2-g200); background:#fff; }
.ecrt-band { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--ecv2-g700); }
.ecrt-band-to { font-size:12.5px; color:var(--ecv2-g600); white-space:nowrap; }
.ecrt-checks { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12.5px; }
.ecrt-check.is-ok { color:#067647; font-weight:600; }
.ecrt-check.is-warn { color:#92400e; font-weight:600; }
.ecrt-empty { margin:0; font-size:12.5px; color:#92400e; }
.ecrt-add-row { align-self:flex-start; }
.ecrt-add { display:flex; }

.ecrt-carrier { border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecrt-carrier-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; padding:10px 14px; }
.ecrt-carrier-head b { font-size:13.5px; color:var(--ecv2-g900); }
.ecrt-carrier-head .ecsu-link { font-size:12.5px; }
.ecrt-services { list-style:none; margin:0; padding:0; }
.ecrt-service { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0; padding:10px 14px; border-top:1px solid var(--ecv2-g100); }
.ecrt-service.is-locked { opacity:.55; }
.ecrt-service-name { flex:1 1 200px; min-width:0; font-size:13px; color:var(--ecv2-g900); cursor:pointer; }
.ecrt-service-price { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ecrt-seg { display:inline-flex; border:1px solid var(--ecv2-g300); border-radius:8px; overflow:hidden; }
.ecrt-seg button { min-height:34px; padding:0 12px; border:0; background:#fff; font:inherit; font-size:12.5px; color:var(--ecv2-g700); cursor:pointer; }
.ecrt-seg button + button { border-left:1px solid var(--ecv2-g300); }
.ecrt-seg button[aria-pressed="true"] { background:var(--ecv2-g900); color:#fff; font-weight:600; }

.ecrt-field { display:flex; flex-direction:column; gap:4px; min-width:0; font-size:12.5px; font-weight:600; color:var(--ecv2-g700); }
.ecrt-field small { font-weight:400; color:var(--ecv2-g600); }
.ecrt-field .ecv2-input { width:100%; box-sizing:border-box; }
.ecrt-two { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px 14px; }
.ecrt-locs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:6px; border:1px solid var(--ecv2-g300); border-radius:var(--ecv2-rs, 6px); background:#fff; }
.ecrt-locs:focus-within { border-color:var(--ecsu-accent); outline:2px solid var(--ecsu-accent-soft); }
.ecrt-loc-chips { display:contents; }
.ecrt-chip { display:inline-flex; align-items:center; gap:4px; padding:2px 4px 2px 10px; border-radius:999px; background:var(--ecv2-g100); font-size:12.5px; font-weight:600; color:var(--ecv2-g900); }
.ecrt-chip-x { width:22px; height:22px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--ecv2-g600); font-size:15px; line-height:1; cursor:pointer; }
.ecrt-chip-x:hover, .ecrt-chip-x:focus-visible { background:var(--ecv2-g200); color:var(--ecv2-g900); }
.ecrt-loc-find { position:relative; flex:1 1 180px; min-width:0; }
.ecrt-loc-find .ecv2-input { width:100%; border:0; box-shadow:none; min-height:30px; }
.ecrt-loc-find .ecv2-input:focus { outline:none; }
.ecrt-loc-list { position:absolute; z-index:5; left:0; right:0; top:calc(100% + 6px); list-style:none; margin:0; padding:4px; max-height:240px; overflow:auto; background:#fff; border:1px solid var(--ecv2-g200); border-radius:8px; box-shadow:0 8px 24px rgba(17,24,39,.14); }
.ecrt-loc-list li { display:flex; justify-content:space-between; gap:10px; margin:0; padding:7px 9px; border-radius:6px; font-size:13px; font-weight:400; color:var(--ecv2-g900); cursor:pointer; }
.ecrt-loc-list li span { color:var(--ecv2-g600); font-size:12px; }
.ecrt-loc-list li.is-active { background:var(--ecsu-accent-soft); }
.ecrt-loc-none { color:var(--ecv2-g600) !important; cursor:default !important; }
.ecrt-loc-note { color:#92400e !important; font-weight:600 !important; }
.ecrt-error { margin:0; padding:8px 10px; border-radius:8px; background:#fef3f2; color:#b42318; font-size:12.5px; font-weight:600; }
.ecrt-place-delete { color:#b42318; }
.ecrt-place-delete.is-sure { border-color:#b42318; background:#fef3f2; }

.ecrt-unused { padding:12px 16px; }
.ecrt-unused summary { display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--ecv2-g900); cursor:pointer; }
.ecrt-unused-list { list-style:none; margin:0; padding:0; }
.ecrt-unused-list li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:0; padding:8px 0; border-top:1px solid var(--ecv2-g100); font-size:13px; color:var(--ecv2-g700); }
.ecrt-unused-list b { color:var(--ecv2-g900); }
.ecrt-unused-act { display:flex; gap:6px; }

.ecrt-who h2, .ecrt-test h2, .ecsc-checks h2 { margin:0; font-size:14px; font-weight:700; color:var(--ecv2-g900); }
.ecrt-who > p, .ecsc-checks > p { margin:4px 0 10px; font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); }
.ecrt-who-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ecrt-who-list li { display:flex; flex-direction:column; gap:2px; margin:0; padding-bottom:8px; border-bottom:1px dashed var(--ecv2-g200); font-size:12.5px; line-height:1.45; color:var(--ecv2-g700); overflow-wrap:anywhere; }
.ecrt-who-list li:last-child { border-bottom:0; padding-bottom:0; }
.ecrt-who-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.ecrt-who-head b { font-size:13px; color:var(--ecv2-g900); }
.ecrt-who-mark { padding:0 8px; border-radius:999px; background:var(--ecv2-g100); font-size:11px; font-weight:600; color:var(--ecv2-g700); }
.ecrt-who-warn { margin:10px 0 0; padding:8px 10px; border-radius:8px; background:#fffbeb; color:#92400e; font-size:12.5px; line-height:1.45; }
.ecrt-test { margin-top:18px; padding-top:14px; border-top:1px solid var(--ecv2-g200); display:flex; flex-direction:column; gap:8px; }
.ecrt-test > p { margin:0; font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); }
.ecrt-dests { display:flex; flex-wrap:wrap; gap:6px; }
.ecrt-dest { min-height:32px; padding:0 12px; border:1px solid var(--ecv2-g300); border-radius:999px; background:#fff; font:inherit; font-size:12.5px; color:var(--ecv2-g700); cursor:pointer; }
.ecrt-dest[aria-pressed="true"] { border:2px solid var(--ecv2-g900); padding:0 11px; font-weight:600; color:var(--ecv2-g900); }
.ecrt-test-out, .ecrt-test-result { display:flex; flex-direction:column; gap:6px; }
.ecrt-test-result .ecrt-who-warn { margin:0; }
.ecrt-test-rate { display:flex; flex-direction:column; gap:2px; padding:8px 12px; border:1px solid var(--ecv2-g200); border-radius:10px; font-size:12px; line-height:1.45; color:var(--ecv2-g600); overflow-wrap:anywhere; }
.ecrt-test-top { display:flex; justify-content:space-between; gap:10px; font-size:13px; color:var(--ecv2-g900); font-variant-numeric:tabular-nums; }

/* ---- Carriers & labels ---- */
.ecsc-carriers { list-style:none; margin:0; padding:0; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); }
.ecsc-carrier { display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0; padding:12px 14px; scroll-margin-top:72px; }
.ecsc-carrier + .ecsc-carrier { border-top:1px solid var(--ecv2-g100); }
.ecsc-carrier.is-flash { background:var(--ecsu-accent-soft); }
.ecsc-carrier-text { flex:1 1 240px; display:flex; flex-direction:column; gap:3px; min-width:0; }
.ecsc-carrier-name { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; }
.ecsc-carrier-name b { font-size:13.5px; color:var(--ecv2-g900); }
.ecsc-carrier-note { font-size:12.5px; line-height:1.45; color:var(--ecv2-g600); overflow-wrap:anywhere; }
.ecsc-carrier-check { font-size:12px; line-height:1.45; color:var(--ecv2-g600); }
.ecsc-carrier-check.is-connected { color:#067647; }
.ecsc-carrier-check.is-error, .ecsc-carrier-check.is-incomplete { color:#b42318; }
.ecsc-carrier-act { display:flex; flex-wrap:wrap; gap:6px; }
.ecsc-others { border-top:1px solid var(--ecv2-g100); padding-top:10px; display:flex; flex-direction:column; gap:8px; }
.ecsc-others summary { font-size:13px; font-weight:600; color:var(--ecv2-g800); cursor:pointer; }
.ecsc-others summary span { font-weight:400; color:var(--ecv2-g600); }
.ecsc-others .ecsc-carriers { margin-top:8px; }
.ecsc-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:13px; font-weight:600; color:var(--ecv2-g800); }
.ecsc-status .ecv2-input { width:auto; min-width:220px; max-width:100%; }
.ecsc-status-row { display:flex; flex-direction:column; gap:4px; margin-top:14px; }
.ecsc-status-row .ecpr-tip { margin:0; }
/* Tracking and delivery: which label services report deliveries ( 6.0.7 review ) */
.ecsc-trackers { margin:0 0 14px; padding:12px 14px; border:1px solid var(--ecv2-g200); border-radius:var(--ecv2-r); background:#fff; }
.ecsc-trackers.is-on { border-color:#abefc6; background:#f6fef9; }
.ecsc-trackers.is-none { border-color:#fedf89; background:#fffbeb; }
.ecsc-trackers p { margin:0; }
.ecsc-trackers-title { display:flex; align-items:flex-start; gap:8px; font-size:14px; line-height:1.4; color:var(--ecv2-g900); }
.ecsc-trackers-mark { flex:0 0 auto; width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; }
.ecsc-trackers.is-on .ecsc-trackers-mark { background:#dcfce7; color:#166534; }
.ecsc-trackers.is-none .ecsc-trackers-mark { background:#fef0c7; color:#93370d; }
.ecsc-trackers-text { margin-top:4px !important; padding-left:28px; font-size:13px; line-height:1.5; color:var(--ecv2-g800); }
.ecsc-trackers.is-none .ecsc-trackers-text { color:#7a2e0e; }
.ecsc-tracker-list { list-style:none; margin:10px 0 0 28px; padding:0; border:1px solid var(--ecv2-g200); border-radius:8px; background:#fff; }
.ecsc-tracker { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; margin:0; padding:8px 12px; font-size:13px; }
.ecsc-tracker + .ecsc-tracker { border-top:1px solid var(--ecv2-g100); }
.ecsc-tracker-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; min-width:0; }
.ecsc-tracker-name b { color:var(--ecv2-g900); }
.ecsc-tracker-state { font-size:12.5px; color:var(--ecv2-g600); }
.ecsc-tracker.is-active .ecsc-tracker-state { color:#067647; font-weight:600; }
.ecsc-trackers-go { margin-top:10px !important; padding-left:28px; }
@media ( max-width: 600px ) {
	.ecsc-trackers-text, .ecsc-trackers-go { padding-left:0; }
	.ecsc-tracker-list { margin-left:0; }
}
.ecsc-origin-go { justify-content:space-between; }
.ecsc-origin-go .ecsc-users { margin:0; flex:1 1 260px; }
.ecsc-check-list { list-style:none; margin:0 0 12px; padding:0; display:flex; flex-direction:column; gap:8px; }
.ecsc-check-list li { display:flex; align-items:flex-start; gap:8px; margin:0; font-size:12.5px; line-height:1.45; color:var(--ecv2-g700); }
.ecsc-check-list li > span:last-child { display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; }
.ecsc-check-list b { font-size:13px; color:var(--ecv2-g900); }
.ecsc-check-mark { flex:0 0 auto; width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; background:var(--ecv2-g100); color:var(--ecv2-g600); }
.ecsc-check-list li.is-connected .ecsc-check-mark { background:#dcfce7; color:#166534; }
.ecsc-check-list li.is-error .ecsc-check-mark, .ecsc-check-list li.is-incomplete .ecsc-check-mark { background:#fee4e2; color:#b42318; }
#ecsc_boxes .ecpk-boxes { display:flex; flex-direction:column; gap:10px; }
#ecsc_boxes #ecpk_box_add { align-self:flex-start; }
.ecrt-more { border-top:1px solid var(--ecv2-g100); }
.ecrt-more summary { padding:10px 14px; font-size:12.5px; font-weight:600; color:var(--ecv2-g700); cursor:pointer; }
.ecrt-more[open] summary { padding-bottom:4px; }
