*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:var(--color-bg, #ffffff);color:var(--color-text, #212121)}#root{display:flex;justify-content:center}.revenue-overview{padding:16px;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:16px}.revenue-overview--disabled{opacity:.6;pointer-events:none}.revenue-overview__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.revenue-overview__title{font-size:1.25em;font-weight:700;color:var(--color-text);margin:0}.revenue-overview__period-selector{display:flex;gap:8px}.revenue-overview__details-btn{padding:8px 14px;background:transparent;border:1px solid #1976d2;border-radius:4px;font-size:.85em;font-weight:600;color:#1976d2;cursor:pointer;transition:all .2s ease;white-space:nowrap}.revenue-overview__details-btn:hover{background:#1976d2;color:#fff}.revenue-overview__period-btn{padding:8px 16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-size:.9em;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.revenue-overview__period-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.revenue-overview__period-btn--active{background:#1976d2!important;color:#fff!important;border-color:#1976d2!important;font-weight:700!important;opacity:1!important;display:inline-block!important;visibility:visible!important}.revenue-overview__disabled-message{padding:32px 16px;text-align:center;color:var(--color-text-secondary)}.revenue-overview__disabled-message p{margin:8px 0;font-size:.95em}.revenue-overview__disabled-hint{font-size:.85em!important;color:var(--color-text-secondary)}.revenue-overview__go-stock-btn{padding:8px 16px;background-color:var(--color-primary, #1976d2);color:#fff;border:none;border-radius:6px;font-size:.95em;cursor:pointer;transition:background-color .2s}.revenue-overview__go-stock-btn:hover{background-color:var(--color-primary-dark, #1565c0)}.revenue-overview__offline-notice{padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:16px;text-align:center}.revenue-overview__offline-notice p{margin:0;font-size:.9em;color:#856404;font-weight:500}.revenue-overview__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.revenue-overview__summary-item{padding:16px;background:var(--color-bg);border-radius:6px;border-left:4px solid transparent;transition:all .2s ease}.revenue-overview__summary-item:hover{box-shadow:0 2px 8px #0000001a}.revenue-overview__summary-item:nth-child(1){border-left-color:var(--color-success)}.revenue-overview__summary-item:nth-child(2){border-left-color:var(--color-primary)}.revenue-overview__summary-item--profit{border-left-color:var(--color-success)}.revenue-overview__summary-item--loss{border-left-color:var(--color-danger)}.revenue-overview__summary-label{font-size:.75em;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.revenue-overview__summary-label--profit{color:#4caf50}.revenue-overview__summary-label--loss{color:#e91e63}.revenue-overview__summary-value{font-size:1.5em;font-weight:700;color:var(--color-text);word-break:break-word}.revenue-overview__summary-description{font-size:.75em;color:var(--color-text-secondary);margin-top:4px;line-height:1.3}.revenue-overview__summary-value--purchases{color:var(--color-text)}.revenue-overview__summary-value--sales{color:#1976d2}.revenue-overview__summary-value--profit{color:#4caf50}.revenue-overview__summary-value--loss{color:#f44336}.revenue-overview__chart-container{background:var(--color-bg);border-radius:6px;padding:16px 0;min-height:380px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.revenue-overview__empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 16px}.revenue-overview__empty-state p{margin:0;font-size:.95em}.revenue-overview__legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px;background:var(--color-bg);border-radius:6px;font-size:.85em}.revenue-overview__legend-item{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary)}.revenue-overview__legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}@media (max-width: 480px){.revenue-overview__header{flex-direction:column;align-items:flex-start;gap:12px}.revenue-overview__period-selector{width:100%}.revenue-overview__period-btn{flex:1;font-size:.85em;padding:6px 12px}.revenue-overview__summary{grid-template-columns:1fr}.revenue-overview__chart-container{min-height:320px;padding:12px 0}.revenue-overview__legend{grid-template-columns:1fr;font-size:.8em}.revenue-overview__summary-value{font-size:1.25em}}.purchases-overview{padding:16px;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:16px}.purchases-overview--disabled{opacity:.6;pointer-events:none}.purchases-overview__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.purchases-overview__title{font-size:1.25em;font-weight:700;color:var(--color-text);margin:0}.purchases-overview__period-selector{display:flex;gap:8px}.purchases-overview__period-btn{padding:8px 16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-size:.9em;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.purchases-overview__period-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.purchases-overview__period-btn--active{background:#e65100!important;color:#fff!important;border-color:#e65100!important;font-weight:700!important;opacity:1!important}.purchases-overview__details-btn{padding:8px 14px;background:transparent;border:1px solid #e65100;border-radius:4px;font-size:.85em;font-weight:600;color:#e65100;cursor:pointer;transition:all .2s ease;white-space:nowrap}.purchases-overview__details-btn:hover{background:#e65100;color:#fff}.purchases-overview__disabled-message{padding:32px 16px;text-align:center;color:var(--color-text-secondary)}.purchases-overview__disabled-message p{margin:8px 0;font-size:.95em}.purchases-overview__disabled-hint{font-size:.85em!important;color:var(--color-text-secondary)}.purchases-overview__go-stock-btn{padding:8px 16px;background-color:var(--color-primary, #1976d2);color:#fff;border:none;border-radius:6px;font-size:.95em;cursor:pointer;transition:background-color .2s}.purchases-overview__go-stock-btn:hover{background-color:var(--color-primary-dark, #1565c0)}.purchases-overview__offline-notice{padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:16px;text-align:center}.purchases-overview__offline-notice p{margin:0;font-size:.9em;color:#856404;font-weight:500}.purchases-overview__summary{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.purchases-overview__summary-item{padding:16px;background:var(--color-bg);border-radius:6px;border-left:4px solid #e65100;transition:all .2s ease}.purchases-overview__summary-item:hover{box-shadow:0 2px 8px #0000001a}.purchases-overview__summary-label{font-size:.75em;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.purchases-overview__summary-value{font-size:1.5em;font-weight:700;color:#e65100;word-break:break-word}.purchases-overview__summary-description{font-size:.75em;color:var(--color-text-secondary);margin-top:4px;line-height:1.3}.purchases-overview__chart-container{background:var(--color-bg);border-radius:6px;padding:16px 0;min-height:380px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.purchases-overview__empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 16px}.purchases-overview__empty-state p{margin:0;font-size:.95em}@media (max-width: 480px){.purchases-overview__header{flex-direction:column;align-items:flex-start;gap:12px}.purchases-overview__period-selector{width:100%}.purchases-overview__period-btn{flex:1;font-size:.85em;padding:6px 12px}.purchases-overview__chart-container{min-height:320px;padding:12px 0}.purchases-overview__summary-value{font-size:1.25em}}
