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