:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{margin:0;background:#0e1117;color:#e6e6e6}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:#161a23;padding:1rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid #262b36}.brand h1{font-size:1rem;margin-bottom:0}.brand p{color:gray;font-size:.75rem;margin-top:.25rem}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.sidebar nav a{color:#ccc;text-decoration:none;padding:.5rem .75rem;border-radius:6px}.sidebar nav a.active,.sidebar nav a:hover{background:#262b36;color:#fff}.sidebar-footer{margin-top:auto;font-size:.85rem;color:#aaa}.sidebar-footer button{margin-top:.5rem;width:100%}.content{flex:1;padding:1.5rem 2rem;overflow-x:auto}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.login-form{display:flex;flex-direction:column;gap:.75rem;width:320px;margin-top:1rem}.login-form label{display:flex;flex-direction:column;gap:.25rem;text-align:left}.stacked-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.stacked-form label{display:flex;flex-direction:column;gap:.25rem}input,select,button{background:#1c2129;color:#e6e6e6;border:1px solid #333a47;border-radius:6px;padding:.5rem;font-size:.9rem}button{cursor:pointer}button:hover{background:#262b36}.filters-bar{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.control-panel{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;background:linear-gradient(180deg,#171c26,#12161e);border:1px solid #262b36;border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0006}.control-field{display:flex;flex-direction:column;gap:.4rem}.control-field>label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#7f8899}.control-field input{background:#0f1319;border:1px solid #232935;border-radius:8px;padding:.55rem .7rem;color:#eef1f6;font-size:.9rem;min-height:40px}.control-field input:focus{outline:none;border-color:#4c8dff;box-shadow:0 0 0 3px #4c8dff26}.stock-search{min-width:200px;font-weight:600;letter-spacing:.02em}.control-divider{width:1px;align-self:stretch;background:#262b36;margin:.2rem 0}.range-chips{display:flex;gap:.4rem}.range-chip{background:#0f1319;border:1px solid #232935;border-radius:8px;padding:0 .9rem;min-height:40px;font-size:.82rem;font-weight:600;letter-spacing:.03em;color:#b7c0d0;cursor:pointer;transition:all .12s ease}.range-chip:hover{border-color:#3a4557;color:#eef1f6}.range-chip.active{background:linear-gradient(180deg,#4c8dff,#3b74e0);border-color:#4c8dff;color:#fff;box-shadow:0 2px 8px #4c8dff59}.filters-bar label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.quick-range{display:flex;gap:.25rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.overview-grid{display:grid;grid-template-columns:1.1fr 1.4fr;gap:1.25rem;margin-bottom:1.5rem}@media(max-width:1100px){.overview-grid{grid-template-columns:1fr}}.panel{background:linear-gradient(180deg,#171c26,#12161e);border:1px solid #262b36;border-radius:14px;padding:1.25rem 1.4rem;box-shadow:0 1px 2px #0006}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.1rem}.panel-title{display:flex;flex-direction:column;gap:.15rem}.panel-symbol{font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:#f2f4f8}.panel-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#7f8899}.live-pill{font-size:.68rem;font-weight:600;letter-spacing:.08em;color:#00e676;background:#00c8531f;border:1px solid rgba(0,200,83,.3);border-radius:999px;padding:.2rem .6rem}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.hero-price{display:flex;flex-direction:column;gap:.4rem}.hero-ltp{font-size:2.4rem;font-weight:700;line-height:1;color:#fff;letter-spacing:-.01em}.hero-ltp:before{content:"₹";font-size:1.4rem;font-weight:600;color:#9aa4b5;margin-right:.15rem;vertical-align:super}.delta-chip{align-self:flex-start;font-size:.85rem;font-weight:600;padding:.25rem .6rem;border-radius:8px}.delta-chip.up{color:#00e676;background:#00c8531f}.delta-chip.down{color:#ff5c73;background:#ff17441f}.mcap-block{display:flex;flex-direction:column;gap:.2rem;text-align:right}.kpi-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#7f8899}.kpi-value{display:block;font-size:1.05rem;font-weight:600;color:#eef1f6}.range52{margin-top:1.6rem}.range52-track{position:relative;height:8px;border-radius:6px;background:linear-gradient(to right,#ff1744,#ffc400,#00c853)}.range52-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #12161e;box-shadow:0 0 0 2px #00e676}.range52-labels{display:flex;justify-content:space-between;margin-top:.75rem}.range52-labels>span{display:flex;flex-direction:column;gap:.15rem}.range52-mid{text-align:center}.range52-hi{text-align:right}.kpi-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:640px){.kpi-tiles{grid-template-columns:repeat(2,1fr)}}.kpi-tile{background:#0f1319;border:1px solid #232935;border-radius:10px;padding:.85rem .9rem;display:flex;flex-direction:column;gap:.4rem}.kpi-tile .kpi-value{font-size:1.15rem;font-weight:700}.kpi-tile.accent{border-color:#4c8dff59;background:linear-gradient(180deg,#4c8dff14,#0f1319)}.kpi-tile.accent .kpi-value{color:#8fb6ff}.company-panel{margin-bottom:1.5rem}.company-head{display:flex;align-items:center;gap:1rem}.company-avatar{flex-shrink:0;width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#4c8dff,#6f5cff);box-shadow:0 2px 10px #4c8dff4d}.company-id{display:flex;flex-direction:column;gap:.45rem}.company-name{font-size:1.2rem;font-weight:700;color:#f2f4f8;letter-spacing:-.01em}.company-badges{display:flex;flex-wrap:wrap;gap:.4rem}.badge{font-size:.72rem;font-weight:600;letter-spacing:.03em;padding:.22rem .65rem;border-radius:999px;color:#cfe0ff;background:#4c8dff1f;border:1px solid rgba(76,141,255,.3)}.badge-muted{color:#b7c0d0;background:#7f88991f;border-color:#7f88994d}.badge-symbol{color:#9ff0b5;background:#00c8531f;border-color:#00c8534d}.company-summary{margin-top:1.1rem;border-top:1px solid #262b36;padding-top:1rem}.company-summary>summary{cursor:pointer;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#7f8899;font-weight:600;list-style:none;display:flex;align-items:center;gap:.4rem}.company-summary>summary:before{content:"▸";transition:transform .15s ease;color:#4c8dff}.company-summary[open]>summary:before{transform:rotate(90deg)}.company-summary>summary::-webkit-details-marker{display:none}.company-summary p{margin:.75rem 0 0;font-size:.9rem;line-height:1.65;color:#c3cbd8}.run-scan-btn{background:linear-gradient(180deg,#4c8dff,#3b74e0);border:1px solid #4c8dff;border-radius:8px;color:#fff;font-weight:600;font-size:.9rem;padding:0 1.4rem;min-height:40px;cursor:pointer;box-shadow:0 2px 8px #4c8dff59}.run-scan-btn:disabled{opacity:.55;cursor:default;box-shadow:none}.filter-panel{margin-bottom:1.25rem}.range-slider{position:relative;height:54px;margin-top:.25rem}.rs-track{position:absolute;top:6px;left:0;right:0;height:6px;border-radius:6px;background:#232935}.rs-fill{position:absolute;top:0;height:100%;border-radius:6px;background:linear-gradient(90deg,#4c8dff,#6f5cff)}.rs-input{position:absolute;top:0;left:0;width:100%;height:18px;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none}.rs-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #4c8dff;cursor:pointer;box-shadow:0 1px 4px #0006}.rs-input::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #4c8dff;cursor:pointer}.rs-labels{position:absolute;top:26px;left:0;right:0;display:flex;justify-content:space-between}.rs-labels-hi{text-align:right}.chart-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.chart-toolbar h3{margin:0}.indicator-toggle{background:#0f1319;border:1px solid #232935;border-radius:8px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;color:#b7c0d0;cursor:pointer;transition:all .12s ease}.indicator-toggle:hover{border-color:#3a4557;color:#eef1f6}.indicator-toggle.active{background:linear-gradient(180deg,#4c8dff,#3b74e0);border-color:#4c8dff;color:#fff;box-shadow:0 2px 8px #4c8dff59}.chart-panel{position:relative;background:#0e1117;border:1px solid #262b36;border-radius:12px;padding:.5rem;overflow:hidden}.chart-legend{position:absolute;top:.9rem;left:1rem;z-index:5;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:#9aa4b5;pointer-events:none}.chart-legend .lg-sym{font-weight:700;color:#eef1f6;letter-spacing:.02em}.chart-legend .lg-item b{color:#d1d4dc;font-weight:600}.chart-legend .lg-up,.chart-legend .lg-up b{color:#26a69a}.chart-legend .lg-down,.chart-legend .lg-down b{color:#ef5350}.advanced-chart-container{border-radius:12px;overflow:hidden;border:1px solid #262b36}.card{background:#161a23;border:1px solid #262b36;border-radius:8px;padding:1rem;margin-bottom:1rem}.card ul{list-style:none;padding:0;margin:0}.card li{padding:.25rem 0;border-bottom:1px solid #262b36}.table-scroll{max-height:500px;overflow:auto;border:1px solid #262b36;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{padding:.4rem .6rem;text-align:center;border-bottom:1px solid #262b36;white-space:nowrap}th{position:sticky;top:0;background:#1c2129}td.positive{color:#00c853;font-weight:700}td.negative{color:#ff1744;font-weight:700}td.highlight{background:#1b5e20;color:#fff;font-weight:700}.error{color:#ff1744}.success{color:#00c853}.hint{color:#999;font-size:.85rem}.page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.log-output{background:#0b0e14;border:1px solid #262b36;border-radius:6px;padding:.75rem;font-size:.8rem;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto;margin:.5rem 0 0}.status-banner{border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid}.status-banner.status-busy{background:#1c2431;border-color:#33507a;color:#cfe0ff}.status-banner.status-ok{background:#10281a;border-color:#1b5e20;color:#9ff0b5}.status-banner.status-fail{background:#2a1113;border-color:#7a2230;color:#ffb3bd}
