.price-alert-bell { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:40px; height:40px; border:1px solid #567ccc; border-radius:50%; background:#111b35; color:#8aafff; cursor:pointer; box-shadow:0 3px 12px #0003; }
.price-alert-bell svg { width:21px; height:21px; flex-shrink:0; }
.price-alert-bell:hover,.price-alert-bell:focus-visible { background:#23437a; box-shadow:0 0 18px #568bff88; outline:2px solid #8aafff; outline-offset:2px; }
.price-alert-detail { width:auto; border-radius:24px; padding:0 16px; margin:0 0 18px; font:inherit; font-size:14px; }
.price-alert-panel { box-sizing:border-box; width:min(480px,calc(100% - 32px)); max-height:90dvh; overflow:auto; padding:30px; border:1px solid #465b89; border-radius:22px; background:#111b35; color:#f5f7ff; font:16px/1.6 Arial,sans-serif; box-shadow:0 24px 100px #0006; }
.price-alert-panel::backdrop { background:#020617bb; backdrop-filter:blur(5px); }
.price-alert-panel h2 { margin:10px 0; font-size:24px; line-height:1.4; }
.price-alert-panel p { font-size:14px; color:inherit; opacity:.85; }
.price-alert-panel label { display:grid; gap:6px; margin:16px 0; font-weight:600; }
/* The dialog hides the channel it is not collecting, and a display of its own would beat
   the browser's [hidden] rule and leave both fields on screen. */
.price-alert-panel [hidden] { display:none; }
.price-alert-panel input { box-sizing:border-box; width:100%; background:#080e23; color:inherit; border:1px solid #536b99; border-radius:10px; padding:12px; font:inherit; }
.price-alert-panel button[type=submit] { width:100%; background:#1767dd; color:white; border:0; border-radius:10px; padding:12px; font:inherit; cursor:pointer; }
.price-alert-panel button:disabled { opacity:.6; cursor:wait; }
.price-alert-close { float:inline-end; background:transparent; border:0; color:inherit; font-size:28px; cursor:pointer; }
.price-alert-panel a { color:#8aafff; }
.alert-manage { background:#080e23; display:grid; min-height:100vh; place-items:center; margin:0; }
html[data-theme="light"] .price-alert-panel,html[data-theme="light"] .price-alert-bell { background:#fff; color:#17428b; border-color:#aac1ee; }
html[data-theme="light"] .price-alert-panel input { background:#f5f7fc; color:#17233e; }
@media(max-width:480px) { .price-alert-panel { padding:22px; } }
.price-alert-channel { margin:16px 0; padding:12px 14px; border:1px solid #536b99; border-radius:10px; }
.price-alert-channel legend { padding:0 6px; font-size:14px; font-weight:600; }
.price-alert-channel label { display:inline-flex; align-items:center; gap:6px; margin:0 14px 0 0; font-weight:400; }
.price-alert-channel input { width:auto; }
html[data-theme="light"] .price-alert-channel { border-color:#aac1ee; }
