.external-services-dialog {
  width:min(760px,calc(100vw - 28px)); height:min(760px,calc(100dvh - 28px)); max-height:calc(100dvh - 28px); padding:0;
  border:1px solid #303036; border-radius:10px; color:#f4f4f5; background:#151517;
  box-shadow:0 24px 80px rgba(0,0,0,.58); overflow:hidden;
}
.external-services-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr); }
.external-services-dialog [hidden] { display:none !important; }
.external-services-dialog::backdrop { background:rgba(0,0,0,.74); }
.external-services-dialog button { min-height:44px; }
.external-services-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid #303036; }
.external-services-title { display:flex; align-items:center; gap:10px; }
.external-services-title h2 { margin:0; font-size:18px; }
.external-services-title svg { width:21px; height:21px; fill:none; stroke:#d5e5fd; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.external-services-body { min-height:0; padding:18px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.external-services-account { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; padding:12px 13px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.external-services-account-main { display:flex; align-items:center; min-width:0; gap:10px; }
.external-services-account-dot { width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--muted); box-shadow:none; }
.external-services-account-copy { min-width:0; }
.external-services-account-copy span { display:block; color:var(--muted); font-size:11px; }
.cloud-admin-visible .external-services-account { background:#211d2c; border-color:#665184; }
.cloud-admin-visible .external-services-account-dot { background:#c4b5fd; }
.cloud-admin-visible .external-services-account-copy span { color:#c4b5fd; }
.external-services-account-copy strong { display:block; overflow:hidden; margin-top:3px; color:#f4f4f5; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.external-services-account button { flex:0 0 auto; }
.external-services-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin-bottom:16px; padding:0; border-bottom:1px solid #303036; background:transparent; }
.external-services-tab { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid transparent; border-radius:6px; color:#a1a1aa; background:transparent; transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease; }
.external-services-tab-mark { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px rgba(255,255,255,.035); }
.external-services-tab[data-tab="ai"] { --service-accent:#22d3ee; }
.external-services-tab[data-tab="market"] { --service-accent:#34d399; }
.external-services-tab[data-tab="binance"] { --service-accent:#fbbf24; }
.external-services-tab:hover:where([data-ui-hover="true"] *),.external-services-tab:focus-visible { border-color:transparent; background:transparent; color:#fff; }
.external-services-tab { position:relative; border:0; border-radius:0; min-width:0; white-space:nowrap; }
.external-services-tab:focus-visible { outline:2px solid var(--service-accent); outline-offset:-3px; }
.external-services-tab[aria-selected="true"] { color:var(--service-accent); background:transparent; }
.external-services-tab[aria-selected="true"]::after { content:""; position:absolute; bottom:-1px; left:20%; right:20%; height:2px; background:var(--service-accent); }
.external-services-panel { --service-accent:#22d3ee; }
.external-services-panel[data-service="market"] { --service-accent:#34d399; }
.external-services-panel[data-service="binance"] { --service-accent:#fbbf24; }
.external-services-panel[hidden] { display:none; }
.external-services-intro { margin:0 0 15px; padding-left:11px; border-left:2px solid var(--service-accent); color:#a1a1aa; font-size:12px; line-height:1.65; }
.external-services-state { display:grid; gap:6px; margin-bottom:14px; padding:12px 13px; border:1px solid #303036; border-radius:8px; background:#101114; }
.external-services-state strong { font-size:13px; }
.external-services-state span { color:#92939d; font-size:11px; line-height:1.5; }
.external-services-state.connected { border-color:rgba(52,211,153,.35); }
.external-services-state.error { border-color:rgba(251,113,133,.38); }
.external-services-panel .external-services-state:not(.error) { border-color:color-mix(in srgb,var(--service-accent) 40%,transparent); border-left:3px solid var(--service-accent); }
.external-platform-ai-info { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:14px; }
.external-platform-ai-info span { display:flex; align-items:baseline; min-width:0; gap:10px; padding:0; border:0; background:transparent; }
.external-platform-ai-info small { color:var(--muted); font-size:12px; flex:0 0 auto; }
.external-platform-ai-info small::after { content:"｜"; margin-left:8px; color:var(--line-strong); }
.external-platform-ai-info strong { color:var(--muted); font-size:12px; font-weight:400; line-height:1.6; }
.external-services-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.external-services-form label { display:grid; min-width:0; gap:6px; color:#d4d4d8; font-size:12px; }
.external-services-form label.wide { grid-column:1/-1; }
.external-services-form p.wide { grid-column:1/-1; }
.external-binance-scan-note { font-size:12px; line-height:1.6; color:var(--muted); margin:6px 0; }
.external-services-form input,.external-services-form select { width:100%; min-height:44px; box-sizing:border-box; padding:10px 11px; border:1px solid #3f3f46; border-radius:7px; color:#fafafa; background:#0f0f11; }
.external-services-form select[data-binance-account] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.external-services-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.external-services-actions button { min-height:44px; }
.external-services-panel .external-services-actions button.primary { border-color:var(--service-accent); color:var(--service-accent); background:transparent; }
.external-services-panel .external-services-actions button.primary:hover:where([data-ui-hover="true"] *) { border-color:var(--service-accent); color:#09090b; background:var(--service-accent); }
.external-services-actions button.danger:not(:disabled) { border-color:rgba(251,113,133,.34); color:#fda4af; }
.external-services-actions button.danger:not(:disabled):hover:where([data-ui-hover="true"] *) { border-color:#fb7185; color:#fff; background:rgba(251,113,133,.12); }
.external-services-message { min-height:20px; margin:12px 0 0; color:#a1a1aa; font-size:12px; line-height:1.55; }
.external-services-message.error { color:#fecdd3; }
.external-services-message.success { color:#a7f3d0; }
.external-services-advanced { margin-top:14px; border:1px solid #303036; border-radius:8px; background:#101114; }
.external-services-advanced summary { display:flex; align-items:center; min-height:44px; padding:0 13px; color:#d4d4d8; cursor:pointer; font-size:12px; }
.external-services-advanced[open] summary { border-bottom:1px solid #303036; }
.external-services-advanced .external-services-form { padding:13px; }
.external-services-advanced p { margin:0; padding:0 13px 13px; color:#92939d; font-size:11px; line-height:1.55; }
.external-binance-mode { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:0 0 14px; padding:4px; border:0; border-radius:8px; background:var(--surface-2); }
.external-binance-mode button { min-width:0; min-height:40px; border:1px solid transparent; border-radius:6px; color:#a1a1aa; background:transparent; font-size:12px; }
.external-binance-mode button:hover:where([data-ui-hover="true"] *) { color:#f4f4f5; background:rgba(255,255,255,.035); }
.external-binance-mode button[aria-selected="true"] { border-color:transparent; color:var(--ui-selected); background:var(--interactive-active-bg); }
.external-binance-security { display:block; margin-bottom:12px; padding:0; border:0; background:transparent; }
.external-binance-security strong { color:var(--muted); font-size:12px; font-weight:500; margin-right:8px; }
.external-binance-security strong::after { content:"｜"; margin-left:8px; color:var(--line-strong); }
.external-services-panel[data-service="binance"] .external-services-state:not(.error) { background:#29251a; border:1px solid #75602d; }
.external-services-panel[data-service="binance"] .external-services-state:not(.error) strong { color:#fbbf24; }
.external-binance-security span,.external-binance-once-note { color:#a1a1aa; font-size:11px; line-height:1.55; }
.external-binance-connection-list { display:grid; gap:9px; }
.external-binance-empty { padding:18px 14px; border:1px dashed #3f3f46; border-radius:8px; color:#92939d; background:#101114; text-align:center; font-size:12px; }
.external-binance-connection-card { display:grid; gap:9px; padding:12px; border:1px solid #303036; border-left:3px solid #fbbf24; border-radius:8px; background:#101114; }
.external-binance-connection-card.error { border-color:rgba(251,113,133,.44); border-left-color:#fb7185; }
.external-binance-connection-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.external-binance-connection-head > div { display:grid; min-width:0; gap:3px; }
.external-binance-connection-head strong { overflow:hidden; color:#f4f4f5; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.external-binance-connection-head span,.external-binance-connection-card p { margin:0; color:#92939d; font-size:10px; line-height:1.45; }
.external-binance-connection-status { flex:0 0 auto; padding:4px 7px; border-radius:999px; color:#6ee7b7 !important; background:rgba(52,211,153,.1); }
.external-binance-connection-status.paused { color:#d4d4d8 !important; background:rgba(161,161,170,.1); }
.external-binance-connection-tags { display:flex; flex-wrap:wrap; gap:5px; }
.external-binance-connection-tags span { padding:4px 7px; border:1px solid rgba(251,191,36,.24); border-radius:999px; color:#fde68a; background:rgba(251,191,36,.05); font-size:10px; }
.external-binance-card-actions { display:flex; flex-wrap:wrap; gap:7px; }
.external-binance-card-actions button { min-height:36px; padding:7px 10px; font-size:11px; }
.external-binance-add { width:100%; margin-top:10px; border-style:dashed; }
.external-binance-account-editor { margin-top:12px; padding:13px; border:1px solid rgba(251,191,36,.34); border-radius:8px; background:rgba(251,191,36,.035); }
.external-binance-markets { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-width:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.external-binance-markets legend { padding:0 0 8px; color:#d4d4d8; font-size:12px; }
.external-binance-markets label { display:flex; align-items:flex-start; gap:9px; padding:9px; border:1px solid #34343a; border-radius:7px; background:#141416; }
.external-binance-markets input { width:17px; min-height:17px; margin:2px 0 0; accent-color:#fbbf24; }
.external-binance-markets span { display:grid; gap:3px; }
.external-binance-markets strong { color:#f4f4f5; font-size:11px; }
.external-binance-markets small { color:#92939d; font-size:10px; line-height:1.4; }
.external-binance-once-note { margin:0 0 12px; padding:10px 12px; border:1px solid #303036; border-radius:8px; background:#101114; }
.external-binance-sync-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:12px; }
.external-binance-sync-meta span { display:grid; min-width:0; gap:4px; padding:10px; border:1px solid #303036; border-radius:7px; background:#101114; }
.external-binance-sync-meta small { color:#92939d; font-size:10px; }
.external-binance-sync-meta strong { overflow:hidden; color:#f4f4f5; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.external-binance-range { position:relative; min-width:0; margin:0; padding:0; border:0; background:transparent; }
.external-binance-range legend { padding:0 6px; color:#d4d4d8; font-size:12px; }
.external-binance-range-options.segmented { display:grid; width:100%; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; border:0; background:var(--surface-2); border-radius:var(--control-radius); }
.external-binance-range-options.segmented button { min-width:0; padding:0 2px; border:0; border-radius:4px; color:var(--muted); background:transparent; font-size:11px; font-weight:400; white-space:nowrap; box-shadow:none; }
.external-binance-range-options.segmented button:hover:where([data-ui-hover="true"] *) { color:var(--text); background:var(--interactive-hover-bg); }
.external-binance-range-options.segmented button[aria-pressed="true"] { color:var(--text); background:var(--interactive-active-bg); }
.external-binance-custom-range { position:relative; margin-top:10px; }
.external-binance-custom-range .analytics-range-popover { width:min(620px,100%); max-height:min(520px,56dvh); overflow:auto; }
.external-binance-custom-range .range-picker-locator select { min-height:34px; padding:5px 8px; }
.external-binance-custom-range .range-picker-day:disabled { opacity:.2; pointer-events:none; }
.external-binance-position-toggle { display:flex !important; align-items:flex-start; grid-template-columns:none !important; gap:10px !important; padding:11px 12px; border:1px solid #303036; border-radius:8px; background:#101114; }
.external-binance-position-toggle input { width:18px; min-height:18px; margin:2px 0 0; accent-color:#fbbf24; }
.external-binance-position-toggle span { display:grid; gap:4px; }
.external-binance-position-toggle small { color:#92939d; line-height:1.5; }
.external-binance-preview { margin-top:14px; padding:13px; border:1px solid rgba(251,191,36,.3); border-radius:8px; background:rgba(251,191,36,.035); }
.external-binance-preview-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.external-binance-preview-summary span { display:grid; gap:4px; min-width:0; padding:10px; border:1px solid #303036; border-radius:7px; background:#101114; }
.external-binance-preview-summary small { color:#92939d; font-size:10px; }
.external-binance-preview-summary strong { color:#f4f4f5; font-size:14px; }
.external-binance-preview-note { margin:11px 0 0; color:#a1a1aa; font-size:11px; line-height:1.55; }
.external-binance-associations { display:grid; gap:8px; margin-top:13px; }
.external-binance-associations h3 { margin:0 0 2px; font-size:13px; }
.external-binance-association { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(230px,280px); align-items:center; gap:12px !important; padding:10px 11px; border:1px solid #303036; border-radius:7px; background:#101114; }
.external-binance-association span { display:grid; min-width:0; gap:4px; }
.external-binance-association small { color:#92939d; line-height:1.45; }
.external-binance-association select { min-height:40px; }
.external-services-locked { display:grid; place-items:center; min-height:100%; padding:24px; text-align:center; }
.external-services-locked-state { display:inline-flex; align-items:center; gap:7px; margin-bottom:8px; color:#f4f4f5; font-size:13px; }
.external-services-locked-state::before { content:""; width:9px; height:9px; border-radius:50%; background:#71717a; box-shadow:0 0 0 4px rgba(113,113,122,.12); }
.external-services-locked p { max-width:420px; color:#a1a1aa; font-size:12px; line-height:1.7; }
@media (max-width:640px) {
  .external-services-dialog { width:calc(100vw - 18px); height:calc(100dvh - 18px); max-height:calc(100dvh - 18px); }
  .external-services-body { padding:14px; }
  .external-services-account { align-items:stretch; flex-direction:column; }
  .external-services-account button { width:100%; }
  .external-services-form { grid-template-columns:1fr; }
  .external-platform-ai-info { grid-template-columns:1fr; }
  .external-services-form label.wide { grid-column:auto; }
  .external-services-actions { display:grid; grid-template-columns:1fr 1fr; }
  .external-binance-range { grid-column:auto; }
  .external-binance-range-options.segmented { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .external-binance-preview-summary { grid-template-columns:1fr 1fr; }
  .external-binance-sync-meta { grid-template-columns:1fr; }
  .external-binance-association { grid-template-columns:1fr; }
  .external-binance-markets { grid-template-columns:1fr; }
  .external-binance-card-actions { display:grid; grid-template-columns:1fr 1fr; }
  .external-binance-custom-range .analytics-range-popover { position:fixed; top:auto; right:13px; bottom:13px; left:13px; width:auto; max-height:72dvh; }
}
