.view-toggle{display:flex;gap:4px;background:var(--surface);padding:4px;border-radius:var(--radius)}.view-btn{padding:6px 16px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-btn.active,.view-btn:hover{color:var(--text-primary)}.view-btn.active{background:var(--bg-hover)}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.nav-controls{display:flex;align-items:center;gap:var(--space-lg)}.calendar-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .2s;isolation:isolate;box-shadow:0 0 0 1px hsla(0,0%,100%,.03),0 1px 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.1)}.calendar-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px)}.calendar-nav-btn svg{width:20px;height:20px}.current-month{font-size:20px;font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.calendar-main-layout{display:flex;gap:var(--space-lg);align-items:stretch}.week-summary-sidebar{display:flex;flex-direction:column;gap:8px;min-width:200px;flex-shrink:0}.week-card{background:var(--surface);border-radius:var(--radius);padding:var(--space);isolation:isolate;box-shadow:0 0 0 1px hsla(0,0%,100%,.03),0 1px 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.1);transition:all .2s;border-left:3px solid transparent;flex:1 1;display:flex;flex-direction:column;justify-content:center}.week-card:hover{transform:translateX(4px);border-left-color:hsla(0,0%,100%,.1)}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.week-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.week-title,.week-trades{color:var(--text-tertiary)}.week-trades{font-size:10px;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.week-pnl{font-size:18px;font-weight:600;margin-bottom:2px;color:var(--text-primary)}.week-pnl.positive{color:var(--success)}.week-pnl.negative{color:var(--danger)}.week-pnl.neutral{color:var(--text-primary)}.week-percentage{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.week-days{font-size:10px;color:var(--text-tertiary);display:flex;align-items:center;gap:4px}.week-days:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--text-tertiary)}.calendar-widget-container{background:var(--surface);border-radius:var(--radius);padding:var(--space-xl);isolation:isolate;box-shadow:0 0 0 1px hsla(0,0%,100%,.03),0 1px 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.1);flex:1 1}.calendar-grid-view{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;background:transparent;padding:8px}.calendar-day-cell{aspect-ratio:1;min-height:auto;padding:8px;position:relative;cursor:pointer;transition:all .15s ease;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;background:rgba(45,50,60,.5)}.calendar-day-cell:hover{background:rgba(55,60,70,.6)}.calendar-day-cell.has-trades:hover{background:inherit}.calendar-day-cell.other-month{opacity:.35;pointer-events:none;background:rgba(30,41,59,.25)}.calendar-day-cell.other-month .day-number{color:hsla(0,0%,100%,.4)}.calendar-day-cell.today{background:rgba(45,50,60,.5)}.calendar-day-cell.has-trades.profit{background:rgba(47,128,88,.25)}.calendar-day-cell.has-trades.loss{background:rgba(167,72,70,.25)}.calendar-day-cell.future{background:rgba(35,40,48,.4)}.calendar-day-cell.future .day-number{color:hsla(0,0%,100%,.55)}.day-number{font-size:13px;font-weight:500;color:hsla(0,0%,100%,.85);margin-bottom:0}.calendar-day-cell.today .day-number{color:#fff}.day-trades-count{font-size:11px;color:hsla(0,0%,100%,.5)}.day-pnl,.day-trades-count{margin-top:4px;line-height:1.3}.day-pnl{font-size:16px;font-weight:600}.day-pnl.positive{color:var(--success)}.day-pnl.negative{color:var(--danger)}.day-percentage{font-size:11px;margin-top:2px;line-height:1.3}.day-percentage.positive{color:rgba(47,128,88,.8)}.day-percentage.negative{color:rgba(167,72,70,.8)}.day-rr{font-size:11px;color:hsla(0,0%,100%,.4);margin-top:2px;line-height:1.3}.calendar-weekdays-bottom{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;padding:0 8px 8px}.calendar-weekdays-bottom span{text-align:center;font-size:10px;font-weight:500;color:hsla(0,0%,100%,.4)}.quarters-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-lg);gap:var(--space-lg)}.quarter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.quarter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space);padding-bottom:var(--space);border-bottom:1px solid var(--border)}.quarter-title{font-size:18px;font-weight:600;color:var(--text-primary)}.quarter-pnl-group{display:flex;align-items:center;gap:var(--space-sm)}.quarter-pnl{font-size:16px;font-weight:600}.quarter-pnl.positive{color:var(--success)}.quarter-pnl.negative{color:var(--danger)}.quarter-percent{font-size:14px;font-weight:500;color:var(--text-secondary)}.quarter-months{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-sm);gap:var(--space-sm)}.quarter-month{display:flex;flex-direction:column;padding:var(--space);background:var(--bg-primary);border-radius:var(--radius);border:1px solid var(--border);min-height:100px;cursor:pointer;transition:all .2s}.quarter-month:hover{background:var(--bg-secondary);border-color:var(--accent)}.quarter-month-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.quarter-month-stats{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-top:auto}.quarter-month-pnl{font-weight:600;font-size:16px}.quarter-month-pnl.positive{color:var(--success)}.quarter-month-pnl.negative{color:var(--danger)}.quarter-month-percent{font-size:12px;font-weight:500;color:var(--text-secondary)}.quarter-month-trades,.quarter-month-winrate{color:var(--text-tertiary);font-size:12px}.quarter-stats{display:flex;gap:var(--space-lg);margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--border)}.quarter-stat{display:flex;flex-direction:column;gap:2px}.quarter-stat-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase}.quarter-stat-value{font-size:14px;font-weight:500;color:var(--text-primary)}.months-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space);gap:var(--space)}.month-card{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);min-height:100px;cursor:pointer;transition:all .2s}.month-card:hover{background:var(--bg-secondary);border-color:var(--accent)}.month-card-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.month-card-stats{display:flex;flex-direction:column;gap:4px;margin-top:auto}.month-card-pnl{font-size:16px;font-weight:600}.month-card-pnl.positive{color:var(--success)}.month-card-pnl.negative{color:var(--danger)}.month-card-percent{font-size:12px;color:var(--text-secondary)}.month-card-trades,.month-card-winrate{font-size:12px;color:var(--text-tertiary)}.year-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space);padding-bottom:var(--space);border-bottom:1px solid var(--border)}.year-title{font-size:20px;font-weight:600;color:var(--text-primary)}.year-pnl{font-size:18px;font-weight:600;display:flex;align-items:center;gap:var(--space-sm)}.year-pnl.positive{color:var(--success)}.year-pnl.negative{color:var(--danger)}.year-percent{font-size:14px;font-weight:500;color:var(--text-secondary)}.year-stats{display:flex;gap:var(--space-xl);margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--border)}.year-stat{display:flex;flex-direction:column;gap:2px}.year-stat-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase}.year-stat-value{font-size:14px;font-weight:500;color:var(--text-primary)}.calendar-no-data{padding:var(--space);text-align:center;color:var(--text-tertiary);font-size:12px}@media (max-width:1024px){.calendar-main-layout{flex-direction:column}.week-summary-sidebar{flex-direction:row;min-width:auto}.months-grid{grid-template-columns:repeat(2,1fr)}}