*{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e5e7eb;background:linear-gradient(135deg,#1e1b4b,#312e81,#1e1b4b);background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden}a{font-weight:500;color:#60a5fa;text-decoration:none;transition:color .2s}a:hover{color:#93c5fd}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#374151;color:#e5e7eb;cursor:pointer;transition:all .25s}button:hover{background-color:#4b5563;border-color:#3b82f6}button:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-content{background:linear-gradient(135deg,#1e293bf2,#334155f2);border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:2rem;min-width:400px;max-width:500px;box-shadow:0 20px 60px #00000080}.dialog-content h2{margin:0 0 1.5rem;color:#fff;font-size:1.5rem;font-weight:700}.dialog-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.dialog-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#ffffffe6;font-size:.9rem;font-weight:600}.form-group select,.form-group input{padding:.75rem;background:#1e293bcc;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit;outline:none;transition:all .2s}.form-group select:focus,.form-group input:focus{border-color:#6366f199;background:#1e293bf2}.form-group select:disabled,.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-group select option{background:#1e293b;color:#fff}.dialog-actions{display:flex;justify-content:space-between;gap:1rem}.dialog-actions button{padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;outline:none}.cancel-button{background:#6366f11a;color:#ffffffe6;border:1px solid rgba(99,102,241,.3)}.cancel-button:hover:not(:disabled){background:#6366f133;border-color:#6366f180}.save-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:1px solid rgba(139,92,246,.5)}.save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.dialog-actions button:disabled{opacity:.5;cursor:not-allowed}.dashboard{padding:0;min-height:100vh;display:flex;flex-direction:column}.dashboard-header{margin-bottom:.5rem;padding:.5rem .5rem 0;position:relative}.add-pnl-button{position:absolute;top:.5rem;right:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:1px solid rgba(139,92,246,.5);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:10}.add-pnl-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.header-content{display:flex;gap:1rem;align-items:flex-start}.header-controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.period-selector{padding:.75rem 1.25rem;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:12px;color:#ffffffe6;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;outline:none}.period-selector:hover{background:#6366f126;border-color:#6366f14d}.period-selector option{background:#1e293b;color:#fff}.stat-cards{display:flex;gap:1rem}.stat-card{background:#1e293b99;border:2px solid;border-radius:12px;padding:.75rem 1.5rem;min-width:180px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.8rem;color:#fff9;font-weight:500}.dashboard-content{display:grid;grid-template-columns:340px 1fr;gap:.5rem;flex:1;align-items:stretch;padding:0 .5rem .5rem;overflow:hidden}.donut-section{display:flex;flex-direction:column}.donut-container{background:#1e293b99;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:.75rem;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%}.donut-container h3{margin:0 0 .75rem;color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-.3px;text-align:center}.donut-legend{margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.donut-legend-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#33415580;border:1px solid rgba(99,102,241,.15);border-radius:6px;transition:all .2s}.donut-legend-item:hover{background:#334155b3;border-color:#6366f14d}.legend-info{display:flex;align-items:center;gap:.75rem;flex:1}.legend-name{color:#fffffff2;font-size:.95rem;font-weight:600;min-width:50px}.legend-value{color:#ffffffbf;font-size:.95rem;font-weight:500;min-width:60px}.legend-change{font-size:.9rem;font-weight:600;min-width:45px}.legend-text{color:#fffffff2;font-size:1rem;font-weight:500}.chart-section{display:flex;flex-direction:column;height:100%}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;font-weight:500;color:#ffffffe6;-webkit-user-select:none;user-select:none;padding:.6rem 1rem;background:#6366f11a;border-radius:10px;border:1px solid rgba(99,102,241,.2);transition:all .2s}.toggle-label:hover{background:#6366f126;border-color:#6366f14d}.toggle-label input[type=checkbox]{width:1.15rem;height:1.15rem;cursor:pointer;accent-color:#6366f1}.chart-container{background:#1e293b99;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:.75rem;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1;display:flex;flex-direction:column;min-height:0}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.legend-text{color:#fffffff2;font-size:.95rem;font-weight:500}.loading-indicator{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;min-height:300px;gap:1rem}.loading-indicator p{color:#ffffffb3;font-size:1rem;font-weight:500}.spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading,.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.25rem;color:#ffffffb3;font-weight:500}.error{color:#f87171}@media(max-width:1200px){.dashboard-content{grid-template-columns:1fr}.donut-section{position:static}}@media(max-width:768px){.dashboard{padding:1rem}.header-top{flex-direction:column;align-items:flex-start;gap:1rem}.header-stats{gap:.75rem}.stat-cards{flex-direction:column}.stat-card{min-width:0}.dashboard-header h1{font-size:1.75rem}.chart-container,.company-legend{padding:1.25rem}.legend-items{grid-template-columns:1fr}}#root{width:100%;height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
