.csb-balance,.csb-unlock-modal{font-family:Arial,Helvetica,sans-serif;margin:0.5rem 0;padding:0.75rem;border:1px solid #dde7ff;border-radius:8px;background:#f7f9ff;color:#102a4f;}
.csb-badge{display:inline-block;padding:0.15rem 0.5rem;border-radius:999px;background:#e7f0ff;color:#2453ff;font-size:.85rem;margin-left:.5rem;}
.csb-transactions{width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.95rem;}
.csb-transactions th,.csb-transactions td{padding:0.5rem;border:1px solid #e2e6f0;text-align:left;}
.csb-swap-form,.csb-transfer-form{max-width:360px;margin:1rem 0;padding:1rem;border:1px solid #e2e6f0;border-radius:12px;background:#fff;}
.csb-swap-form label,.csb-transfer-form label{display:block;font-weight:600;margin-bottom:.25rem;color:#0f2b66;}
.csb-swap-form input,.csb-transfer-form input,.csb-swap-form select{width:100%;padding:.65rem .75rem;margin-bottom:.75rem;border:1px solid #c5cee3;border-radius:8px;}
.csb-swap-form button,.csb-transfer-form button{background:#2453ff;border:none;color:#fff;padding:.75rem 1rem;border-radius:8px;cursor:pointer;}
.csb-crypto-card{border:1px solid #e2e6f0;padding:1rem;border-radius:14px;background:#fff;max-width:260px;}
.csb-crypto-card-title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:#102a4f;}
.csb-trade-loading{color:#4d6dff;font-weight:700;}

/* ==========================================================================
   [dcb_trade] — ICBS-blue trading & staking dashboard
   ========================================================================== */
.csb-app{
    --navy:#0a1f44; --blue:#1f4fe0; --blue-700:#1740b8; --blue-50:#eef3ff;
    --ink:#0f1b33; --muted:#67769a; --line:#e7edf7; --bg:#eef2fa; --surface:#fff;
    --field-border:#d8e0ee; /* shared border for inputs, selects, and data tables */
    --up:#0a8f4f; --down:#d23b3b; --amber:#b8770a; --r:16px;
    --sh:0 1px 2px rgba(16,33,79,.05),0 10px 30px rgba(16,33,79,.07);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--ink);background:var(--bg);padding:clamp(14px,2.5vw,26px);border-radius:20px;
    -webkit-font-smoothing:antialiased;line-height:1.45;overflow-x:hidden;
}
.csb-app *{box-sizing:border-box;min-width:0;}
.csb-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.csb-muted{color:var(--muted);}
.csb-up{color:var(--up);} .csb-down{color:var(--down);}

/* asset marks */
.csb-asset{display:inline-flex;align-items:center;gap:9px;font-weight:700;min-width:0;}
.csb-asset-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:.72rem;font-weight:800;flex:0 0 auto;background:var(--navy);}
.csb-asset-icon{width:26px;height:26px;border-radius:50%;flex:0 0 auto;display:block;background:#fff;object-fit:contain;}
.csb-mark-BTC{background:#f7931a;} .csb-mark-ETH{background:#627eea;} .csb-mark-USDC{background:#2775ca;}
.csb-mark-USDT{background:#26a17b;} .csb-mark-SOL{background:linear-gradient(135deg,#9945ff,#14f195);} .csb-mark-USD{background:#1f4fe0;}
.csb-asset-id{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.csb-asset-sym{font-weight:700;} .csb-asset-name{font-size:.74rem;color:var(--muted);font-weight:500;}

/* topbar */
.csb-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
    background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:var(--r);
    padding:24px 28px;margin-bottom:18px;box-shadow:var(--sh);}
.csb-eyebrow{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:6px;}
.csb-portfolio-amount{font-size:clamp(1.9rem,4vw,2.6rem);font-weight:800;line-height:1.04;letter-spacing:-.02em;}
.csb-portfolio-sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.csb-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border-radius:999px;padding:5px 12px;font-size:.82rem;}
.csb-chip--amber{background:rgba(255,193,84,.22);}
.csb-chip--up{background:rgba(54,224,127,.20);}
.csb-chip--up strong{color:#bfffd9;}
.csb-coin-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.csb-chip--coin{background:rgba(255,255,255,.12);gap:8px;padding:6px 14px 6px 7px;font-size:.88rem;}
.csb-chip--coin .csb-asset-icon,.csb-chip--coin .csb-asset-mark{width:28px;height:28px;font-size:.82rem;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.18);}
.csb-chip--coin strong{font-weight:800;font-variant-numeric:tabular-nums;}
.csb-chip-rw{color:#bfffd9;font-weight:800;font-variant-numeric:tabular-nums;}
.csb-topbar-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.csb-topbar-actions{display:flex;gap:8px;}
.csb-hbtn{border:none;background:#fff;color:var(--blue);font-weight:800;font-size:.86rem;padding:9px 18px;border-radius:10px;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.csb-hbtn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.18);}
.csb-hbtn:active{transform:translateY(0);}
.csb-hbtn--outline{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1.5px solid rgba(255,255,255,.5);}
.csb-hbtn--outline:hover{background:rgba(255,255,255,.2);box-shadow:none;}
.csb-topbar-status{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:rgba(255,255,255,.85);}
.csb-live-dot{width:8px;height:8px;border-radius:50%;background:#36e07f;animation:csb-pulse 1.8s infinite;}
@keyframes csb-pulse{0%{box-shadow:0 0 0 0 rgba(54,224,127,.6);}70%{box-shadow:0 0 0 7px rgba(54,224,127,0);}100%{box-shadow:0 0 0 0 rgba(54,224,127,0);}}

/* grid + cards */
.csb-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start;}
.csb-col{display:flex;flex-direction:column;gap:18px;min-width:0;}
.csb-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px;}
.csb-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;}
.csb-card-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;}

/* chart (CoinGecko widget) + coin switch */
.csb-card--chart .csb-card-head{flex-wrap:wrap;gap:10px;}
.csb-coin-switch{display:flex;gap:4px;flex-wrap:wrap;}
.csb-coin-btn{border:none;background:transparent;color:var(--muted);font-weight:700;font-size:.82rem;padding:6px 12px;border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s;border-bottom:2px solid transparent;}
.csb-coin-btn:hover{color:var(--ink);}
.csb-coin-btn.is-active{color:var(--blue);border-bottom-color:var(--blue);}
.csb-coin-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.csb-widget{width:100%;min-height:60px;}
.csb-widget--chart{min-height:320px;}
.csb-widget gecko-coin-price-chart-widget,.csb-widget gecko-coin-list-widget{display:block;width:100%;}

/* allocation donut */
.csb-allocation{display:flex;align-items:center;gap:20px;}
.csb-donut{width:130px;height:130px;flex:0 0 auto;}
.csb-donut-svg{width:100%;height:100%;}
.csb-donut-cap{font-size:9px;fill:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.csb-donut-val{font-size:15px;font-weight:800;fill:var(--ink);}
.csb-donut-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);}
.csb-donut-legend{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:9px;}
.csb-donut-legend li{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;}
.csb-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto;}
.csb-legend-pct{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;}

/* trade panel */
.csb-segment{display:flex;background:var(--bg);border-radius:11px;padding:4px;margin-bottom:18px;}
.csb-segment-btn{flex:1;border:none;background:transparent;color:var(--muted);font-weight:700;font-size:.9rem;padding:10px;border-radius:8px;cursor:pointer;transition:.15s;}
.csb-segment-btn.is-active{background:var(--surface);color:var(--blue);box-shadow:0 1px 3px rgba(16,33,79,.12);}
.csb-label{display:block;font-weight:600;font-size:.82rem;color:var(--ink);margin:14px 0 7px;}
.csb-panel .csb-label:first-of-type{margin-top:0;}
.csb-apy-tag{float:right;background:var(--blue-50);color:var(--blue);font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;}
.csb-input{width:100%;padding:11px 13px;border:1.5px solid var(--field-border);border-radius:10px;font-size:.95rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s,background .15s;}
.csb-input::placeholder{color:#9aa7c2;}
.csb-input:hover{border-color:#bcc8e0;}
.csb-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,79,224,.15);}
.csb-input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed;}
select.csb-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%2367769a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;cursor:pointer;}
.csb-input-money{position:relative;}
.csb-input-money .csb-input{padding-left:28px;}
.csb-input-prefix{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none;z-index:1;}
/* money input with an inline Max button on the right */
.csb-input-money--max .csb-input{padding-right:62px;}
.csb-input-max{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:var(--blue);color:#fff;font-weight:700;font-size:.74rem;padding:6px 12px;border-radius:7px;cursor:pointer;transition:background .15s;}
.csb-input-max:hover{background:var(--blue-700);}
.csb-quick{display:flex;gap:7px;margin-top:9px;}
.csb-quick-chip{flex:1;border:1.5px solid var(--field-border);background:#fff;color:var(--ink);font-weight:700;font-size:.8rem;padding:8px 0;border-radius:9px;cursor:pointer;transition:.15s;}
.csb-quick-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-50);transform:translateY(-1px);}
.csb-quick-chip:active{transform:translateY(0);}
.csb-receive{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:13px;background:var(--blue-50);border-radius:11px;}
.csb-receive-label{font-size:.8rem;color:var(--muted);font-weight:600;}
.csb-receive-amt{font-weight:800;font-variant-numeric:tabular-nums;}
.csb-receive-rate{font-size:.74rem;color:var(--muted);margin-left:7px;}
.csb-quote{margin:11px 0 0;color:var(--muted);font-size:.82rem;}
.csb-quote strong{color:var(--ink);font-variant-numeric:tabular-nums;}
.csb-mini-link{float:right;border:none;background:none;color:var(--blue);font-weight:700;font-size:.78rem;cursor:pointer;padding:0;}
.csb-mini-link:hover{text-decoration:underline;}
.csb-fineprint{margin:9px 0 0;font-size:.74rem;color:var(--muted);text-align:center;}

/* buttons */
.csb-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s,opacity .15s;}
.csb-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.csb-btn--primary{width:100%;background:var(--blue);color:#fff;padding:13px 16px;margin-top:14px;box-shadow:0 4px 12px rgba(31,79,224,.25);}
.csb-btn--primary:hover{background:var(--blue-700);transform:translateY(-1px);box-shadow:0 6px 18px rgba(31,79,224,.32);}
.csb-btn--primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(31,79,224,.25);}
.csb-btn--primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.csb-btn--ghost{background:#fff;color:var(--blue);border:1.5px solid var(--field-border);padding:9px 14px;}
.csb-btn--ghost:hover{background:var(--blue-50);border-color:var(--blue);}
.csb-btn--ghost:active{transform:translateY(1px);}
.csb-btn--danger{background:var(--down);color:#fff;padding:11px 16px;}
.csb-btn--danger:hover{background:#b8302f;}
.csb-btn--sm{font-size:.82rem;padding:8px 13px;margin-top:12px;width:100%;}

/* Select2 skin (matches .csb-input) */
.csb-app .select2-container--default .select2-selection--single{height:auto;padding:10px 13px;border:1.5px solid var(--field-border);border-radius:10px;background:#fff;transition:.15s;}
.csb-app .select2-container--default .select2-selection--single:hover{border-color:#bcc8e0;}
.csb-app .select2-container--open .select2-selection--single{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,79,224,.15);}
.csb-app .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);font-weight:600;line-height:1.3;padding:0;}
.csb-app .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:8px;}
.select2-dropdown{border:1.5px solid var(--blue);border-radius:10px;box-shadow:0 10px 30px rgba(16,33,79,.14);overflow:hidden;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--blue);}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--blue-50);color:var(--blue);}
.select2-results__option{font-weight:600;font-size:.9rem;}

/* status / error */
.csb-status{min-height:1rem;margin:9px 0 0;font-size:.84rem;}
.csb-status--ok{color:var(--up);} .csb-status--error{color:var(--down);}
.csb-trade-error{margin-bottom:14px;padding:12px 16px;border-radius:12px;background:#fdecec;color:#b3261e;font-size:.9rem;border:1px solid #f6cccc;}

/* tables */
.csb-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.csb-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.csb-table-scroll .csb-table{min-width:480px;} /* keep columns readable; scroll on narrow screens */
.csb-table thead th{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:0 0 10px;border-bottom:1px solid var(--line);}
.csb-table tbody td{padding:11px 0;border-bottom:1px solid var(--line);}
.csb-table tbody tr:last-child td{border-bottom:none;}

/* holdings table — borderless, clean rows */
.csb-holdings{border:none;border-collapse:collapse;}
.csb-holdings thead th{padding:10px 14px;border:none;}
.csb-holdings tbody td{padding:12px 14px;border:none;}
.csb-holdings tbody tr:nth-child(even) td{background:#f7f9fe;}
.csb-holdings tbody tr:hover td{background:#eef3ff;}
.csb-holdings tbody tr td:first-child{border-radius:10px 0 0 10px;}
.csb-holdings tbody tr td:last-child{border-radius:0 10px 10px 0;}
.csb-earn{color:var(--up);font-weight:700;font-variant-numeric:tabular-nums;}

/* stakes */
.csb-stakes{display:grid;gap:12px;}
.csb-stake{border:1px solid var(--line);border-radius:13px;padding:15px;background:linear-gradient(180deg,#fbfcff,#f4f8ff);}
.csb-stake-top{display:flex;align-items:center;justify-content:space-between;}
.csb-stake-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0 4px;}
.csb-stake-grid .csb-k{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}
.csb-stake-grid .csb-v{font-weight:700;font-variant-numeric:tabular-nums;font-size:.9rem;}
.csb-stake-grid-rw{margin:10px 0 4px;font-size:.85rem;color:var(--muted);}
.csb-stake-grid-rw .csb-k{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;margin-right:6px;}
.csb-reward{color:var(--up);font-weight:700;font-variant-numeric:tabular-nums;}
.csb-stake-rewards{margin:10px 0 4px;border-top:1px dashed var(--line);padding-top:10px;}
.csb-rw-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted);padding:2px 0;}
.csb-rw-row span:last-child{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);}
.csb-rw-bonus span:last-child{color:var(--blue);}
.csb-rw-total{margin-top:5px;padding-top:7px;border-top:1px solid var(--line);font-weight:700;color:var(--ink);}
.csb-rw-total span:last-child{color:var(--up);}

/* pills */
.csb-pill{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;}
.csb-pill--pending{background:#fff3df;color:var(--amber);}
.csb-pill--active{background:#e3f7ec;color:var(--up);}
.csb-pill--muted{background:#eef1f8;color:var(--muted);}

/* activity */
.csb-activity{list-style:none;margin:0;padding:0;}
.csb-activity-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);}
.csb-activity-row:last-child{border-bottom:none;}
.csb-activity-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--blue-50);color:var(--blue);font-size:.95rem;flex:0 0 auto;}
.csb-activity-main{display:flex;flex-direction:column;min-width:0;flex:1;}
.csb-activity-detail{font-weight:700;font-size:.87rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.csb-activity-meta{font-size:.74rem;color:var(--muted);}
.csb-empty{color:var(--muted);font-size:.87rem;margin:0;padding:6px 0;}

/* modal */
.csb-modal-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,31,68,.55);opacity:0;transition:opacity .2s;}
.csb-modal-overlay.is-in{opacity:1;}
.csb-modal{background:#fff;border-radius:18px;max-width:380px;width:100%;padding:24px;box-shadow:0 24px 60px rgba(10,31,68,.3);transform:translateY(8px) scale(.98);transition:transform .2s;}
.csb-modal-overlay.is-in .csb-modal{transform:none;}
.csb-modal-title{margin:0 0 16px;font-size:1.2rem;font-weight:800;}
.csb-modal-body{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.csb-modal-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;padding:9px 12px;background:var(--bg);border-radius:9px;}
.csb-modal-row span{color:var(--muted);} .csb-modal-row strong{font-variant-numeric:tabular-nums;}
.csb-modal-actions{display:flex;gap:10px;}
.csb-modal-actions .csb-btn{flex:1;margin-top:0;}
/* form modal (header Swap/Transfer) */
.csb-modal--form{max-width:440px;max-height:88vh;overflow-y:auto;}
.csb-modal-form .csb-label{margin:12px 0 6px;}
.csb-modal-form .csb-label:first-of-type{margin-top:4px;}
.csb-modal-form .csb-modal-actions{margin-top:18px;}
.csb-modal-avail{margin:6px 0 0;font-size:.8rem;color:var(--muted);}
.csb-modal-avail strong{color:var(--ink);font-variant-numeric:tabular-nums;}
.csb-modal-out{min-height:1rem;margin:10px 0 0;font-size:.85rem;}
.csb-modal-out--error{color:var(--down);}

/* toasts */
.csb-toasts{position:fixed;right:18px;bottom:18px;z-index:100001;display:flex;flex-direction:column;gap:10px;}
.csb-toast{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:11px;padding:12px 16px;box-shadow:0 12px 30px rgba(10,31,68,.18);font-size:.88rem;font-weight:600;max-width:340px;transform:translateX(120%);transition:transform .25s;}
.csb-toast.is-in{transform:none;}
.csb-toast--success{border-left-color:var(--up);} .csb-toast--error{border-left-color:var(--down);}
.csb-toast-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:.75rem;font-weight:800;background:var(--blue);flex:0 0 auto;}
.csb-toast--success .csb-toast-ico{background:var(--up);} .csb-toast--error .csb-toast-ico{background:var(--down);}

/* responsive */
@media(max-width:900px){
    .csb-grid{grid-template-columns:1fr;}
    .csb-topbar{flex-direction:column;align-items:stretch;gap:16px;}
    /* Header reflow: portfolio on top, actions below, full width and left-aligned. */
    .csb-topbar-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:12px;}
    .csb-topbar-actions{flex:1;}
    .csb-hbtn{flex:1;text-align:center;}
}
@media(max-width:480px){
    .csb-app{padding:12px;}
    .csb-card{padding:16px;}
    .csb-topbar{padding:20px;}
    .csb-portfolio-amount{font-size:1.9rem;}
    .csb-card--chart .csb-card-head{flex-direction:column;gap:12px;}
    .csb-coin-switch{width:100%;overflow-x:auto;}
    .csb-allocation{flex-direction:column;align-items:stretch;}
    .csb-donut{align-self:center;}
    .csb-coin-chips{gap:6px;}
    .csb-modal--form{max-height:92vh;}
    .csb-toasts{left:12px;right:12px;}.csb-toast{max-width:none;}
}
