:root{--py-bg: #080d16;--py-panel: rgba(16, 24, 39, .92);--py-panel-strong: rgba(21, 32, 48, .96);--py-border: rgba(148, 163, 184, .22);--py-text: #edf2f7;--py-muted: #94a3b8;--py-blue: #60a5fa;--py-green: #22c55e;--py-red: #ef4444;--py-amber: #f59e0b}.py-react-boot{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.py-react-shell{color:var(--py-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.py-react-rail{position:fixed;z-index:1060;inset:0 auto 0 0;width:276px;padding:18px 14px;background:linear-gradient(180deg,#080d16fa,#0d121ef5);border-right:1px solid var(--py-border);box-shadow:18px 0 42px #0000003d}.py-react-brand{display:flex;align-items:center;height:50px;margin-bottom:22px;text-decoration:none}.py-react-brand img{width:188px;height:auto;object-fit:contain}.py-react-nav{display:flex;flex-direction:column;gap:18px}.py-react-nav-group{display:flex;flex-direction:column;gap:6px}.py-react-nav-group>span{padding:0 10px;color:#7c8aa1;font-size:.72rem;line-height:1.2;text-transform:uppercase}.py-react-nav a{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;min-height:42px;padding:5px 10px;border-radius:8px;color:#dbeafe;text-decoration:none;border:1px solid transparent}.py-react-nav a:hover,.py-react-nav a:focus{color:#fff;background:#1e293bd1;border-color:#94a3b833}.py-react-nav a.is-active{color:#fff;background:#2563eb3d;border-color:#60a5fa57}.py-react-nav b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#0f172aeb;color:#bfdbfe;font-size:.78rem}.py-react-topbar{position:fixed;z-index:1050;top:0;left:276px;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px;background:#080d16e0;border-bottom:1px solid var(--py-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.py-react-topbar>div:first-child{min-width:180px}.py-react-topbar h1{margin:2px 0 0;font-size:1.1rem;line-height:1.2;letter-spacing:0}.py-breadcrumb{color:var(--py-blue);font-size:.72rem;line-height:1.2;text-transform:uppercase}.py-react-account{display:flex;align-items:center;gap:10px;min-width:0}.py-react-account span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbd5e1}.py-react-account button{min-height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--py-border);background:#1e293bbf;color:var(--py-text)}.py-command{position:relative;flex:1 1 420px;max-width:560px}.py-command-button{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 12px;border-radius:8px;border:1px solid rgba(148,163,184,.26);background:#0f172ac7;color:#cbd5e1}.py-command-button:hover,.py-command-button:focus{color:#fff;border-color:#60a5fa75;background:#1e293beb}.py-command-button kbd{min-width:48px;padding:2px 7px;border-radius:6px;border:1px solid rgba(148,163,184,.28);background:#020617b3;color:#94a3b8;font-size:.7rem;font-weight:600}.py-command-menu{position:absolute;top:46px;left:0;right:0;z-index:1080;padding:8px;border-radius:8px;border:1px solid rgba(96,165,250,.32);background:#080d16fa;box-shadow:0 24px 60px #0000006b}.py-command-menu input{width:100%;min-height:38px;margin-bottom:8px;padding:0 10px;border-radius:8px;border:1px solid rgba(148,163,184,.26);background:#0f172af5;color:#fff}.py-command-list{display:grid;gap:4px}.py-command-list button{min-height:46px;display:grid;gap:2px;padding:7px 10px;text-align:left;border-radius:8px;border:1px solid transparent;background:transparent;color:#e2e8f0}.py-command-list button:hover,.py-command-list button:focus{border-color:#60a5fa47;background:#1e293bd1}.py-command-list button span,.py-command-empty{color:#94a3b8;font-size:.76rem}.py-react-surface{position:fixed;z-index:1045;top:88px;left:304px;right:28px;min-height:112px;max-height:154px;pointer-events:none}.py-react-surface>*{pointer-events:auto}.py-surface-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) minmax(260px,1.4fr);gap:10px;align-items:stretch}.py-surface-grid.is-macro{grid-template-columns:repeat(3,minmax(220px,1fr))}.py-kpi,.py-panel,.py-panel-compact{min-height:112px;border-radius:8px;border:1px solid var(--py-border);background:var(--py-panel);box-shadow:0 18px 42px #00000038}.py-kpi{display:flex;flex-direction:column;justify-content:space-between;padding:14px}.py-kpi-label,.py-muted{color:var(--py-muted);font-size:.78rem}.py-kpi strong,.py-panel-compact strong{color:#fff;font-size:clamp(1rem,1.8rem,1.8rem);line-height:1.08;letter-spacing:0}.py-kpi.is-positive strong{color:#bbf7d0}.py-kpi.is-negative strong{color:#fecaca}.py-panel{padding:12px;overflow:hidden}.py-panel.py-wide{grid-column:span 2}.py-panel-compact{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px}.py-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#f8fafc;font-weight:700}.py-panel-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:#94a3b8;font-size:.74rem}.py-table-skeleton{display:grid;gap:10px;padding:8px 0 2px}.py-table-skeleton span{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#334155a6,#94a3b833,#334155a6);background-size:200% 100%;animation:py-shimmer 1.25s ease-in-out infinite}.py-table-skeleton span:nth-child(1){width:48%}.py-table-skeleton span:nth-child(2){width:84%}.py-table-skeleton span:nth-child(3){width:62%}.py-surface-notice{position:fixed;right:28px;bottom:92px;z-index:1080;width:min(460px,calc(100vw - 56px));min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;border:1px solid rgba(245,158,11,.34);background:#78350f47;color:#fde68a}.py-surface-notice button{min-height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(245,158,11,.46);background:#0f172ac2;color:#fff7ed}.py-freshness{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--py-border);font-size:.72rem;color:#dbeafe;white-space:nowrap}.py-freshness.is-live{color:#bbf7d0;border-color:#22c55e61;background:#14532d4d}.py-freshness.is-stale{color:#fde68a;border-color:#f59e0b6b;background:#78350f52}.py-freshness.is-loading{color:#dbeafe;background:#2563eb2e}.py-mini-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem}.py-mini-table th,.py-mini-table td{padding:5px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgba(148,163,184,.12)}.py-mini-table th{color:var(--py-muted);font-weight:600;text-align:left}.py-mini-table td{color:#e2e8f0}.py-skeleton{min-height:112px;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:8px;border:1px solid var(--py-border);background:var(--py-panel-strong)}.py-skeleton span{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#334155a6,#94a3b833,#334155a6);background-size:200% 100%;animation:py-shimmer 1.25s ease-in-out infinite}.py-skeleton span:nth-child(1){width:48%}.py-skeleton span:nth-child(2){width:84%}.py-skeleton span:nth-child(3){width:62%}.py-skeleton span:nth-child(4){width:74%}@keyframes py-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}body[data-react-shell-mounted=true][data-react-route=home] .react-shell-enabled .app-shell-stage,body[data-react-shell-mounted=true][data-react-route=portfolio] .react-shell-enabled .app-shell-stage,body[data-react-shell-mounted=true][data-react-route=macro] .react-shell-enabled .app-shell-stage{padding-top:268px}body[data-react-shell-mounted=true] .react-shell-enabled .page-header-container,body[data-react-shell-mounted=true][data-react-route=home] .react-shell-enabled .home-dashboard-toolbar,body[data-react-shell-mounted=true][data-react-route=home] .react-shell-enabled .home-module--hero{display:none}@media(max-width:1100px){.py-surface-grid,.py-surface-grid.is-macro{grid-template-columns:repeat(2,minmax(180px,1fr))}.py-panel.py-wide{grid-column:span 2}}@media(max-width:768px){.py-react-rail{inset:76px 0 auto 0;width:100%;height:54px;padding:6px 10px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--py-border)}.py-react-brand{display:none}.py-react-nav,.py-react-nav-group{flex-direction:row;gap:8px}.py-react-nav-group>span{display:none}.py-react-nav a{display:flex;min-width:max-content;min-height:40px}.py-react-topbar{left:0;height:76px;padding:10px 14px}.py-react-account span{display:none}.py-command{flex:1 1 auto;max-width:none}.py-command-button{min-width:42px;width:42px;justify-content:center}.py-command-button span,.py-command-button kbd{display:none}.py-command-button:before{content:"Search";color:#cbd5e1;font-size:.72rem}.py-command-menu{position:fixed;top:84px;left:12px;right:12px}.py-react-surface{top:142px;left:14px;right:14px;max-height:none}.py-surface-grid,.py-surface-grid.is-macro{grid-template-columns:1fr}.py-panel.py-wide{grid-column:span 1}body[data-react-shell-mounted=true][data-react-route=home] .react-shell-enabled .app-shell-stage,body[data-react-shell-mounted=true][data-react-route=portfolio] .react-shell-enabled .app-shell-stage,body[data-react-shell-mounted=true][data-react-route=macro] .react-shell-enabled .app-shell-stage{padding-top:590px}.py-surface-notice{right:14px;bottom:78px;width:calc(100vw - 28px)}}
