/* Carrier picker is isolated from legacy screens. */
.si-carrier-pick {
  --si-cp-bg:var(--canvas);
  --si-cp-surface:var(--surface);
  --si-cp-surface-2:var(--raised-2);
  --si-cp-text:var(--text);
  --si-cp-muted:var(--muted);
  --si-cp-line:var(--line);
  --si-cp-line-strong:var(--line-strong);
  --si-cp-accent:var(--edo-intake-accent,#536dfe);
  --si-cp-accent-soft:var(--edo-intake-accent-soft,color-mix(in srgb,#536dfe 12%,transparent));
  --si-cp-on-accent:var(--on-accent);
  --si-cp-ok:var(--ok-fg);
  --si-cp-ok-soft:var(--ok-bg);
  --si-cp-warning:var(--warn-fg);
  --si-cp-warning-soft:var(--warn-bg);
  --si-cp-danger:var(--danger);
  --si-cp-danger-soft:var(--error-bg);
  min-width:0;
  min-height:calc(100vh - 78px);
  color:var(--si-cp-text);
  background:var(--si-cp-bg);
}

.si-carrier-pick__page { display:flex; flex-direction:column; gap:14px; padding:14px 20px 28px; }
.si-carrier-pick__head { position:sticky; z-index:8; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:-14px -20px 0; padding:12px 20px; border-bottom:1px solid var(--si-cp-line); background:color-mix(in srgb,var(--si-cp-bg) 92%,transparent); backdrop-filter:blur(16px); }
.si-carrier-pick__head p { margin:0 0 2px; color:var(--si-cp-muted); font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.si-carrier-pick__head h1 { margin:0; font-size:20px; line-height:26px; letter-spacing:-.02em; }
.si-carrier-pick__head span { display:block; margin-top:2px; color:var(--si-cp-muted); font-size:12px; }
.si-carrier-pick__columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,340px); gap:14px; align-items:start; }
.si-carrier-pick__columns > main,.si-carrier-pick__columns > aside { display:flex; min-width:0; flex-direction:column; gap:12px; }
.si-carrier-pick__columns > aside { position:sticky; top:96px; }
.si-carrier-pick__state { min-height:60vh; display:grid; place-content:center; justify-items:center; gap:10px; color:var(--si-cp-muted); text-align:center; }
.si-carrier-pick__state--error { color:var(--si-cp-danger); }
.si-cp-action-error { padding:9px 12px; border:1px solid var(--si-cp-danger); border-radius:10px; color:var(--si-cp-danger); background:var(--si-cp-danger-soft); font-size:12px; }
.si-cp-spinner { width:28px; height:28px; border:3px solid var(--si-cp-line); border-top-color:var(--si-cp-accent); border-radius:50%; animation:si-cp-spin .7s linear infinite; }
@keyframes si-cp-spin { to { transform:rotate(360deg); } }

.si-carrier-pick .si-cp-card { min-width:0; overflow:hidden; border:1px solid var(--si-cp-line); border-radius:12px; background:var(--si-cp-surface); box-shadow:0 4px 18px rgb(16 18 24 / 7%); }
.si-carrier-pick .si-cp-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--si-cp-line); }
.si-carrier-pick .si-cp-card h2 { margin:0; font-size:14px; line-height:20px; }
.si-carrier-pick .si-cp-card header p,.si-carrier-pick .si-cp-muted { margin:2px 0 0; color:var(--si-cp-muted); font-size:11.5px; line-height:16px; }
.si-carrier-pick .si-cp-card__body { padding:12px 14px; }
.si-carrier-pick .si-cp-card--flush .si-cp-card__body { padding:0; }
.si-cp-actions { display:flex; max-width:430px; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.si-cp-actions small { flex-basis:100%; color:var(--si-cp-muted); font-size:11px; text-align:right; }
.si-carrier-pick .si-cp-button { min-height:30px; padding:0 12px; border:1px solid var(--si-cp-line-strong); border-radius:9px; color:var(--si-cp-text); background:var(--si-cp-surface); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.si-carrier-pick .si-cp-button--primary { border-color:var(--si-cp-accent); color:var(--si-cp-on-accent); background:var(--si-cp-accent); }
.si-carrier-pick .si-cp-button--ghost { border-color:transparent; color:var(--si-cp-accent); background:transparent; }
.si-carrier-pick .si-cp-button:disabled { opacity:.48; cursor:not-allowed; }
.si-cp-tier { display:flex; flex-wrap:wrap; gap:5px; padding:10px 14px; border-bottom:1px solid var(--si-cp-line); }
.si-cp-tier button { min-height:28px; padding:3px 9px; border:1px solid var(--si-cp-line); border-radius:8px; color:var(--si-cp-muted); background:var(--si-cp-surface-2); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.si-cp-tier button[aria-pressed="true"] { border-color:var(--si-cp-accent); color:var(--si-cp-accent); background:var(--si-cp-accent-soft); }
.si-cp-table-scroll { min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-gutter:stable; }
.si-cp-table-scroll:focus-visible { outline:2px solid var(--si-cp-accent); outline-offset:-2px; }
.si-cp-table { width:100%; min-width:850px; border-collapse:collapse; font-size:11px; }
.si-cp-table th,.si-cp-table td { padding:8px 7px; border-top:1px solid var(--si-cp-line); text-align:left; vertical-align:top; }
.si-cp-table thead th { color:var(--si-cp-muted); font-weight:700; }
.si-cp-table tbody tr.is-selected { background:var(--si-cp-accent-soft); }
.si-cp-table strong,.si-cp-table span,.si-cp-table small { display:block; }
.si-cp-table small { margin-top:2px; color:var(--si-cp-muted); line-height:14px; }
.si-cp-table .si-cp-number { text-align:right; font-variant-numeric:tabular-nums; }
.si-cp-table .si-cp-danger { color:var(--si-cp-danger); }
.si-cp-badge { display:inline-flex !important; align-items:center; min-height:20px; padding:1px 7px; border-radius:999px; color:var(--si-cp-muted); background:var(--si-cp-surface-2); font-size:10.5px; font-weight:700; white-space:nowrap; }
.si-cp-badge--ok { color:var(--si-cp-ok); background:var(--si-cp-ok-soft); }
.si-cp-badge--warning { color:var(--si-cp-warning); background:var(--si-cp-warning-soft); }
.si-cp-search { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.si-cp-search input { min-width:240px; min-height:32px; flex:1 1 300px; padding:6px 9px; border:1px solid var(--si-cp-line-strong); border-radius:8px; color:var(--si-cp-text); background:var(--si-cp-bg); font:inherit; }
.si-cp-economics { display:grid; gap:8px; margin:0; }
.si-cp-economics div { display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--si-cp-line); padding-top:7px; }
.si-cp-economics div:first-child { border-top:0; padding-top:0; }
.si-cp-economics dt { color:var(--si-cp-muted); }
.si-cp-economics dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.si-cp-economics small { display:block; color:var(--si-cp-warning); }
.si-cp-selected { display:grid; gap:6px; margin:0 0 10px; padding:0; list-style:none; }
.si-cp-selected li { display:flex; justify-content:space-between; gap:8px; padding-top:6px; border-top:1px solid var(--si-cp-line); font-size:12px; }
.si-cp-selected small { color:var(--si-cp-muted); }
.si-cp-quote { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:center; padding:8px 0; border-top:1px solid var(--si-cp-line); font-size:12px; }
.si-cp-quote div,.si-cp-quote small { min-width:0; }
.si-cp-quote small { display:block; color:var(--si-cp-muted); }
.si-cp-quote > .si-cp-warning { grid-column:1/-1; color:var(--si-cp-warning); }
.si-cp-panel-backdrop { position:fixed; z-index:50; inset:0; display:flex; justify-content:flex-end; background:rgb(8 12 22 / 48%); }
.si-cp-panel { width:min(540px,90vw); height:100%; overflow:auto; padding:18px; color:var(--si-cp-text); background:var(--si-cp-surface); box-shadow:-16px 0 50px rgb(0 0 0 / 25%); }
.si-cp-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.si-cp-panel h2 { margin:0; font-size:18px; }
.si-cp-panel form,.si-cp-panel label { display:grid; gap:6px; }
.si-cp-panel form { gap:12px; }
.si-cp-panel--mail { width:min(680px,90vw); }
.si-cp-mail-preview { display:grid; gap:12px; margin:0; }
.si-cp-mail-preview > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; }
.si-cp-mail-preview dt { color:var(--si-cp-muted); font-size:12px; font-weight:700; text-transform:uppercase; }
.si-cp-mail-preview dd { display:grid; gap:4px; margin:0; }
.si-cp-mail-preview dd span { color:var(--si-cp-muted); }
.si-cp-panel input,.si-cp-panel select,.si-cp-panel textarea { min-height:38px; padding:7px 9px; border:1px solid var(--si-cp-line-strong); border-radius:8px; color:var(--si-cp-text); background:var(--si-cp-bg); font:inherit; }
.si-cp-panel textarea { min-height:96px; resize:vertical; }
.si-cp-admission-warning { display:grid; gap:10px; margin:12px 0; padding:12px; border-radius:10px; color:var(--si-cp-warning); background:var(--si-cp-warning-soft); }
.si-cp-admission-warning ul { margin:0; padding-left:18px; }
.si-cp-ok { color:var(--si-cp-ok); }

@media (max-width:960px) {
  .si-carrier-pick__head { position:relative; flex-direction:column; }
  .si-cp-actions { max-width:none; justify-content:flex-start; }
  .si-cp-actions small { text-align:left; }
  .si-carrier-pick__columns { grid-template-columns:minmax(0,1fr); }
  .si-carrier-pick__columns > aside { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .si-carrier-pick__columns > aside .si-cp-card:last-child { grid-column:1/-1; }
}

@media (max-width:620px) {
  .si-carrier-pick__page { padding:10px 10px 24px; }
  .si-carrier-pick__head { margin:-10px -10px 0; padding:12px 10px; }
  .si-cp-actions { width:100%; }
  .si-cp-actions .si-cp-button { min-height:44px; flex:1 1 auto; }
  .si-carrier-pick__columns > aside { display:flex; }
  .si-cp-table { min-width:820px; }
  .si-cp-table-scroll { padding-bottom:5px; overflow-x:scroll; scrollbar-width:thin; scrollbar-color:var(--si-cp-accent) var(--si-cp-surface-2); }
  .si-cp-panel { width:100vw; max-width:none; padding:14px; }
  .si-cp-mail-preview > div { grid-template-columns:minmax(0,1fr); gap:4px; }
}

@media (prefers-reduced-motion:reduce) {
  .si-cp-spinner { animation-duration:1.5s; }
}
