.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s,padding-right .35s cubic-bezier(.4,0,.2,1);display:grid}.app.collapsed{grid-template-columns:68px minmax(0,1fr)}@media (min-width:768px){.app.ai-docked{padding-right:min(520px,92vw)}}.app>*,.main>*,.kpi,.chart-tile,.heatmap,.kpi-row>*,.charts-row>*,.global-filters,.portfolio,.trade-table,.chart-body,.bar-col,.main .grid>*,.main .flex>*,.main .glass-card{min-width:0}.sidebar{border-right:1px solid var(--border);background:0 0;flex-direction:column;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0;overflow:hidden}.app.collapsed .sidebar{padding:24px 10px}.brand{white-space:nowrap;color:var(--text);--marken-hoehe:31px;min-height:calc(var(--marken-hoehe) + 20px);align-items:center;gap:10px;padding:4px 12px 16px;font-size:16px;font-weight:600;display:flex;overflow:hidden}.brand-mark{height:var(--marken-hoehe);flex-shrink:0;width:auto;display:block}.brand-icon{flex-shrink:0;width:auto;height:26px;display:none}.app.collapsed .brand-mark{display:none}.app.collapsed .brand-icon{display:block}.app.collapsed .brand .label{opacity:0;pointer-events:none}.sidebar-toggle{border:1px solid var(--border);background:var(--bg);width:24px;height:24px;color:var(--text-3);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:0 8px 16px auto;padding:0;font-size:12px;transition:transform .2s,background .12s,color .12s;display:flex}.sidebar-toggle:hover{background:var(--tile);color:var(--text)}.app.collapsed .sidebar-toggle{margin:0 auto 16px;transform:rotate(180deg)}.sidebar-expand{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);width:100%;min-height:40px;color:var(--text-3);cursor:pointer;justify-content:center;align-items:center;margin-top:8px;padding:9px 0;font-family:inherit;transition:background .12s,color .12s;display:none}.sidebar-expand:hover{background:var(--tile);color:var(--text)}.sidebar-expand .chev{justify-content:center;align-items:center;font-size:15px;display:inline-flex}.app.collapsed .sidebar-expand,.app.focus-mode .sidebar-expand{display:flex}.nav-section{color:var(--text-3);letter-spacing:.02em;white-space:nowrap;padding:18px 12px 8px;font-size:11px;font-weight:500}.app.collapsed .nav-section{opacity:0}.nav{flex-direction:column;display:flex}.nav a,.nav button{box-sizing:border-box;border-radius:var(--radius-pill);min-height:40px;color:var(--text-2);white-space:nowrap;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;margin-bottom:2px;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.55;text-decoration:none;display:flex;position:relative;overflow:hidden}.app.collapsed .nav a,.app.collapsed .nav button{justify-content:center;padding:9px 0}.nav a:hover,.nav button:hover{background:var(--tile);color:var(--text)}.nav a.active,.nav button.active{color:var(--text);background:0 0;font-weight:600}.nav a .icon,.nav button .icon{text-align:center;width:18px;color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.nav a.active .icon,.nav button.active .icon{color:var(--text)}.app.collapsed .nav a .label,.app.collapsed .nav button .label{opacity:0;pointer-events:none;width:0;display:none}.nav a.active:before,.nav button.active:before{content:"";background:var(--pink);width:4px;height:4px;box-shadow:0 0 0 3px color-mix(in srgb, var(--pink) 18%, transparent);border-radius:50%;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.app.collapsed .nav a.active:before,.app.collapsed .nav button.active:before{top:4px;left:50%;transform:translate(-50%)}.nav a.nav-focus .label{background:var(--brand-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:600}.nav a.nav-focus .icon{color:var(--accent-text)}.nav a.nav-focus:after{content:"✦";color:var(--accent-text);opacity:.9;margin-left:auto;font-size:10px}.app.collapsed .nav a.nav-focus:after{display:none}.main{min-width:0;padding:0 40px 80px;position:relative}.topbar{z-index:10;background:0 0;border-bottom:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:56px;margin:0 -40px;padding:10px 40px;transition:-webkit-backdrop-filter .25s,backdrop-filter .25s,box-shadow .25s,border-color .25s;display:grid;position:sticky;top:0}body.scrolled .topbar{-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid color-mix(in srgb, var(--text) 8%, transparent);box-shadow:0 6px 22px -14px color-mix(in srgb, var(--text) 10%, transparent)}.topbar-compact{opacity:0;pointer-events:none;white-space:nowrap;grid-column:1;justify-self:start;align-items:baseline;gap:10px;transition:opacity .25s,transform .25s;display:inline-flex;transform:translateY(6px)}body.scrolled .topbar-compact{opacity:1;transform:translateY(0)}.topbar-title{letter-spacing:-.01em;background:var(--pink-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:15px;font-weight:600;line-height:1.2;display:inline-block}.topbar-date{color:var(--text-3);letter-spacing:-.003em;font-size:13px;font-weight:500;line-height:1.2}.head-alert{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--red) 7%, transparent);border:1px solid color-mix(in srgb, var(--red) 20%, transparent);height:32px;color:var(--text-2);grid-column:2;justify-self:center;align-items:center;gap:10px;min-width:0;max-width:520px;padding:0 6px 0 12px;font-size:12.5px;line-height:1;display:inline-flex}.head-alert .ha-icon{width:14px;height:14px;color:var(--accent-text);flex-shrink:0;display:block}.head-alert .ha-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;line-height:1.4;overflow:hidden}.head-alert .ha-text strong{color:var(--text);font-weight:600}.head-alert .ha-action{border-radius:var(--radius-pill);height:24px;color:var(--accent-text);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:3px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.head-alert .ha-action svg{width:11px;height:11px}.head-alert .ha-action:hover{background:color-mix(in srgb, var(--red) 14%, transparent);color:var(--text)}.topbar-actions{grid-column:3;justify-self:end;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;padding:9px 22px;font-size:14px;font-weight:500;line-height:1;transition:background .12s}.btn:hover{background:var(--surface-raised)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-coach{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--pink) 38%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--pink) 16%, transparent), color-mix(in srgb, var(--indigo) 14%, transparent));color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:500;line-height:1;transition:box-shadow .14s,transform .14s;display:inline-flex}.btn-coach .bc-bubble{width:20px;height:20px;filter:var(--orb-toenung) drop-shadow(0 1px 3px color-mix(in srgb, var(--orb-akzent) 28%, transparent));background:url(/bubble.png) 50%/contain no-repeat;flex-shrink:0}.btn-coach:hover{box-shadow:0 6px 16px -6px color-mix(in srgb, var(--indigo) 40%, transparent);transform:translateY(-1px)}.btn-coach:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-ai-trigger{cursor:pointer;white-space:nowrap;perspective:160px;background:0 0;border:0;align-items:center;gap:6px;margin-right:26px;padding:0;font-family:inherit;line-height:1;transition:transform .15s;display:inline-flex}.btn-ai-trigger:hover{transform:translateY(-1px)}.btn-ai-trigger:hover .tb-lbl{color:#3f4ed4}.btn-ai-trigger .tb-mini-bubble{width:48px;height:48px;filter:var(--orb-toenung) drop-shadow(0 4px 10px color-mix(in srgb, var(--orb-akzent) 30%, transparent));will-change:transform;background:url(/bubble.png) 50%/contain no-repeat;flex-shrink:0;animation:5s ease-in-out infinite tb-puls;display:inline-block}@keyframes tb-puls{0%,to{scale:.93}50%{scale:1.07}}@keyframes tb-float{0%,to{translate:0}35%{translate:0 -3px}70%{translate:0 -1px}}@keyframes tb-tumble{0%{rotate:1 1 0 -7deg}28%{rotate:1 2.4 .2 18deg}55%{rotate:2.2 1 .4 -15deg}80%{rotate:.6 1.6 0 10deg}to{rotate:1 1 0 -7deg}}.btn-ai-trigger .tb-lbl{color:var(--accent-text);letter-spacing:-.003em;font-size:13px;font-weight:500;line-height:1;transition:color .15s}.page-head{border:none;justify-content:space-between;align-items:flex-end;gap:20px;padding:56px 0 40px;display:flex}.page-head h1,.page-head h2{letter-spacing:-.03em;background:var(--pink-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding-bottom:.06em;font-size:56px;font-weight:500;line-height:1.12;display:inline-block}.page-head .sub{max-width:680px;color:var(--text-3);margin-top:14px;font-size:15px}.ai-backdrop{background:color-mix(in srgb, var(--text) 8%, transparent);-webkit-backdrop-filter:blur(2px);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s;position:fixed;inset:0}.ai-backdrop.open{opacity:1;pointer-events:auto}.sidebar-hamburger,.sidebar-backdrop{display:none}@media (max-width:767px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;background:var(--bg);width:236px;height:100vh;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle,.app.collapsed .sidebar-expand,.app.focus-mode .sidebar-expand{display:none}.sidebar-hamburger{z-index:50;border:1px solid var(--border);background:var(--tile);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:38px;height:38px;color:var(--text-2);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex;position:fixed;top:14px;left:16px}.sidebar-backdrop{z-index:39;background:color-mix(in srgb, var(--text) 25%, transparent);display:block;position:fixed;inset:0}.main{padding:56px 18px 60px}.topbar{margin:0 -18px;padding:10px 18px}.page-head{padding:24px 0 28px}.page-head h1,.page-head h2{font-size:38px}}.app.focus-mode .sidebar-toggle{visibility:hidden;pointer-events:none}.head-alert.ha-info{background:color-mix(in srgb, var(--indigo) 7%, transparent);border-color:color-mix(in srgb, var(--indigo) 22%, transparent);padding-right:14px}.head-alert.ha-info .ha-icon{color:var(--accent-text)}.head-alert.ha-new{background:#e0a23c1a;border-color:#e0a23c4d}.head-alert.ha-new .ha-icon,.head-alert.ha-new .ha-action{color:var(--amber-text)}.head-alert.ha-new .ha-action:hover{color:var(--text);background:#e0a23c29}.head-alert .ha-dismiss{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.head-alert .ha-dismiss:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}
.ai-side-panel{z-index:100;background:0 0;flex-direction:column;width:min(520px,92vw);padding:32px 34px 34px;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.ai-side-panel.open{transform:translate(0)}.ai-side-panel>.ai-elevated{flex-direction:column;flex:1;min-height:0;display:flex}.ai-elevated{background:linear-gradient(180deg, color-mix(in srgb, var(--lavender) 20%, transparent) 0%, var(--tile) 14%, var(--tile) 100%);border:1px solid color-mix(in srgb, var(--indigo) 28%, transparent);box-shadow:0 6px 18px -4px color-mix(in srgb, var(--indigo) 28%, transparent), 0 18px 44px -12px color-mix(in srgb, var(--text) 16%, transparent), 0 1px 0 var(--tile) inset;border-radius:18px;padding:28px 32px;position:relative;overflow:hidden}.ai-elevated:before{content:"";background:linear-gradient(95deg, var(--pink) 0%, var(--lavender) 45%, var(--indigo) 100%);z-index:2;pointer-events:none;height:3px;position:absolute;top:0;left:0;right:0}.ai-elevated h3{color:var(--text);letter-spacing:-.018em;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding-right:36px;font-family:inherit;font-size:20px;font-weight:500;display:flex}.ai-elevated p{color:var(--text-2);margin:0 0 14px;font-size:14px;line-height:1.6}.ai-elevated strong{color:var(--text);font-weight:600}.ai-elevated ul{margin:6px 0 14px;padding-left:0;list-style:none}.ai-elevated ul li{color:var(--text-2);margin:8px 0;padding-left:18px;font-size:13.5px;line-height:1.6;position:relative}.ai-elevated ul li:before{content:"";background:var(--indigo);border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:4px}.ai-elevated ul li.pos:before{background:var(--mint)}.ai-elevated ul li.neg:before{background:var(--red)}.ai-badge{background:linear-gradient(135deg, color-mix(in srgb, var(--indigo) 14%, transparent), color-mix(in srgb, var(--lavender) 16%, transparent));border:1px solid color-mix(in srgb, var(--indigo) 32%, transparent);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap;border-radius:500px;align-items:center;gap:5px;padding:3px 9px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.ai-badge:before{content:"✦";font-size:11px;line-height:1}.ai-close-btn{border:1px solid color-mix(in srgb, var(--text) 18%, transparent);background:var(--tile);width:32px;height:32px;color:var(--text-3);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:18px;line-height:1;transition:background .15s,color .15s,transform .15s;display:inline-flex;position:absolute;top:16px;right:16px}.ai-close-btn:hover{background:var(--tile);color:var(--text);transform:rotate(90deg)}.coach-tabs{background:color-mix(in srgb, var(--indigo) 8%, transparent);border:1px solid color-mix(in srgb, var(--indigo) 16%, transparent);border-radius:500px;gap:4px;width:max-content;margin:0 0 16px;padding:3px;font-size:12.5px;display:flex}.coach-tabs button{color:var(--text-3);font:inherit;cursor:pointer;letter-spacing:-.003em;background:0 0;border:0;border-radius:500px;padding:6px 18px;font-weight:500;transition:background .15s,color .15s}.coach-tabs button.active{background:var(--tile);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb, var(--text) 10%, transparent);font-weight:600}.coach-tab{flex-direction:column;flex:1;gap:0;min-height:0;display:none}.coach-tab.active{display:flex}.chat-thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 2px 12px;display:flex;overflow-y:auto}.chat-msg{gap:10px;max-width:100%;display:flex}.chat-msg.coach{flex-direction:row;align-self:flex-start}.chat-msg.user{flex-direction:row-reverse;align-self:flex-end;max-width:88%}.chat-avatar{background:linear-gradient(135deg, var(--pink), var(--lavender), var(--indigo));width:30px;height:30px;color:var(--cta-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;box-shadow:0 2px 6px #7850a040}.chat-bubble{color:var(--text-2);background:var(--tile);border:1px solid color-mix(in srgb, var(--text) 8%, transparent);box-shadow:0 1px 0 var(--surface-raised) inset;white-space:pre-wrap;border-radius:18px;padding:12px 16px;font-size:13.5px;line-height:1.6}.chat-msg.user .chat-bubble{background:linear-gradient(135deg, color-mix(in srgb, var(--pink) 22%, transparent), color-mix(in srgb, var(--indigo) 16%, transparent));border:1px solid color-mix(in srgb, var(--pink) 32%, transparent);color:var(--text);border-bottom-right-radius:6px}.chat-msg.coach .chat-bubble{border-bottom-left-radius:6px}.chat-bubble p{color:var(--text-2);margin:0 0 8px;font-size:13.5px;line-height:1.6}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble strong{color:var(--text);font-weight:600}.chat-typing{align-items:center;gap:4px;display:inline-flex}.chat-typing span{background:var(--indigo);opacity:.5;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing}.chat-typing span:nth-child(2){animation-delay:.18s}.chat-typing span:nth-child(3){animation-delay:.36s}@keyframes chat-typing{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-quick{flex-wrap:wrap;gap:6px;padding:6px 0 10px;display:flex}.chat-quick button{border:1px solid color-mix(in srgb, var(--indigo) 28%, transparent);background:var(--surface-raised);font:inherit;color:var(--accent-text);cursor:pointer;border-radius:500px;padding:5px 11px;font-size:11.5px;font-weight:500;line-height:1.3;transition:background .15s,transform .12s}.chat-quick button:hover{background:var(--tile);transform:translateY(-1px)}.chat-input-row{background:var(--tile);border:1px solid color-mix(in srgb, var(--text) 10%, transparent);box-shadow:0 4px 12px -4px color-mix(in srgb, var(--text) 10%, transparent);border-radius:18px;align-items:center;gap:8px;margin-top:auto;padding:10px;display:flex;position:sticky;bottom:0}.chat-input-row .chat-mic,.chat-input-row .chat-send{cursor:pointer;width:34px;height:34px;font:inherit;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:transform .15s,background .15s;display:flex}.chat-input-row .chat-mic{background:color-mix(in srgb, var(--pink) 14%, transparent);color:var(--loss-text)}.chat-input-row .chat-mic:hover{background:color-mix(in srgb, var(--pink) 22%, transparent)}.chat-input-row .chat-send{background:linear-gradient(135deg, var(--pink), var(--lavender), var(--indigo));color:var(--cta-text);font-weight:600}.chat-input-row .chat-send:disabled{opacity:.5;cursor:default}.chat-input-row .chat-send:not(:disabled):hover{box-shadow:0 4px 12px -2px color-mix(in srgb, var(--indigo) 45%, transparent);transform:translateY(-1px)}.chat-input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 12px;font-size:13.5px}.chat-input::placeholder{color:var(--text-4)}.ai-insight-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 0;display:flex}.ai-insight-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ai-insight-gen{border:1px solid color-mix(in srgb, var(--indigo) 30%, transparent);background:color-mix(in srgb, var(--indigo) 10%, transparent);font:inherit;color:var(--accent-text);cursor:pointer;white-space:nowrap;border-radius:500px;padding:6px 14px;font-size:12px;font-weight:500;transition:background .15s}.ai-insight-gen:hover{background:color-mix(in srgb, var(--indigo) 18%, transparent)}.ai-insight-gen:disabled{opacity:.6;cursor:default}.ai-insight-label{letter-spacing:.06em;text-transform:uppercase;margin:14px 0 6px;font-size:11px;font-weight:700}.ai-insight-label.pos{color:var(--profit-text)}.ai-insight-label.warn{color:var(--loss-text)}.ai-insight-label.next{color:var(--accent-text)}@media (max-width:767px){.ai-side-panel{padding:20px 18px 22px}.ai-elevated{padding:22px 20px}}