:root{
  --navy-950:#070d18;
  --navy-900:#0a1424;
  --navy-850:#0d1a2e;
  --navy-800:#101f38;
  --navy-700:#16284a;
  --navy-600:#1d3258;
  --border-soft:rgba(255,255,255,0.07);
  --border-soft-2:rgba(255,255,255,0.1);
  --text-primary:#eef3fa;
  --text-secondary:#9fb0c8;
  --text-muted:#6b7d99;
  --teal:#2dd4bf;
  --teal-dim:rgba(45,212,191,0.15);
  --green:#34d399;
  --green-dim:rgba(52,211,153,0.15);
  --blue:#3b82f6;
  --blue-dim:rgba(59,130,246,0.15);
  --gold:#e8b84b;
  --gold-dim:rgba(232,184,75,0.15);
  --red:#f87171;
  --red-dim:rgba(248,113,113,0.15);
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow-card:0 4px 24px rgba(0,0,0,0.35);
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Inter',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  background:
    radial-gradient(circle at 10% 0%, rgba(45,212,191,0.06), transparent 40%),
    radial-gradient(circle at 90% 10%, rgba(232,184,75,0.05), transparent 40%),
    var(--navy-950);
  color:var(--text-primary);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select{font-family:inherit;}

.app{
  display:flex;
  width:100%;
  min-height:100vh;
}

/* ===== SIDEBAR ===== */
.sidebar{
  width:264px;
  flex-shrink:0;
  background:linear-gradient(180deg, var(--navy-900), var(--navy-950));
  border-right:1px solid var(--border-soft);
  display:flex;
  flex-direction:column;
  padding:24px 18px;
  position:sticky;
  top:0;
  height:100vh;
}

.brand{display:flex;align-items:center;gap:12px;padding:6px 6px 22px;}
.brand-mark{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,var(--teal),var(--blue));
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:#04150f;
  box-shadow:0 6px 16px rgba(45,212,191,0.25);
}
.brand-text{display:flex;flex-direction:column;}
.brand-title{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:0.5px;}
.brand-sub{font-size:11px;color:var(--text-muted);}

.nav-menu{display:flex;flex-direction:column;gap:4px;margin-top:6px;}
.nav-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:var(--radius-sm);
  font-size:13.5px;font-weight:500;color:var(--text-secondary);
  transition:all 0.18s ease;
}
.nav-item i{width:18px;text-align:center;font-size:14px;}
.nav-item:hover{background:var(--navy-800);color:var(--text-primary);}
.nav-item.active{
  background:linear-gradient(90deg, rgba(45,212,191,0.16), rgba(45,212,191,0.02));
  color:var(--teal);
  border-left:3px solid var(--teal);
  padding-left:11px;
  font-weight:600;
}

.sidebar-footer{
  display:flex;align-items:center;gap:10px;
  padding:12px 10px;margin-top:auto;
  border-top:1px solid var(--border-soft);
}
.avatar{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,var(--gold),#b88a23);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:#1a1306;
}
.user-info{display:flex;flex-direction:column;flex:1;}
.user-name{font-size:12.5px;font-weight:600;}
.user-role{font-size:11px;color:var(--text-muted);}
.logout-icon{color:var(--text-muted);font-size:13px;}
.logout-icon:hover{color:var(--red);}

/* ===== MAIN ===== */
.main{flex:1;padding:26px 32px 40px;min-width:0;}
[data-nav-section]{scroll-margin-top:24px;}

.topbar{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:26px;flex-wrap:nowrap;gap:16px;
}
.topbar-left{flex:1 1 auto;min-width:0;}
.topbar-left h1{font-family:var(--font-display);font-size:25px;font-weight:800;letter-spacing:-0.2px;}
.topbar-left p{font-size:13px;color:var(--text-secondary);margin-top:5px;}

.topbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;}

.live-status{
  display:flex;align-items:center;gap:8px;
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  padding:8px 14px;border-radius:999px;font-size:12px;color:var(--text-secondary);
}
.pulse-dot{
  width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(52,211,153,0.6);
  animation:pulse 1.8s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,0.5);}
  70%{box-shadow:0 0 0 7px rgba(52,211,153,0);}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}
}

.datetime{font-size:12.5px;color:var(--text-secondary);font-weight:500;white-space:nowrap;}

.icon-btn{
  position:relative;width:38px;height:38px;border-radius:10px;
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-secondary);font-size:14px;transition:all .15s;
}
.icon-btn:hover{color:var(--teal);border-color:var(--teal);}
.badge{
  position:absolute;top:-5px;right:-5px;background:var(--red);
  color:#fff;font-size:9.5px;font-weight:700;width:16px;height:16px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
}

/* ===== CARDS GENERIC ===== */
.card{
  background:linear-gradient(155deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01)), var(--navy-900);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:22px;
  backdrop-filter:blur(6px);
}
.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.card-header h2{font-family:var(--font-display);font-size:16.5px;font-weight:700;}
.card-sub{font-size:12px;color:var(--text-muted);display:block;margin-top:3px;}

/* ===== KPI ===== */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;}
.kpi-card{
  display:flex;gap:14px;align-items:flex-start;
  background:linear-gradient(155deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01)), var(--navy-900);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:20px;
  box-shadow:var(--shadow-card);
  transition:transform .18s ease, border-color .18s;
}
.kpi-card:hover{transform:translateY(-2px);border-color:var(--border-soft-2);}
.kpi-icon{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.kpi-icon.teal{background:var(--teal-dim);color:var(--teal);}
.kpi-icon.gold{background:var(--gold-dim);color:var(--gold);}
.kpi-icon.blue{background:var(--blue-dim);color:var(--blue);}
.kpi-icon.green{background:var(--green-dim);color:var(--green);}
.kpi-icon.red{background:var(--red-dim);color:var(--red);}

.kpi-body{display:flex;flex-direction:column;gap:4px;}
.kpi-label{font-size:12.5px;color:var(--text-secondary);font-weight:500;}
.kpi-value{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-0.3px;}
.kpi-input-wrap{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;}
.kpi-input-wrap input{
  width:104px;min-width:0;
  background:transparent;border:0;border-bottom:1px solid var(--border-soft-2);
  color:var(--text-primary);font:inherit;font-size:inherit;font-weight:inherit;
  outline:none;padding:0 2px 2px;
}
.kpi-input-wrap input:focus{border-bottom-color:var(--teal);}
.kpi-input-wrap input::-webkit-outer-spin-button,
.kpi-input-wrap input::-webkit-inner-spin-button{margin:0;}
.participants-input-wrap input{width:76px;}
.kpi-meta{display:flex;align-items:center;gap:8px;margin-top:2px;}
.kpi-change{font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px;}
.kpi-change.up{color:var(--green);}
.kpi-change.down{color:var(--red);}
.kpi-change.neutral{color:var(--gold);}
.kpi-sub{font-size:11px;color:var(--text-muted);}

/* ===== LAYOUT GRID ===== */
.grid-2col{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:24px;align-items:stretch;}

.dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.dot.teal{background:var(--teal);}
.dot.gold{background:var(--gold);}
.dot.blue{background:var(--blue);}
.dot.green{background:var(--green);}

.chart-wrap{position:relative;height:320px;}
.chart-wrap.small{height:140px;margin-top:14px;}

/* ===== MARKET PANEL ===== */
.refresh-icon{color:var(--text-muted);cursor:pointer;font-size:13px;transition:transform .4s;}
.refresh-icon:hover{color:var(--teal);transform:rotate(180deg);}

.market-list{display:flex;flex-direction:column;gap:10px;}
.market-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 13px;border-radius:var(--radius-sm);
  background:var(--navy-850);border:1px solid var(--border-soft);
}
.market-name{display:flex;flex-direction:column;}
.market-ticker{font-size:13px;font-weight:600;}
.market-full{font-size:10.5px;color:var(--text-muted);}
.market-vals{text-align:right;display:flex;flex-direction:column;}
.market-price{font-size:13px;font-weight:700;}
.market-change{font-size:11.5px;font-weight:600;}
.market-change.up{color:var(--green);}
.market-change.down{color:var(--red);}

.source-note{display:block;margin-top:14px;font-size:11px;color:var(--text-muted);}
.source-note i{color:var(--teal);margin-right:4px;}

/* ===== SECTION TITLE ===== */
.section-block{margin-bottom:24px;}
.section-title{margin-bottom:16px;}
.section-title h2{font-family:var(--font-display);font-size:18px;font-weight:800;}

/* ===== SIMULATION CARDS ===== */
.sim-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.sim-card{display:flex;flex-direction:column;}
.sim-head{display:flex;gap:14px;margin-bottom:16px;}
.sim-icon{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:17px;
}
.sim-icon.teal{background:var(--teal-dim);color:var(--teal);}
.sim-icon.blue{background:var(--blue-dim);color:var(--blue);}
.sim-icon.gold{background:var(--gold-dim);color:var(--gold);}
.sim-icon.red{background:var(--red-dim);color:var(--red);}
.sim-head h3{font-size:14.5px;font-weight:700;margin-bottom:4px;}
.sim-head p{font-size:12px;color:var(--text-muted);line-height:1.45;}

.sim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.sim-inputs label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--text-secondary);font-weight:500;}
.sim-inputs input,
.sim-inputs select,
.settings-form input:not([type="checkbox"]),
.settings-form select{
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  border-radius:var(--radius-sm);padding:9px 11px;color:var(--text-primary);
  font-size:13px;outline:none;transition:border-color .15s;
}
.sim-inputs input:focus,
.sim-inputs select:focus,
.settings-form input:not([type="checkbox"]):focus,
.settings-form select:focus{border-color:var(--teal);}

.btn-run{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(90deg,var(--teal),#1fa392);
  color:#04150f;font-weight:700;font-size:13px;
  padding:11px;border-radius:var(--radius-sm);
  box-shadow:0 4px 14px rgba(45,212,191,0.25);
  transition:transform .15s, box-shadow .15s;
}
.btn-run:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(45,212,191,0.35);}
.btn-run:active{transform:translateY(0);}

.sim-output{
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft);
  display:none;
}
.sim-output.show{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.sim-output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.out-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:5px;}
.out-value{display:block;font-size:15px;font-weight:700;color:var(--teal);}
.out-value.small{font-size:12px;color:var(--text-secondary);font-weight:500;line-height:1.4;}

.sim-chart-wrap{height:160px;margin-top:16px;position:relative;}

/* ===== STOCK INVESTMENT SIMULATION ===== */
.source-note.inline{margin-top:0;flex-shrink:0;}

.stock-sim-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

.stock-select-label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--text-secondary);font-weight:500;margin-bottom:14px;}
.stock-select{
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);
  font-size:13.5px;font-weight:600;outline:none;cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%239fb0c8' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;
}
.stock-select:focus{border-color:var(--teal);}

.stock-quote{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--navy-850);border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;
}
.stock-quote-main{display:flex;align-items:baseline;gap:10px;}
.stock-price{font-family:var(--font-display);font-size:19px;font-weight:800;}
.stock-change{font-size:12.5px;font-weight:700;}
.stock-change.up{color:var(--green);}
.stock-change.down{color:var(--red);}
.stock-meta{font-size:11.5px;color:var(--text-muted);}

.fund-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.fund-item{
  background:var(--navy-850);border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:6px;
}
.fund-label{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;}
.fund-label i{color:var(--teal);font-size:11px;}
.fund-value{font-size:15.5px;font-weight:800;font-family:var(--font-display);}
.fund-sub{font-size:10.5px;color:var(--text-muted);}

.stock-invest-panel h3{font-size:14.5px;font-weight:700;margin-bottom:14px;}
.stock-invest-panel .sim-inputs{margin-bottom:14px;}

/* ===== PORTFOLIO DONUT ===== */
.donut-wrap{position:relative;width:200px;height:200px;margin:6px auto 18px;}
.donut-center{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  text-align:center;display:flex;flex-direction:column;
}
.donut-total{font-size:16px;font-weight:800;font-family:var(--font-display);}
.donut-label{font-size:10.5px;color:var(--text-muted);margin-top:2px;}

.portfolio-legend{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.legend-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-secondary);}
.legend-row span{flex:1;}
.legend-row b{color:var(--text-primary);font-weight:700;}

.status-pill{
  display:flex;align-items:center;gap:8px;
  background:var(--green-dim);color:var(--green);
  padding:10px 14px;border-radius:var(--radius-sm);
  font-size:12px;font-weight:600;
}

/* ===== PERFORMANCE ===== */
.perf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:6px;}
.perf-item{
  background:var(--navy-850);border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);padding:13px 14px;
  display:flex;flex-direction:column;gap:6px;
}
.perf-label{font-size:11.5px;color:var(--text-muted);}
.perf-value{font-size:17px;font-weight:800;font-family:var(--font-display);}
.perf-value.up{color:var(--green);}
.perf-value.down{color:var(--red);}
.perf-value.neutral{color:var(--gold);}

/* ===== QUICK ACTIONS ===== */
.quick-actions{margin-bottom:10px;}
.actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.action-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  border-radius:var(--radius-md);padding:14px;
  font-size:13px;font-weight:600;color:var(--text-secondary);
  transition:all .15s;
}
.action-btn i{color:var(--teal);font-size:14px;}
.action-btn:hover{border-color:var(--teal);color:var(--text-primary);transform:translateY(-1px);}

/* ===== FEATURE SECTIONS ===== */
.feature-section .section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}

.link-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:max-content;max-width:100%;
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  border-radius:var(--radius-sm);padding:9px 12px;
  color:var(--text-secondary);font-size:12px;font-weight:700;
  transition:all .15s;
}
.link-btn i{color:var(--teal);}
.link-btn:hover{border-color:var(--teal);color:var(--text-primary);transform:translateY(-1px);}

.action-status{display:block;margin-top:10px;font-size:11.5px;color:var(--text-muted);}
.table-card{overflow:hidden;}
.data-table{display:flex;flex-direction:column;gap:8px;}
.table-row{
  display:grid;grid-template-columns:1.4fr 1fr .7fr .7fr;gap:12px;align-items:center;
  padding:11px 12px;border-radius:var(--radius-sm);
  background:var(--navy-850);border:1px solid var(--border-soft);
  font-size:12px;color:var(--text-secondary);
}
.table-row span:first-child{color:var(--text-primary);font-weight:600;}
.table-head{background:transparent;border-color:transparent;padding-top:0;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.table-head span:first-child{color:var(--text-muted);}
.badge-soft{
  display:inline-flex;align-items:center;justify-content:center;
  width:max-content;border-radius:999px;padding:5px 9px;
  font-size:11px;font-weight:700;
}
.badge-soft.ok{background:var(--green-dim);color:var(--green);}
.badge-soft.warn{background:var(--gold-dim);color:var(--gold);}

.report-output{
  margin-top:14px;padding:14px;
  background:var(--navy-850);border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
}
.report-status{font-size:12.5px;color:var(--text-secondary);line-height:1.5;}

.settings-card{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start;}
.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.settings-form label{display:flex;flex-direction:column;gap:7px;font-size:11.5px;color:var(--text-secondary);font-weight:500;}
.settings-form .toggle-row{
  flex-direction:row;align-items:center;gap:10px;
  background:var(--navy-850);border:1px solid var(--border-soft-2);
  border-radius:var(--radius-sm);padding:10px 12px;
}
.toggle-row input{width:16px;height:16px;accent-color:var(--teal);}
.settings-save{grid-column:1/-1;}
.settings-summary{
  background:var(--navy-850);border:1px solid var(--border-soft);
  border-radius:var(--radius-md);padding:16px;min-height:100%;
}

.toast{
  position:fixed;right:24px;bottom:24px;z-index:30;
  max-width:360px;padding:13px 15px;border-radius:var(--radius-md);
  background:var(--navy-800);border:1px solid var(--border-soft-2);
  color:var(--text-primary);font-size:12.5px;font-weight:600;
  box-shadow:var(--shadow-card);opacity:0;transform:translateY(10px);
  pointer-events:none;transition:opacity .2s ease, transform .2s ease;
}
.toast.show{opacity:1;transform:translateY(0);}

.page-footer{
  text-align:center;font-size:11.5px;color:var(--text-muted);
  margin-top:18px;padding-top:18px;border-top:1px solid var(--border-soft);
}

/* ===== LAPTOP (1280-1600px, e.g. 1366x768 / 1440x900) ===== */
@media (max-width:1600px){
  .sidebar{width:226px;padding:20px 14px;}
  .brand{padding:4px 4px 16px;}
  .brand-mark{width:38px;height:38px;font-size:16px;}
  .nav-item{padding:9px 12px;font-size:13px;}
  .nav-item.active{padding-left:9px;}

  .main{padding:18px 22px 28px;}
  .topbar{margin-bottom:18px;}
  .topbar-left h1{font-size:21px;}
  .topbar-left p{font-size:12px;}
  .live-status{padding:6px 12px;font-size:11px;}
  .datetime{font-size:11.5px;}
  .icon-btn{width:34px;height:34px;font-size:13px;}

  .kpi-grid{gap:14px;margin-bottom:18px;}
  .kpi-card{padding:15px;gap:11px;}
  .kpi-icon{width:38px;height:38px;font-size:15px;}
  .kpi-value{font-size:20px;}
  .kpi-input-wrap input{width:88px;}
  .participants-input-wrap input{width:68px;}
  .kpi-label{font-size:11.5px;}

  .card{padding:17px;}
  .card-header{margin-bottom:12px;}
  .card-header h2{font-size:14.5px;}
  .grid-2col{gap:14px;margin-bottom:18px;}
  .chart-wrap{height:230px;}
  .chart-wrap.small{height:100px;margin-top:10px;}

  .section-block{margin-bottom:18px;}
  .section-title{margin-bottom:12px;}
  .section-title h2{font-size:16px;}
  .sim-grid{gap:14px;}
  .sim-card .card{padding:16px;}
  .sim-head{gap:11px;margin-bottom:12px;}
  .sim-icon{width:36px;height:36px;font-size:14px;}
  .sim-head h3{font-size:13.5px;}
  .sim-head p{font-size:11.5px;}
  .sim-inputs{gap:9px;margin-bottom:12px;}
  .sim-inputs input{padding:7px 9px;font-size:12.5px;}
  .btn-run{padding:9px;font-size:12.5px;}
  .sim-output{margin-top:12px;padding-top:12px;}
  .sim-chart-wrap{height:120px;margin-top:12px;}
  .out-value{font-size:13.5px;}

  .donut-wrap{width:160px;height:160px;margin:4px auto 14px;}
  .donut-total{font-size:14px;}
  .portfolio-legend{gap:8px;margin-bottom:12px;}
  .perf-grid{gap:10px;}
  .perf-item{padding:11px 12px;}
  .perf-value{font-size:15px;}

  .actions-grid{gap:10px;}
  .action-btn{padding:11px;font-size:12.5px;}
  .table-row{padding:9px 10px;}
  .settings-card{gap:14px;}
  .page-footer{margin-top:14px;padding-top:14px;font-size:11px;}

  .stock-sim-layout{gap:16px;}
  .stock-quote{padding:10px 12px;margin-bottom:12px;}
  .stock-price{font-size:16px;}
  .fund-grid{gap:8px;margin-bottom:12px;}
  .fund-item{padding:10px;}
  .fund-value{font-size:13.5px;}
  .stock-invest-panel h3{font-size:13px;margin-bottom:10px;}
}

/* ===== RESPONSIVE ===== */
@media (max-width:1280px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .grid-2col{grid-template-columns:1fr;}
  .sim-grid{grid-template-columns:1fr;}
  .settings-card{grid-template-columns:1fr;}
  .actions-grid{grid-template-columns:repeat(2,1fr);}
  .stock-sim-layout{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .sidebar{display:none;}
  .main{padding:20px;}
  .sim-inputs{grid-template-columns:1fr;}
  .settings-form{grid-template-columns:1fr;}
  .table-row{grid-template-columns:1fr 1fr;}
  .table-head{display:none;}
  .toast{right:14px;bottom:14px;left:14px;max-width:none;}
  .topbar{flex-wrap:wrap;}
  .topbar-right{justify-content:flex-start;}
}
