:root {
    --bg: #05080d;
    --panel: rgba(13, 20, 30, .78);
    --line: rgba(148, 181, 201, .13);
    --text: #f4f8fb;
    --muted: #8292a7;
    --cyan: #00d4ff;
    --green: #00ff9d;
    --gold: #e8b968;
    --purple: #a78bfa;
    --danger: #ff718a;
    --radius: 22px;
    --shadow: 0 24px 70px rgba(0, 0, 0, .38);
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 0%, rgba(0, 212, 255, .08), transparent 30%),
        radial-gradient(circle at 85% 8%, rgba(0, 255, 157, .055), transparent 26%),
        linear-gradient(145deg, #05080d 0%, #071019 48%, #05080d 100%);
    color: var(--text);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button { cursor: pointer; }

.ambient {
    position: fixed;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    opacity: .09;
    z-index: -2;
}
.ambient-one { left: -260px; top: 20%; background: var(--cyan); }
.ambient-two { right: -300px; top: 48%; background: var(--green); }
.grid-surface {
    position: fixed;
    inset: 0;
    background-image: linear-gradient(rgba(104, 213, 232, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(104, 213, 232, .025) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 85%);
    pointer-events: none;
    z-index: -1;
}

.glass-panel {
    background: linear-gradient(145deg, rgba(17, 27, 40, .86), rgba(8, 14, 23, .74));
    border: 1px solid var(--line);
    box-shadow: var(--shadow), inset 0 1px rgba(255, 255, 255, .035);
    backdrop-filter: blur(18px);
}

/* Login */
.login-page { overflow: hidden; }
.login-shell {
    min-height: 100vh;
    min-height: 100dvh;
    max-width: 1180px;
    margin: auto;
    padding: 40px;
    display: grid;
    grid-template-columns: minmax(340px, 480px) 1fr;
    align-items: center;
    gap: 8vw;
    perspective: 1200px;
}
.login-card {
    padding: 42px;
    border-radius: 30px;
    position: relative;
    overflow: hidden;
    transform: rotateY(2deg);
}
.login-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 12%;
    width: 76%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cyan), transparent);
}
.login-brand { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.login-brand img { width: 190px; height: auto; }
.security-pill {
    border: 1px solid rgba(0, 255, 157, .2);
    background: rgba(0, 255, 157, .06);
    color: #a9ffda;
    border-radius: 100px;
    padding: 8px 11px;
    font-size: 10px;
    letter-spacing: .05em;
    white-space: nowrap;
}
.security-pill i, .live-indicator i {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 12px var(--green);
}
.login-copy { margin: 58px 0 30px; }
.eyebrow, .section-kicker {
    color: var(--cyan);
    font-weight: 700;
    font-size: 10px;
    letter-spacing: .18em;
}
.login-copy h1 { font-size: clamp(38px, 5vw, 62px); letter-spacing: -.055em; line-height: .96; margin: 12px 0 18px; }
.login-copy p:last-child { color: var(--muted); line-height: 1.65; margin: 0; }
.login-form { display: grid; gap: 18px; }
.login-form label { display: grid; gap: 8px; color: #aab8c9; font-size: 12px; font-weight: 600; }
.login-form input {
    width: 100%;
    border: 1px solid rgba(143, 181, 204, .16);
    background: rgba(2, 7, 12, .62);
    border-radius: 13px;
    padding: 15px 16px;
    outline: none;
    transition: .25s ease;
}
.login-form input:focus { border-color: rgba(0, 212, 255, .65); box-shadow: 0 0 0 4px rgba(0, 212, 255, .07); }
.login-form button {
    margin-top: 8px;
    border: 0;
    border-radius: 13px;
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    color: #001015;
    font-weight: 800;
    background: linear-gradient(110deg, var(--cyan), var(--green));
    box-shadow: 0 14px 35px rgba(0, 212, 255, .16);
    transition: transform .25s ease, box-shadow .25s ease;
}
.login-form button:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(0, 255, 157, .19); }
.login-alert { margin-bottom: 18px; padding: 12px 14px; color: #ffc5ce; border: 1px solid rgba(255, 113, 138, .25); background: rgba(255, 113, 138, .07); border-radius: 12px; font-size: 13px; }
.login-card footer { display: flex; justify-content: space-between; color: #526275; font-size: 10px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); }
.login-orbit { height: 600px; position: relative; display: grid; place-items: center; transform-style: preserve-3d; }
.orbit-core {
    width: 135px;
    height: 135px;
    display: grid;
    place-items: center;
    border-radius: 34px;
    background: linear-gradient(145deg, rgba(18, 38, 50, .9), rgba(4, 10, 16, .95));
    border: 1px solid rgba(0, 212, 255, .22);
    box-shadow: 0 0 100px rgba(0, 212, 255, .15), inset 0 0 45px rgba(0, 255, 157, .05);
    transform: rotate(-8deg) translateZ(45px);
}
.orbit-core img { width: 80px; filter: drop-shadow(0 0 18px rgba(0, 212, 255, .35)); }
.orbit-ring { position: absolute; border: 1px solid rgba(81, 174, 201, .17); border-radius: 50%; animation: orbit 16s linear infinite; }
.orbit-ring::after { content: ""; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); }
.orbit-ring b { position: absolute; font-size: 11px; color: var(--muted); letter-spacing: .15em; }
.ring-one { width: 270px; height: 270px; transform: rotateX(68deg) rotateZ(8deg); }
.ring-one b { left: 9%; top: 50%; }
.ring-two { width: 410px; height: 410px; border-style: dashed; animation-duration: 25s; animation-direction: reverse; }
.ring-two b { right: 9%; top: 25%; }
.ring-three { width: 540px; height: 270px; transform: rotateZ(-22deg); animation-duration: 32s; }
.ring-three b { bottom: 8%; left: 26%; }
@keyframes orbit { to { rotate: 1turn; } }

/* Dashboard */
.topbar {
    height: 82px;
    padding: 0 max(24px, calc((100vw - 1500px) / 2));
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(5, 8, 13, .82);
    backdrop-filter: blur(22px);
    border-bottom: 1px solid rgba(139, 185, 205, .09);
}
.brand { display: flex; align-items: center; gap: 14px; color: inherit; text-decoration: none; }
.brand img { width: 166px; height: auto; }
.desk-label { border-left: 1px solid var(--line); padding-left: 14px; color: #90a0b4; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.desk-label i { display: inline-block; width: 5px; height: 5px; background: var(--cyan); border-radius: 50%; margin-right: 5px; box-shadow: 0 0 8px var(--cyan); }
.topbar-center { display: flex; align-items: center; gap: 15px; color: #6e8198; font: 600 11px ui-monospace, SFMono-Regular, monospace; }
.live-indicator { color: #a2eecf; background: rgba(0, 255, 157, .05); border: 1px solid rgba(0, 255, 157, .13); padding: 7px 10px; border-radius: 100px; }
.operator { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.operator-avatar { width: 37px; height: 37px; display: grid; place-items: center; color: #001117; font-weight: 900; border-radius: 11px; background: linear-gradient(135deg, var(--cyan), var(--green)); box-shadow: 0 8px 20px rgba(0,212,255,.13); }
.operator b, .operator small { display: block; }
.operator b { font-size: 12px; }
.operator small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.operator form { margin-left: 7px; }
.operator button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; color: #8fa1b5; background: rgba(255,255,255,.02); transition: .2s; }
.operator button:hover { border-color: rgba(255,113,138,.4); color: var(--danger); }
.dashboard-shell { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: 52px 0 44px; }
.hero { min-height: 370px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 8%; padding: 20px 4% 45px; overflow: hidden; perspective: 1200px; }
.eyebrow-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hero h1 { font-size: clamp(48px, 5vw, 78px); line-height: .97; letter-spacing: -.062em; margin: 22px 0; max-width: 740px; }
.hero h1 em { font-style: normal; background: linear-gradient(100deg, var(--cyan), var(--green)); color: transparent; background-clip: text; -webkit-background-clip: text; }
.hero-copy > p { max-width: 660px; margin: 0; color: #8c9db1; font-size: 15px; line-height: 1.75; }
.hero-meta { display: flex; gap: 22px; margin-top: 30px; color: #8192a6; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; flex-wrap: wrap; }
.dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; }
.dot.cyan { background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.dot.green { background: var(--green); box-shadow: 0 0 10px var(--green); }
.dot.gold { background: var(--gold); box-shadow: 0 0 10px var(--gold); }
.wallet-scene { position: relative; min-height: 300px; display: grid; place-items: center; transform-style: preserve-3d; }
.wallet-card {
    width: min(510px, 100%);
    aspect-ratio: 1.66;
    padding: 30px;
    border-radius: 28px;
    position: relative;
    overflow: hidden;
    transform: rotateY(-11deg) rotateX(7deg) translateZ(20px);
    transform-style: preserve-3d;
    background: linear-gradient(128deg, rgba(18, 39, 52, .96), rgba(7, 16, 25, .98) 60%, rgba(11, 34, 36, .95));
    border: 1px solid rgba(112, 209, 222, .22);
    box-shadow: -24px 32px 60px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.08), 0 0 80px rgba(0,212,255,.06);
    transition: transform .25s ease-out;
}
.wallet-card::before { content:""; position:absolute; inset:0; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.07) 49%, transparent 63%); transform: translateX(-80%); animation: cardShine 7s ease-in-out infinite; }
@keyframes cardShine { 55%, 100% { transform: translateX(100%); } }
.wallet-glow { position: absolute; width: 210px; height: 210px; right: -60px; top: -70px; border-radius: 50%; background: rgba(0,255,157,.12); filter: blur(50px); }
.wallet-head { display:flex; justify-content:space-between; align-items:center; color:#7890a4; font-size:9px; letter-spacing:.18em; font-weight:700; }
.wallet-head img { width: 38px; filter: drop-shadow(0 0 12px rgba(0,212,255,.3)); }
.wallet-card > strong { display:block; margin: 27px 0 5px; font-size: clamp(27px, 3vw, 40px); letter-spacing:-.045em; }
.wallet-card > small { color: #73869a; font-size:10px; }
.wallet-divider { height:1px; margin:25px 0 18px; background:linear-gradient(90deg,rgba(0,212,255,.3),transparent); }
.wallet-stats { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.wallet-stats span,.wallet-stats b { display:block; }
.wallet-stats span { color:#6e8196; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.wallet-stats b { margin-top:7px; font-size:13px; }
.wallet-number { position:absolute; right:29px; bottom:21px; color:#476073; font:9px ui-monospace,monospace; letter-spacing:.14em; }
.wallet-shadow { position:absolute; width:75%; height:42px; bottom:-4px; background:rgba(0,212,255,.12); filter:blur(28px); transform:rotate(-6deg); z-index:-1; }
.ticker-rail { display:grid; grid-template-columns:1.1fr repeat(4,1fr); border:1px solid var(--line); border-radius:18px; background:rgba(7,13,21,.8); overflow:hidden; box-shadow:0 16px 46px rgba(0,0,0,.25); }
.ticker-rail > * { min-width:0; padding:17px 20px; border-right:1px solid var(--line); }
.ticker-rail > *:last-child { border-right:0; }
.ticker-source,.ticker-card { display:flex; align-items:center; gap:11px; }
.ticker-source b,.ticker-source small,.ticker-card small,.ticker-card strong { display:block; }
.ticker-source b { font-size:11px; }
.ticker-source small { margin-top:3px; color:var(--muted); font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:145px; }
.status-dot { width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:#526273; }
.status-dot.live { background:var(--green); box-shadow:0 0 14px var(--green); }
.status-dot.fallback { background:var(--gold); box-shadow:0 0 14px var(--gold); }
.asset-icon { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; font-weight:800; }
.asset-icon.btc { color:#f8c766; background:rgba(245,185,66,.09); }
.asset-icon.eth { color:#9cb8ff; background:rgba(125,164,255,.09); }
.asset-icon.bnb { color:#f3d34a; background:rgba(243,211,74,.09); }
.asset-icon.usdt { color:#57e6bb; background:rgba(0,255,157,.08); }
.ticker-card > div { min-width:0; flex:1; }
.ticker-card small { color:#687a8f; font-size:8px; letter-spacing:.07em; }
.ticker-card strong { margin-top:5px; font:700 13px ui-monospace,SFMono-Regular,monospace; overflow:hidden; text-overflow:ellipsis; }
.asset-move { color:var(--green); background:rgba(0,255,157,.06); border-radius:7px; padding:5px 6px; font-size:8px; font-weight:700; }
.asset-move.neutral { color:#89a0b5; background:rgba(130,146,167,.07); }
.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin:18px 0; }
.kpi { border-radius:18px; padding:22px; position:relative; overflow:hidden; }
.kpi::after { content:""; position:absolute; width:80px; height:80px; right:-40px; bottom:-45px; background:var(--cyan); opacity:.06; filter:blur(25px); }
.kpi-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; margin-bottom:20px; font-weight:900; }
.kpi-icon.cyan { color:var(--cyan); background:rgba(0,212,255,.08); }
.kpi-icon.green { color:var(--green); background:rgba(0,255,157,.08); }
.kpi-icon.gold { color:var(--gold); background:rgba(232,185,104,.08); }
.kpi-icon.purple { color:var(--purple); background:rgba(167,139,250,.08); }
.kpi > span { display:block; color:#7e8ea2; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.kpi > strong { display:block; margin:7px 0; font-size:24px; letter-spacing:-.035em; }
.kpi > small { color:#5f7186; font-size:9px; }
.workspace-grid { display:grid; grid-template-columns:1.65fr .85fr; gap:18px; margin-bottom:18px; }
.routes-panel,.allocation-panel,.exchange-panel,.history-panel { border-radius:var(--radius); padding:25px; }
.panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.panel-header h2 { font-size:20px; letter-spacing:-.025em; margin:7px 0 0; }
.cycle-timer,.history-note { color:#687b91; font-size:9px; border:1px solid var(--line); border-radius:9px; padding:8px 10px; }
.cycle-timer b { color:var(--cyan); }
.featured-routes { display:grid; gap:11px; }
.route {
    display:grid;
    grid-template-columns:48px 1fr auto 1fr auto;
    align-items:center;
    gap:16px;
    padding:15px;
    border-radius:15px;
    background:rgba(255,255,255,.018);
    border:1px solid rgba(145,183,204,.09);
    transition:transform .25s,border-color .25s;
}
.route:hover { transform:translateX(3px); border-color:rgba(0,212,255,.25); }
.route-asset { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(145deg,rgba(0,212,255,.12),rgba(0,255,157,.04)); color:var(--cyan); font-size:11px; font-weight:900; }
.route-exchange small,.route-exchange b { display:block; }
.route-exchange small { color:#65778b; font-size:8px; text-transform:uppercase; letter-spacing:.09em; }
.route-exchange b { margin-top:5px; font-size:12px; }
.route-arrow { min-width:78px; color:#607489; font-size:9px; text-align:center; }
.route-arrow i { display:block; height:1px; margin:6px 0; background:linear-gradient(90deg,transparent,var(--cyan),transparent); position:relative; }
.route-arrow i::after { content:""; position:absolute; right:4px; top:-2px; border-left:5px solid var(--cyan); border-top:2px solid transparent; border-bottom:2px solid transparent; animation:routeFlow 1.3s ease-in-out infinite; }
@keyframes routeFlow { from { transform:translateX(-38px); opacity:0; } to { transform:translateX(0); opacity:1; } }
.route-result { text-align:right; min-width:110px; }
.route-result small,.route-result b { display:block; }
.route-result small { color:#728399; font-size:8px; }
.route-result b { color:var(--green); margin-top:4px; font-size:13px; }
.allocation-content { display:grid; grid-template-columns:150px 1fr; gap:22px; align-items:center; margin:5px 0 25px; }
.allocation-ring { width:142px; height:142px; padding:11px; border-radius:50%; background:conic-gradient(var(--cyan) 0 45%, #789bff 45% 80%, #e8c84d 80% 100%); box-shadow:0 0 40px rgba(0,212,255,.1); position:relative; }
.allocation-ring::after { content:""; position:absolute; inset:11px; background:#0b111a; border-radius:50%; box-shadow:inset 0 0 25px rgba(0,0,0,.5); }
.allocation-ring > div { position:relative; z-index:1; height:100%; display:grid; place-content:center; text-align:center; }
.allocation-ring b { font-size:22px; }
.allocation-ring span { color:#718399; font-size:8px; text-transform:uppercase; letter-spacing:.08em; line-height:1.4; }
.allocation-legend { display:grid; gap:14px; }
.allocation-legend > div { display:grid; grid-template-columns:8px 1fr auto; gap:10px; align-items:center; }
.allocation-legend i { width:7px; height:26px; border-radius:4px; }
.btc-bg { background:var(--cyan); box-shadow:0 0 10px rgba(0,212,255,.35); }
.eth-bg { background:#789bff; }
.bnb-bg { background:#e8c84d; }
.allocation-legend span,.allocation-legend small { display:block; }
.allocation-legend span { font-size:10px; }
.allocation-legend small { margin-top:3px; color:#5d7085; font-size:8px; }
.allocation-legend b { font-size:12px; }
.risk-rule { display:flex; gap:12px; align-items:center; padding:13px; background:rgba(0,255,157,.035); border:1px solid rgba(0,255,157,.1); border-radius:13px; }
.risk-rule i { width:26px; height:26px; display:grid; place-items:center; color:var(--green); font-style:normal; background:rgba(0,255,157,.08); border-radius:8px; }
.risk-rule span,.risk-rule b { display:block; }
.risk-rule b { color:#a8d7c5; font-size:9px; margin-bottom:3px; }
.risk-rule span { color:#62778a; font-size:8px; line-height:1.4; }
.exchange-panel { margin-bottom:18px; min-height:390px; overflow:hidden; }
.market-legend { display:flex; gap:14px; color:#687b90; font-size:8px; }
.market-legend i { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--cyan); margin-right:5px; }
.market-legend span:last-child i { background:var(--green); }
.exchange-network { min-height:290px; position:relative; display:grid; grid-template-columns:repeat(10,1fr); gap:10px; align-content:center; padding:38px 10px 8px; }
.exchange-network::before { content:""; position:absolute; inset:20% 5%; border:1px dashed rgba(0,212,255,.11); border-radius:50%; transform:rotate(-3deg); }
.network-core { position:absolute; left:50%; top:46%; width:74px; height:74px; transform:translate(-50%,-50%); z-index:3; display:grid; place-items:center; border-radius:23px; background:#09131d; border:1px solid rgba(0,255,157,.27); box-shadow:0 0 45px rgba(0,255,157,.13); }
.network-core img { width:38px; }
.network-core span { position:absolute; bottom:6px; color:var(--green); font-size:7px; font-weight:800; letter-spacing:.12em; }
.exchange-node { position:relative; z-index:2; min-height:56px; padding:9px 7px; border-radius:11px; text-align:center; background:rgba(10,19,29,.9); border:1px solid rgba(119,170,195,.1); transition:.25s; }
.exchange-node:hover,.exchange-node.active { transform:translateY(-4px); border-color:rgba(0,212,255,.34); box-shadow:0 10px 25px rgba(0,0,0,.3); }
.exchange-node b,.exchange-node small,.exchange-node em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exchange-node b { font-size:8px; }
.exchange-node small { color:#5e7288; font-size:6px; margin:4px 0; }
.exchange-node em { color:var(--cyan); font-style:normal; font:7px ui-monospace,monospace; }
.history-panel { margin-bottom:18px; }
.table-scroll { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:1050px; }
th { padding:0 13px 12px; color:#566a80; font-size:8px; text-align:left; text-transform:uppercase; letter-spacing:.09em; border-bottom:1px solid var(--line); }
td { padding:14px 13px; color:#9aacbe; font-size:10px; border-bottom:1px solid rgba(143,181,204,.07); }
td strong { color:#e9f1f7; }
.route-cell { display:flex; align-items:center; gap:7px; }
.route-cell i { color:var(--cyan); font-style:normal; }
.positive { color:var(--green); font-weight:800; }
.status-pill { display:inline-flex; align-items:center; gap:5px; border-radius:100px; padding:6px 8px; font-size:7px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.status-pill::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 8px currentColor; }
.status-identified { color:#7ddfff; background:rgba(0,212,255,.07); }
.status-routing { color:#ffd580; background:rgba(232,185,104,.07); }
.status-settled { color:#80efbc; background:rgba(0,255,157,.07); }
.operations-notice { display:flex; align-items:flex-start; gap:18px; padding:18px 22px; border:1px solid rgba(232,185,104,.15); background:rgba(232,185,104,.035); border-radius:16px; color:#718399; font-size:9px; line-height:1.55; }
.operations-notice b { color:#d7b77e; white-space:nowrap; text-transform:uppercase; letter-spacing:.07em; }
.operations-notice p { margin:0; }
.skeleton { border-radius:10px; background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.06),rgba(255,255,255,.02)); background-size:200% 100%; animation:skeleton 1.6s infinite; }
.route-skeleton { height:74px; }
.table-skeleton { height:34px; }
@keyframes skeleton { to { background-position:-200% 0; } }
.toast { position:fixed; right:24px; bottom:24px; max-width:330px; transform:translateY(120px); opacity:0; z-index:40; padding:14px 17px; border-radius:13px; background:#101b27; border:1px solid rgba(255,113,138,.28); box-shadow:var(--shadow); color:#ffc0cb; font-size:11px; transition:.3s; }
.toast.show { transform:translateY(0); opacity:1; }

@media (max-width: 1180px) {
    .hero { grid-template-columns:1fr 1fr; padding-left:0; padding-right:0; gap:4%; }
    .hero h1 { font-size:55px; }
    .ticker-rail { grid-template-columns:1fr 1fr 1fr; }
    .ticker-source { grid-row:span 2; }
    .ticker-rail > * { border-bottom:1px solid var(--line); }
    .kpi-grid { grid-template-columns:repeat(2,1fr); }
    .exchange-network { grid-template-columns:repeat(6,1fr); }
    .workspace-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
    .topbar { grid-template-columns:1fr auto; padding:0 18px; }
    .topbar-center,.operator > div:not(.operator-avatar) { display:none; }
    .desk-label { display:none; }
    .dashboard-shell { width:min(100% - 28px,1500px); padding-top:28px; }
    .hero { grid-template-columns:1fr; padding-bottom:28px; }
    .hero-copy { text-align:center; }
    .eyebrow-row,.hero-meta { justify-content:center; }
    .hero-copy > p { margin:auto; }
    .wallet-scene { min-height:320px; }
    .wallet-card { transform:rotateY(-5deg) rotateX(4deg); }
    .ticker-rail { grid-template-columns:1fr 1fr; }
    .ticker-source { grid-column:span 2; grid-row:auto; }
    .ticker-rail > * { border-right:1px solid var(--line); }
    .ticker-rail > *:nth-child(odd) { border-right:0; }
    .exchange-network { grid-template-columns:repeat(4,1fr); padding-top:90px; }
    .network-core { top:38px; }
    .allocation-content { grid-template-columns:130px 1fr; }
    .allocation-ring { width:125px;height:125px; }
    .login-shell { grid-template-columns:1fr; padding:20px; }
    .login-orbit { display:none; }
    .login-card { max-width:500px; margin:auto; transform:none; }
}
@media (max-width: 560px) {
    .topbar { height:70px; }
    .brand img { width:145px; }
    .dashboard-shell { width:min(100% - 20px,1500px); padding-top:18px; }
    .hero { min-height:0; }
    .hero h1 { font-size:43px; }
    .hero-copy > p { font-size:13px; }
    .hero-meta { gap:10px 15px; font-size:8px; }
    .wallet-scene { min-height:260px; }
    .wallet-card { padding:22px; border-radius:22px; }
    .wallet-card > strong { margin-top:18px; font-size:25px; }
    .wallet-divider { margin:16px 0 13px; }
    .wallet-number { display:none; }
    .ticker-rail { grid-template-columns:1fr; }
    .ticker-source { grid-column:auto; }
    .ticker-rail > * { border-right:0!important; }
    .kpi-grid { gap:10px; }
    .kpi { padding:17px; }
    .kpi > strong { font-size:18px; }
    .routes-panel,.allocation-panel,.exchange-panel,.history-panel { padding:18px; border-radius:18px; }
    .route { grid-template-columns:40px 1fr auto; gap:10px; }
    .route-arrow { min-width:45px; }
    .route .route-exchange:nth-of-type(2) { grid-column:2; }
    .route-result { grid-column:3; grid-row:2; min-width:80px; }
    .allocation-content { grid-template-columns:1fr; justify-items:center; }
    .allocation-legend { width:100%; }
    .exchange-network { grid-template-columns:repeat(3,1fr); }
    .market-legend,.history-note { display:none; }
    .operations-notice { display:block; }
    .operations-notice b { display:block; margin-bottom:8px; }
    .login-card { padding:28px 22px; border-radius:22px; }
    .login-brand { display:block; }
    .security-pill { display:inline-block; margin-top:12px; }
    .login-copy { margin-top:38px; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
