.stocks-widget{--sw-green:#059669;--sw-red:#dc2626;--sw-up:color-mix(in srgb, var(--sw-green) 85%, var(--foreground));--sw-dn:color-mix(in srgb, var(--sw-red) 85%, var(--foreground));width:100%;max-width:520px;color:var(--foreground);margin-inline:auto}html[data-theme=dark] .stocks-widget{--sw-up:#34d399;--sw-dn:#f87171}.stocks-widget *,.stocks-widget :before,.stocks-widget :after{box-sizing:border-box;margin:0;padding:0}.stocks-widget .controls{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);margin-bottom:14px;padding:14px 16px}.stocks-widget .control-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stocks-widget .control-row label{color:var(--text-muted);font-size:.78rem}.stocks-widget select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground);cursor:pointer;padding:4px 8px;font-size:.8rem}.stocks-widget select option{background:var(--surface);color:var(--foreground)}.stocks-widget select option:checked{background:var(--accent);color:var(--on-accent)}.stocks-widget .notif-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground);cursor:pointer;margin-left:auto;padding:5px 10px;font-size:.75rem;transition:border-color .15s,background .15s}.stocks-widget .notif-btn:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.stocks-widget .notif-btn.enabled{border-color:var(--sw-green);color:var(--sw-green)}.stocks-widget .add-ticker{gap:8px;margin-bottom:14px;display:flex}.stocks-widget .add-ticker input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--foreground);text-transform:uppercase;letter-spacing:1px;flex:1;padding:10px 12px;font-size:.9rem}.stocks-widget .add-ticker button{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;padding:10px 20px;font-size:.9rem;font-weight:700;transition:opacity .15s}.stocks-widget .add-ticker button:hover{opacity:.85}.stocks-widget .stock-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);margin-bottom:10px;padding:14px 16px;position:relative}.stocks-widget .stock-card-header{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;padding-right:28px;display:flex}.stocks-widget .stock-symbol{color:var(--foreground);letter-spacing:1px;font-size:1.1rem;font-weight:700}.stocks-widget .stock-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.stocks-widget .stock-price{font-size:1.25rem;font-weight:700}.stocks-widget .stock-change{margin-left:6px;font-size:.85rem;font-weight:600}.stocks-widget .stock-change.up{color:var(--sw-up)}.stocks-widget .stock-change.dn{color:var(--sw-dn)}.stocks-widget .stock-chart{height:50px;margin:10px 0}.stocks-widget .stock-chart canvas{width:100%;height:100%}.stocks-widget .stock-alerts{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.stocks-widget .stock-alerts input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--foreground);text-align:center;flex:80px;padding:4px 8px;font-size:.78rem}.stocks-widget .stock-alerts span{color:var(--text-muted);font-size:.75rem}.stocks-widget .stock-alerts button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground);cursor:pointer;padding:4px 10px;font-size:.75rem;transition:border-color .15s;position:relative}.stocks-widget .stock-alerts button:hover{border-color:var(--accent)}.stocks-widget .stock-alerts:not(:has(input:not(:placeholder-shown))) button[data-tooltip]:after{content:attr(data-tooltip);white-space:nowrap;background:var(--foreground);color:var(--background);border-radius:var(--radius);pointer-events:none;opacity:0;z-index:50;padding:5px 10px;font-size:.8rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 6px);right:0;transform:translateY(4px)}.stocks-widget .stock-alerts:not(:has(input:not(:placeholder-shown))) button[data-tooltip]:hover:after,.stocks-widget .stock-alerts:not(:has(input:not(:placeholder-shown))) button[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.stocks-widget .remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.1rem;transition:opacity .15s;position:absolute;top:10px;right:10px}.stocks-widget .remove-btn:hover{color:var(--accent)}.stocks-widget .status-line{text-align:center;color:var(--text-muted);min-height:18px;margin-top:10px;font-size:.72rem}.stocks-widget .status-line.err{color:var(--sw-red);opacity:1}.stocks-widget .status-line.ok{color:var(--sw-green);opacity:1}.stocks-widget .empty-state{text-align:center;color:var(--text-muted);padding:30px;font-size:.85rem}@media (width<=32rem){.stocks-widget .notif-btn{width:100%;margin-left:0}.stocks-widget .stock-change{text-align:end;width:100%;margin-left:0}}
