.pnl-card{padding:24px;margin-bottom:20px}.pnl-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.pnl-heading h2{font-size:16px;margin:0}.pnl-kicker{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 12px}.pnl-total{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums}.pnl-total small{font-size:14px;color:var(--muted)}.pnl-meta{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:11px;color:var(--muted)}.pnl-meta label{display:flex;gap:10px;align-items:center}.pnl-plot{display:block;width:100%;min-height:210px;background:linear-gradient(180deg,#e9d9bd07,transparent);border-radius:10px}.pnl-empty{min-height:250px;display:grid;place-content:center;color:var(--muted)}.pnl-month{display:flex;align-items:center;gap:16px}.pnl-month strong{min-width:145px;text-align:center;text-transform:capitalize;font-size:13px}.pnl-month button{padding:6px 12px}.pnl-week,.pnl-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.pnl-week{font-size:11px;color:var(--muted);text-align:center;margin-bottom:10px}.pnl-day{min-height:96px;padding:12px;text-align:left;border:1px solid #ffffff0c;border-radius:8px;background:#ffffff02;display:flex;flex-direction:column;gap:12px;cursor:pointer}.pnl-day span{font-size:11px;color:var(--muted)}.pnl-day strong{font-size:13px;font-variant-numeric:tabular-nums}.pnl-day small{font-size:10px;color:var(--muted)}.pnl-day.gain{background:#44cba00b;border-color:#44cba025}.pnl-day.loss{background:#ee71890b;border-color:#ee718925}.pnl-day.today span{color:#e9d9bd}.pnl-day.selected,.pnl-day:hover:not(:disabled){border-color:#e9d9bd}.pnl-day:disabled{opacity:.25;cursor:default}.pnl-calendar-note{font-size:10px;color:var(--muted);margin-top:16px}.pnl-day-detail{margin-top:20px;padding-top:20px;border-top:1px solid #ffffff12}.pnl-day-detail h3{font-size:14px}.pnl-events{max-height:280px;overflow:auto}.pnl-events>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;font-size:12px;border-bottom:1px solid #ffffff08}.pnl-events span{color:var(--muted)}.gain{color:#66d3ad}.loss{color:#f28295}.flat{color:#b5b5b5}.amounts-hidden .pnl-plot{filter:blur(12px);pointer-events:none}@media(max-width:700px){.pnl-card{padding:14px}.pnl-heading{align-items:flex-start;flex-wrap:wrap}.pnl-meta{align-items:flex-start}.pnl-calendar,.pnl-week{gap:4px}.pnl-day{min-height:78px;padding:6px;gap:9px}.pnl-day strong{font-size:10px;overflow-wrap:anywhere}.pnl-total{font-size:26px}.pnl-events>div{font-size:10px}}

.profit-metrics{display:flex;gap:44px;margin:4px 0 22px;flex-wrap:wrap}.profit-metric>span{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.profit-metric i{width:20px;height:2px;background:var(--line-color)}.profit-metric strong{display:block;margin-top:9px;font-size:22px;font-variant-numeric:tabular-nums;color:var(--line-color)}.profit-metric small{font-size:11px;font-weight:400}.profit-chart-wrap{position:relative;background:#0c0c0c;border:1px solid #ffffff0a;border-radius:8px;overflow:hidden}.profit-chart-svg{display:block;width:100%;height:auto;min-height:240px;touch-action:pan-y}.profit-chart-svg text{fill:#9e9e9e;font-size:11px}.profit-tooltip{position:absolute;min-width:245px;max-width:calc(100% - 16px);padding:14px 16px;background:#191919f5;border:1px solid #4e4e4e;border-radius:8px;pointer-events:none;box-shadow:0 8px 30px #0005;font-size:11px;z-index:2}.profit-tooltip>strong{display:block;margin-bottom:12px;color:#b1b1b1;font-weight:500}.profit-tooltip>div{display:flex;justify-content:space-between;gap:24px;margin-top:8px}.profit-tooltip b{font-variant-numeric:tabular-nums;font-weight:600}.profit-info{color:var(--muted);cursor:help}.profit-detail-note{font-size:10px;color:var(--muted);margin-top:10px}.amounts-hidden .profit-chart-svg{filter:blur(12px);pointer-events:none}.amounts-hidden .profit-tooltip{display:none}@media(max-width:700px){.profit-metrics{gap:18px}.profit-metric strong{font-size:17px}.profit-metric>span{font-size:10px}.profit-chart-svg{min-height:180px}.profit-tooltip{min-width:220px;padding:10px}}
/* Shared typography and compact controls for all analytics cards. */
.pnl-card{padding:20px;margin-bottom:16px}.pnl-heading{gap:16px;margin-bottom:16px;align-items:flex-start}.pnl-heading h2{font-size:15px;line-height:32px;flex-shrink:0}.pnl-card,.pnl-card button,.pnl-card input,.pnl-card select,.profit-chart-svg text{font-family:inherit}.profit-metrics{gap:30px;margin:0 0 18px}.profit-metric strong{font-size:21px;font-weight:600;margin-top:7px}.profit-metric:first-child strong{font-weight:700}.profit-metric>span{font-size:11px}.profit-chart-svg{min-height:0;aspect-ratio:1150/410}.profit-tooltip{left:0;top:0;min-width:0;width:max-content;max-width:calc(100% - 12px);padding:9px 11px;border-radius:7px;font-size:11px;line-height:1.35;transition:none;will-change:transform}.profit-tooltip>strong{font-size:10px;margin-bottom:7px}.profit-tooltip>div{gap:16px;margin-top:5px}.profit-tooltip b{font-size:11px;white-space:nowrap}.profit-tooltip>div:first-of-type b{font-weight:700}.pnl-period{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}.pnl-period .button{font-size:11px;padding:7px 10px;min-height:32px}.pnl-custom{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pnl-custom[hidden]{display:none}.pnl-custom label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted)}.pnl-custom input{box-sizing:border-box;width:175px;max-width:100%;padding:6px 7px;background:#181818;color:var(--text,#eee);border:1px solid #ffffff20;border-radius:6px;font-size:11px;color-scheme:dark}.pnl-custom>span{font-size:10px;color:var(--muted);align-self:center}.pnl-range-error{flex-basis:100%;color:#f28295;font-size:11px}.pnl-range-error:empty{display:none}.pnl-month{justify-content:center;margin:4px 0 18px}.pnl-plot{background:none;border-radius:0}.pnl-period select{max-width:100%}@media(max-width:700px){.pnl-card{padding:14px}.pnl-heading{gap:8px}.pnl-heading h2{font-size:14px}.pnl-period{margin-left:auto;max-width:100%}.pnl-custom{justify-content:flex-start}.profit-metrics{gap:14px}.profit-metric strong{font-size:17px}.profit-chart-svg{min-height:150px}.profit-tooltip{padding:8px;font-size:10px}.profit-tooltip b{font-size:10px}.profit-tooltip>div{gap:10px}.pnl-day{min-height:80px}}
/* Always-visible date range, on the same compact toolbar as the preset. */
.pnl-heading{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.pnl-period{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.pnl-custom{align-items:center;gap:8px}.pnl-custom label{flex-direction:row;align-items:center;gap:5px;white-space:nowrap}.pnl-custom input{width:172px;height:30px;padding:5px 6px;font-size:11px}.pnl-period .button{height:30px;min-height:30px;padding:5px 9px}.pnl-custom>span{font-size:9px}.pnl-range-error{margin:0;text-align:right}@media(max-width:700px){.pnl-period{flex:1 1 100%;justify-content:flex-start;gap:7px}.pnl-custom{flex:1 1 100%;justify-content:flex-start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;width:100%}.pnl-custom label{min-width:0;gap:4px;flex-wrap:wrap}.pnl-custom input{width:100%;min-width:0;font-size:10px}.pnl-range-error{grid-column:1/-1;text-align:left}.pnl-custom>span{align-self:end;padding-bottom:9px}}
/* Preset above the fitted date range. */
.pnl-heading{align-items:flex-start}.pnl-period{flex:0 1 auto;flex-direction:column;align-items:flex-end;gap:6px}.pnl-custom{display:flex;flex:initial;width:auto;justify-content:flex-end;gap:7px}.pnl-custom label{flex-wrap:nowrap;gap:4px}.pnl-custom [data-date-field]{display:inline-flex;align-items:center;gap:8px;width:auto;min-width:0;height:29px;padding:5px 8px;border:1px solid #ffffff20;border-radius:6px;background:#181818;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.pnl-custom [data-date-field]::after{content:'▦';color:var(--muted);font-size:13px}.pnl-custom [data-date-field]:hover{border-color:var(--accent)}#settings-time-zone{max-width:260px;text-overflow:ellipsis}.reserve-date-picker{position:fixed;inset:auto;margin:0;width:304px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px;border:1px solid #4b4b4b;border-radius:12px;background:#1e1e1e;color:var(--text);box-shadow:0 16px 60px #0008;overflow:auto;font:12px 'Manrope',system-ui,sans-serif}.reserve-date-picker::backdrop{background:#0003}.date-picker-title,.date-picker-nav,.date-picker-time,.date-picker-actions{display:flex;align-items:center;gap:8px}.date-picker-title{justify-content:space-between;margin-bottom:12px}.date-picker-title>button{font-size:22px;line-height:24px;padding:0 5px}.date-picker-nav{margin-bottom:12px}.date-picker-nav>button{font-size:22px;padding:0 7px}.date-picker-nav select,.date-picker-nav input,.date-picker-time input{background:#141414;border:1px solid #444444;border-radius:6px;padding:6px;color:inherit;min-width:0;font:inherit}.date-picker-nav select{flex:1}.date-picker-nav input{width:65px}.date-picker-week,.date-picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.date-picker-week{color:var(--muted);font-size:10px;margin-bottom:5px}.date-picker-days button{height:31px;border-radius:6px;font-size:12px}.date-picker-days button:hover{background:#ffffff12}.date-picker-days [aria-pressed=true]{background:#e9d9bd;color:#141414;font-weight:700}.date-picker-time{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff15}.date-picker-time>span{margin-right:auto;color:var(--muted)}.date-picker-time input{width:52px;text-align:center;font-variant-numeric:tabular-nums}.date-picker-error{font-size:11px;color:#f28295;margin-top:8px}.date-picker-error:empty{display:none}.date-picker-actions{justify-content:flex-end;margin-top:14px}.date-picker-actions .button{padding:7px 12px;font-size:11px}.reserve-date-picker .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.pnl-period{margin-left:auto;max-width:100%;flex:0 1 auto}.pnl-custom{flex-wrap:wrap;gap:6px}.pnl-custom [data-date-field]{padding:5px 6px;font-size:10px}.pnl-custom [data-date-field]::after{font-size:11px}.pnl-custom label{font-size:10px}#settings-time-zone{max-width:190px}}
