/* OptionsCode V17 — NSE-inspired light/dark interface
   Palette direction follows NSE's blue + marigold/orange + red identity,
   while market green/red remain reserved for P&L and trade state. */

:root{
  --nse-blue:#0056a6;
  --nse-blue-2:#0d6db8;
  --nse-orange:#f28c28;
  --nse-yellow:#f6c343;
  --nse-red:#d93932;

  --bg:#f4f7fb;
  --bg-soft:#edf3f9;
  --panel:#ffffff;
  --panel2:#f5f8fc;
  --panel3:#eef4fa;
  --line:#d7e1ec;
  --line-strong:#c5d3e2;
  --text:#17263a;
  --muted:#65788f;
  --label:#435a73;
  --accent:var(--nse-blue);
  --accent2:var(--nse-orange);
  --green:#138a57;
  --red:#c9363e;
  --amber:#a86c00;
  --topbar:rgba(255,255,255,.96);
  --topbar-border:#d9e3ee;
  --input:#ffffff;
  --feed:#0b1727;
  --feed-line:#20334a;
  --feed-text:#e8f0fa;
  --feed-muted:#7f95ad;
  --shadow:0 12px 32px rgba(26,54,86,.09);
  --shadow-soft:0 5px 18px rgba(26,54,86,.07);
  --focus:0 0 0 3px rgba(0,86,166,.14);
}

html[data-theme="dark"]{
  --bg:#08111f;
  --bg-soft:#0d1828;
  --panel:#111d2f;
  --panel2:#15243a;
  --panel3:#0d1929;
  --line:#273a53;
  --line-strong:#36506f;
  --text:#edf4fb;
  --muted:#92a7bc;
  --label:#bac9d8;
  --accent:#42a0e8;
  --accent2:#f6a044;
  --green:#4bd08b;
  --red:#ff7180;
  --amber:#ffd06b;
  --topbar:rgba(8,17,31,.95);
  --topbar-border:#25384f;
  --input:#0b1727;
  --feed:#050c16;
  --feed-line:#1b2b40;
  --feed-text:#edf4fb;
  --feed-muted:#71879f;
  --shadow:0 16px 42px rgba(0,0,0,.25);
  --shadow-soft:0 6px 22px rgba(0,0,0,.18);
  --focus:0 0 0 3px rgba(66,160,232,.15);
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 10% -10%,rgba(0,86,166,.08),transparent 34%),
    radial-gradient(circle at 92% 6%,rgba(242,140,40,.07),transparent 28%),
    var(--bg);
  color:var(--text);
  min-height:100vh;
  transition:background-color .2s ease,color .2s ease;
}
a{color:inherit;text-decoration:none}
code{background:var(--panel3);border:1px solid var(--line);padding:.1rem .35rem;border-radius:6px;color:var(--text)}

.nse-accent-bar{height:4px;display:grid;grid-template-columns:2.1fr .85fr .7fr .45fr;position:sticky;top:71px;z-index:9;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.nse-accent-bar span:nth-child(1){background:var(--nse-blue)}
.nse-accent-bar span:nth-child(2){background:var(--nse-red)}
.nse-accent-bar span:nth-child(3){background:var(--nse-orange)}
.nse-accent-bar span:nth-child(4){background:var(--nse-yellow)}
.auth-theme-toggle + .nse-accent-bar{position:fixed;top:0;left:0;right:0;z-index:20}

.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  min-height:71px;padding:12px 30px;
  background:var(--topbar);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--topbar-border);
  box-shadow:0 2px 14px rgba(26,54,86,.04);
}
.brand{display:flex;align-items:center;gap:12px}
.brandmark,.auth-logo{
  display:grid;place-items:center;width:44px;height:44px;border-radius:10px;
  background:linear-gradient(140deg,var(--nse-blue) 0 58%,var(--nse-orange) 58% 78%,var(--nse-red) 78% 100%);
  color:#fff;font-weight:900;letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 8px 20px rgba(0,86,166,.18);
}
.brandname{font-weight:850;letter-spacing:-.01em}.brandsub{font-size:12px;color:var(--muted)}
.topbar-right{display:flex;align-items:center;gap:12px;min-width:0}
nav{display:flex;gap:3px;align-items:center}
nav a{padding:9px 12px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:650;position:relative}
nav a:hover{background:var(--panel2);color:var(--text)}
nav a.active{background:rgba(0,86,166,.09);color:var(--accent)}
nav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:3px;background:var(--nse-orange)}
html[data-theme="dark"] nav a.active{background:rgba(66,160,232,.11)}

.theme-toggle{
  appearance:none;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);
  height:38px;padding:0 11px;border-radius:9px;display:inline-flex;align-items:center;gap:7px;
  font-weight:750;font-size:12px;cursor:pointer;box-shadow:var(--shadow-soft);transition:.18s;
}
.theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}
.theme-icon{font-size:15px;line-height:1}.theme-label{min-width:31px;text-align:left}
.auth-theme-toggle{position:fixed;right:20px;top:18px;z-index:30}

.page{max-width:1500px;margin:0 auto;padding:30px}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:46px 30px 30px}
.auth-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow)}
.auth-card.wide{width:min(760px,100%)}.auth-card .auth-logo{margin-bottom:18px}.auth-card h1{margin:0 0 4px;letter-spacing:-.025em}.muted{color:var(--muted)}
.form-stack{display:grid;gap:16px;margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.form-span{grid-column:1/-1}
label{display:grid;gap:7px;color:var(--label);font-size:13px;font-weight:700}
input,select{width:100%;background:var(--input);border:1px solid var(--line-strong);color:var(--text);border-radius:9px;padding:11px 12px;outline:none;transition:.15s}
input:focus,select:focus{border-color:var(--accent);box-shadow:var(--focus)}

.btn{appearance:none;border:0;border-radius:9px;padding:10px 15px;font-weight:780;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.primary{background:linear-gradient(135deg,var(--nse-blue),var(--nse-blue-2));color:white;box-shadow:0 7px 16px rgba(0,86,166,.17)}
.btn.primary:hover{filter:brightness(1.05)}
.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line-strong)}
.btn.secondary:hover{border-color:var(--nse-orange)}
.btn.full{width:100%}.btn.tiny{padding:7px 10px;font-size:12px}
.security-note,.note{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.55;background:var(--panel3);border:1px solid var(--line);border-left:3px solid var(--nse-orange);border-radius:9px;padding:11px}

.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.hero h1{font-size:34px;line-height:1.05;margin:5px 0 8px;letter-spacing:-.035em}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em;color:var(--accent);margin:0 0 7px}.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cards{display:grid;gap:14px;margin-bottom:18px}.cards.six{grid-template-columns:repeat(6,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft)}
.metric{padding:17px;position:relative;overflow:hidden}.metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--nse-blue)}
.metric:nth-child(4n+2)::before{background:var(--nse-orange)}.metric:nth-child(4n+3)::before{background:var(--nse-red)}.metric:nth-child(4n+4)::before{background:var(--nse-yellow)}
.metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.metric strong{font-size:19px}
.grid-main{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(290px,.85fr);gap:18px;margin-bottom:18px}.panel{padding:20px}.panel.compact{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.panel-head h2,.panel h2{margin:0;font-size:20px}
.trade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trade-grid>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px}.trade-grid span,.mini-stats span,.mode-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.trade-grid strong{font-size:14px}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;border:1px solid transparent;white-space:nowrap}
.pill.running{color:var(--green);background:rgba(19,138,87,.10);border-color:rgba(19,138,87,.24)}
html[data-theme="dark"] .pill.running{background:rgba(75,208,139,.10);border-color:rgba(75,208,139,.25)}
.pill.paused{color:var(--amber);background:rgba(242,140,40,.10);border-color:rgba(242,140,40,.28)}
.pill.neutral{color:var(--muted);background:var(--panel2);border-color:var(--line)}
.big-pnl{font-size:34px;font-weight:900;margin:13px 0 18px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-stats>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px}
.mode-card{margin-top:18px;padding:15px;background:linear-gradient(135deg,rgba(0,86,166,.09),rgba(242,140,40,.07));border:1px solid rgba(0,86,166,.17);border-left:3px solid var(--nse-orange);border-radius:11px}.mode-card strong{display:block;margin-bottom:4px;color:var(--accent)}.mode-card small{color:var(--muted)}
.positive{color:var(--green)!important}.negative{color:var(--red)!important}.errorbox{margin-top:14px;padding:12px;border-radius:10px;background:rgba(201,54,62,.08);border:1px solid rgba(201,54,62,.25);color:var(--red)}.hidden{display:none}

.feed-panel{margin-bottom:18px}.feed-head{align-items:center}.feed-tools{display:flex;gap:8px;align-items:center}.feed-tools select{min-width:110px}
.live-feed{height:390px;overflow:auto;background:var(--feed);color:var(--feed-text);border:1px solid var(--feed-line);border-radius:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;box-shadow:inset 0 1px 8px rgba(0,0,0,.14)}
.feed-row{display:grid;grid-template-columns:150px 72px 1fr;gap:12px;padding:8px 11px;border-bottom:1px solid rgba(83,111,143,.23)}.feed-row:last-child{border-bottom:0}.feed-time{color:var(--feed-muted)}.feed-level{font-weight:900}.feed-row.signal .feed-level{color:#63b5f1}.feed-row.trade .feed-level{color:#59d596}.feed-row.error .feed-level{color:#ff7886}.feed-row.info .feed-level{color:#a9bacb}.feed-msg{white-space:pre-wrap;word-break:break-word}.feed-empty{padding:25px;color:var(--feed-muted)}

.report-filter{padding:16px 18px;margin-bottom:18px}.date-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.date-form label{min-width:170px}.quick-links{margin-top:10px;color:var(--accent);font-size:12px;font-weight:650}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--line);font-size:12px}th{color:var(--label);background:var(--panel2);position:sticky;top:0;border-top:2px solid var(--nse-blue)}td small{display:block;color:var(--muted);margin-top:4px}.empty-cell{text-align:center;color:var(--muted);padding:30px}
tbody tr:hover{background:rgba(0,86,166,.035)}html[data-theme="dark"] tbody tr:hover{background:rgba(66,160,232,.035)}
.settings-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.flash-wrap{margin-bottom:16px}.flash{padding:11px 13px;border-radius:9px;margin-bottom:8px}.flash.success{background:rgba(19,138,87,.09);border:1px solid rgba(19,138,87,.22);color:var(--green)}.flash.error{background:rgba(201,54,62,.08);border:1px solid rgba(201,54,62,.23);color:var(--red)}

@media(max-width:1180px){.cards.six{grid-template-columns:repeat(3,1fr)}.trade-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .page{padding:20px}.topbar{padding:12px 18px;align-items:flex-start;flex-direction:column;gap:10px}.topbar-right{width:100%;justify-content:space-between}.nse-accent-bar{top:119px}nav{overflow:auto;max-width:calc(100vw - 120px)}
  .hero{align-items:flex-start;flex-direction:column}.cards.six,.cards.four{grid-template-columns:repeat(2,1fr)}.grid-main,.settings-grid{grid-template-columns:1fr}.trade-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.feed-row{grid-template-columns:110px 60px 1fr}
}
@media(max-width:600px){
  .topbar-right{align-items:flex-start}.theme-toggle .theme-label{display:none}.theme-toggle{padding:0 10px}.nse-accent-bar{top:119px}.cards.six,.cards.four{grid-template-columns:1fr}.trade-grid{grid-template-columns:1fr}.page{padding:14px}.hero h1{font-size:29px}.auth-shell{padding-left:16px;padding-right:16px}.auth-card{padding:25px}.date-form label{min-width:100%;width:100%}
}

/* NIFTY paper-lot sizing additions */
.field-help{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:550;line-height:1.45}
.lot-banner{display:inline-flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px;padding:8px 11px;border:1px solid rgba(0,86,166,.18);border-left:3px solid var(--nse-orange);border-radius:8px;background:var(--panel2);color:var(--label);font-size:12px}
.lot-banner strong{color:var(--accent)}
.lot-note{display:block;margin-top:7px;color:var(--muted)}
.partial-plan{border-left-color:var(--nse-blue)}
.wide-trade-table{min-width:1500px}

.single-position{border-left-color:var(--nse-red);font-weight:600}

.lock-ready{color:var(--green)!important}.lock-active{color:var(--nse-orange)!important}
