*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#3b82f6;--primary-dark:#2563eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--bg:#0f172a;--bg-card:#1e293b;--bg-card-hover:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--border:#334155}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.container{max-width:1000px;margin:0 auto;padding:0 1rem}.navbar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--primary);text-decoration:none}.logo span{color:var(--text)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s}.nav-links a:hover{color:var(--text)}.btn{padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:.25rem .75rem;font-size:.8rem}.card{background:var(--bg-card);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-muted)}.form-group input,.form-group select{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-card{width:100%;max-width:400px}.auth-card h1{text-align:center;margin-bottom:.5rem;font-size:1.75rem}.auth-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.auth-card .btn{width:100%;padding:.75rem;margin-top:.5rem}.auth-toggle{text-align:center;margin-top:1rem;color:var(--text-muted);font-size:.9rem}.auth-toggle button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.9rem;text-decoration:underline}.error-msg{color:var(--danger);font-size:.85rem;margin-bottom:1rem;padding:.5rem;background:rgba(239,68,68,.1);border-radius:.5rem}.dashboard{padding:2rem 0}.dashboard h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.holdings-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.holding-card{background:var(--bg-card);border-radius:.75rem;padding:1.25rem;border:1px solid var(--border)}.holding-card .top-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.holding-card .ticker{font-size:1.25rem;font-weight:700}.holding-card .market-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;font-weight:600}.badge-psx{background:rgba(59,130,246,.2);color:var(--primary)}.badge-crypto{background:rgba(245,158,11,.2);color:var(--warning)}.holding-card .details{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.verdict-section{border-top:1px solid var(--border);padding-top:1rem}.verdict-badge{display:inline-block;padding:.25rem .75rem;border-radius:.25rem;font-size:.85rem;font-weight:700;margin-right:.75rem}.verdict-BUY{background:rgba(16,185,129,.2);color:var(--success)}.verdict-HOLD{background:rgba(245,158,11,.2);color:var(--warning)}.verdict-SELL{background:rgba(239,68,68,.2);color:var(--danger)}.target-range{font-size:.85rem;color:var(--text-muted)}.reasoning{margin-top:.75rem;font-size:.9rem;line-height:1.6;color:var(--text);white-space:pre-line}.key-dates{margin-top:.5rem;font-size:.8rem}.key-dates,.no-verdict{color:var(--text-muted);font-style:italic}.no-verdict{font-size:.9rem}.add-holding{margin-bottom:2rem}.add-holding form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.add-holding input,.add-holding select{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem}.add-holding input:focus,.add-holding select:focus{outline:none;border-color:var(--primary)}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text)}.history-page{padding:2rem 0}.history-card{background:var(--bg-card);border-radius:.75rem;padding:1.25rem;border:1px solid var(--border);margin-bottom:1rem}.history-card .date{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}@media (max-width:640px){.add-holding form{flex-direction:column}.add-holding input,.add-holding select{width:100%}}