.official-brand{flex-direction:column;align-items:flex-start;gap:8px;letter-spacing:0}.official-brand img{width:155px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 12px #ff843f18)}.official-brand small{font-size:8px;letter-spacing:2.4px}.layout{grid-template-columns:244px minmax(0,1fr);transition:grid-template-columns .28s ease}.layout.rail-collapsed{grid-template-columns:98px minmax(0,1fr)}.sidebar{margin:16px 0 16px 16px;padding:30px 15px 18px;height:calc(100vh - 32px);top:16px;border:1px solid #ffffff13;border-radius:25px;background:linear-gradient(145deg,#29282bd9,#171619ed 65%);box-shadow:inset 0 1px 0 #ffffff10,0 16px 40px #0004;backdrop-filter:blur(28px);min-width:0}.sidebar .brand{margin:0 9px 28px}.rail-toggle{position:absolute;right:-11px;top:27px;width:25px;height:25px;border-radius:50%;border:1px solid #ffffff1c;background:#242126;box-shadow:0 0 15px #0005;color:#ffab79;font-size:19px;display:grid;place-items:center;z-index:2}.rail-toggle:hover{border-color:#ff843f88;box-shadow:0 0 15px #ff843f33}.rail-home{border:1px solid #ffffff09;border-radius:11px;background:#0002;display:flex;align-items:center;gap:12px;padding:12px;width:100%;text-align:left;white-space:nowrap}.rail-home>span:first-child{font-size:20px;color:#ffa269}.rail-home small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.rail-home .rail-label{font-size:11px}.rail-divider{height:1px;background:#ffffff08;margin:25px 0}.sidebar nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#62514a transparent;min-height:100px}.sidebar .navlabel{margin:0 12px 18px;font-size:8px}.sidebar .nav{position:relative;gap:13px;padding:13px 12px;white-space:nowrap;transition:color .2s,background .2s;min-height:45px}.nav svg{width:19px;height:19px;display:block}.sidebar .nav>span:first-child{flex:0 0 20px;text-align:center}.sidebar .nav.active{background:linear-gradient(90deg,#ff843f18,#ffffff03);color:#ffaf7e;box-shadow:none}.sidebar .nav.active:before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:5px;background:#ff843f;box-shadow:0 0 10px #ff843f,0 0 22px #ff843f66}.sidebar .nav:hover{color:#ffe1cf;background:#ffffff07}.sidebar-bottom{padding-top:24px}.profile{padding:18px 6px 0}.profile .rail-label{font-size:11px}.profile .rail-label small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.rail-collapsed .sidebar{padding-left:10px;padding-right:10px}.rail-collapsed .sidebar .brand{margin:5px 0 32px;align-items:center}.rail-collapsed .sidebar .brand img{width:54px;height:30px}.rail-collapsed .sidebar .brand small,.rail-collapsed .rail-label,.rail-collapsed .navlabel{display:none}.rail-collapsed .rail-home,.rail-collapsed .nav{justify-content:center;padding-left:10px;padding-right:10px}.rail-collapsed .profile{justify-content:center}.rail-collapsed .rail-divider{margin:22px 0}.back-button{font-size:11px;padding:8px 12px}.console header{gap:16px;flex-wrap:wrap}.theme-donut{width:174px;height:174px;flex-shrink:0;position:relative}.theme-donut svg{width:100%;height:100%;overflow:visible}.ring-segment{stroke-dasharray:var(--arc) calc(100 - var(--arc));animation:ring-draw 1.25s cubic-bezier(.22,.61,.36,1) both;filter:drop-shadow(0 0 5px #ff843f15)}.ring-number{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;animation:fade-number 1.3s both}.ring-number strong{font:500 29px Manrope;letter-spacing:-1px}.ring-number small{font-size:10px;color:#a89b93;margin-top:4px}.legend .dot{width:7px;height:7px}.legend button:hover{color:#ffb181}.topbar{background:transparent}.topbar .actions{gap:8px}@keyframes ring-draw{from{stroke-dasharray:0 100;opacity:0}to{opacity:1}}
@media(max-width:1150px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar .brand img{width:140px}.theme-donut{width:180px;height:180px}}
@media(max-width:700px){.layout,.layout.rail-collapsed{display:block}.sidebar,.rail-collapsed .sidebar{width:225px;left:0;padding:30px 15px 18px;background:linear-gradient(145deg,#29282bf5,#171619fa);box-shadow:0 0 0 100vmax #0008}.sidebar:not(.open){box-shadow:none}.rail-collapsed .sidebar .brand{margin:0 9px 28px;align-items:flex-start}.rail-collapsed .sidebar .brand img{width:140px;height:50px}.rail-collapsed .rail-label,.rail-collapsed .sidebar .brand small,.rail-collapsed .navlabel{display:block}.rail-collapsed .rail-home,.rail-collapsed .nav,.rail-collapsed .profile{justify-content:flex-start}.rail-toggle{display:none}.theme-donut{width:145px;height:145px}.official-brand img{width:130px;height:42px}.official-brand small{font-size:7px}.console header>.btn{font-size:10px;padding:9px}.console header #console-back{order:3}.topbar .actions{gap:6px}.back-button{padding:8px}.donut-wrap{gap:16px}}
@media(max-width:700px){.rail-toggle{display:grid;width:30px;height:30px;right:-15px}}
@media(prefers-reduced-motion:reduce){.layout,.sidebar .nav{transition:none}.ring-segment,.ring-number{animation:none}}

/* Full-height navigation and data copilot */
.sidebar{margin:0;height:100vh;top:0;border-left:0;border-radius:0 25px 25px 0;padding-top:28px;padding-bottom:18px}.sidebar nav{flex:1;min-height:0}.sidebar-bottom{margin-top:16px;padding-top:12px;border-top:1px solid #ffffff08}.sidebar-refresh{color:#ffd7be!important;background:linear-gradient(90deg,#ff843f16,transparent)!important}.sidebar-refresh span:first-child{font-size:20px!important}.refresh-main{border-color:#ff843f45;background:#ff843f0d;color:#ffc19a}.refresh-main:hover,.sidebar-refresh:hover{border-color:#ff843f88;background:#ff843f18!important}.refreshing{animation:refresh-spin .75s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}
.analyst-shell{max-width:1120px}.analyst-brief{padding:24px 26px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:radial-gradient(circle at 85% 20%,#ff843f19,transparent 35%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}.analyst-brief h2{font-size:28px;margin:7px 0}.analyst-brief p{margin:0}.analyst-kpis{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px}.analyst-kpis div{min-width:100px;padding:14px;border:1px solid #ffffff0d;border-radius:14px;background:#0b0a0c55}.analyst-kpis strong{font:600 25px Manrope;display:block}.analyst-kpis span{font-size:10px;color:var(--muted)}.analyst-chat{padding:20px}.chat-stream{height:min(46vh,480px);min-height:330px;overflow:auto;padding:4px 4px 16px;scrollbar-color:#6c4c3c transparent}.chat-message{max-width:78%;padding:14px 16px;border-radius:16px;margin:11px 0;border:1px solid #ffffff0b}.chat-message small{display:block;text-transform:uppercase;letter-spacing:1.2px;font-size:8px;margin-bottom:6px;color:#b1abb5}.chat-message p{margin:0;color:#e8e4e2;line-height:1.65}.chat-message.assistant{background:linear-gradient(135deg,#ff843f12,#ffffff04);border-bottom-left-radius:5px}.chat-message.user{margin-left:auto;background:#ffffff09;border-bottom-right-radius:5px}.thinking p{color:#cbbcb3;animation:analyst-pulse 1s ease-in-out infinite alternate}@keyframes analyst-pulse{to{opacity:.45}}.prompt-chips{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #ffffff08;padding-top:15px}.prompt-chip{border:1px solid #ffffff12;background:#ffffff04;color:#cfc8c5;border-radius:999px;padding:8px 11px;font-size:10px}.prompt-chip:hover{border-color:#ff843f66;color:#ffc7a4;background:#ff843f0c}.analyst-input{display:grid;grid-template-columns:44px 1fr auto;gap:9px;margin-top:13px}.analyst-input .field{height:44px}.voice-btn{width:44px;height:44px;border-radius:50%;border:1px solid #ff843f44;background:#ff843f0d;color:#ffae7b;font-size:18px}.voice-btn:hover,.voice-btn.listening{background:#ff843f26;box-shadow:0 0 0 5px #ff843f0c,0 0 20px #ff843f22}.voice-btn.listening{animation:voice-pulse .8s ease-in-out infinite alternate}@keyframes voice-pulse{to{transform:scale(.92)}}.voice-row{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:10px;margin-top:12px}.voice-row label{display:flex;gap:7px;align-items:center;color:#d8d1cd}.analyst-note{margin:12px 4px}
@media(max-width:700px){.sidebar,.rail-collapsed .sidebar{margin:0;height:100vh;top:0;border-radius:0 22px 22px 0}.analyst-brief{align-items:flex-start;flex-direction:column}.analyst-kpis{width:100%}.analyst-kpis div{min-width:0}.chat-message{max-width:92%}.chat-stream{min-height:360px}.analyst-input{grid-template-columns:42px 1fr}.analyst-input .primary{grid-column:1/-1}.voice-row{align-items:flex-start;flex-direction:column}.heading>.actions{max-width:100%;flex-direction:row;flex-wrap:wrap}.refresh-main{display:inline-flex}}
/* Loading keeps the control and label stationary. */
.refreshing{animation:none!important}
.refresh-icon{display:inline-block;flex:0 0 auto;line-height:1;transform-origin:center}
.refreshing .refresh-icon{animation:refresh-spin .75s linear infinite}
.refresh-main,#refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.sidebar{height:100dvh;display:flex;flex-direction:column;overflow:visible}
.sidebar>.brand,.sidebar>.rail-home,.sidebar>.rail-divider,.sidebar>.navlabel,.sidebar-bottom{flex-shrink:0}
.sidebar nav{flex:1 1 auto;min-height:120px}
.sidebar-bottom{margin-top:10px;padding-top:8px}
.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}
.analyst-input{min-width:0}.analyst-input .field{min-width:0;width:100%}
@media(max-height:800px){.sidebar{padding-top:18px;padding-bottom:12px}.sidebar .brand,.rail-collapsed .sidebar .brand{margin-bottom:14px}.sidebar .rail-divider,.rail-collapsed .rail-divider{margin:12px 0}.sidebar .navlabel{margin-bottom:8px}.sidebar .nav{min-height:38px;padding-top:9px;padding-bottom:9px}.sidebar .profile{padding-top:10px}.sidebar-bottom{margin-top:8px}.sidebar .brand img{height:40px}.sidebar .rail-home{padding-top:9px;padding-bottom:9px}}
@media(max-height:580px){.sidebar .brand small,.sidebar .profile,.sidebar .navlabel{display:none}.sidebar .brand img{height:28px}.sidebar .brand,.rail-collapsed .sidebar .brand{margin-bottom:10px}.sidebar .nav{min-height:34px;padding-top:7px;padding-bottom:7px}}
@media(prefers-reduced-motion:reduce){.refreshing .refresh-icon{animation:none;opacity:.5}}
