:root{--text:#2d2b32;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--field-bg:#f7f7f8;--accent:#2563eb;--accent-strong:#1d4ed8;--danger:#c0392b;--success:#0f7a3d;--sidebar-bg-from:#0f1b3d;--sidebar-bg-to:#060a14;--sidebar-text:#a9b4d0;--sidebar-text-active:#fff;--sidebar-accent:#38bdf8;--chart-blue:#2a78d6;--chart-orange:#eb6834;--chart-aqua:#1baf7a;--chart-grid:#e1e0d9;--chart-axis:#898781;--chart-delta-up:#006300;--font-body:system-ui, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk", var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/145% var(--font-body);color:var(--text);background:var(--bg)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d1d1d6;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--field-bg:#1f2028;--accent:#60a5fa;--accent-strong:#93c5fd;--danger:#ff6b5f;--success:#4ade80;--chart-blue:#3987e5;--chart-orange:#d95926;--chart-aqua:#199e70;--chart-grid:#2c2c2a;--chart-axis:#898781;--chart-delta-up:#0ca30c}}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--sidebar-bg-from), var(--sidebar-bg-to));flex-direction:column;flex-shrink:0;gap:4px;width:268px;height:100vh;padding:24px 12px;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:1px 0 #00000026}.sidebar-brand{padding:8px 4px 20px}.brand-logo{width:auto;max-width:100%;height:68px;margin:0 auto;display:block}.brand-logo--large{height:130px;margin:0 auto 20px}.sidebar-nav-item{width:100%;color:var(--sidebar-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;transition:background-color .15s,color .15s;display:flex;position:relative}.sidebar-nav-item svg{flex-shrink:0;width:18px;height:18px;transition:transform .15s}.sidebar-nav-item:hover{color:var(--sidebar-text-active);background:#ffffff12}.sidebar-nav-item:hover svg{transform:scale(1.1)}.sidebar-nav-item.active{color:var(--sidebar-text-active);background:#c084fc29;font-weight:600}.sidebar-nav-item.active:before{content:"";background:var(--sidebar-accent);width:3px;box-shadow:0 0 8px var(--sidebar-accent);border-radius:0 3px 3px 0;position:absolute;top:8px;bottom:8px;left:-12px}.app-content{flex:1;min-width:0;padding:32px 40px 64px;overflow-x:auto}.page{max-width:960px;margin:0 auto}.page-wide{max-width:1320px;margin:0 auto}@media (width<=720px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:8px;position:static;overflow:auto visible}.sidebar-brand{display:none}.sidebar-footer{white-space:nowrap;border-top:none;border-left:1px solid #ffffff1a;flex-direction:row;align-items:center;margin-top:0;margin-left:auto;padding:4px 8px}.sidebar-nav-item{white-space:nowrap;flex-direction:column;gap:4px;width:auto;padding:8px 14px;font-size:11px}.sidebar-nav-item.active:before{border-radius:3px 3px 0 0;width:auto;height:3px;inset:auto 8px -6px}.app-content{padding:24px 16px 48px}}h1,h2{color:var(--text-h);font-family:var(--font-display)}h1{margin-bottom:24px;font-size:32px}h2{margin:32px 0 12px;font-size:20px}.investment-form{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,1fr);gap:12px 16px;padding:20px;display:grid}.investment-form h2{grid-column:1/-1;margin-top:0}.investment-form label{flex-direction:column;gap:4px;font-size:14px;display:flex}.investment-form input,.investment-form select,.investment-form textarea{border:1px solid var(--border);background:var(--field-bg);color:var(--text);font:inherit;border-radius:6px;padding:8px 10px}.investment-form .form-actions{grid-column:1/-1;gap:12px;display:flex}.investment-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-weight:600}.investment-form button.secondary-button{border:1px solid var(--border);color:var(--text);background:0 0}.investment-form button:disabled{opacity:.6;cursor:not-allowed}.investment-list{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px}.investment-list th,.investment-list td{text-align:left;border-bottom:1px solid var(--border);text-overflow:ellipsis;padding:10px;overflow:hidden}.investment-name,.investment-value{flex-direction:column;gap:2px;display:flex}.investment-name-main{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.investment-name-sub{color:var(--text);opacity:.7;font-size:12px}.investment-value span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.investment-value .delta-up,.investment-value .delta-down{font-size:12px;font-weight:600}.row-actions{gap:6px;display:flex}.icon-button{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:var(--field-bg);color:var(--accent);border-color:var(--accent)}.icon-button.danger:hover{color:var(--danger);border-color:var(--danger)}.icon-button.active{color:var(--chart-delta-up);border-color:var(--chart-delta-up)}.row-inativo{opacity:.55}.badge-inativo{background:var(--field-bg);border:1px solid var(--border);color:var(--text);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600}.b3-import{border:1px solid var(--border);border-radius:8px;margin-top:32px;padding:20px}.b3-import h3{margin:20px 0 8px;font-size:16px}.b3-import button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:16px;padding:10px 16px;font-weight:600}.b3-import button:disabled{opacity:.6;cursor:not-allowed}.delete-button{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:6px;padding:6px 10px}.secondary-button{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px;transition:border-color .15s,color .15s}.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger)}.success{color:var(--success)}.investment-list th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.investment-list th.sortable:hover{color:var(--accent)}.investment-list tfoot td{border-top:2px solid var(--border);border-bottom:none;padding:10px;font-size:14px}.delta-up{color:var(--chart-delta-up)}.delta-down{color:var(--danger)}.filters-row{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.filters-row label{color:var(--text);flex-direction:column;gap:4px;font-size:13px;display:flex}.filters-row input,.filters-row select{border:1px solid var(--border);background:var(--field-bg);color:var(--text);font:inherit;border-radius:6px;min-width:160px;padding:8px 10px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-tile{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-tile-label{color:var(--text);opacity:.75;align-items:center;gap:5px;font-size:13px;display:inline-flex}.stat-tile-info{cursor:help;color:var(--text);opacity:.6;display:inline-flex;position:relative}.stat-tile-info:hover{opacity:1}.stat-tile-info svg{width:13px;height:13px}.stat-tile-info-tooltip{z-index:10;border:1px solid var(--border);background:var(--bg);width:max-content;max-width:240px;color:var(--text);opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 12px #0000001f}.stat-tile-info:hover .stat-tile-info-tooltip{opacity:1;visibility:visible}.stat-tile-value{color:var(--text-h);font-size:26px;font-weight:600}.stat-tile-delta{font-size:13px;font-weight:600}.chart-card{border:1px solid var(--border);border-radius:8px;margin-bottom:24px;padding:20px}.chart-card h3{color:var(--text-h);margin:0 0 16px;font-size:15px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.chart-grid .chart-card{margin-bottom:0}.chart-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-card-header h3{margin:0}.chart-card-header button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.chart-card-header button:disabled{opacity:.6;cursor:not-allowed}.collapsible-section{margin-bottom:24px}.collapsible-header{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;display:flex}.collapsible-header h2{margin:0}.collapsible-chevron{color:var(--text);opacity:.6;transition:transform .15s;display:inline-flex}.collapsible-chevron svg{width:18px;height:18px}.collapsible-chevron.open{transform:rotate(180deg)}.collapsible-body{margin-top:12px}.badge-current{color:var(--accent);font-size:12px;font-weight:600}.chart-tooltip{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:8px 12px;font-size:13px;box-shadow:0 4px 12px #0000001f}.chart-tooltip-title{color:var(--text);opacity:.75;margin-bottom:6px}.chart-tooltip-row{align-items:center;gap:8px;display:flex}.chart-tooltip-key{border-radius:2px;flex-shrink:0;width:10px;height:2px}.chart-tooltip-name{color:var(--text);opacity:.8}.chart-tooltip-value{color:var(--text-h);margin-left:auto}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0b0b0b80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);border-radius:12px;width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-card .investment-form{border:none}.sidebar-footer{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;margin-top:auto;padding:12px 12px 4px;display:flex}.sidebar-user-email{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-footer-actions{gap:8px;display:flex}.sidebar-footer-btn{color:var(--sidebar-text);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:8px 10px;font-size:13px;transition:background-color .15s,color .15s}.sidebar-footer-btn:hover,.sidebar-footer-btn.active{color:var(--sidebar-text-active);background:#ffffff12}.auth-shell{background:linear-gradient(180deg, var(--sidebar-bg-from), var(--sidebar-bg-to));justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-shell-inner{flex-direction:column;align-items:center;width:100%;max-width:460px;display:flex}.auth-card{background:var(--bg);border-top:3px solid var(--sidebar-accent);border-radius:12px;width:100%;padding:32px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #38bdf814}.auth-form{border:none;grid-template-columns:1fr;padding:0}.auth-form p{color:var(--text);opacity:.8;grid-column:1/-1;margin:0 0 4px;font-size:13px}.auth-form .form-actions{margin-top:4px}.auth-form button{width:100%}.totp-qrcode{border:1px solid var(--border);background:#fff;border-radius:8px;align-self:center;width:180px;height:180px;padding:8px}.totp-secret{word-break:break-all}.totp-code-input{border:1px solid var(--border);background:var(--field-bg);color:var(--text);font:inherit;letter-spacing:6px;text-align:center;border-radius:6px;padding:10px;font-size:20px}.temp-password-alert{border:1px solid var(--accent);background:var(--field-bg);border-radius:8px;margin-bottom:24px;padding:16px 20px}.temp-password-value{align-items:center;gap:12px;margin:8px 0 12px;display:flex}.temp-password-value code{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:16px}
