:root{height:100%;width:100%;margin:0;padding:0;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{height:100%;width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.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}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;margin:0;padding:0}.app-header{background-color:#1a1a1a;color:#fff;padding:1rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center}.banner-logo{height:90px;margin:0 auto;display:block}.main-content{display:flex;flex:1;overflow:hidden;width:100%;margin:0;padding:0}.stock-list{width:40%;overflow-y:auto;padding:1rem;background-color:#f5f5f5;margin:0}.stock-card{background-color:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s;position:relative}.stock-card:hover{transform:translateY(-2px)}.stock-card h3{margin:0;font-size:1.2rem;color:#333}.stock-card p{margin:.5rem 0;font-size:.9rem;color:#666}.stock-card .company-name{font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.stock-detail{width:60%;padding:1rem;background-color:#fff;overflow-y:auto}.stock-detail h2{margin-bottom:1rem}.stock-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.stock-header h2,.stock-header h3{margin:0;color:#1a1a1a}.stock-header .company-name{font-size:.9rem;color:#666}.stock-info{margin-bottom:1rem}.stock-info p{margin:.25rem 0;font-size:.9rem;color:#666}.stock-info strong{color:#111}@media (max-width: 768px){.main-content{flex-direction:column}.stock-list,.stock-detail{width:100%}}.account-menu-container{margin-right:2.5rem;position:static;z-index:10}.account-btn{background:transparent;border:none;border-radius:50%;width:60px;height:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s}.account-btn:hover{background:#f0f0f0}.account-btn.large{width:64px;height:64px}.account-dropdown{position:absolute;right:0;top:48px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #00000014;z-index:100;min-width:140px;display:flex;flex-direction:column;padding:.5rem 0}.account-dropdown-item{width:100%;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:1rem;color:#222;transition:background .2s}.account-dropdown-item:hover{background:#f5f5f5}.account-dropdown-item.logout{color:#d7263d}.add-stock-btn{width:100%;background:#006642;color:#fff;border:none;border-radius:8px;padding:1rem 0;font-size:1.15rem;font-weight:600;margin-bottom:1.25rem;margin-top:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;box-shadow:0 2px 8px #0000000a}.add-stock-btn:hover{background:#686767}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000040;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal{background:#f7faf7;border-radius:18px;padding:2.5rem 3rem;box-shadow:0 8px 32px #0000001a,0 1.5px 8px #00664214;min-width:340px;max-width:95vw;border:1.5px solid #e0ece0}.modal h2{margin-top:0;margin-bottom:1.5rem;font-size:1.6rem;text-align:center;color:#006642;letter-spacing:.5px}.modal-form{display:flex;flex-direction:column;gap:1.2rem}.modal-form label{font-weight:500;color:#2d4739;display:flex;flex-direction:column;gap:.25rem;font-size:1.05rem}.modal-form input{padding:.6rem .85rem;border:1.5px solid #cbe3d4;border-radius:8px;font-size:1.05rem;background:#f3f8f3;color:#2d4739;transition:border .2s,box-shadow .2s;outline:none}.modal-form input:focus{border:1.5px solid #8fd6b4;box-shadow:0 0 0 2px #e0f7e9}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.modal-actions button{padding:.5rem 1.25rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;background:#e0ece0;color:#006642;transition:background .2s,color .2s;box-shadow:0 1px 4px #0066420a}.modal-actions button.add-stock-btn{background:#b8eac7;color:#006642}.modal-actions button:hover{background:#cbe3d4;color:#004d2c}.stock-card-buttons{display:none}.edit-btn,.delete-btn{padding:.5rem 1rem;border-radius:6px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.edit-btn{background:#4caf50;color:#fff}.edit-btn:hover{background:#45a049}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover{background:#e53935}.delete-btn.top-right{position:absolute;top:10px;right:10px;z-index:2;background:#035b3c;color:#fff;padding:.5rem 1rem;border-radius:6px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.delete-btn.top-right:hover{background:#00543a}.rating-container{display:flex;margin:.5rem 0}.rating-text{font-size:1rem;transition:color .2s ease}.auth-container{width:100vw;height:100vh;background:linear-gradient(135deg,#0e0f0e,#1e2522);display:flex;justify-content:center;align-items:center;padding:2rem;animation:fadeIn 1.2s ease-out}.auth-card{background-color:#262e2b;padding:3rem 2.5rem;border-radius:1rem;box-shadow:0 10px 30px #503e3e99;width:100%;max-width:450px;text-align:center;animation:slideUp 1s ease-out}.auth-header{font-size:2rem;font-weight:700;color:#fff;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;align-items:center}.auth-form div{width:100%;display:flex;flex-direction:column}.auth-form label{font-size:1rem;font-weight:500;color:#d1d5db;margin-bottom:.5rem;text-align:left}.auth-form input{width:100%;background-color:#212725;padding:.75rem 1rem;border:1px solid #374151;border-radius:.75rem;outline:none;transition:all .3s ease;font-size:1rem;color:#e5e7eb}.auth-form input::placeholder{color:#9ca3af}.auth-form input:focus{border-color:#10b981;background-color:#29302e;box-shadow:0 0 0 3px #10b9814d}.auth-button{background-color:#10b981;color:#fff;padding:.75rem;border-radius:.75rem;font-size:1.125rem;font-weight:600;transition:background-color .3s ease,transform .2s ease;border:none;cursor:pointer;width:100%;margin-top:1rem}.auth-button:hover{background-color:#059669;transform:translateY(-3px)}.auth-toggle{margin-top:2rem;text-align:center;font-size:1rem;color:#9ca3af}.auth-toggle button{background:none;border:none;color:#10b981;font-weight:600;cursor:pointer;transition:color .2s ease}.auth-toggle button:hover{text-decoration:underline;color:#059669}.auth-error{color:#f87171;font-size:.875rem;margin-top:-.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
