/* NHIP UI refinement v2.6 — compact density, clearer hierarchy, responsive workspace.
   Override-only stylesheet: existing application logic and original styles remain intact. */
:root{--bg:#f5f7fa;--surface:#fff;--surface2:#f7f9fc;--line:#e5eaf0;--text:#1d2939;--muted:#667085;--shadow:0 2px 8px rgba(16,24,40,.035)}
html{scroll-padding-top:76px} body{font-size:13px;line-height:1.45;background:var(--bg);color:var(--text)}
.topbar{height:58px;padding:0 20px;gap:12px;background:rgba(255,255,255,.96);border-bottom-color:#e7ebf0}
.brandname{font-size:21px;letter-spacing:-.5px}.nhip-mark{width:32px;height:30px}.tagline{font-size:11px;padding-left:12px}.top-actions{gap:8px}.btn{border-radius:7px;padding:8px 11px;font-size:11px;font-weight:700}.secondary{background:#f7f9fb;border-color:#e2e8f0}
.shell{grid-template-columns:184px minmax(0,1fr);max-width:1920px}.sidebar{position:sticky;top:58px;height:calc(100dvh - 58px);min-height:0;overflow:auto;padding:18px 10px 12px;border-right-color:#e7ebf0;gap:3px;background:#fbfcfe}.side-label{font-size:9px;letter-spacing:.9px;padding:0 10px 8px}.nav{padding:9px 10px;border-radius:7px;gap:9px;font-size:12px;min-height:35px}.nav.active,.nav:hover{background:#e8f7f2;color:#087f68}.side-footer{font-size:9px;padding:12px 8px 0}
.main{padding:18px clamp(14px,1.7vw,26px) 14px;min-width:0}.welcome{padding:3px 0 15px;gap:16px}.welcome h1{font-size:clamp(22px,2vw,29px);letter-spacing:-.8px;margin:5px 0}.welcome p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:.9px}.search{padding:10px;width:min(320px,38%);border-radius:10px;box-shadow:none}.search label{font-size:10px;margin-bottom:5px}.searchline input{padding:8px;font-size:12px}.quick{margin-top:6px}.quick button{font-size:9px}
.status{padding:7px 10px;margin-bottom:10px;border-radius:7px;font-size:10px}.index-grid{gap:9px;margin-bottom:10px}.index-card,.panel{border-radius:10px;box-shadow:0 1px 4px rgba(16,24,40,.025);border-color:#e6ebf1}.index-card{padding:11px}.card-top{font-size:10px}.market-badge,.pill{font-size:9px;padding:2px 5px}.index-card>strong{font-size:21px;letter-spacing:-.4px;margin:5px 0 0}.change{font-size:11px;margin-top:2px}.index-card small{font-size:9px;margin-top:7px}.sparkline{right:10px;bottom:14px;font-size:34px}
.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:10px;margin-bottom:10px}.panel{padding:12px;margin-bottom:10px}.panelhead{gap:8px;margin-bottom:8px}.panelhead h2{font-size:14px;letter-spacing:-.15px}.panel-sub{font-size:10px;margin-top:2px}.toolbar{gap:4px}.toolbar .btn{padding:6px 8px}.toolbar select,select{padding:6px 7px;border-radius:6px;font-size:10px}.chart{height:250px;border-radius:6px}.legend{font-size:9px;padding:7px 0;gap:6px}.source-strip{font-size:9px;padding-top:7px}.watchlist{gap:4px}.watch-row{padding:7px 8px;border-radius:7px;gap:8px}.watch-symbol{font-size:11px}.watch-price{font-size:11px}.watch-change{font-size:10px;min-width:48px}.watch-hint,.muted{font-size:10px}.mini-divider{margin:12px 0 10px}.indicator-list>div{padding:7px 0;font-size:10px}.ai-callout{padding:9px;margin-top:10px;border-radius:8px}.ai-callout b{font-size:10px}.ai-callout p{font-size:9px}.newslist{gap:7px}.newsitem{padding:10px;border-radius:8px}.newsitem strong{font-size:11px;margin-bottom:4px}.newsitem p{font-size:10px}.newsitem small{font-size:9px}footer{font-size:9px;padding:9px 2px 20px}
/* Trading and data tables: denser without sacrificing click targets */
table{font-size:11px}th,td{padding:7px 8px}.fld,.fld2,input,textarea{font-size:12px}.ai-widget{right:18px;bottom:18px}.ai-launcher{width:48px;height:48px;border-width:2px;font-size:22px}.ai-panel{bottom:60px;border-radius:13px}
/* Desktop: keep chart useful but prevent it from swallowing the whole workspace. */
@media(min-width:1200px){.main{padding-left:22px;padding-right:22px}.chart{height:clamp(220px,27vh,300px)}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(270px,.8fr)}.index-grid{gap:10px}.panel{padding:13px}}
@media(min-width:1600px){.shell{grid-template-columns:194px minmax(0,1fr)}.main{padding-left:28px;padding-right:28px}.chart{height:300px}}
/* Tablet */
@media(max-width:1050px){.shell{grid-template-columns:155px minmax(0,1fr)}.sidebar{padding-left:7px;padding-right:7px}.main{padding:14px}.content-grid{grid-template-columns:minmax(0,1fr)}.chart{height:260px}.watchlist{grid-template-columns:repeat(2,minmax(0,1fr))}.index-card>strong{font-size:20px}}
/* Mobile: content-first, compact sticky header and fixed bottom navigation compatibility. */
@media(max-width:720px){.topbar{height:54px;padding:0 12px;gap:8px}.brandname{font-size:19px}.nhip-mark{width:29px;height:27px}.top-actions{gap:5px}.top-actions .btn{padding:7px 8px;font-size:10px}.shell{display:block}.sidebar{display:none}.main{padding:12px 10px 10px}.welcome{padding:0 0 11px;display:block}.welcome h1{font-size:24px;letter-spacing:-.6px;margin:5px 0}.welcome p{font-size:11px;line-height:1.5}.search{width:100%;margin-top:10px;padding:9px}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:8px}.index-card{padding:10px;border-radius:9px}.index-card>strong{font-size:19px}.card-top{font-size:10px}.index-card small{font-size:8px}.content-grid{display:block}.panel{padding:10px;margin-bottom:8px;border-radius:9px}.panelhead{align-items:center;gap:6px;margin-bottom:7px}.panelhead h2{font-size:13px}.panel-sub{font-size:9px}.toolbar{flex-wrap:wrap;justify-content:flex-end}.toolbar select{max-width:85px;padding:5px;font-size:9px}.toolbar .btn{padding:5px 7px;font-size:10px}.chart{height:230px}.legend{flex-wrap:wrap;font-size:9px}.watchlist{grid-template-columns:1fr}.watch-row{padding:8px}.newslist{grid-template-columns:1fr}.status{font-size:9px;padding:7px 8px}.ai-widget{right:10px;bottom:80px}.ai-launcher{width:43px;height:43px}.ai-panel{width:min(330px,calc(100vw - 20px));height:min(440px,calc(100dvh - 125px));bottom:52px}footer{padding:8px 2px 90px;font-size:9px}footer span{text-align:left;display:block;margin-top:4px}}
@media(max-width:380px){.main{padding-left:7px;padding-right:7px}.welcome h1{font-size:22px}.index-card>strong{font-size:17px}.chart{height:205px}.panel{padding:8px}.topbar{padding:0 8px}.brandname{font-size:17px}}
/* Respect reduced motion preferences */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
