.subscribe-topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.subscribe-topics-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--muted)}.subscribe-topic{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-2);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.subscribe-topic:hover{border-color:var(--accent-100)}.subscribe-topic.is-active{background:var(--accent-50);border-color:var(--accent-600);color:var(--accent-700)}.subscribe-topic:disabled{opacity:.55;cursor:not-allowed}.subscribe-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.subscribe-message{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);font-size:.8125rem;line-height:1.5;color:var(--ink-2)}.subscribe-message.is-ok{border-color:var(--green-600);background:var(--accent-50)}.subscribe-message.is-ok>svg{color:var(--green-600)}.subscribe-message.is-fail{border-color:var(--red-600);background:var(--red-50);color:var(--red-600)}.subscribe-confirm-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px dashed var(--blue-500);border-radius:999px;color:var(--blue-500);font-size:.75rem;font-weight:700;text-decoration:none;word-break:break-all}.subscribe-confirm-link:hover{background:var(--blue-50)}.notifications-panel{display:flex;flex-direction:column;gap:18px}.notifications-message{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);font-size:.8125rem;line-height:1.5;color:var(--ink-2)}.notifications-message.is-ok{border-color:var(--green-600);background:var(--accent-50)}.notifications-message.is-ok>svg{color:var(--green-600)}.notifications-message.is-fail{border-color:var(--red-600);background:var(--red-50);color:var(--red-600)}.notifications-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.subscription-row{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg)}.subscription-row[data-status=pending]{border-color:var(--amber-600)}.subscription-row[data-status=unsubscribed]{background:var(--bg-cream);border-style:dashed}.subscription-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.subscription-row-title{display:flex;flex-direction:column;gap:3px;min-width:0}.subscription-row-title strong{font-size:.9375rem;word-break:break-word}.subscription-row-title small{font-size:.75rem;color:var(--muted)}.subscription-channel{display:inline-flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-700)}.subscription-topics{margin-top:0}.subscription-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.notifications-city{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.notifications-city .field-label{margin:0;flex:0 0 auto}.notifications-city .input{flex:1 1 220px;max-width:320px;margin-bottom:0}.push-devices{list-style:none;display:flex;flex-direction:column;gap:10px;margin:14px 0 0;padding:0}.push-device{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg)}.push-device.is-empty{display:block;background:var(--bg-cream);color:var(--muted);font-size:.8125rem;line-height:1.5}.push-device-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:50%;background:var(--accent-50);color:var(--accent-700)}.push-device-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.push-device-body strong{font-size:.875rem}.push-device-body small{font-size:.75rem;color:var(--muted);word-break:break-all}@media (max-width:720px){.notifications-city{flex-direction:column;align-items:stretch}.notifications-city .input{max-width:none}.subscription-row-actions .btn{flex:1 1 auto}}