:root{color-scheme:dark;font-family:Manrope,Segoe UI,sans-serif;--bg-main: #0b0e11;--bg-surface: #181a20;--bg-card: #1e2329;--bg-hover: #2b3139;--line: #2b3139;--text-main: #eaecef;--text-soft: #b7bdc6;--accent: #f0b90b;--accent-strong: #f8d12f;--up: #0ecb81;--down: #f6465d;--danger: #cf304a;--app-gutter: 1.2rem;--app-header-sticky-offset: 6.4rem;--investment-sidebar-width: min(400px, 26vw)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden;background:radial-gradient(circle at 10% -10%,rgba(240,185,11,.12),transparent 45%),radial-gradient(circle at 85% 0%,rgba(240,185,11,.08),transparent 30%),var(--bg-main);color:var(--text-main)}.app{width:100%;max-width:none;height:100%;overflow-y:auto;margin:0;padding:0 var(--app-gutter) 6rem}.auth-shell{display:grid;place-items:center;padding-bottom:2rem}.auth-card{width:min(420px,calc(100vw - 2.4rem));border:1px solid var(--line);border-radius:16px;background:#181a20f5;padding:1.25rem;display:grid;gap:.7rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px}.auth-logo-ring{width:64px;height:64px;border-radius:20px;border:1px solid rgba(240,185,11,.42);background:#f0b90b1f;color:#ffde7d;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #00000059}.auth-logo-ring svg{width:30px;height:30px}.auth-card p{margin:0;color:var(--text-soft)}.auth-form{margin-top:.95rem;display:grid;gap:.55rem}.auth-form label{display:grid;gap:.28rem;color:var(--text-soft);font-size:.9rem}.auth-form input{width:100%;min-height:48px;padding:.72rem .85rem;border-radius:12px;border:1px solid #3a414a;background:#1e2329e6;color:var(--text-main);font-size:1rem;line-height:1.2}.auth-form input:focus{outline:none;border-color:#f0b90ba6;box-shadow:0 0 0 2px #f0b90b2e}.auth-form .button-primary{margin-top:.65rem}.auth-error{margin-top:.2rem}.meta-bar{position:sticky;top:0;z-index:60;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 .5rem;background:linear-gradient(180deg,#0b0e11fa,#0b0e11f2 78%,#0b0e1100);color:var(--text-soft)}.meta-left{display:grid;gap:.45rem}.view-switch{display:inline-flex;gap:.45rem}.tab-button{border-radius:12px;padding:.45rem .75rem;border:1px solid #3a414a;background:var(--bg-hover);color:var(--text-soft)}.tab-button:hover:not([disabled]){background:#3a424c;color:var(--text-main)}.tab-button.active{background:#f0b90b33;border-color:#f0b90b8c;color:#ffde7d}.meta-clock{color:var(--text-main);font-weight:600;font-variant-numeric:tabular-nums}.meta-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;max-width:56vw}.meta-pln{color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.meta-pln strong{color:#ffde7d}.meta-user{color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.meta-user strong{color:#ffde7d}.logout-button{padding:.34rem .7rem}button{border:1px solid transparent;border-radius:999px;padding:.6rem 1rem;background:var(--accent);color:#1b1f24;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease}button:hover:not([disabled]){background:var(--accent-strong)}button[disabled]{opacity:.65;cursor:wait}.icon-button{width:42px;height:42px;padding:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.icon-button svg{width:19px;height:19px}.floating-refresh{position:fixed;right:1.2rem;bottom:1.2rem;width:56px;height:56px;border-radius:16px;box-shadow:0 14px 35px #0000006b;z-index:45}.floating-add{position:fixed;right:1.2rem;bottom:5.3rem;width:56px;height:56px;border-radius:16px;box-shadow:0 14px 35px #0000006b;z-index:45}.quick-add-menu{position:fixed;right:1.2rem;bottom:9.3rem;width:min(280px,calc(100vw - 2.4rem));display:grid;gap:.45rem;z-index:46;padding:.55rem;border-radius:12px;border:1px solid var(--line);background:#181a20fa;box-shadow:0 14px 35px #0000006b}.quick-add-option{width:100%;border-radius:10px;border-color:#f0b90b59;background:#f0b90b1f;color:#ffde7d;text-align:left;font-weight:600}.quick-add-option:hover:not([disabled]){background:#f0b90b38}.icon-spin{animation:icon-spin .9s linear infinite}.error{margin-top:1rem;border:1px solid rgba(246,70,93,.55);background:#f6465d29;color:#ff9ca9;border-radius:12px;padding:.75rem 1rem}.warning{margin-top:1rem;border:1px solid rgba(240,185,11,.55);background:#f0b90b24;color:#ffde7d;border-radius:12px;padding:.75rem 1rem}.strategy-warning{margin-top:.8rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.25rem}.cards-top{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;margin-inline:0}.cards-top .card{min-height:100%;padding:1.15rem}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.25rem;width:100%;margin-inline:0}.wallet-layout{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:.9rem;align-items:start}.wallet-left-col,.wallet-right-col{min-width:0;display:grid;gap:.9rem;align-content:start}.wallet-assets-list{display:grid;gap:.9rem}.wallet-layout .panel{margin-top:0}.wallet-asset-card,.wallet-right-col .panel{padding:.78rem .82rem}.wallet-right-col .panel-title-row{margin-bottom:.4rem}.dashboard-col{display:grid;gap:1rem;align-content:start}.dashboard-col>.panel{margin-top:0}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:1rem}.card-top{display:flex;align-items:center;justify-content:space-between}.name{margin:.4rem 0;color:var(--text-soft)}.asset-line{margin:.32rem 0;color:var(--text-soft);display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;flex-wrap:wrap;font-size:.92rem}.asset-line-value{color:var(--text-soft);white-space:nowrap}.asset-rate{margin:.42rem 0 .12rem;font-size:1.08rem;font-weight:700}.total-line{color:var(--text-main)}.price{margin:.3rem 0;font-size:1.5rem;font-weight:700}.cap{color:var(--text-soft);margin:0}.micro-chart{margin-top:.7rem;padding:.6rem;border-radius:12px;border:1px solid var(--line);background:#0b0e118c}.chart-ranges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.45rem}.range-chip{padding:.2rem .55rem;border-radius:999px;border:1px solid #3a414a;background:var(--bg-hover);color:var(--text-soft);font-size:.72rem;font-weight:700;line-height:1.2}.range-chip:hover:not([disabled]){background:#3a424c;color:var(--text-main)}.range-chip.active{background:#f0b90b33;border-color:#f0b90b8c;color:#ffde7d}.sparkline-svg{width:100%;height:106px;display:block}.sparkline-wrap{margin-top:.1rem}.sparkline-line{fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.sparkline-guide{stroke:#b7bdc68c;stroke-width:1;stroke-dasharray:3 3}.sparkline-dot{stroke:#0b0e11f2;stroke-width:1.6}.sparkline-up{stroke:var(--up)}.sparkline-down{stroke:var(--down)}.chart-empty{height:106px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:.86rem}.chart-meta{margin-top:.35rem;min-height:1rem;color:var(--text-soft);font-size:.74rem}.chart-hover-readout{margin-top:.35rem;min-height:1.05rem;display:flex;gap:.55rem;flex-wrap:wrap;align-items:baseline;font-size:.76rem;color:var(--text-soft)}.chart-hover-readout strong{color:var(--text-main)}.warning-inline{color:#ffde7d}.up{color:var(--up);font-weight:700}.down{color:var(--down);font-weight:700}.dip-signal-yes{color:var(--up);font-weight:700}.dip-signal-no{color:var(--accent);font-weight:700}.panel{margin-top:1.25rem;background:#181a20f2;border:1px solid var(--line);border-radius:16px;padding:1rem}.panel h3{margin-top:0}.panel-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.55rem}.panel-title-row h3{margin:0}.panel-title-meta{display:inline-flex;align-items:baseline;gap:.3rem;color:var(--text-soft);white-space:nowrap}.panel-title-meta-label{color:var(--text-soft)}.panel-title-meta strong{color:#ffde7d}.strategy-page{margin-top:1rem;width:100%;margin-inline:0}.strategy-topbar{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.strategy-topbar-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;color:var(--text-soft)}.strategy-form{margin-top:.9rem;display:grid;gap:.9rem}.strategy-today-controls{margin-top:.8rem;display:grid;gap:.7rem}.strategy-today-controls label,.strategy-json-label{display:flex;flex-direction:column;gap:.35rem;color:var(--text-soft);font-size:.88rem}.strategy-today-controls input,.strategy-json{border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;font:inherit;color:var(--text-main);background:var(--bg-card)}.strategy-json{width:100%;resize:vertical;min-height:180px;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.8rem}.strategy-today-controls input:focus,.strategy-json:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f0b90b2e}.strategy-today-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.65rem}.strategy-grid label,.strategy-subgrid label{display:flex;flex-direction:column;gap:.35rem;color:var(--text-soft);font-size:.88rem}.strategy-grid input,.strategy-subgrid input,.strategy-subgrid select{border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;font:inherit;color:var(--text-main);background:var(--bg-card)}.strategy-subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.strategy-box{border:1px solid var(--line);background:#1e2329e6;border-radius:12px;padding:.7rem;display:grid;gap:.55rem;align-content:start}.strategy-box h4{margin:0}.strategy-box-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.check{display:flex;flex-direction:row;align-items:center;gap:.45rem}.check-inline{margin:0;display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.45rem;white-space:nowrap}.strategy-subgrid label.check-inline{flex-direction:row;align-items:center}.check-inline span{font-size:.74rem;letter-spacing:.04em;font-weight:700;color:#ffde7d}.check input{width:16px;height:16px}.strategy-submit{display:flex;justify-content:flex-end}.strategy-dashboard{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}.strategy-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.strategy-list li{border:1px solid var(--line);border-radius:12px;background:var(--bg-card);padding:.6rem .7rem;display:grid;gap:.2rem}.strategy-list strong{color:var(--text-main)}.strategy-list small{color:var(--text-soft)}.strategy-conditions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.strategy-metric{border:1px solid var(--line);border-radius:12px;background:var(--bg-card);padding:.65rem .75rem}.strategy-metric h4{margin:0 0 .35rem}.strategy-metric p{margin:.2rem 0;color:var(--text-soft)}.strategy-runtime-warning{margin-top:.8rem}.investment-page .panel{margin-top:1rem}.investing-date{display:flex;flex-direction:column;gap:.35rem;color:var(--text-soft);font-size:.88rem}.investing-date input{border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;font:inherit;color:var(--text-main);background:var(--bg-card)}.investing-date input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f0b90b2e}.investing-date-inline{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;font-size:.8rem}.investing-date-inline input{min-width:144px;height:34px;padding:.35rem .5rem}.warning-status-pill{position:relative;display:inline-flex;align-items:center;min-height:38px;border-radius:999px;border:1px solid var(--line);padding:.35rem .72rem;font-size:.82rem;font-weight:700;letter-spacing:.01em;cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none}.warning-status-pill.ok{border-color:#0ecb8173;background:#0ecb8124;color:#7ae4b6}.warning-status-pill.alert{border-color:#f6465d85;background:#f6465d29;color:#ff9ca9}.warning-status-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:45;width:min(480px,84vw);max-height:min(340px,62vh);overflow:auto;border-radius:12px;border:1px solid rgba(183,189,198,.26);background:#11161ffa;box-shadow:0 16px 38px #00000073;padding:.6rem .72rem;opacity:0;visibility:hidden;transform:translateY(5px);pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.warning-status-pill:hover .warning-status-popover,.warning-status-pill:focus-visible .warning-status-popover,.warning-status-pill:focus-within .warning-status-popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.warning-status-list{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.warning-status-list li{border:1px solid rgba(183,189,198,.22);border-radius:10px;background:#ffffff05;padding:.5rem .6rem;display:grid;gap:.3rem;color:var(--text-main);line-height:1.35}.warning-status-list li small{color:var(--text-soft);font-size:.72rem;line-height:1.3}.warning-status-popover p{margin:0;color:var(--text-soft);font-size:.8rem}.investment-layout{margin-top:1rem;position:relative}.investment-page-header-panel{margin-right:calc(var(--investment-sidebar-width) + 1rem)}.investment-page-header-compact{padding:.55rem .7rem}.investment-header-inline{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.investment-header-main{min-width:0;flex:1;display:flex;align-items:center;gap:.7rem}.investment-header-title{display:inline-flex;align-items:center;gap:.3rem;font-size:1.02rem;font-weight:700;white-space:nowrap}.investment-header-meta{min-width:0;font-size:.82rem;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.investment-header-meta strong{color:var(--text-main);font-weight:700}.investment-header-actions{flex-wrap:nowrap;gap:.45rem}.investment-page-header-compact .warning-status-pill{min-height:34px;padding:.24rem .58rem;font-size:.76rem}.investment-page-header-compact .icon-button{width:34px;height:34px;border-radius:10px}.investment-layout-main{min-width:0;padding-right:calc(var(--investment-sidebar-width) + 1rem)}.investment-fixed-sidebar{position:fixed;top:calc(var(--app-header-sticky-offset) + .2rem);right:var(--app-gutter);width:var(--investment-sidebar-width);max-height:calc(100vh - var(--app-header-sticky-offset) - 1.2rem);overflow-y:auto;overflow-x:hidden;z-index:40}.investment-fixed-sidebar .panel{margin-top:0}.investing-grid{margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:.9rem}.investing-card{margin-top:0;display:grid;gap:.45rem;align-content:start}.investing-card h3{margin:0 0 .2rem}.investing-card-calendar{gap:.35rem}.investing-card-calendar p{margin:.05rem 0}.investing-card-calendar .calendar-legend{margin:.05rem 0 .16rem;gap:.34rem}.investing-card-calendar .calendar-legend-item{font-size:.7rem;padding:.16rem .44rem}.investing-card-calendar .calendar-weekdays span{font-size:.68rem;padding:.3rem .1rem}.investing-card-calendar .calendar-day{min-height:44px;padding:.26rem .3rem .28rem}.investing-card-calendar .calendar-day strong{font-size:.76rem}.investing-card-calendar .calendar-day small{font-size:.58rem}.market-level-current{border:1px solid var(--line);border-radius:12px;padding:.58rem .68rem;background:var(--bg-card);display:grid;gap:.22rem}.market-level-current.level-1{border-color:#0ecb8173;background:#0ecb8124}.market-level-current.level-2{border-color:#f0b90b73;background:#f0b90b24}.market-level-current.level-3{border-color:#f6465d7a;background:#f6465d29}.market-level-current small{color:var(--text-soft)}.market-level-head{display:flex;align-items:center;gap:.38rem}.market-level-condition-wrap{margin-top:.2rem;display:grid;gap:.2rem}.market-level-condition-title{color:var(--text-main);font-size:.78rem;font-weight:700}.market-level-conditions{margin:0;padding-left:1rem;color:var(--text-soft);font-size:.78rem;line-height:1.35}.market-level-conditions li+li{margin-top:.14rem}.investing-card p{margin:.1rem 0;color:var(--text-soft)}.investing-card strong{color:var(--text-main)}.investing-card strong.dip-signal-yes{color:var(--up)}.investing-card strong.dip-signal-no{color:var(--accent)}.investing-label{display:inline-flex;align-items:center;gap:.32rem}.investing-heading{display:inline-flex;align-items:center;gap:.35rem}.investing-card-wide{grid-column:1 / -1}.calendar-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin:.15rem 0 .22rem}.calendar-legend-item{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(183,189,198,.26);background:#b7bdc617;color:var(--text-soft);font-size:.74rem}.calendar-legend-dot{width:9px;height:9px;border-radius:999px;flex:0 0 auto}.calendar-legend-today .calendar-legend-dot{border:1px solid #f0b90b;background:#f0b90b33}.calendar-legend-window-1 .calendar-legend-dot{background:#0ecb81e0}.calendar-legend-window-2 .calendar-legend-dot{background:#f0b90be0}.calendar-box{border:1px solid rgba(183,189,198,.22);border-radius:12px;background:#11161f99;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#b7bdc629}.calendar-weekdays span{text-align:center;font-size:.72rem;color:var(--text-soft);padding:.35rem .15rem;background:#11161fd9}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#b7bdc629}.calendar-day{min-height:56px;padding:.34rem .4rem .38rem;background:#11161fe6;color:var(--text-main);display:flex;flex-direction:column;gap:.16rem;justify-content:flex-start;align-items:flex-start;border:1px solid transparent}.calendar-day strong{font-size:.83rem;line-height:1}.calendar-day small{font-size:.64rem;letter-spacing:.03em;color:var(--text-soft)}.calendar-day-empty{opacity:.28}.calendar-day-window-1{background:#0ecb8124;border-color:#0ecb8161}.calendar-day-window-2{background:#f0b90b29;border-color:#f0b90b6b}.calendar-day-multi{background:linear-gradient(135deg,#0ecb8124,#0ecb8124 48%,#f0b90b2e 52%,#f0b90b2e)}.calendar-day-today{box-shadow:inset 0 0 0 1px #f0b90bbf}.investing-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.2rem}.investing-pill{display:inline-flex;flex-direction:column;gap:.18rem;border-radius:999px;border:1px solid var(--line);padding:.18rem .55rem;font-size:.76rem;letter-spacing:.03em;background:#b7bdc61f;color:var(--text-soft)}.investing-pill-top{display:inline-flex;align-items:center;gap:.28rem}.investing-pill-label-wrap{display:inline-flex;align-items:center;gap:.32rem}.investing-pill-label{display:inline-flex;align-items:center;gap:.22rem;font-weight:700}.investing-pill-icon{width:12px;height:12px}.investing-pill-state{font-size:.73rem}.investing-pill-detail{color:var(--text-soft);font-size:.72rem;line-height:1.3}.investing-pill.up{border-color:#0ecb8180;background:#0ecb812e;color:#81e8bd}.investing-pill.down{border-color:#f6465d80;background:#f6465d29;color:#ff9ca9}.trend-metric-list{display:grid;gap:.48rem;margin-top:.34rem}.trend-metric-row{width:100%;display:grid;grid-template-columns:1fr;gap:.5rem;border-radius:10px;padding:.46rem .62rem;letter-spacing:0}.trend-metric-row .investing-pill-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.trend-metric-row .investing-pill-label-wrap{min-width:0}.trend-metric-row .investing-pill-label{font-weight:600;color:var(--text-main);line-height:1.22}.trend-metric-row .investing-pill-state{font-size:.74rem;font-weight:800;min-width:42px;text-align:center;border-radius:999px;padding:.18rem .54rem}.trend-metric-row.up .investing-pill-state{color:#0ecb81;background:#0ecb8124;border:1px solid rgba(14,203,129,.5)}.trend-metric-row.down .investing-pill-state{color:#f6465d;background:#f6465d24;border:1px solid rgba(246,70,93,.5)}.trend-metric-row .investing-pill-detail{margin-top:-.08rem}.investing-subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem}.investing-subgrid-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.investing-subcard{border:1px solid var(--line);border-radius:12px;background:var(--bg-card);padding:.62rem .72rem;display:grid;gap:.25rem;overflow:hidden}.investing-subcard h5{margin:0 0 .2rem}.investing-subcard p{margin:.05rem 0}.investing-subcard-inline p{margin:.08rem 0}.investing-subcard-inline .investing-stat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;font-size:.95rem}.investing-subcard-inline .investing-stat-label{min-width:0}.investing-subcard-inline .investing-stat-label .investing-label{min-width:0;white-space:normal;line-height:1.25}.investing-subcard-inline .investing-stat-label .investing-label>span:first-child{overflow-wrap:anywhere}.investing-subcard-inline .investing-stat-row>strong{max-width:100%;white-space:nowrap;overflow-wrap:anywhere;text-align:right;line-height:1.2}.investing-subcard-inline .investing-stat-row>strong.dip-signal-yes,.investing-subcard-inline .investing-stat-row>strong.dip-signal-no{white-space:nowrap;overflow-wrap:normal}.investing-progress{margin-top:.2rem;width:100%;height:8px;border-radius:999px;background:#252b33;overflow:hidden}.investing-progress span{display:block;height:100%;background:linear-gradient(90deg,#f0b90b,#f8d12f)}.investing-date-label{margin-bottom:.06rem}.investing-separator{color:var(--text-soft)}.investing-warning-row{display:inline-flex;align-items:center;gap:.35rem}.tooltip-anchor{position:relative;display:inline-flex;align-items:center;outline:none}.tooltip-icon{width:16px;height:16px;border-radius:999px;border:1px solid rgba(183,189,198,.5);color:var(--text-soft);background:#b7bdc624;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;line-height:1}.tooltip-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px);width:min(300px,78vw);padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(240,185,11,.45);background:#12161cf7;color:#d5dbe4;font-size:.74rem;line-height:1.35;white-space:normal;box-shadow:0 10px 30px #0006;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:30}.tooltip-anchor:hover .tooltip-bubble,.tooltip-anchor:focus-visible .tooltip-bubble,.tooltip-anchor:focus-within .tooltip-bubble{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.tooltip-anchor:hover .tooltip-icon,.tooltip-anchor:focus-visible .tooltip-icon,.tooltip-anchor:focus-within .tooltip-icon{border-color:#f0b90b9e;color:#ffde7d}@media (max-width: 720px){.calendar-day{min-height:48px;padding:.28rem .3rem .32rem}.calendar-day strong{font-size:.78rem}.calendar-day small{font-size:.6rem}}@media (max-width: 1380px){.investment-header-inline{flex-wrap:wrap;align-items:flex-start}.investment-header-main{width:100%}.investment-header-meta{white-space:normal;overflow:visible;text-overflow:unset}.investment-header-actions{width:100%;justify-content:flex-end}}@media (max-width: 1180px){.investment-page-header-panel{margin-right:0}.investment-layout-main{padding-right:0}.investment-fixed-sidebar{position:static;right:auto;top:auto;width:min(100%,500px);max-height:none;margin-top:.9rem;margin-left:auto}}.adjust-form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.adjust-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--text-soft)}.adjust-form input,.adjust-form select,.invest-form input,.invest-form select{min-width:220px;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font:inherit;color:var(--text-main);background:var(--bg-card)}.adjust-form input:focus,.adjust-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f0b90b2e}.invest-form input:focus,.invest-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f0b90b2e}.invest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.invest-metric{margin:0;border:1px solid var(--line);background:var(--bg-card);border-radius:12px;padding:.52rem .62rem;display:grid;gap:.22rem}.invest-metric small{color:var(--text-soft)}.invest-metric strong{font-size:1.04rem}.invest-form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-top:1rem}.invest-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--text-soft)}.table-wrap{margin-top:.52rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);overflow:auto}.table-wrap-investments{max-height:42vh}.table-wrap-transactions{max-height:46vh}.table-pagination{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.42rem .5rem;border-top:1px solid rgba(183,189,198,.16);background:#161a22f2;color:var(--text-soft);font-size:.73rem}.table-pagination-actions{display:inline-flex;align-items:center;gap:.34rem}.compact-table{width:100%;border-collapse:collapse;font-size:.78rem;line-height:1.2}.investment-table{min-width:620px}.transaction-table{min-width:900px}.compact-table thead th{position:sticky;top:0;z-index:2;background:#1e2329fa;color:var(--text-soft);font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.62rem;padding:.36rem .45rem;border-bottom:1px solid var(--line)}.compact-table tbody td{padding:.32rem .45rem;border-top:1px solid rgba(183,189,198,.12);vertical-align:middle}.compact-table tbody tr:hover{background:#ffffff05}.compact-table .mono{font-variant-numeric:tabular-nums;white-space:nowrap}.compact-table .align-right{text-align:right}.compact-table .align-center{text-align:center}.compact-table .muted{color:var(--text-soft)}.table-inline{display:inline-flex;align-items:center;gap:.24rem;flex-wrap:wrap}.table-stack{display:grid;gap:.04rem}.table-stack small{color:var(--text-soft);font-size:.64rem}.row-action-menu{position:relative;display:inline-flex}.row-action-trigger{width:28px;height:28px;border-radius:8px;background:#f0b90b24;border-color:#f0b90b5c;color:#ffde7d}.row-action-trigger:hover:not([disabled]){background:#f0b90b3d}.row-action-trigger svg{width:15px;height:15px}.row-action-popover{min-width:118px;border-radius:10px;border:1px solid var(--line);background:#181a20fa;box-shadow:0 10px 25px #00000073;padding:.24rem}.row-action-popover-portal{position:fixed;z-index:1200}.row-action-item{width:100%;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-main);display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .44rem;font-size:.74rem;font-weight:600}.row-action-item:hover:not([disabled]){background:#ffffff0a}.row-action-item svg{width:14px;height:14px}.row-action-item.danger{color:#ff9ca9}.hint{margin:.8rem 0 0;color:var(--text-soft);font-size:.9rem}.hint-list{margin:.65rem 0 0;padding-left:1rem;color:var(--text-soft);font-size:.78rem;line-height:1.35}.hint-list li+li{margin-top:.2rem}.hint-single-line{font-size:.78rem;white-space:nowrap}.success{margin-top:.8rem;border:1px solid rgba(14,203,129,.55);background:#0ecb8124;color:#81e8bd;border-radius:12px;padding:.75rem 1rem}.wallet-pill{display:inline-block;font-size:.66rem;letter-spacing:.02em;padding:.11rem .34rem;border-radius:999px;border:1px solid rgba(240,185,11,.45);color:#ffde7d;background:#f0b90b1f}.trade-pill{display:inline-block;font-size:.66rem;letter-spacing:.02em;padding:.11rem .34rem;border-radius:999px;border:1px solid rgba(183,189,198,.35);background:#b7bdc61a;color:var(--text-soft)}.trade-pill.up{border-color:#0ecb816b;background:#0ecb811f}.trade-pill.down{border-color:#f6465d66;background:#f6465d1f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0e11bf;display:flex;justify-content:center;align-items:center;padding:1rem;z-index:80}.modal{width:min(480px,100%);background:var(--bg-surface);border-radius:16px;border:1px solid var(--line);box-shadow:0 25px 60px #0000008c;padding:1rem}.modal-add{width:min(680px,100%)}.modal-text{margin-top:.5rem}.modal-error{margin-top:.7rem}.modal-form{margin-top:.7rem;display:grid;gap:.7rem}.modal-form label{display:flex;flex-direction:column;gap:.35rem;color:var(--text-soft);font-size:.9rem}.modal-form input,.modal-form select{border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font:inherit;color:var(--text-main);background:var(--bg-card)}.modal-form input:focus,.modal-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f0b90b2e}.modal-hint-list{margin-top:.1rem}.modal-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.button-secondary{background:var(--bg-hover);border-color:#3a414a;color:var(--text-main)}.button-secondary:hover:not([disabled]){background:#373e47}.button-compact{min-height:28px;padding:.24rem .62rem;font-size:.72rem}.button-primary{background:var(--accent);border-color:#f0b90b80;color:#1b1f24}.button-primary:hover:not([disabled]){background:var(--accent-strong)}.button-danger{background:var(--danger);border-color:#f6465d73;color:#fff}.button-danger:hover:not([disabled]){background:#de3d58}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 700px){.meta-bar{flex-direction:column;align-items:flex-start}.meta-right{justify-content:flex-start;max-width:100%}.floating-refresh{right:.85rem;bottom:.85rem;width:50px;height:50px}.floating-add{right:.85rem;bottom:4.85rem;width:50px;height:50px}.quick-add-menu{right:.85rem;bottom:8.5rem;width:min(260px,calc(100vw - 1.7rem))}.table-wrap{max-height:none}}@media (max-width: 980px){.cards-top{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.wallet-layout{grid-template-columns:1fr}.wallet-left-col,.wallet-right-col{gap:.75rem}}@media (max-width: 1200px) and (min-width: 981px){.cards-top{grid-template-columns:1fr 1fr}}@media (min-width: 1000px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
