/* Currant Price 0.8.8.19 production bundle. Generated from existing CSS in original cascade order. */

/* ===== static/css/app.css ===== */
:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #0b0d10;
    color: #f5f7fa;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    background: radial-gradient(circle at top, #18202a 0, #0b0d10 38rem);
}

button, input { font: inherit; }
button { cursor: pointer; }

a { color: inherit; }

.center-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
}

.login-card, .hero-card, .content-card, .stat-card, .form-card {
    border: 1px solid #242932;
    background: rgba(20, 24, 30, 0.92);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.24);
}

.login-card {
    width: min(100%, 420px);
    padding: 28px;
    border-radius: 24px;
}

.brand-mark {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    margin-bottom: 22px;
    background: #e8eef7;
    color: #0b0d10;
    font-weight: 900;
}

h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(2rem, 8vw, 3rem); line-height: 1; }
h2 { margin-bottom: 0; }

.muted { color: #a8b0bc; line-height: 1.6; }

.login-form, .watch-form {
    display: grid;
    gap: 20px;
    margin-top: 24px;
}

label {
    display: grid;
    gap: 8px;
    color: #cbd2dc;
    font-size: 0.92rem;
}

label small, fieldset small {
    color: #7f8998;
    line-height: 1.45;
}

input[type="text"], input[type="password"] {
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border-radius: 13px;
    border: 1px solid #303743;
    outline: none;
    color: #f5f7fa;
    background: #0e1116;
}

input:focus { border-color: #778497; }

button, .primary-link, .secondary-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 13px;
    padding: 0 18px;
    font-weight: 700;
    text-decoration: none;
}

button, .primary-link {
    color: #0b0d10;
    background: #edf2f8;
}

.secondary-button, .secondary-link {
    color: #f5f7fa;
    background: #20252d;
}

.error-box {
    margin-top: 18px;
    padding: 12px 14px;
    border: 1px solid #6b3030;
    border-radius: 12px;
    background: #2d1717;
    color: #ffb8b8;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: max(10px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 10px max(18px, env(safe-area-inset-left));
    border-bottom: 1px solid #20252d;
    background: rgba(11, 13, 16, 0.88);
    backdrop-filter: blur(18px);
}

.topbar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.online-dot { color: #72db8f; font-size: 0.82rem; }

.page-shell {
    width: min(1100px, 100%);
    margin: 0 auto;
    padding: 22px 18px 60px;
}

.hero-card, .content-card {
    border-radius: 22px;
    padding: 24px;
}

.hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.eyebrow {
    margin-bottom: 9px;
    color: #8691a0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 14px 0;
}

.stat-card {
    min-width: 0;
    padding: 18px;
    border-radius: 18px;
}

.stat-card span { display: block; color: #98a2b0; font-size: 0.8rem; }
.stat-card strong { display: block; margin-top: 8px; font-size: 1.5rem; }

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.watch-list {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.watch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px;
    border: 1px solid #282e38;
    border-radius: 15px;
    background: #101318;
}

.watch-paused { opacity: 0.62; }

.watch-title-line {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.watch-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 7px;
    color: #8f99a8;
    font-size: 0.8rem;
}

.watch-meta span {
    padding: 4px 8px;
    border-radius: 8px;
    background: #1b2027;
}

.status-pill {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.status-pill.active { background: #17331f; color: #8be6a3; }
.status-pill.paused { background: #332d17; color: #e8d586; }

.watch-side {
    display: grid;
    justify-items: end;
    gap: 10px;
}

.watch-price { font-size: 1.08rem; font-weight: 800; }

.watch-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.watch-actions form { margin: 0; }

.small-link, .small-button {
    min-height: 34px;
    padding: 0 10px;
    border-radius: 9px;
    font-size: 0.78rem;
    text-decoration: none;
}

.small-link {
    display: inline-flex;
    align-items: center;
    background: #20252d;
}

.small-button {
    color: #e8edf4;
    background: #20252d;
}

.small-button.danger {
    color: #ffb6b6;
    background: #351b1b;
}

.empty-state {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-top: 20px;
    padding: 36px 18px;
    border: 1px dashed #343b46;
    border-radius: 16px;
    color: #8f99a8;
    text-align: center;
}

.form-shell {
    width: min(720px, 100%);
    margin: 0 auto;
    padding: 28px 18px 60px;
}

.form-card {
    padding: 26px;
    border-radius: 22px;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

legend {
    margin-bottom: 10px;
    color: #cbd2dc;
    font-size: 0.92rem;
}

.region-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.region-option {
    position: relative;
}

.region-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.region-option span {
    min-height: 72px;
    display: grid;
    align-content: center;
    gap: 3px;
    padding: 12px;
    border: 1px solid #303743;
    border-radius: 13px;
    background: #0e1116;
    cursor: pointer;
}

.region-option input:checked + span {
    border-color: #d7dee8;
    background: #202731;
}

.region-option strong { font-size: 1rem; }

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 6px;
}

.back-link {
    color: #dbe2eb;
    text-decoration: none;
    font-weight: 700;
}

@media (max-width: 620px) {
    .stats-grid { grid-template-columns: 1fr; }

    .hero-card {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-card .primary-link { width: 100%; }

    .watch-row {
        align-items: stretch;
        flex-direction: column;
    }

    .watch-side { justify-items: stretch; }

    .watch-actions {
        justify-content: flex-start;
    }

    .watch-actions > * {
        flex: 1;
    }

    .small-link, .small-button {
        width: 100%;
        justify-content: center;
    }

    .region-grid { grid-template-columns: 1fr; }

    .form-actions {
        flex-direction: column-reverse;
    }

    .form-actions > * { width: 100%; }
}

/* ===== static/css/market_040.css ===== */
/* Extra styles introduced by Market Agent 0.4.0.
   Kept separate so the update does not need to replace every existing style. */

.search-link {
    background: #e9eef5;
    color: #0b0d10;
    font-weight: 800;
}

.search-hero {
    margin-bottom: 14px;
}

.notice-card {
    margin: 14px 0;
    padding: 16px 18px;
    border: 1px solid #5f542b;
    border-radius: 16px;
    background: #262311;
    color: #e8d98e;
}

.notice-card p {
    margin: 0;
    line-height: 1.5;
}

.notice-card p + p {
    margin-top: 7px;
}

.search-content {
    margin-top: 14px;
}

.source-summary {
    color: #99a4b2;
    font-size: 0.82rem;
}

.result-list {
    display: grid;
    gap: 12px;
    margin-top: 20px;
}

.result-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #282e38;
    border-radius: 16px;
    background: #101318;
}

.result-image {
    width: 150px;
    height: 150px;
    object-fit: cover;
    background: #20252d;
}

.result-body {
    min-width: 0;
    padding: 16px;
}

.result-source {
    margin-bottom: 7px;
    color: #8f99a8;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.result-body h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.4;
}

.result-details {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 12px;
    color: #9da7b5;
    font-size: 0.82rem;
}

.result-details strong {
    color: #f4f7fb;
    font-size: 1.08rem;
}

.result-open {
    display: inline-flex;
    margin-top: 14px;
    color: #dce5f0;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 620px) {
    .result-card {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .result-image {
        width: 96px;
        height: 100%;
        min-height: 130px;
    }
}

/* ===== static/css/currant_price.css ===== */
/* Currant Price branding layer.
   The existing layout CSS remains underneath so this update stays small. */

:root {
    --currant-gold: #e2b95f;
    --currant-gold-soft: #f2d58d;
    --currant-purple: #241827;
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    object-fit: cover;
}

.brand-lockup > div {
    display: grid;
    gap: 2px;
}

.brand-lockup strong {
    color: #f4f6f8;
    font-size: 1.08rem;
    letter-spacing: .01em;
}

.brand-lockup strong span {
    color: var(--currant-gold);
}

.brand-lockup small {
    color: #9d8b61;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.brand-lockup.compact .brand-icon {
    width: 40px;
    height: 40px;
}

.gold-link {
    background: linear-gradient(135deg, #f0d38a, #c99638);
    color: #15110a;
}

.search-link {
    border: 1px solid #705d34;
    background: #211d16;
    color: var(--currant-gold-soft);
}

.eyebrow {
    color: var(--currant-gold);
}

@media (max-width: 620px) {
    .brand-lockup small {
        display: none;
    }

    .brand-icon {
        width: 40px;
        height: 40px;
    }
}

/* ===== static/css/currant_042.css ===== */
:root {
    --cp-bg: #080a10;
    --cp-panel: #0d1119;
    --cp-card: #121720;
    --cp-line: #222938;
    --cp-purple: #8b3fd4;
    --cp-purple-2: #5f209d;
    --cp-gold: #e2b95f;
    --cp-text: #f3f4f7;
    --cp-muted: #8e96a5;
    --cp-green: #7dde63;
}

* { box-sizing: border-box; }
.cp-body { margin: 0; background: radial-gradient(circle at 10% 20%, #21102f 0, #090b12 25%, #06080d 70%); color: var(--cp-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; min-height: 100vh; }
em { color: var(--cp-gold); font-style: normal; }

/* Login */
.login-stage { min-height: 100vh; display: grid; place-items: center; padding: 28px 18px; }
.login-card { position: relative; width: min(440px, 100%); padding: 38px 40px 28px; border: 1px solid #34204a; border-radius: 26px; background: linear-gradient(180deg, rgba(15,15,27,.97), rgba(14,10,25,.97)); box-shadow: 0 28px 90px rgba(79,25,122,.28), inset 0 1px rgba(255,255,255,.03); }
.login-language { position: absolute; top: 18px; right: 18px; display: flex; gap: 5px; padding: 4px; border: 1px solid #292d39; border-radius: 10px; background: #0c0f16; }
.login-language a, .language-switch a { color: #9ca3af; text-decoration: none; font-weight: 800; font-size: .75rem; padding: 7px 9px; border-radius: 7px; }
.login-language a.active, .language-switch a.active { color: white; background: linear-gradient(135deg,var(--cp-purple),var(--cp-purple-2)); }
.login-brand { display: grid; justify-items: center; margin-top: 15px; }
.login-logo { width: 120px; height: 120px; border-radius: 28px; object-fit: cover; filter: drop-shadow(0 12px 30px rgba(139,63,212,.25)); }
.brand-name { position: relative; min-height: 52px; margin-top: 14px; font-size: clamp(2rem,8vw,2.7rem); font-weight: 500; letter-spacing: -.04em; white-space: nowrap; }
.brand-name span { position: absolute; left: 50%; transform: translateX(-50%); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1), filter .8s ease; }
.brand-name .brand-normal { opacity: 1; }
.brand-name .brand-lithuanian { opacity: 0; transform: translateX(-50%) translateY(8px); filter: blur(7px); }
.logo-trick.show-lt .brand-normal { opacity: 0; transform: translateX(-50%) translateY(-8px); filter: blur(7px); }
.logo-trick.show-lt .brand-lithuanian { opacity: 1; transform: translateX(-50%) translateY(0); filter: blur(0); }
.brand-tagline { color: var(--cp-gold); font-size: .64rem; font-weight: 800; letter-spacing: .28em; }
.login-copy { text-align: center; margin: 30px 0 20px; }
.login-copy h1 { margin: 0; font-size: 1.45rem; }
.login-copy p { margin: 8px 0 0; color: var(--cp-muted); }
.login-error { margin-bottom: 14px; padding: 10px 12px; border: 1px solid #713b48; border-radius: 10px; background: #29151b; color: #ffb4c0; font-size: .85rem; }
.login-form { display: grid; gap: 14px; }
.login-form label { display: grid; gap: 7px; color: #9ca3af; font-size: .78rem; }
.login-form input { width: 100%; padding: 14px 15px; border: 1px solid #2a2e3a; border-radius: 10px; outline: none; background: #10131c; color: white; font: inherit; }
.login-form input:focus { border-color: #7d38c2; box-shadow: 0 0 0 3px rgba(125,56,194,.12); }
.login-form button { margin-top: 7px; padding: 14px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#9547dd,#5e209d); color: white; font-weight: 800; font-size: .95rem; cursor: pointer; box-shadow: 0 12px 28px rgba(111,39,174,.24); }
.login-card footer { margin-top: 28px; text-align: center; color: #646b78; font-size: .72rem; }

/* Application shell */
.app-frame { min-height: 100vh; display: grid; grid-template-columns: 220px minmax(0,1fr); max-width: 1550px; margin: 0 auto; background: rgba(7,9,14,.88); border-left: 1px solid #171c26; border-right: 1px solid #171c26; }
.sidebar { display: flex; flex-direction: column; padding: 22px 16px; border-right: 1px solid #1c222d; background: linear-gradient(180deg,#0c1017,#090c12); }
.side-brand { display: flex; align-items: center; gap: 9px; min-height: 48px; margin-bottom: 25px; }
.side-brand img { width: 42px; height: 42px; border-radius: 50%; }
.compact-logo { position: relative; min-width: 135px; height: 24px; font-weight: 800; white-space: nowrap; }
.compact-logo span { position: absolute; left: 0; transition: opacity .8s ease, transform .8s ease, filter .8s ease; }
.compact-logo .brand-lithuanian { opacity: 0; transform: translateY(5px); filter: blur(5px); }
.compact-logo.show-lt .brand-normal { opacity: 0; transform: translateY(-5px); filter: blur(5px); }
.compact-logo.show-lt .brand-lithuanian { opacity: 1; transform: none; filter: none; }
.side-nav { display: grid; gap: 5px; }
.side-nav a { display: flex; gap: 12px; align-items: center; padding: 11px 12px; border-radius: 9px; color: #aab0bc; text-decoration: none; font-size: .84rem; }
.side-nav a.active { color: white; background: linear-gradient(90deg,#8b3fd4,#5f209d); box-shadow: 0 8px 20px rgba(108,37,171,.2); }
.side-nav a.disabled { opacity: .48; pointer-events: none; }
.service-card { margin-top: auto; padding: 15px; border: 1px solid #242b37; border-radius: 12px; background: #11161e; display: grid; gap: 8px; font-size: .76rem; }
.service-card span { color: var(--cp-green); }
.service-card small { color: var(--cp-muted); }
.main-panel { min-width: 0; }
.app-topbar { height: 74px; display: flex; justify-content: flex-end; align-items: center; padding: 0 26px; border-bottom: 1px solid #1c222d; background: rgba(9,12,18,.9); }
.mobile-brand { display: none; }
.top-actions { display: flex; align-items: center; gap: 14px; }
.language-switch { display: flex; gap: 3px; padding: 3px; border: 1px solid #252b37; border-radius: 9px; }
.user-chip { display: grid; padding-left: 10px; border-left: 1px solid #282e38; }
.user-chip span { font-size: .82rem; font-weight: 800; }
.user-chip small { color: var(--cp-muted); font-size: .65rem; }
.icon-button { width: 35px; height: 35px; border: 1px solid #292f3a; border-radius: 50%; background: #11151d; color: #b8bfca; cursor: pointer; }
.dashboard-content { padding: 28px; }
.welcome-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.welcome-row h1 { margin: 0; font-size: 1.55rem; }
.welcome-row p { margin: 7px 0 0; color: var(--cp-muted); font-size: .85rem; }
.new-watch-button { padding: 10px 16px; border-radius: 8px; background: linear-gradient(135deg,#9547dd,#6422a4); color: white; text-decoration: none; font-weight: 800; font-size: .8rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.metric-grid article { display: flex; align-items: center; gap: 12px; min-height: 105px; padding: 17px; border: 1px solid #252c38; border-radius: 12px; background: linear-gradient(145deg,#141922,#10141b); }
.metric-grid article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 9px; background: #211330; color: #c263ff; font-size: 1.25rem; }
.metric-grid article div { display: grid; gap: 6px; }
.metric-grid small { color: #a7adb8; }
.metric-grid strong { font-size: 1.55rem; }
.panel-card { margin-top: 16px; border: 1px solid #242b36; border-radius: 13px; background: #0f141c; overflow: hidden; }
.panel-heading { padding: 15px 18px; border-bottom: 1px solid #202632; }
.panel-heading h2 { margin: 0; font-size: .95rem; }
.modern-watch-list { padding: 0 12px 12px; }
.modern-watch { display: grid; grid-template-columns: 10px minmax(180px,2fr) minmax(90px,.7fr) minmax(90px,.7fr) auto; align-items: center; gap: 14px; padding: 15px 8px; border-bottom: 1px solid #1d232d; }
.watch-dot { width: 8px; height: 8px; border-radius: 50%; background: #a64ee9; box-shadow: 0 0 15px #8d3fd0; }
.watch-info,.watch-cell { display: grid; gap: 4px; }
.watch-info small,.watch-cell small { color: var(--cp-muted); font-size: .68rem; }
.watch-cell strong { font-size: .84rem; }
.ok-text { color: var(--cp-green); }
.muted-text { color: var(--cp-muted); }
.modern-actions { display: flex; align-items: center; gap: 7px; }
.modern-actions a,.modern-actions button { border: 1px solid #332345; border-radius: 7px; padding: 8px 10px; background: #15101e; color: #c788f3; text-decoration: none; font: inherit; font-size: .7rem; cursor: pointer; }
.modern-actions form { margin: 0; }
.modern-actions .search-now-button { background: #1c1128; color: #d291ff; }
.future-panel p { padding: 4px 18px 18px; color: var(--cp-muted); font-size: .8rem; }
.dashboard-empty { padding: 35px; display: flex; justify-content: center; align-items: center; gap: 18px; color: var(--cp-muted); }

@media (max-width: 900px) {
    .app-frame { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .app-topbar { justify-content: space-between; height: 64px; padding: 0 14px; }
    .mobile-brand { display: flex; align-items: center; gap: 7px; }
    .mobile-brand img { width: 35px; height: 35px; border-radius: 9px; }
    .mobile-brand strong { font-size: .82rem; }
    .dashboard-content { padding: 18px 12px 30px; }
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .modern-watch { grid-template-columns: 10px 1fr auto; }
    .watch-cell { display: none; }
    .modern-actions { grid-column: 2 / -1; flex-wrap: wrap; }
}
@media (max-width: 520px) {
    .login-card { padding: 34px 22px 25px; }
    .login-logo { width: 104px; height: 104px; }
    .welcome-row { align-items: flex-start; }
    .welcome-row h1 { font-size: 1.25rem; }
    .new-watch-button { padding: 9px 11px; white-space: nowrap; }
    .metric-grid { gap: 8px; }
    .metric-grid article { min-height: 88px; padding: 12px; }
    .metric-grid article > span { width: 34px; height: 34px; }
    .metric-grid strong { font-size: 1.25rem; }
    .user-chip { display: none; }
}


/* 0.4.3: shared mobile brand transition */
.mobile-logo-trick {
    position: relative;
    width: 138px;
    height: 22px;
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.mobile-logo-trick span {
    position: absolute;
    left: 0;
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.8,.2,1),
        filter .8s ease;
}

.mobile-logo-trick .brand-lithuanian {
    opacity: 0;
    transform: translateY(5px);
    filter: blur(5px);
}

.mobile-logo-trick.show-lt .brand-normal {
    opacity: 0;
    transform: translateY(-5px);
    filter: blur(5px);
}

.mobile-logo-trick.show-lt .brand-lithuanian {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* 0.4.3: administrator user management */
.admin-content {
    max-width: 1250px;
}

.admin-kicker {
    margin: 0 0 7px !important;
    color: var(--cp-purple);
    font-size: .68rem !important;
    font-weight: 900;
    letter-spacing: .16em;
}

.admin-success {
    margin-top: 18px;
    padding: 12px 14px;
    border: 1px solid #315635;
    border-radius: 10px;
    background: #112117;
    color: #93e797;
    font-size: .82rem;
}

.admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
    gap: 16px;
    margin-top: 18px;
}

.create-user-card,
.admin-summary {
    margin-top: 0;
}

.admin-create-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 18px;
}

.admin-create-form label {
    display: grid;
    gap: 7px;
    color: var(--cp-muted);
    font-size: .72rem;
}

.admin-create-form input,
.admin-create-form select,
.password-reset input {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #2a3040;
    border-radius: 8px;
    outline: none;
    background: #0c1118;
    color: white;
    font: inherit;
}

.admin-create-form input:focus,
.admin-create-form select:focus,
.password-reset input:focus {
    border-color: #8140bd;
    box-shadow: 0 0 0 3px rgba(129,64,189,.12);
}

.admin-create-form .check-row {
    grid-template-columns: auto 1fr;
    align-items: center;
    align-content: end;
}

.check-row input {
    width: 16px;
    height: 16px;
}

.admin-primary {
    align-self: end;
    padding: 12px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg,#9547dd,#6422a4);
    color: white;
    font-weight: 800;
    cursor: pointer;
}

.admin-summary-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 18px;
}

.admin-summary-body div {
    padding: 13px 8px;
    border: 1px solid #222a36;
    border-radius: 9px;
    background: #0c1118;
    text-align: center;
}

.admin-summary-body small {
    display: block;
    min-height: 30px;
    color: var(--cp-muted);
    font-size: .66rem;
}

.admin-summary-body strong {
    font-size: 1.5rem;
}

.users-panel {
    margin-top: 16px;
}

.admin-user-list {
    padding: 0 12px 12px;
}

.admin-user-row {
    display: grid;
    grid-template-columns: 42px minmax(180px, 1fr) minmax(280px, auto);
    align-items: center;
    gap: 14px;
    padding: 15px 6px;
    border-bottom: 1px solid #1f2630;
}

.user-avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #49305f;
    border-radius: 50%;
    background: linear-gradient(135deg,#281439,#15111e);
    color: #d995ff;
    font-weight: 900;
}

.admin-user-main {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.admin-user-main small {
    color: var(--cp-muted);
    font-size: .68rem;
}

.admin-user-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.role-badge {
    padding: 3px 6px;
    border: 1px solid #343b48;
    border-radius: 5px;
    color: #9fa8b5;
    font-size: .55rem;
    font-weight: 900;
}

.admin-badge {
    border-color: #6d5628;
    color: var(--cp-gold);
}

.account-status {
    font-size: .62rem;
}

.active-account {
    color: var(--cp-green);
}

.disabled-account {
    color: #e98686;
}

.admin-user-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-user-actions form {
    margin: 0;
}

.admin-user-actions button,
.password-reset summary {
    padding: 7px 9px;
    border: 1px solid #31263c;
    border-radius: 7px;
    background: #14101b;
    color: #bc85dd;
    font: inherit;
    font-size: .65rem;
    cursor: pointer;
}

.admin-user-actions .delete-user {
    border-color: #4b2930;
    background: #1c1014;
    color: #e78593;
}

.password-reset {
    position: relative;
}

.password-reset summary {
    list-style: none;
}

.password-reset summary::-webkit-details-marker {
    display: none;
}

.password-reset form {
    position: absolute;
    z-index: 20;
    right: 0;
    top: calc(100% + 6px);
    display: flex;
    gap: 6px;
    width: 300px;
    padding: 10px;
    border: 1px solid #2e3542;
    border-radius: 9px;
    background: #0d1219;
    box-shadow: 0 18px 50px rgba(0,0,0,.45);
}

.self-account {
    color: var(--cp-gold);
    font-size: .68rem;
    font-weight: 800;
}

@media (max-width: 850px) {
    .admin-grid {
        grid-template-columns: 1fr;
    }

    .admin-user-row {
        grid-template-columns: 42px 1fr;
    }

    .admin-user-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

@media (max-width: 580px) {
    .admin-create-form {
        grid-template-columns: 1fr;
    }

    .admin-summary-body {
        grid-template-columns: repeat(3, 1fr);
        padding: 12px;
    }

    .admin-user-row {
        grid-template-columns: 34px 1fr;
        gap: 10px;
    }

    .user-avatar {
        width: 32px;
        height: 32px;
    }

    .password-reset form {
        position: fixed;
        left: 14px;
        right: 14px;
        top: auto;
        bottom: 14px;
        width: auto;
    }
}

/* ===== static/css/currant_044.css ===== */
/* Currant Price 0.4.4
   UX polish, consistent result pages and account/admin functionality. */

.cp-body {
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

h1, h2, h3,
.login-copy h1,
.welcome-row h1 {
    font-family:
        "Segoe UI Variable Display",
        "SF Pro Display",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    letter-spacing: -.025em;
}

.login-copy h1 {
    font-size: 1.58rem;
    font-weight: 650;
}

.login-copy p {
    line-height: 1.55;
}

.login-logo-frame {
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    border: 1px solid rgba(226,185,95,.28);
    border-radius: 32px;
    background: radial-gradient(circle at 50% 40%, rgba(113,45,157,.22), rgba(10,11,17,.3));
    box-shadow: 0 18px 45px rgba(0,0,0,.28);
    overflow: hidden;
}

.login-logo {
    display: block;
    width: 126px;
    height: 126px;
    margin: 0;
    border-radius: 29px;
    object-fit: cover;
    object-position: center;
}

.brand-name span,
.compact-logo span,
.mobile-logo-trick span {
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.2,.8,.2,1),
        filter .55s ease;
}

.login-form-row {
    display: flex;
    justify-content: flex-end;
    min-height: 20px;
}

.login-form-row a,
.login-back-link {
    color: var(--cp-gold);
    font-size: .75rem;
    text-decoration: none;
}

.account-chip {
    color: inherit;
    text-decoration: none;
}

.panel-note {
    padding: 18px;
    color: var(--cp-muted);
    font-size: .8rem;
}

.search-history-mini {
    display: grid;
    padding: 4px 14px 14px;
}

.search-history-mini > div {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(130px, .7fr) auto;
    gap: 14px;
    padding: 11px 4px;
    border-bottom: 1px solid #1f2630;
    font-size: .75rem;
}

.search-history-mini span {
    color: var(--cp-muted);
}

/* Search results now use exactly the same purple/gold/charcoal palette. */
.result-back {
    color: #aeb5c0;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 700;
}

.result-welcome {
    align-items: flex-end;
}

.source-messages {
    display: grid;
    gap: 7px;
    margin-top: 18px;
}

.source-messages div {
    padding: 10px 12px;
    border: 1px solid #514020;
    border-radius: 9px;
    background: #19150d;
    color: #d8c37d;
    font-size: .75rem;
}

.cp-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    padding: 14px;
}

.cp-result-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #252c38;
    border-radius: 12px;
    background: linear-gradient(145deg,#131821,#0e1219);
}

.cp-result-image-wrap {
    min-height: 160px;
    background: #0b0e14;
}

.cp-result-image-wrap img {
    width: 100%;
    height: 100%;
    min-height: 160px;
    object-fit: cover;
}

.no-result-image {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 160px;
    color: #6e3b94;
    font-size: 2rem;
}

.cp-result-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 15px;
}

.result-source-line {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #b26ee1;
    font-size: .64rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.result-source-line small {
    color: var(--cp-muted);
}

.cp-result-copy h3 {
    margin: 8px 0 12px;
    font-size: .92rem;
    line-height: 1.4;
}

.result-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
}

.result-price-row strong {
    color: #94e66d;
    font-size: 1.18rem;
}

.result-price-row small,
.result-condition {
    color: var(--cp-muted);
    font-size: .7rem;
}

.result-open-button {
    align-self: flex-start;
    margin-top: auto;
    padding: 8px 10px;
    border: 1px solid #3b2850;
    border-radius: 7px;
    background: #191020;
    color: #ce8df3;
    text-decoration: none;
    font-size: .7rem;
    font-weight: 800;
}

/* Watch form / account pages */
.centered-app-page {
    min-height: 100vh;
}

.minimal-topbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 68px;
    padding: 10px 22px;
    border-bottom: 1px solid #1c222d;
    background: rgba(9,12,18,.93);
}

.minimal-topbar > a {
    justify-self: start;
    color: #aeb5c0;
    text-decoration: none;
    font-size: .76rem;
}

.minimal-topbar .language-switch {
    justify-self: end;
}

.form-shell,
.settings-shell {
    width: min(980px, calc(100% - 28px));
    margin: 0 auto;
    padding: 34px 0 60px;
}

.form-card {
    max-width: 720px;
    margin: 0 auto;
}

.form-card .panel-heading h1 {
    margin: 0;
    font-size: 1rem;
}

.watch-modern-form {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.watch-modern-form label,
.settings-form {
    display: grid;
    gap: 8px;
}

.watch-modern-form label > span {
    color: #bbc1ca;
    font-size: .75rem;
    font-weight: 700;
}

.watch-modern-form input,
.watch-modern-form select,
.settings-form input {
    width: 100%;
    padding: 12px 13px;
    border: 1px solid #29303c;
    border-radius: 9px;
    outline: none;
    background: #0b1017;
    color: white;
    font: inherit;
}

.watch-modern-form small,
.settings-form p {
    margin: 0;
    color: var(--cp-muted);
    font-size: .68rem;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 4px;
}

.form-actions a,
.form-actions button,
.settings-form button {
    padding: 10px 14px;
    border: 1px solid #3a2a4a;
    border-radius: 8px;
    background: #17101f;
    color: #c98ced;
    text-decoration: none;
    font: inherit;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
}

.form-actions button,
.settings-form button {
    border: 0;
    background: linear-gradient(135deg,#9445db,#6523a5);
    color: white;
}

.settings-heading {
    margin-bottom: 18px;
}

.settings-heading h1 {
    margin: 0;
    font-size: 1.6rem;
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.settings-card {
    margin-top: 0;
}

.settings-form {
    padding: 18px;
}

.recovery-card {
    width: min(470px, 100%);
}

.skip-form {
    margin-top: 10px;
}

.skip-form button {
    width: 100%;
    padding: 10px;
    border: 0;
    background: transparent;
    color: var(--cp-muted);
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
}

.smtp-note {
    margin-top: 15px;
    padding: 10px 12px;
    border: 1px solid #3c3421;
    border-radius: 9px;
    background: #17150f;
    color: #b9ab7a;
    font-size: .68rem;
    line-height: 1.5;
}

.login-back-link {
    display: inline-block;
    margin-top: 16px;
}

.login-reset-link {
    display: inline-block;
    margin-top: 12px;
}

/* Functional History / Statistics / Sources */
.history-table {
    padding: 4px 14px 14px;
}

.history-table > div {
    display: grid;
    grid-template-columns: minmax(160px,1fr) minmax(120px,.7fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 4px;
    border-bottom: 1px solid #1f2630;
    font-size: .72rem;
}

.history-table span,
.history-table small {
    color: var(--cp-muted);
}

.stats-page-grid {
    margin-top: 18px;
}

.source-status-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
}

.source-status-card {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 18px;
}

.source-status-card > div {
    display: grid;
    gap: 5px;
}

.source-status-card small {
    color: var(--cp-muted);
}

.source-enabled {
    color: var(--cp-green);
    font-size: .7rem;
}

.source-disabled {
    color: #e88484;
    font-size: .7rem;
}

.coming-panel {
    padding: 24px;
}

.coming-panel p {
    color: var(--cp-muted);
    line-height: 1.6;
}

/* Admin can see watch queries; ordinary user routes never expose them. */
.expanded-user-row {
    align-items: start;
}

.admin-watch-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.admin-watch-label {
    color: var(--cp-muted);
    font-size: .64rem;
    padding: 4px 0;
}

.watch-query-chip,
.no-watch-chip {
    padding: 4px 7px;
    border: 1px solid #342541;
    border-radius: 999px;
    background: #15101c;
    color: #c796e5;
    font-size: .62rem;
}

.no-watch-chip {
    color: #767e8b;
}

/* Prevent any visible unstyled flash during partial language changes. */
.language-page {
    animation: cp-page-enter .16s ease both;
}

@keyframes cp-page-enter {
    from { opacity: .985; }
    to { opacity: 1; }
}

@media (max-width: 1000px) {
    .cp-result-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .settings-grid,
    .source-status-grid {
        grid-template-columns: 1fr;
    }

    .minimal-topbar {
        grid-template-columns: auto 1fr auto;
        gap: 8px;
        padding-inline: 12px;
    }

    .minimal-topbar .side-brand {
        justify-self: center;
        margin: 0;
    }

    .history-table > div {
        grid-template-columns: 1fr auto;
    }

    .history-table > div span:first-of-type {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .cp-result-card {
        grid-template-columns: 104px minmax(0,1fr);
    }

    .cp-result-image-wrap,
    .cp-result-image-wrap img,
    .no-result-image {
        min-height: 142px;
    }

    .search-history-mini > div {
        grid-template-columns: 1fr auto;
    }

    .search-history-mini > div span:first-of-type {
        grid-column: 1 / -1;
    }

    .login-logo-frame {
        width: 118px;
        height: 118px;
    }

    .login-logo {
        width: 114px;
        height: 114px;
    }
}


/* ================================================================
   Currant Price 0.4.5
   Source control + statistics + final brand positioning polish.
   ================================================================ */

.login-logo-frame {
    position: relative;
}

.login-logo {
    object-position: 52% 54%;
    transform: translate(3px, 4px) scale(1.02);
}

.side-brand > img,
.mobile-brand > img {
    object-fit: cover;
    object-position: 52% 54%;
}

/* Interactive source controls */
.source-control-list {
    display: grid;
    gap: 12px;
}

.source-control-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    margin-top: 0;
    padding: 18px 20px;
}

.source-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.source-heading-row > div {
    display: grid;
    gap: 4px;
}

.source-heading-row strong {
    font-size: .95rem;
}

.source-heading-row small {
    color: var(--cp-muted);
    font-size: .68rem;
}

.source-health {
    flex: 0 0 auto;
    padding: 5px 8px;
    border: 1px solid;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 850;
}

.source-health.online {
    border-color: #2f6535;
    background: #102216;
    color: #83e382;
}

.source-health.unavailable {
    border-color: #67323c;
    background: #241116;
    color: #ef8997;
}

.source-health.unknown {
    border-color: #51452b;
    background: #1c180f;
    color: #d8bd73;
}

.source-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 12px;
    color: var(--cp-muted);
    font-size: .65rem;
}

.source-error {
    width: 100%;
    color: #d6838e;
    overflow-wrap: anywhere;
}

.source-user-control {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.source-user-control small {
    color: var(--cp-muted);
    font-size: .63rem;
}

.source-user-control form {
    margin: 0;
}

.source-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 86px;
    padding: 5px 9px 5px 6px;
    border: 1px solid #343b48;
    border-radius: 999px;
    background: #0d1118;
    color: #88919d;
    cursor: pointer;
}

.source-toggle strong {
    min-width: 24px;
    font-size: .62rem;
    letter-spacing: .04em;
}

.toggle-track {
    position: relative;
    width: 38px;
    height: 21px;
    border-radius: 999px;
    background: #2a303a;
    transition: background .25s ease;
}

.toggle-knob {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #aab1bc;
    box-shadow: 0 2px 5px rgba(0,0,0,.35);
    transition:
        transform .25s cubic-bezier(.2,.8,.2,1),
        background .25s ease;
}

.source-toggle.on {
    border-color: #59347a;
    color: #d59aff;
}

.source-toggle.on .toggle-track {
    background: linear-gradient(135deg,#8140bd,#5c2297);
}

.source-toggle.on .toggle-knob {
    transform: translateX(17px);
    background: #ffffff;
}

.source-help {
    margin-top: 16px;
    padding: 15px 17px;
    border: 1px solid #242b36;
    border-radius: 11px;
    background: #0d1219;
}

.source-help strong {
    font-size: .76rem;
}

.source-help p {
    margin: 7px 0 0;
    color: var(--cp-muted);
    font-size: .68rem;
    line-height: 1.55;
}

/* Statistics page */
.stats-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr);
    gap: 16px;
    margin-top: 16px;
}

.stats-detail-card {
    margin-top: 0;
}

.activity-bars {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.activity-row {
    display: grid;
    grid-template-columns: minmax(105px, .8fr) minmax(100px, 1.6fr) 36px;
    align-items: center;
    gap: 10px;
    font-size: .68rem;
}

.activity-row > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #b8bec8;
}

.activity-row > strong {
    text-align: right;
    color: #c989ef;
}

.activity-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #202631;
}

.activity-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,#6f2eaa,#aa52e8);
    box-shadow: 0 0 14px rgba(153,68,213,.25);
}

.source-usage-list {
    display: grid;
    padding: 8px 16px;
}

.source-usage-list > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 2px;
    border-bottom: 1px solid #202631;
    font-size: .7rem;
}

.source-usage-list span {
    color: #aab1bc;
}

.source-usage-list strong {
    color: var(--cp-gold);
}

.best-search-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin: 12px 16px 16px;
    padding: 14px;
    border: 1px solid #322541;
    border-radius: 10px;
    background: #15101d;
}

.best-search-stat small {
    max-width: 180px;
    color: var(--cp-muted);
    font-size: .65rem;
    line-height: 1.4;
}

.best-search-stat strong {
    color: #9bea78;
    font-size: 1.6rem;
}

@media (max-width: 760px) {
    .source-control-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .source-user-control {
        grid-template-columns: 1fr auto;
        align-items: center;
        justify-items: stretch;
        border-top: 1px solid #202631;
        padding-top: 12px;
    }

    .source-user-control form {
        justify-self: end;
    }

    .stats-detail-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   Currant Price 0.4.5.1 hotfix
   Login brand transition.
   ================================================================ */

.brand-name.show-lt .brand-normal {
    opacity: 0;
    transform: translateX(-50%) translateY(-8px);
    filter: blur(7px);
}

.brand-name.show-lt .brand-lithuanian {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    filter: blur(0);
}


/* ================================================================
   Currant Price 0.4.5.3
   Final optical logo centering.
   The PNG artwork itself is now corrected, so all UI placements use
   the same neutral center rather than page-specific nudges.
   ================================================================ */

.login-logo {
    object-position: 50% 50% !important;
    transform: none !important;
}

.side-brand > img,
.mobile-brand > img {
    object-position: 50% 50% !important;
    transform: none !important;
}


/* ================================================================
   Currant Price 0.4.5.4
   Login logo cleanup.
   The artwork already contains its own rounded tile, therefore the
   additional outer frame is removed completely.
   ================================================================ */

.login-logo-frame {
    width: 132px !important;
    height: 132px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.login-logo {
    display: block !important;
    width: 132px !important;
    height: 132px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 29px !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: none !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.26) !important;
}

@media (max-width: 560px) {
    .login-logo-frame {
        width: 118px !important;
        height: 118px !important;
    }

    .login-logo {
        width: 118px !important;
        height: 118px !important;
    }
}


/* ================================================================
   Currant Price 0.4.6
   Mobile navigation + real logo crop + vehicle comparison workspace.
   ================================================================ */

/* The PNG itself is now tightly cropped. No optical offsets are needed. */
.login-logo,
.side-brand > img,
.mobile-brand > img,
.mobile-drawer-brand > img {
    object-position: 50% 50% !important;
    transform: none !important;
}

/* Mobile drawer is created by JavaScript only on authenticated app pages. */
.mobile-menu-button,
.mobile-drawer,
.mobile-drawer-backdrop {
    display: none;
}

@media (max-width: 900px) {
    .app-topbar {
        gap: 10px;
    }

    .mobile-menu-button {
        display: inline-flex;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border: 1px solid #2a303c;
        border-radius: 12px;
        background: #111620;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 4px;
        cursor: pointer;
    }

    .mobile-menu-button span {
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: #f0c45c;
        display: block;
    }

    .mobile-drawer-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 998;
        border: 0;
        padding: 0;
        background: rgba(0,0,0,.62);
        opacity: 0;
        pointer-events: none;
        transition: opacity .22s ease;
    }

    .mobile-drawer {
        display: flex;
        position: fixed;
        z-index: 999;
        left: 0;
        top: 0;
        bottom: 0;
        width: min(86vw, 330px);
        padding: 18px 14px 24px;
        flex-direction: column;
        background: linear-gradient(180deg,#0e121a,#090c12);
        border-right: 1px solid #2a2038;
        box-shadow: 20px 0 60px rgba(0,0,0,.45);
        transform: translateX(-104%);
        transition: transform .24s ease;
        overflow-y: auto;
    }

    .mobile-menu-open {
        overflow: hidden;
    }

    .mobile-menu-open .mobile-drawer {
        transform: translateX(0);
    }

    .mobile-menu-open .mobile-drawer-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-drawer-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 2px 4px 18px;
        border-bottom: 1px solid #202631;
        margin-bottom: 12px;
    }

    .mobile-drawer-brand {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .mobile-drawer-brand img {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .mobile-drawer-brand strong {
        color: #f4f1f8;
        font-size: .98rem;
    }

    .mobile-drawer-brand em {
        color: #f0c45c;
        font-style: normal;
    }

    .mobile-drawer-close {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 12px;
        background: #171c26;
        color: #d8dce5;
        font-size: 1.7rem;
        line-height: 1;
        cursor: pointer;
    }

    .mobile-drawer-nav {
        display: flex !important;
        flex-direction: column;
        gap: 6px;
    }

    .mobile-drawer-nav a {
        min-height: 46px;
    }

    .mobile-brand {
        min-width: 0;
        flex: 1;
    }

    .top-actions {
        margin-left: auto;
    }
}

@media (max-width: 560px) {
    .mobile-brand img {
        width: 34px !important;
        height: 34px !important;
    }

    .mobile-logo-trick {
        max-width: 120px;
    }

    .user-chip {
        display: none !important;
    }
}

/* Vehicle comparison workspace. */
.auto-compare-card {
    display: grid;
    gap: 22px;
}

.auto-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.auto-form-grid label {
    display: grid;
    gap: 7px;
}

.auto-form-grid label span {
    color: var(--cp-muted);
    font-size: .78rem;
}

.auto-form-grid input {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    border: 1px solid #282e39;
    border-radius: 11px;
    background: #0d1118;
    color: #f1f3f7;
    padding: 0 12px;
    outline: none;
}

.auto-form-grid input:focus {
    border-color: #7642bc;
    box-shadow: 0 0 0 3px rgba(118,66,188,.14);
}

.auto-source-preview {
    display: flex;
    gap: 10px 18px;
    flex-wrap: wrap;
    align-items: center;
    padding: 14px;
    border: 1px solid #252b36;
    border-radius: 12px;
    background: #0d1118;
}

.auto-source-preview strong {
    width: 100%;
}

.auto-source-preview span {
    color: var(--cp-muted);
    font-size: .82rem;
}

.auto-disabled-button {
    justify-self: start;
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 680px) {
    .auto-form-grid {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   Currant Price 0.4.7 - live on-demand vehicle comparison results.
   ================================================================ */
.auto-result-section {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.auto-source-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.source-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid #2b3340;
    border-radius: 999px;
    background: #10151d;
    color: #cbd1db;
    font-size: .76rem;
}

.source-pill.online {
    border-color: rgba(55, 196, 120, .35);
    color: #65db96;
}

.source-pill.unavailable {
    border-color: rgba(235, 154, 63, .35);
    color: #f0aa59;
}

.source-pill.muted {
    color: #7f8793;
}

.auto-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.auto-stat-grid .stat-card {
    min-height: 92px;
}

.auto-verdict {
    border-color: rgba(124, 72, 190, .45);
    background: linear-gradient(135deg, rgba(74, 34, 112, .28), rgba(15, 19, 27, .94));
}

.auto-verdict strong {
    color: #f0c45c;
}

.auto-listings {
    display: grid;
    gap: 9px;
}

.auto-listing-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px 16px;
    border: 1px solid #252c37;
    border-radius: 13px;
    background: #0e131b;
    color: #eef1f5;
    text-decoration: none;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}

.auto-listing-card:hover {
    border-color: #68409c;
    background: #121823;
    transform: translateY(-1px);
}

.auto-listing-card > div {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.auto-listing-card strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auto-listing-card small {
    color: #8f98a6;
}

.auto-listing-card b {
    flex: 0 0 auto;
    color: #f0c45c;
    font-size: 1.05rem;
}

.auto-error-card {
    color: #efb16d;
    border-color: rgba(239, 177, 109, .28);
}

@media (max-width: 720px) {
    .auto-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .auto-listing-card {
        align-items: flex-start;
    }
}

@media (max-width: 420px) {
    .auto-stat-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .auto-listing-card {
        padding: 12px;
    }
}


/* Currant Price 0.4.9 - product watch minimum/maximum price controls. */
.price-range-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (max-width: 620px) {
    .price-range-fields {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   Currant Price 0.4.9.2 - consistent watch form control sizing.
   ================================================================ */
.watch-form-grid > label,
.watch-form-grid .price-range-fields > label {
    min-width: 0;
}

.watch-form-grid input,
.watch-form-grid select,
.watch-form-grid textarea,
.price-range-fields input,
.price-range-fields select {
    width: 100%;
    box-sizing: border-box;
}

.price-range-fields {
    grid-column: 1 / -1;
    align-items: start;
}

.price-range-fields > label {
    display: grid;
    grid-template-rows: auto 48px auto;
    align-content: start;
}

.price-range-fields input {
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
}

.price-range-fields small {
    min-height: 18px;
    margin-top: 6px;
}

@media (max-width: 620px) {
    .price-range-fields > label {
        grid-template-rows: auto 48px auto;
    }
}


.auto-source-note {
    padding: 11px 13px;
    border: 1px solid rgba(239, 177, 109, .22);
    border-radius: 12px;
    background: rgba(239, 177, 109, .055);
    color: #aeb5c0;
    font-size: .82rem;
    line-height: 1.45;
}

.auto-source-note strong {
    color: #efb16d;
}


/* ================================================================
   Currant Price 0.5.0 - deterministic smart product matching.
   ================================================================ */
.smart-filter-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 8px 0 14px;
    padding: 6px 10px;
    border: 1px solid rgba(137, 73, 205, .32);
    border-radius: 999px;
    background: rgba(137, 73, 205, .08);
    color: #c6a6ea;
    font-size: .74rem;
    font-weight: 700;
}


/* ================================================================
   Currant Price 0.5.1 - reviewable smart matching feedback.
   ================================================================ */
.result-feedback-form {
    margin-top: 8px;
}

.feedback-reject-button {
    width: 100%;
    min-height: 36px;
    border: 1px solid rgba(230, 118, 118, .22);
    border-radius: 9px;
    background: rgba(230, 118, 118, .055);
    color: #b98f95;
    cursor: pointer;
}

.feedback-reject-button:hover {
    border-color: rgba(230, 118, 118, .48);
    color: #e4a4aa;
}

.rejected-review-panel {
    margin-top: 18px;
}

.rejected-review-panel details > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.rejected-review-panel details > summary::-webkit-details-marker {
    display: none;
}

.rejected-review-panel summary span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
}

.rejected-review-panel summary strong {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(137, 73, 205, .15);
    color: #c9a8ed;
}

.rejected-review-panel summary small {
    color: #858e9c;
}

.rejected-review-list {
    display: grid;
    gap: 9px;
    margin-top: 16px;
}

.rejected-review-item {
    padding: 13px 14px;
    border: 1px solid #242c37;
    border-radius: 12px;
    background: #0c1118;
}

.rejected-review-item h3 {
    margin: 7px 0 5px;
    font-size: .94rem;
}

.rejected-review-item p {
    margin: 0;
    color: #8993a1;
    font-size: .78rem;
}

.rejected-review-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.rejected-review-actions a,
.rejected-review-actions button {
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #303846;
    border-radius: 8px;
    background: #111823;
    color: #cbd2dc;
    text-decoration: none;
    cursor: pointer;
    font-size: .76rem;
}

.rejected-review-actions button {
    border-color: rgba(89, 190, 131, .28);
    color: #7fd7a3;
}

@media (max-width: 560px) {
    .rejected-review-panel details > summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}


/* ================================================================
   Currant Price 0.6.0 - 24/7 monitoring and alert feed.
   ================================================================ */
.monitor-status-card {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.monitor-status-card > div {
    display: grid;
    gap: 5px;
}

.monitor-status-card small {
    color: #7f8996;
}

.monitor-status-card strong {
    color: #e9edf3;
}

.alerts-list {
    display: grid;
    gap: 10px;
}

.alert-listing-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 16px;
    border: 1px solid #252d38;
    border-radius: 13px;
    background: #0e131a;
}

.alert-listing-card.unread {
    border-color: rgba(139, 74, 210, .5);
    background: linear-gradient(
        135deg,
        rgba(91, 41, 139, .13),
        #0e131a 45%
    );
}

.alert-listing-card h3 {
    margin: 7px 0 5px;
    color: #eef1f5;
    font-size: .97rem;
}

.alert-listing-card p {
    margin: 0;
    color: #818b99;
    font-size: .78rem;
}

.alert-side {
    display: grid;
    justify-items: end;
    align-content: center;
    gap: 8px;
    flex: 0 0 auto;
}

.alert-side strong {
    color: #f0c45c;
    font-size: 1.05rem;
}

.alert-side a {
    color: #c5a2eb;
    text-decoration: none;
    font-size: .78rem;
}

@media (max-width: 700px) {
    .monitor-status-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .alert-listing-card {
        flex-direction: column;
    }

    .alert-side {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}


/* Currant Price 0.6.0.1 - watch delete controls. */
.modern-actions .watch-delete-button {
    border-color: rgba(225, 92, 104, .28);
    background: rgba(126, 35, 48, .10);
    color: #df8992;
}

.modern-actions .watch-delete-button:hover {
    border-color: rgba(225, 92, 104, .55);
    color: #f1a1a9;
}

.watch-bulk-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.watch-bulk-actions form {
    margin: 0;
}

.watch-delete-all-button {
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(225, 92, 104, .28);
    border-radius: 9px;
    background: rgba(126, 35, 48, .08);
    color: #d98790;
    cursor: pointer;
    font: inherit;
    font-size: .76rem;
    font-weight: 700;
}

.watch-delete-all-button:hover {
    border-color: rgba(225, 92, 104, .55);
    background: rgba(126, 35, 48, .15);
}

@media (max-width: 620px) {
    .watch-bulk-actions,
    .watch-bulk-actions form,
    .watch-delete-all-button {
        width: 100%;
    }
}


/* ================================================================
   Currant Price 0.6.1 - Admin Agent Settings.
   ================================================================ */
.agent-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.agent-status-grid article {
    display: grid;
    gap: 7px;
}

.agent-status-grid small {
    color: #808996;
}

.agent-status-grid strong {
    color: #eef1f5;
    overflow-wrap: anywhere;
}

.agent-settings-grid {
    align-items: start;
}

.agent-toggle-row {
    align-items: flex-start !important;
}

.agent-toggle-row > span {
    display: grid;
    gap: 4px;
}

.agent-toggle-row small,
.agent-actions-card p {
    color: #858e9b;
    line-height: 1.45;
}

.agent-actions-card form {
    margin-top: 14px;
}

.agent-error-box {
    display: grid;
    gap: 8px;
    margin-top: 16px;
    padding: 12px;
    border: 1px solid rgba(225, 102, 102, .25);
    border-radius: 11px;
    background: rgba(130, 35, 45, .07);
}

.agent-error-box code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: #dca2a8;
}

.agent-watches-panel,
.agent-runs-panel {
    margin-top: 16px;
}

.agent-watch-list {
    display: grid;
    gap: 8px;
}

.agent-watch-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 13px;
    border: 1px solid #252d38;
    border-radius: 11px;
    background: #0d1219;
}

.agent-watch-row > div:first-child {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.agent-watch-row strong {
    color: #eef1f5;
}

.agent-watch-row small {
    color: #818b98;
}

.agent-watch-state {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.source-toggle-button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #343d4a;
    border-radius: 8px;
    background: #111823;
    color: #cbd2dc;
    cursor: pointer;
    font: inherit;
    font-size: .75rem;
}

.source-toggle-button:hover {
    border-color: #7445a9;
}

@media (max-width: 850px) {
    .agent-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .agent-watch-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .agent-watch-state {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 430px) {
    .agent-status-grid {
        grid-template-columns: 1fr;
    }
}


/* Currant Price 0.6.1.1 */
.admin-agent-shortcut {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(130, 73, 194, .34);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(79,37,119,.16), rgba(13,18,25,.94));
}
.admin-agent-shortcut > div { display: grid; gap: 3px; }
.admin-agent-shortcut strong { color: #d8b8f2; }
.admin-agent-shortcut small { color: #8993a0; }
.admin-agent-shortcut a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid rgba(135,76,203,.42);
    border-radius: 8px;
    color: #d0acee;
    text-decoration: none;
}
.watch-monitor-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 9px;
}
.watch-monitor-meta small { color: #7f8996; }
.watch-monitor-meta small strong { color: #75d99d; }
.agent-info-note {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(117,217,157,.18);
    border-radius: 10px;
    background: rgba(117,217,157,.045);
    color: #94aa9e;
    font-size: .8rem;
}
@media (max-width: 620px) {
    .admin-agent-shortcut { align-items: flex-start; flex-direction: column; }
}


/* Currant Price 0.6.2 - transparent price-only filtering notice. */
.price-filter-note {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(240, 196, 92, .18);
    border-radius: 10px;
    background: rgba(240, 196, 92, .045);
    color: #a79b7a;
    font-size: .78rem;
    line-height: 1.45;
}


/* Currant Price 0.6.3 - per-watch source query diagnostics. */
.watch-source-diagnostics,
.source-query-diagnostic-list {
    display: grid;
    gap: 7px;
}

.watch-source-diagnostics {
    margin-top: 8px;
}

.watch-source-diagnostic,
.source-query-diagnostic-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.watch-source-diagnostic small,
.source-query-status-text {
    color: #8993a0;
    font-size: .76rem;
}

.watch-source-message {
    width: 100%;
    color: #737e8b;
    font-size: .72rem;
    line-height: 1.4;
}

.source-query-diagnostics {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #252d38;
    border-radius: 11px;
    background: #0d1219;
}

.source-query-diagnostics > strong {
    display: block;
    margin-bottom: 9px;
    color: #d5d9df;
    font-size: .8rem;
}

.source-query-diagnostic-row small {
    width: 100%;
    color: #78828e;
}


/* ================================================================
   Currant Price 0.6.4 - clean watch layout + reviewable exclusions.
   ================================================================ */
.modern-watch {
    grid-template-columns: 10px minmax(240px, 1.5fr) minmax(110px, .5fr) minmax(100px, .45fr) !important;
    align-items: start !important;
    gap: 12px 16px !important;
    padding: 18px 10px !important;
}

.watch-monitor-meta,
.watch-source-diagnostics,
.modern-actions {
    grid-column: 2 / -1 !important;
}

.watch-monitor-meta {
    margin-top: 0 !important;
    padding-top: 2px;
}

.watch-source-diagnostics {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 10px !important;
    margin-top: 0 !important;
}

.watch-source-card {
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid #252d38;
    border-radius: 11px;
    background: #0c1118;
}

.watch-source-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.source-query-state {
    color: #9aa4b2;
    font-size: .74rem;
    font-weight: 600;
    white-space: nowrap;
}

.source-count-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.source-count-row span {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 5px 8px;
    border: 1px solid #27303b;
    border-radius: 8px;
    background: #10161f;
    color: #7f8997;
    font-size: .66rem;
    letter-spacing: .02em;
}

.source-count-row b {
    color: #e5e8ed;
    font-size: .82rem;
}

.source-count-row .has-excluded {
    border-color: rgba(240, 196, 92, .24);
    color: #aa9561;
}

.watch-source-message {
    width: auto !important;
    margin: 9px 0 0;
    color: #7b8592;
    font-size: .72rem;
    line-height: 1.45;
}

.excluded-details {
    margin-top: 10px;
    border-top: 1px solid #202833;
    padding-top: 8px;
}

.excluded-details summary {
    width: fit-content;
    color: #c5a2eb;
    cursor: pointer;
    font-size: .74rem;
    user-select: none;
}

.excluded-mini-list {
    display: grid;
    gap: 6px;
    margin-top: 8px;
    max-height: 330px;
    overflow-y: auto;
}

.excluded-mini-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 9px;
    border: 1px solid #222a35;
    border-radius: 8px;
    background: #0f151d;
    color: inherit;
    text-decoration: none;
}

.excluded-mini-item:hover {
    border-color: #51366f;
}

.excluded-mini-item > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.excluded-mini-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #d8dde5;
    font-size: .75rem;
}

.excluded-mini-item small {
    color: #848e9b;
    font-size: .68rem;
}

.excluded-mini-item > b {
    flex: 0 0 auto;
    color: #f0c45c;
    font-size: .78rem;
}

.source-query-diagnostics {
    padding: 14px !important;
}

.source-diagnostics-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.source-diagnostics-heading small {
    color: #747f8d;
    font-size: .7rem;
}

.source-query-diagnostic-list {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 10px !important;
}

.modern-actions {
    margin-top: 0;
    padding-top: 2px;
}

@media (max-width: 760px) {
    .modern-watch {
        grid-template-columns: 10px 1fr !important;
    }

    .watch-info,
    .watch-cell,
    .watch-monitor-meta,
    .watch-source-diagnostics,
    .modern-actions {
        grid-column: 2 / -1 !important;
    }

    .watch-cell {
        display: grid !important;
        grid-template-columns: auto 1fr;
        align-items: baseline;
        column-gap: 8px;
    }

    .watch-source-diagnostics,
    .source-query-diagnostic-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 460px) {
    .watch-source-card-head,
    .source-diagnostics-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .source-count-row {
        gap: 6px;
    }
}


/* ================================================================
   Currant Price 0.6.5 - clickable last automatic search snapshots.
   ================================================================ */
.watch-source-diagnostics {
    grid-column: 1 / -1;
    width: 100%;
    margin: 12px 0 2px;
}

.watch-source-card {
    width: 100%;
    min-width: 0;
}

.watch-source-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.watch-source-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.source-last-scan {
    color: #697482;
    white-space: nowrap;
}

.source-snapshot-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 11px;
}

.source-snapshot-details {
    position: relative;
}

.source-snapshot-details > summary {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 11px;
    border: 1px solid #303946;
    border-radius: 9px;
    background: #101720;
    color: #aab4c1;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.source-snapshot-details > summary::-webkit-details-marker {
    display: none;
}

.source-snapshot-details > summary:hover,
.source-snapshot-details[open] > summary {
    border-color: #70419f;
    background: rgba(111, 63, 153, .1);
    color: #d5b4ef;
}

.source-snapshot-details > summary b {
    color: #eef1f5;
    font-size: .88rem;
}

.source-snapshot-details > summary span {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.in-range-details > summary {
    border-color: rgba(58, 149, 100, .35);
}

.excluded-details-button > summary {
    border-color: rgba(176, 83, 92, .28);
}

.source-snapshot-popover {
    width: min(720px, calc(100vw - 56px));
    max-height: 440px;
    overflow: auto;
    margin-top: 8px;
    padding: 11px;
    border: 1px solid #29323e;
    border-radius: 11px;
    background: #0b1017;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .34);
}

.snapshot-heading {
    display: grid;
    gap: 3px;
    margin-bottom: 9px;
}

.snapshot-heading strong {
    color: #e2e6eb;
    font-size: .8rem;
}

.snapshot-heading small,
.snapshot-empty {
    color: #747f8c;
    font-size: .73rem;
    line-height: 1.45;
}

.snapshot-list {
    display: grid;
    gap: 6px;
}

.snapshot-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #232c37;
    border-radius: 9px;
    background: #0f151d;
    color: inherit;
    text-decoration: none;
}

.snapshot-item:hover {
    border-color: #54356f;
}

.snapshot-item > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.snapshot-item strong {
    color: #d8dde4;
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.snapshot-item small {
    color: #747f8c;
    font-size: .69rem;
}

.snapshot-item > b {
    flex: 0 0 auto;
    color: #d8b66b;
    font-size: .8rem;
}

@media (max-width: 680px) {
    .watch-source-card-head,
    .watch-source-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .source-last-scan {
        white-space: normal;
    }

    .source-snapshot-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .source-snapshot-details > summary {
        width: 100%;
        justify-content: center;
        padding: 0 7px;
    }

    .source-snapshot-popover {
        width: calc(100vw - 44px);
    }
}

@media (max-width: 430px) {
    .source-snapshot-actions {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   Currant Price 0.6.6 - persistent NEW queue + hard ignore list.
   ================================================================ */
.dashboard-new-listings {
    margin-bottom: 18px;
}

.new-listings-head,
.new-listings-header-actions,
.alerts-manual-seen-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.new-listings-head {
    align-items: flex-start;
    margin-bottom: 14px;
}

.new-listings-head h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 5px;
}

.new-listings-count {
    display: inline-flex;
    min-width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(171, 91, 217, .14);
    border: 1px solid rgba(171, 91, 217, .34);
    font-size: .72rem;
}

.new-listings-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dashboard-new-grid,
.ignore-management-list {
    display: grid;
    gap: 9px;
}

.dashboard-new-card,
.ignore-management-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 14px;
    border: 1px solid #27313d;
    border-radius: 11px;
    background: #0e141c;
}

.dashboard-new-card h3,
.ignore-management-card h3 {
    margin: 5px 0;
    font-size: .92rem;
}

.new-card-main {
    min-width: 0;
}

.new-card-side {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.new-card-side > strong {
    color: #d8b66b;
    margin-right: 4px;
}

.new-card-side form,
.new-listings-header-actions form,
.alerts-manual-seen-note form,
.result-ignore-form,
.snapshot-item-with-actions form {
    margin: 0;
}

.seen-button,
.seen-all-button,
.not-interested-button,
.restore-ignore-button,
.ignore-list-link,
.new-open-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid #35404c;
    background: #121a23;
    color: #d8dee6;
    text-decoration: none;
    cursor: pointer;
    font: inherit;
    font-size: .75rem;
    font-weight: 700;
}

.seen-button:hover,
.seen-all-button:hover,
.restore-ignore-button:hover,
.new-open-button:hover,
.ignore-list-link:hover {
    border-color: #775098;
}

.not-interested-button {
    border-color: rgba(183, 76, 88, .35);
    color: #d89ca3;
    background: rgba(132, 51, 61, .08);
}

.not-interested-button:hover {
    border-color: rgba(210, 89, 103, .72);
}

.new-listings-empty {
    display: grid;
    gap: 4px;
    padding: 12px 0 2px;
    color: #87919d;
}

.new-listings-empty strong {
    color: #b5c0ca;
}

.alerts-manual-seen-note {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #2a3440;
    border-radius: 10px;
    background: #0f151d;
    color: #8e98a5;
    font-size: .78rem;
}

.already-seen-label {
    color: #687481;
}

.result-ignore-form {
    margin-top: 8px;
}

.result-ignore-form .not-interested-button {
    width: 100%;
}

.snapshot-item-with-actions {
    padding: 0;
    overflow: hidden;
}

.snapshot-main-link {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    color: inherit;
    text-decoration: none;
}

.snapshot-main-link > div {
    min-width: 0;
}

.snapshot-main-link strong {
    overflow-wrap: anywhere;
}

.snapshot-main-link > b {
    flex: 0 0 auto;
    color: #d8b66b;
}

.snapshot-ignore-button {
    width: 38px;
    min-height: 38px;
    border: 0;
    border-left: 1px solid #27313d;
    background: rgba(132, 51, 61, .08);
    color: #d89ca3;
    cursor: pointer;
}

.snapshot-ignore-button:hover {
    background: rgba(132, 51, 61, .18);
}

.ignore-management-card {
    align-items: center;
}

.ignore-management-card > div {
    min-width: 0;
}

@media (max-width: 760px) {
    .new-listings-head,
    .alerts-manual-seen-note,
    .dashboard-new-card,
    .ignore-management-card {
        align-items: stretch;
        flex-direction: column;
    }

    .new-listings-header-actions,
    .new-card-side {
        justify-content: flex-start;
    }

    .new-card-side > strong {
        width: 100%;
    }
}


/* Currant Price 0.6.7 - watch marketplace checkboxes */
.watch-source-fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.watch-source-fieldset > legend {
    margin-bottom: 8px;
    color: #cbd3dc;
    font-size: .78rem;
    font-weight: 700;
}

.watch-source-checkboxes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.watch-source-choice {
    position: relative;
    display: block;
    cursor: pointer;
}

.watch-source-choice > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.watch-source-choice-box {
    display: grid;
    gap: 3px;
    min-height: 64px;
    padding: 11px 12px;
    border: 1px solid #2b3541;
    border-radius: 10px;
    background: #0f161e;
    transition: border-color .16s ease, background .16s ease;
}

.watch-source-choice-box strong {
    color: #d7dde5;
    font-size: .86rem;
}

.watch-source-choice-box small {
    color: #74808d;
}

.watch-source-choice:hover .watch-source-choice-box {
    border-color: #4e405e;
}

.watch-source-choice > input:checked + .watch-source-choice-box {
    border-color: #8d5cac;
    background: rgba(120, 69, 151, .13);
    box-shadow: inset 0 0 0 1px rgba(141, 92, 172, .15);
}

.watch-source-choice > input:checked + .watch-source-choice-box::after {
    content: "✓";
    position: absolute;
    top: 9px;
    right: 11px;
    color: #c798e3;
    font-weight: 800;
}

.watch-source-auto-note {
    display: grid;
    gap: 3px;
    margin-top: 9px;
    padding: 9px 10px;
    border: 1px dashed #303a46;
    border-radius: 9px;
    color: #7f8a96;
    font-size: .72rem;
}

.watch-source-auto-note strong {
    color: #aeb7c1;
}

@media (max-width: 520px) {
    .watch-source-checkboxes {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   Currant Price 0.6.8 - Favorites
   ================================================================ */
.favorite-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid #3b3542;
    border-radius: 8px;
    background: rgba(98, 62, 104, .08);
    color: #c3a9c8;
    cursor: pointer;
    font: inherit;
    font-size: .75rem;
    font-weight: 700;
}

.favorite-button:hover,
.favorite-button.active {
    border-color: #9a5f88;
    background: rgba(145, 73, 118, .14);
    color: #e4aacd;
}

.result-favorite-form {
    margin-top: 8px;
}

.result-favorite-form .favorite-button {
    width: 100%;
}

.snapshot-favorite-button {
    width: 38px;
    min-height: 38px;
    border: 0;
    border-left: 1px solid #27313d;
    background: rgba(98, 62, 104, .06);
    color: #876c84;
    cursor: pointer;
}

.snapshot-favorite-button.active,
.snapshot-favorite-button:hover {
    color: #e4aacd;
    background: rgba(145, 73, 118, .14);
}

.favorites-list {
    display: grid;
    gap: 10px;
}

.favorite-listing-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.favorite-listing-main {
    min-width: 0;
}

.favorite-listing-main h3 {
    margin: 6px 0;
    font-size: .95rem;
}

.favorite-listing-main p {
    margin: 0 0 6px;
    color: #7e8995;
}

.favorite-price {
    color: #d8b66b;
}

.favorite-listing-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.favorite-listing-actions form {
    margin: 0;
}

.favorite-remove-button {
    min-width: 96px;
}

@media (max-width: 680px) {
    .favorite-listing-card {
        align-items: stretch;
        flex-direction: column;
    }

    .favorite-listing-actions {
        justify-content: flex-start;
    }
}


/* Currant Price 0.6.9 - listing thumbnails */
.listing-thumb {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #2a3541;
    border-radius: 10px;
    background: #0c1219;
    color: #5f6a76;
    text-decoration: none;
}

.listing-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.listing-thumb-new,
.listing-thumb-favorite {
    width: 84px;
    height: 70px;
}

.listing-thumb-alert {
    width: 66px;
    height: 58px;
}

.listing-thumb-mini {
    width: 42px;
    height: 36px;
    border-radius: 7px;
}

.dashboard-new-card,
.alert-listing-card,
.favorite-listing-card {
    align-items: center;
}

.snapshot-main-link .listing-thumb-mini,
.snapshot-item .listing-thumb-mini {
    margin-right: 3px;
}

@media (max-width: 680px) {
    .listing-thumb-new,
    .listing-thumb-favorite {
        width: 72px;
        height: 62px;
    }

    .dashboard-new-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .dashboard-new-card .new-card-side {
        grid-column: 1 / -1;
    }

    .favorite-listing-card {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .favorite-listing-actions {
        grid-column: 1 / -1;
    }
}


/* Currant Price 0.6.9.1 - next automatic scan timing */
.watch-auto-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
}

.next-auto-inline strong {
    color: #c6cfda;
    font-weight: 700;
}

.source-auto-times {
    display: grid;
    gap: 3px;
    justify-items: end;
    text-align: right;
}

.source-last-scan,
.source-next-scan {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 5px;
    white-space: nowrap;
}

.source-last-scan strong,
.source-next-scan strong {
    color: #8f9aa7;
    font-weight: 600;
}

.source-next-scan strong {
    color: #c7d0da;
}

.source-next-scan em {
    color: #6f7a87;
    font-style: normal;
    margin-left: 3px;
}

@media (max-width: 700px) {
    .source-auto-times {
        width: 100%;
        justify-items: start;
        text-align: left;
    }

    .source-last-scan,
    .source-next-scan {
        justify-content: flex-start;
        white-space: normal;
    }
}


/* Currant Price 0.7.0 - mandatory explicit sources + Admin catalog */
.source-required-note {
    border-style: solid;
    border-color: rgba(216, 182, 107, .24);
}

.source-required-note strong {
    color: #d8b66b;
}

.admin-source-warning {
    margin-bottom: 14px;
    border-color: rgba(216, 182, 107, .25);
}

.admin-source-warning p {
    margin-bottom: 0;
}

.admin-source-add-form {
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(220px, 1fr);
    gap: 12px;
    align-items: end;
}

.admin-source-toggle {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    min-height: 38px;
}

.admin-source-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.admin-source-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.admin-source-card form {
    display: grid;
    gap: 11px;
}

.admin-source-card-head,
.admin-source-switch-row,
.admin-source-badges {
    display: flex;
    align-items: center;
    gap: 9px;
}

.admin-source-card-head {
    justify-content: space-between;
}

.admin-source-card-head > div:first-child {
    display: grid;
    gap: 3px;
}

.admin-source-card-head small {
    color: #74808d;
}

.admin-source-badges {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.source-badge-on,
.source-badge-off {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.source-badge-on {
    border: 1px solid rgba(71, 190, 127, .30);
    background: rgba(71, 190, 127, .08);
    color: #76d69f;
}

.source-badge-off {
    border: 1px solid #323c47;
    background: #111820;
    color: #7f8a96;
}

@media (max-width: 680px) {
    .admin-source-add-form {
        grid-template-columns: 1fr;
    }

    .admin-source-card-head,
    .admin-source-switch-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-source-badges {
        justify-content: flex-start;
    }
}


/* ================================================================
   Currant Price 0.7.1 - dashboard/mobile layout cleanup.
   ================================================================ */

/* Clickable dashboard summary cards keep the existing card appearance. */
.dashboard-metric-links .metric-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #26313d;
    border-radius: 14px;
    background: #101720;
    color: inherit;
    text-decoration: none;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}

.dashboard-metric-links .metric-link:hover {
    border-color: #70419f;
    background: #121923;
    transform: translateY(-1px);
}

.dashboard-metric-links .metric-link > span {
    flex: 0 0 auto;
}

.dashboard-metric-links .metric-link > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.dashboard-metric-links .metric-link > em {
    margin-left: auto;
    color: #667280;
    font-style: normal;
}

/* Keep every expanded source snapshot inside its source card. */
.watch-source-card,
.source-snapshot-actions,
.source-snapshot-details,
.source-snapshot-popover,
.snapshot-list,
.snapshot-item,
.snapshot-main-link {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.source-snapshot-actions {
    align-items: start;
}

.source-snapshot-details {
    width: 100%;
}

.source-snapshot-details > summary {
    width: 100%;
    box-sizing: border-box;
}

.source-snapshot-popover {
    width: 100%;
    max-width: 100%;
    max-height: 520px;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Long marketplace titles must wrap instead of forcing the action buttons
   outside the viewport. */
.snapshot-item,
.snapshot-main-link,
.snapshot-item strong,
.snapshot-main-link strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.snapshot-item {
    width: 100%;
}

.snapshot-item-with-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: stretch;
    gap: 0;
}

.snapshot-main-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    justify-content: initial;
}

.snapshot-main-link > b {
    white-space: nowrap;
}

.snapshot-favorite-button,
.snapshot-ignore-button {
    height: 100%;
    min-height: 46px;
}

/* Next scan information should read as one compact line on desktop. */
.source-next-scan {
    display: flex;
    align-items: baseline;
    gap: 7px;
    flex-wrap: wrap;
}

.source-next-scan em {
    margin-left: auto;
    white-space: nowrap;
}

/* History cards become useful scan records rather than a fake table. */
.history-table {
    display: grid;
    gap: 8px;
}

.history-table > div {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(100px, .8fr) auto auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #26313d;
    border-radius: 10px;
    background: #0f151d;
}

.history-table > div > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 680px) {
    /* The screenshots showed the expanded list wider than its parent card.
       On phones the counters and their contents are strictly one column. */
    .source-snapshot-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .source-snapshot-details,
    .source-snapshot-details > summary,
    .source-snapshot-popover {
        width: 100%;
        max-width: 100%;
    }

    .source-snapshot-popover {
        margin-top: 7px;
        padding: 8px;
        max-height: 62vh;
    }

    /* RAW and EXCLUDED rows: title on top, price below/right. */
    .snapshot-item:not(.snapshot-item-with-actions) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 8px 10px;
    }

    .snapshot-item:not(.snapshot-item-with-actions) > div {
        min-width: 0;
    }

    .snapshot-item:not(.snapshot-item-with-actions) > b {
        align-self: start;
        white-space: nowrap;
    }

    /* IN RANGE: listing takes the full first row; Favorite / Ignore remain
       visible in a dedicated action row instead of disappearing off-screen. */
    .snapshot-item-with-actions {
        grid-template-columns: minmax(0, 1fr) 44px 44px;
    }

    .snapshot-main-link {
        grid-column: 1 / -1;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 9px;
        padding: 10px;
        border-bottom: 1px solid #27313d;
    }

    .snapshot-main-link > b {
        grid-column: 2;
        justify-self: start;
        margin-top: 2px;
    }

    .snapshot-item-with-actions form {
        display: contents;
    }

    .snapshot-favorite-button,
    .snapshot-ignore-button {
        width: 44px;
        min-height: 42px;
        height: 42px;
        border-left: 1px solid #27313d;
    }

    .snapshot-favorite-button {
        grid-column: 2;
    }

    .snapshot-ignore-button {
        grid-column: 3;
    }

    .source-next-scan {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 3px 10px;
        width: 100%;
    }

    .source-next-scan strong {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .source-next-scan em {
        grid-column: 2;
        margin-left: 0;
        white-space: normal;
    }

    .history-table > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .dashboard-metric-links .metric-link {
        min-height: 92px;
    }
}


/* Currant Price 0.8.0 - per-user Telegram Bot */
.telegram-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.telegram-status-card {
    display: grid;
    gap: 5px;
}

.telegram-status-card > small {
    color: #75808c;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.telegram-status-card > strong {
    font-size: 1.05rem;
}

.telegram-status-card > span {
    min-width: 0;
    color: #87929e;
    overflow-wrap: anywhere;
}

.telegram-link-card,
.telegram-connected-card,
.telegram-help-card {
    margin-bottom: 14px;
}

.telegram-link-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    margin: 10px 0 6px;
    padding: 0 20px;
    border: 1px solid #76518d;
    border-radius: 12px;
    background: rgba(117, 70, 140, .11);
    color: #e1c6ec;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.telegram-open-bot {
    width: max-content;
    margin-top: 12px;
    text-decoration: none;
}

.telegram-command-box {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #283440;
    border-radius: 9px;
    background: #0d141c;
}

.telegram-command-box code {
    color: #cab0d7;
    overflow-wrap: anywhere;
}

.telegram-connected-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.telegram-alert-pill {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 9px;
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 900;
    white-space: nowrap;
}

.telegram-alert-pill.on {
    border: 1px solid rgba(75, 193, 129, .35);
    background: rgba(75, 193, 129, .09);
    color: #7bd9a4;
}

.telegram-alert-pill.off {
    border: 1px solid #39434e;
    background: #101720;
    color: #8a949f;
}

.telegram-control-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
}

.telegram-control-row form {
    margin: 0;
}

.danger-outline-button {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(202, 89, 101, .42);
    border-radius: 8px;
    background: rgba(139, 55, 64, .08);
    color: #d79aa2;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.telegram-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.telegram-meta-grid > div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #283440;
    border-radius: 9px;
    background: #0e151d;
}

.telegram-meta-grid small {
    color: #75808c;
}

.telegram-meta-grid strong {
    overflow-wrap: anywhere;
    font-size: .76rem;
}

.telegram-error-box,
.telegram-warning-card {
    display: grid;
    gap: 5px;
    margin-bottom: 14px;
    border-color: rgba(202, 89, 101, .3);
}

.telegram-error-box {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid rgba(202, 89, 101, .3);
    border-radius: 9px;
    background: rgba(139, 55, 64, .06);
}

.telegram-error-box small {
    overflow-wrap: anywhere;
}

.telegram-command-grid {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 14px;
    align-items: center;
}

.telegram-command-grid code {
    color: #c9acd8;
    font-weight: 800;
}

.account-telegram-shortcut {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    color: inherit;
    text-decoration: none;
}

.account-telegram-shortcut h2 {
    margin: 2px 0 5px;
}

.account-telegram-shortcut p {
    margin: 0;
    color: #818c98;
}

.account-telegram-shortcut > strong {
    color: #9d75b1;
    font-size: 1.3rem;
}

@media (max-width: 700px) {
    .telegram-status-grid,
    .telegram-meta-grid {
        grid-template-columns: 1fr;
    }

    .telegram-connected-head {
        flex-direction: column;
    }

    .telegram-control-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .telegram-control-row button {
        width: 100%;
    }

    .telegram-command-grid {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .telegram-command-grid span {
        margin-bottom: 7px;
    }

    .telegram-link-code {
        width: 100%;
        box-sizing: border-box;
        font-size: 1.15rem;
    }

    .telegram-open-bot {
        width: 100%;
    }
}


/* Currant Price 0.8.1 - Dashboard Telegram status */
.telegram-dashboard-status {
    display: grid;
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease;
}

.telegram-dashboard-status:hover {
    border-color: #76518d;
    transform: translateY(-1px);
}

.telegram-dashboard-status small {
    overflow-wrap: anywhere;
}


/* 0.8.1 revised - shared static sidebar menu */
.side-nav-divider {
    height: 1px;
    margin: 9px 8px 7px;
    background: #202a35;
}
.side-nav-section {
    display: block;
    margin: 0 10px 5px;
    color: #697480;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .12em;
}
.side-nav a.active {
    background: linear-gradient(90deg, rgba(151,54,211,.96), rgba(120,38,181,.96));
    border-color: rgba(190,116,235,.30);
    color: #fff;
}
.main-panel > .minimal-topbar {
    width: 100%;
}


/* 0.8.1.1 - keep monitor and Telegram status together at sidebar bottom */
.sidebar-status-stack {
    margin-top: auto;
    display: grid;
    gap: 12px;
}
.sidebar-status-stack .service-card {
    margin-top: 0;
}


/* 0.8.1.3 - New Listings typography polish
   Keep this section visually consistent with the rest of Currant Price. */
.dashboard-new-listings {
    padding: 0;
    overflow: hidden;
}

.dashboard-new-listings .panel-head {
    padding: 18px 18px 14px;
    align-items: flex-start;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.dashboard-new-listings .eyebrow {
    margin-bottom: 5px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dashboard-new-listings h2 {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -.02em;
}

.dashboard-new-listings .panel-head p {
    margin: 5px 0 0;
    color: #8f9aaa;
    font-size: .84rem;
    font-weight: 450;
    line-height: 1.45;
}

.dashboard-new-listings .empty-state {
    margin: 14px;
    padding: 16px 18px;
    min-height: 0;
    border: 1px solid #263342;
    border-radius: 12px;
    background: rgba(18, 25, 35, .68);
}

.dashboard-new-listings .empty-state strong {
    display: block;
    margin: 0 0 3px;
    color: #eef2f7;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.01em;
}

.dashboard-new-listings .empty-state p {
    margin: 0;
    color: #7f8b9a;
    font-size: .80rem;
    font-weight: 400;
    line-height: 1.45;
}

.dashboard-new-listings .compact-btn {
    font-size: .76rem;
    font-weight: 650;
}

/* Keep real NEW listing cards readable when the section is populated. */
.dashboard-new-listings .deal-card,
.dashboard-new-listings .new-listing-card {
    font-family: inherit;
}

@media (max-width: 760px) {
    .dashboard-new-listings .panel-head {
        padding: 15px 14px 12px;
    }

    .dashboard-new-listings h2 {
        font-size: 1.12rem;
    }

    .dashboard-new-listings .empty-state {
        margin: 10px;
        padding: 14px;
    }
}


/* 0.8.1.4 - FIX: selectors now match the actual New Listings HTML */
.dashboard-new-listings {
    padding: 0;
    overflow: hidden;
}

.dashboard-new-listings .new-listings-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.dashboard-new-listings .new-listings-head .admin-kicker {
    margin: 0 0 6px;
    color: #a84ee8;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dashboard-new-listings .new-listings-head h2 {
    margin: 0;
    color: #f3f5f8;
    font-size: 1.28rem;
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.dashboard-new-listings .new-listings-head > div > p:last-child {
    margin: 6px 0 0;
    color: #8793a1;
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.45;
}

.dashboard-new-listings .new-listings-empty {
    display: grid;
    gap: 4px;
    margin: 14px;
    padding: 16px 18px;
    min-height: 0;
    border: 1px solid #263342;
    border-radius: 12px;
    background:
        radial-gradient(
            circle at 85% 50%,
            rgba(124, 62, 171, .10),
            transparent 38%
        ),
        rgba(18, 25, 35, .72);
}

.dashboard-new-listings .new-listings-empty strong {
    margin: 0;
    color: #eef2f7;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.012em;
}

.dashboard-new-listings .new-listings-empty small {
    color: #7f8b99;
    font-size: .80rem;
    font-weight: 400;
    line-height: 1.45;
}

.dashboard-new-listings .new-listings-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dashboard-new-listings .ignore-list-link,
.dashboard-new-listings .seen-all-button {
    font-size: .74rem;
    font-weight: 650;
}

@media (max-width: 760px) {
    .dashboard-new-listings .new-listings-head {
        flex-direction: column;
        padding: 15px 14px 12px;
    }

    .dashboard-new-listings .new-listings-head h2 {
        font-size: 1.12rem;
    }

    .dashboard-new-listings .new-listings-header-actions {
        width: 100%;
    }

    .dashboard-new-listings .new-listings-empty {
        margin: 10px;
        padding: 14px;
    }
}


/* ================================================================
   Currant Price 0.8.1.5 - Agent status typography + clickable monitor.
   ================================================================ */

/* Agent Settings top diagnostic cards now use the same modern visual language
   as Dashboard metric cards instead of inherited generic panel typography. */
.agent-status-grid .agent-status-card {
    display: grid;
    align-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 74px;
    padding: 14px 16px;
    border: 1px solid #26313d;
    border-radius: 12px;
    background: #101720;
}

.agent-status-grid .agent-status-card small {
    margin: 0;
    color: #7f8b99;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .01em;
}

.agent-status-grid .agent-status-card strong {
    margin: 0;
    color: #f0f3f7;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
}

.agent-status-grid .agent-status-worker strong {
    color: #eaf8ef;
}

/* Both sidebar status widgets behave consistently for admins:
   Telegram opens Telegram settings; 24/7 Monitor opens Agent Settings. */
.dashboard-agent-status,
.telegram-dashboard-status {
    display: grid;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.dashboard-agent-status:hover,
.telegram-dashboard-status:hover {
    border-color: #70419f;
    background: #121923;
    transform: translateY(-1px);
}

.dashboard-agent-status:focus-visible,
.telegram-dashboard-status:focus-visible {
    outline: 2px solid #8c4bc0;
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .agent-status-grid .agent-status-card {
        min-height: 68px;
        padding: 13px 14px;
    }

    .agent-status-grid .agent-status-card strong {
        font-size: .90rem;
    }
}


/* ================================================================
   Currant Price 0.8.2.0 - simple Smart Title Filtering controls
   ================================================================ */

.watch-filter-notice {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 12px 14px 14px;
    padding: 11px 13px;
    border: 1px solid rgba(185, 145, 52, .26);
    border-radius: 10px;
    background: rgba(154, 118, 31, .055);
}

.watch-filter-notice-icon {
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(205, 162, 65, .13);
    color: #d9ba72;
    font-size: .78rem;
    font-weight: 900;
}

.watch-filter-notice-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.watch-filter-notice-copy strong {
    color: #d9dde3;
    font-size: .78rem;
    font-weight: 700;
}

.watch-filter-notice-copy span {
    color: #9a927d;
    font-size: .72rem;
    line-height: 1.4;
}

.watch-smart-filter {
    margin-top: 12px;
    border: 1px solid #26313d;
    border-radius: 11px;
    background: rgba(13, 20, 28, .66);
    overflow: hidden;
}

.watch-smart-filter > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.watch-smart-filter > summary::-webkit-details-marker {
    display: none;
}

.watch-smart-summary-copy {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.watch-smart-summary-copy > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.watch-smart-summary-copy strong {
    color: #eef1f5;
    font-size: .82rem;
    font-weight: 700;
}

.watch-smart-summary-copy small {
    color: #7f8a97;
    font-size: .70rem;
    line-height: 1.35;
}

.watch-smart-icon {
    color: #a84ee8;
    font-size: 1.02rem;
}

.watch-smart-state {
    display: inline-flex;
    min-width: 42px;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 900;
}

.watch-smart-state.on {
    border: 1px solid rgba(65, 197, 125, .35);
    background: rgba(65, 197, 125, .08);
    color: #66d594;
}

.watch-smart-state.off {
    border: 1px solid #35404c;
    background: #111923;
    color: #87929e;
}

.watch-smart-form {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-top: 1px solid #25303b;
    background: rgba(8, 13, 19, .22);
}

.watch-smart-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.watch-smart-toggle-row > div {
    display: grid;
    gap: 2px;
}

.watch-smart-toggle-row strong {
    color: #eef1f5;
    font-size: .78rem;
}

.watch-smart-toggle-row small {
    color: #788491;
    font-size: .69rem;
}

.switch-control {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    width: 46px;
    height: 26px;
}

.switch-control input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.switch-control span {
    position: absolute;
    inset: 0;
    border: 1px solid #394451;
    border-radius: 999px;
    background: #17202a;
    cursor: pointer;
    transition: .16s ease;
}

.switch-control span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #8b96a1;
    transition: .16s ease;
}

.switch-control input:checked + span {
    border-color: #8a3bc5;
    background: #7026a8;
}

.switch-control input:checked + span::after {
    left: 23px;
    background: #fff;
}

.watch-smart-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.watch-smart-fields label {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 10px;
    border: 1px solid #27323d;
    border-radius: 9px;
    background: #0d141c;
}

.watch-smart-fields label > span {
    color: #b7c0ca;
    font-size: .72rem;
    font-weight: 700;
}

.watch-smart-fields input[type="text"] {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
    padding: 0 10px;
    border: 1px solid #34404d;
    border-radius: 7px;
    background: #0a1118;
    color: #eef2f6;
    font: inherit;
    font-size: .76rem;
}

.watch-smart-fields input[type="text"]:focus {
    border-color: #7f3daf;
    outline: none;
    box-shadow: 0 0 0 2px rgba(127, 61, 175, .12);
}

.watch-smart-fields small {
    color: #707d89;
    font-size: .65rem;
    line-height: 1.35;
}

.watch-smart-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.watch-smart-footer > small {
    color: #707d89;
    font-size: .66rem;
}

@media (max-width: 760px) {
    .watch-filter-notice {
        align-items: flex-start;
        margin: 10px;
    }

    .watch-smart-fields {
        grid-template-columns: 1fr;
    }

    .watch-smart-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .watch-smart-footer .primary-button {
        width: 100%;
    }
}


/* ================================================================
   0.8.2.1 - Latest saved automatic results
   ================================================================ */

.latest-results-inline-link {
    color: #75d99f;
    font-weight: 750;
    text-decoration: none;
    border-bottom: 1px dashed rgba(117, 217, 159, .45);
}

.latest-results-inline-link:hover {
    color: #9ce6bb;
    border-bottom-color: #9ce6bb;
}

.latest-results-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #34404d;
    border-radius: 8px;
    background: #111923;
    color: #d5dbe2;
    text-decoration: none;
    font-size: .76rem;
    font-weight: 700;
}

.latest-results-button:hover {
    border-color: #6f4292;
    color: #fff;
}

.latest-results-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.latest-results-hero h1 {
    margin: 2px 0 5px;
}

.latest-results-hero p {
    max-width: 760px;
    margin: 0;
    color: #84909c;
}

.latest-results-hero-actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.latest-snapshot-meta {
    display: grid;
    grid-template-columns: 2fr repeat(3, minmax(110px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.latest-snapshot-meta > div {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid #26313d;
    border-radius: 9px;
    background: #0f161f;
}

.latest-snapshot-meta small {
    color: #788491;
    font-size: .68rem;
}

.latest-snapshot-meta strong {
    font-size: .88rem;
    font-variant-numeric: tabular-nums;
}

.latest-results-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.latest-results-tabs a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 0 11px;
    border: 1px solid #2d3945;
    border-radius: 8px;
    background: #101720;
    color: #8d98a5;
    text-decoration: none;
    font-size: .70rem;
    font-weight: 800;
}

.latest-results-tabs a.active {
    border-color: #70419f;
    background: rgba(111, 51, 153, .12);
    color: #d8b3eb;
}

.latest-result-reason {
    margin: 5px 0 0;
    color: #9c7c80;
    font-size: .70rem;
    line-height: 1.4;
}

.latest-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

@media (max-width: 760px) {
    .latest-results-hero {
        flex-direction: column;
    }

    .latest-results-hero-actions {
        width: 100%;
    }

    .latest-results-hero-actions a {
        flex: 1;
    }

    .latest-snapshot-meta {
        grid-template-columns: 1fr 1fr;
    }
}


/* 0.8.3.0 - Telegram per-user anti-flood control */
.telegram-antiflood-card {
    display: grid;
    gap: 12px;
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #293542;
    border-radius: 11px;
    background: #0e151e;
}

.telegram-antiflood-card h3 {
    margin: 2px 0 4px;
    color: #edf1f5;
    font-size: .90rem;
}

.telegram-antiflood-card p {
    margin: 0;
    color: #87929e;
    font-size: .74rem;
    line-height: 1.5;
}

.telegram-antiflood-card > small {
    color: #717e8a;
    font-size: .68rem;
}

.telegram-threshold-controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

.telegram-threshold-controls select {
    min-width: 180px;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid #35414d;
    border-radius: 8px;
    background: #0a1118;
    color: #eef2f6;
    font: inherit;
    font-size: .76rem;
}

@media (max-width: 760px) {
    .telegram-threshold-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .telegram-threshold-controls select,
    .telegram-threshold-controls button {
        width: 100%;
    }
}


/* ================================================================
   0.8.3.2 - UI typography cleanup + visible Smart Filter row
   ================================================================ */

/* Use the same modern system stack consistently in the application shell. */
.app-frame,
.app-frame button,
.app-frame input,
.app-frame select,
.app-frame textarea,
.app-frame a {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Remove browser-native summary marker and make Smart Filter intentional. */
.watch-smart-filter {
    margin-top: 12px;
    border: 1px solid #293541;
    border-radius: 10px;
    background: #0d141c;
    overflow: hidden;
}

.watch-smart-filter-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 8px 12px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.watch-smart-filter-summary::-webkit-details-marker {
    display: none;
}

.watch-smart-filter-summary::marker {
    content: "";
}

.watch-smart-filter-summary:hover {
    background: rgba(129, 64, 171, .06);
}

.watch-smart-summary-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
    margin-right: auto;
}

.watch-smart-summary-copy strong {
    color: #dfe5eb;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: 0;
}

.watch-smart-summary-copy small {
    color: #788592;
    font-size: .67rem;
    font-weight: 450;
}

.watch-smart-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.watch-smart-state.is-on {
    border: 1px solid rgba(47, 202, 125, .42);
    background: rgba(47, 202, 125, .09);
    color: #5ee49b;
}

.watch-smart-state.is-off {
    border: 1px solid #394551;
    background: #121a23;
    color: #8d98a3;
}

.watch-smart-chevron {
    color: #8b96a2;
    font-size: .90rem;
    transition: transform .16s ease;
}

.watch-smart-filter[open] .watch-smart-chevron {
    transform: rotate(180deg);
}

/* Clean typography for the worker summary row shown in New Listings. */
.dashboard-new-listings .monitor-summary-grid small,
.dashboard-new-listings .worker-status-grid small,
.dashboard-new-listings [class*="status-grid"] small {
    color: #7f8b97;
    font-size: .69rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.dashboard-new-listings .monitor-summary-grid strong,
.dashboard-new-listings .worker-status-grid strong,
.dashboard-new-listings [class*="status-grid"] strong {
    color: #e5e9ed;
    font-size: .79rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* Account / Telegram cards: remove the oversized, heavy-looking type. */
.account-page h1,
.telegram-page h1,
.language-page .account-settings h1 {
    letter-spacing: -.025em;
}

.telegram-card h2,
.telegram-card h3,
.account-card h2,
.account-card h3,
.telegram-status-card strong,
.telegram-meta-grid strong {
    font-family: inherit;
    letter-spacing: -.01em;
}

.telegram-meta-grid small,
.telegram-status-card small,
.account-card small {
    font-size: .69rem;
    font-weight: 500;
    letter-spacing: 0;
}

.telegram-meta-grid strong,
.telegram-status-card strong {
    font-size: .88rem;
    font-weight: 700;
}

/* Watch card labels/values: one hierarchy instead of mixed font weights. */
.watch-card small,
.watch-card .muted,
.watch-card .source-run-meta {
    font-weight: 500;
}

.watch-card h3,
.watch-card strong {
    letter-spacing: -.01em;
}

/* Keep the action area tight now that Smart Filter is a real visible row. */
.watch-card .modern-actions {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .watch-smart-filter-summary {
        min-height: 48px;
        padding: 8px 10px;
    }

    .watch-smart-summary-copy small {
        display: none;
    }
}


/* ================================================================
   0.8.3.3 - REAL UI fix
   Previous patch used several selectors that do not exist in the templates.
   These rules intentionally target the real HTML classes.
   ================================================================ */

:root {
    --cp-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI",
                  Roboto, Helvetica, Arial, sans-serif;
}

/* Apply one font stack to the actual page shells, not guessed wrappers. */
body,
button,
input,
select,
textarea,
.dashboard-content,
.settings-shell,
.telegram-page,
.settings-heading,
.panel-card,
.sidebar {
    font-family: var(--cp-ui-font) !important;
}

/* ------------------------------------------------
   Shared page headings: Account / Telegram / Alerts
   ------------------------------------------------ */
.settings-heading .admin-kicker {
    margin: 0 0 7px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}

.settings-heading h1 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
    font-weight: 720 !important;
    letter-spacing: -.025em !important;
}

.settings-heading > p:not(.admin-kicker) {
    max-width: 900px;
    margin: 7px 0 0 !important;
    color: #8995a1 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

/* ------------------------------------------------
   Account: actual .account-telegram-shortcut
   ------------------------------------------------ */
.account-telegram-shortcut {
    min-height: 76px !important;
    padding: 14px 16px !important;
    align-items: center !important;
}

.account-telegram-shortcut .admin-kicker {
    margin: 0 0 5px !important;
    color: #84909c !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
}

.account-telegram-shortcut h2 {
    margin: 0 0 4px !important;
    color: #edf1f5 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
}

.account-telegram-shortcut p:not(.admin-kicker) {
    margin: 0 !important;
    color: #87939f !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.account-telegram-shortcut > strong {
    color: #a866ca !important;
    font-size: 17px !important;
    font-weight: 500 !important;
}

/* ------------------------------------------------
   Telegram: actual .telegram-status-grid/card
   ------------------------------------------------ */
.telegram-status-grid {
    gap: 10px !important;
}

.telegram-status-card {
    min-height: 78px !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 3px !important;
}

.telegram-status-card > small {
    color: #778490 !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
}

.telegram-status-card > strong {
    margin: 0 !important;
    color: #edf1f5 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
}

.telegram-status-card > span {
    color: #7f8b97 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
}

.telegram-connected-card h2 {
    margin: 2px 0 4px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
}

/* ------------------------------------------------
   Alerts: actual page classes
   ------------------------------------------------ */
.alerts-list {
    font-family: var(--cp-ui-font) !important;
}

.alert-listing-card h3 {
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    letter-spacing: -.008em !important;
}

.alert-listing-card p,
.alert-listing-card small,
.alerts-manual-seen-note {
    font-family: var(--cp-ui-font) !important;
    font-weight: 400 !important;
}

/* ------------------------------------------------
   Dashboard watch typography
   ------------------------------------------------ */
.watch-card {
    font-family: var(--cp-ui-font) !important;
}

.watch-card h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.watch-card small,
.watch-card p,
.watch-card span {
    letter-spacing: 0;
}

/* ------------------------------------------------
   Smart Filter:
   CLOSED = compact button, NOT a full-width mystery bar.
   OPEN = expands to a normal full-width settings panel.
   ------------------------------------------------ */
.watch-smart-filter {
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.watch-smart-filter > .watch-smart-filter-summary {
    box-sizing: border-box !important;
    display: inline-flex !important;
    width: auto !important;
    min-height: 36px !important;
    padding: 0 11px !important;
    gap: 8px !important;
    border: 1px solid #49305c !important;
    border-radius: 7px !important;
    background: #171020 !important;
    color: #cf8af0 !important;
}

.watch-smart-filter > .watch-smart-filter-summary:hover {
    border-color: #70458a !important;
    background: #1d1327 !important;
}

.watch-smart-filter .watch-smart-summary-copy {
    display: block !important;
    margin: 0 !important;
}

.watch-smart-filter .watch-smart-summary-copy strong {
    color: #cf8af0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
}

.watch-smart-filter .watch-smart-summary-copy small {
    display: none !important;
}

.watch-smart-filter .watch-smart-state {
    min-width: 29px !important;
    height: 18px !important;
    padding: 0 5px !important;
    font-size: 8px !important;
}

.watch-smart-filter .watch-smart-chevron {
    font-size: 11px !important;
}

.watch-smart-filter:not([open]) > .watch-smart-form {
    display: none !important;
}

.watch-smart-filter[open] {
    width: 100% !important;
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid #293541 !important;
    border-radius: 10px !important;
    background: #0d141c !important;
}

.watch-smart-filter[open] > .watch-smart-filter-summary {
    margin-bottom: 12px !important;
}

/* The form itself must never render as an empty bordered strip. */
.watch-smart-form {
    width: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    outline: 0 !important;
}

/* ------------------------------------------------
   New Listings empty state / status typography
   ------------------------------------------------ */
.dashboard-new-listings .new-listings-head h2 {
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
}

.dashboard-new-listings .new-listings-head p:not(.admin-kicker) {
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.dashboard-new-listings .new-listings-empty strong {
    font-size: 13px !important;
    font-weight: 650 !important;
}

.dashboard-new-listings .new-listings-empty small {
    font-size: 11px !important;
    font-weight: 400 !important;
}

/* Real metric/status cards used outside dashboard too. */
.metric-card small,
.metric-card strong,
.service-card small,
.service-card strong {
    font-family: var(--cp-ui-font) !important;
}

@media (max-width: 760px) {
    .settings-heading h1 {
        font-size: 21px !important;
    }

    .watch-smart-filter[open] {
        padding: 10px !important;
    }
}


/* ================================================================
   0.8.3.4 - Smart Filter layout + Alerts header/status typography
   Targets the exact current template markup.
   ================================================================ */

/* ---------- Alerts page: exact .settings-heading + status card ---------- */
.dashboard-content > .settings-heading {
    margin-bottom: 14px !important;
}

.dashboard-content > .settings-heading .admin-kicker {
    margin: 0 0 6px !important;
    color: #9d5bc4 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.dashboard-content > .settings-heading h1 {
    margin: 0 !important;
    color: #f0f3f6 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.dashboard-content > .settings-heading > p:last-child {
    margin: 6px 0 0 !important;
    color: #8b96a2 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.monitor-status-card {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.monitor-status-card > div {
    min-width: 0 !important;
    padding: 10px 14px !important;
    border-right: 1px solid #26313d !important;
}

.monitor-status-card > div:last-child {
    border-right: 0 !important;
}

.monitor-status-card small {
    display: block !important;
    margin: 0 0 4px !important;
    color: #7e8995 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.monitor-status-card strong {
    display: block !important;
    color: #e8ecf0 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    font-variant-numeric: tabular-nums !important;
}

.monitor-status-card strong.ok-text {
    color: #50db8d !important;
}

/* ---------- Smart Filter: compact closed row ---------- */
.watch-card > details.watch-smart-filter {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #2b3541 !important;
    border-radius: 10px !important;
    background: #0c131b !important;
    overflow: hidden !important;
}

.watch-card > details.watch-smart-filter > summary.watch-smart-filter-summary {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    gap: 9px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    list-style: none !important;
}

.watch-card > details.watch-smart-filter > summary.watch-smart-filter-summary::-webkit-details-marker {
    display: none !important;
}

.watch-card > details.watch-smart-filter > summary.watch-smart-filter-summary::marker {
    content: "" !important;
}

.watch-card > details.watch-smart-filter > summary.watch-smart-filter-summary:hover {
    background: rgba(130, 62, 169, .06) !important;
}

.watch-card .watch-smart-summary-copy {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin-right: auto !important;
}

.watch-card .watch-smart-summary-copy strong {
    color: #dfe5eb !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.watch-card .watch-smart-summary-copy small {
    display: inline !important;
    color: #788591 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}

.watch-card .watch-smart-state {
    flex: 0 0 auto !important;
    min-width: 34px !important;
    height: 21px !important;
    padding: 0 7px !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 9px !important;
    line-height: 21px !important;
    font-weight: 800 !important;
}

.watch-card .watch-smart-chevron {
    flex: 0 0 auto !important;
    color: #8d98a4 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

/* ---------- Smart Filter: proper full-width expanded panel ---------- */
.watch-card > details.watch-smart-filter[open] {
    border-color: #55306c !important;
    background:
        linear-gradient(180deg, rgba(118, 45, 157, .055), transparent 74px),
        #0c131b !important;
}

.watch-card > details.watch-smart-filter[open] > summary.watch-smart-filter-summary {
    min-height: 48px !important;
    border-bottom: 1px solid #283440 !important;
}

.watch-card > details.watch-smart-filter > form.watch-smart-form {
    box-sizing: border-box !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    border: 0 !important;
    background: transparent !important;
}

.watch-card > details.watch-smart-filter[open] > form.watch-smart-form {
    display: block !important;
}

/* Toggle row = one clean horizontal row. */
.watch-card .watch-smart-toggle-row {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 18px !important;
    margin: 0 0 14px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #26313c !important;
}

.watch-card .watch-smart-toggle-row > div {
    min-width: 0 !important;
}

.watch-card .watch-smart-toggle-row strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #e3e8ed !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.watch-card .watch-smart-toggle-row small {
    display: block !important;
    margin: 0 !important;
    color: #7e8a96 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

/* Prevent the switch from being squeezed into the text column. */
.watch-card .watch-smart-toggle-row > .switch-control {
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    margin: 0 !important;
}

/* Two equal, full-width input columns. */
.watch-card .watch-smart-fields {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 14px !important;
    margin: 0 !important;
}

.watch-card .watch-smart-fields > label {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.watch-card .watch-smart-fields > label > span {
    color: #dce2e8 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.watch-card .watch-smart-fields input[type="text"] {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #33414e !important;
    border-radius: 8px !important;
    background: #0a1118 !important;
    color: #edf1f5 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    line-height: 42px !important;
}

.watch-card .watch-smart-fields input[type="text"]:focus {
    border-color: #744397 !important;
    outline: 2px solid rgba(116, 67, 151, .15) !important;
    outline-offset: 0 !important;
}

.watch-card .watch-smart-fields > label > small {
    min-height: 28px !important;
    margin: 0 !important;
    color: #778490 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

/* Footer helper left, Save button right. */
.watch-card .watch-smart-footer {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 16px !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

.watch-card .watch-smart-footer > small {
    margin: 0 !important;
    color: #7b8793 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.watch-card .watch-smart-footer > .primary-button {
    flex: 0 0 auto !important;
    min-width: 104px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

/* Explicitly neutralize old narrow-card rules. */
.watch-card .watch-smart-form label,
.watch-card .watch-smart-form div,
.watch-card .watch-smart-form input,
.watch-card .watch-smart-form small,
.watch-card .watch-smart-form strong,
.watch-card .watch-smart-form span {
    max-width: none;
}

@media (max-width: 760px) {
    .monitor-status-card {
        grid-template-columns: 1fr 1fr !important;
    }

    .monitor-status-card > div:nth-child(2) {
        border-right: 0 !important;
    }

    .monitor-status-card > div:nth-child(-n+2) {
        border-bottom: 1px solid #26313d !important;
    }

    .watch-card .watch-smart-summary-copy small {
        display: none !important;
    }

    .watch-card .watch-smart-fields {
        grid-template-columns: 1fr !important;
    }

    .watch-card .watch-smart-toggle-row,
    .watch-card .watch-smart-footer {
        align-items: flex-start !important;
    }

    .watch-card .watch-smart-footer {
        flex-direction: column !important;
    }

    .watch-card .watch-smart-footer > .primary-button {
        width: 100% !important;
    }
}


/* ================================================================
   0.8.3.5 - Smart Filter + Telegram page visual cleanup only
   No Dashboard Telegram block is added or moved.
   ================================================================ */

/* ---------- Smart Filter: force full-width clean layout ---------- */
.watch-card > details.watch-smart-filter {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #303b47 !important;
    border-radius: 12px !important;
    background: #0d141c !important;
    overflow: hidden !important;
}

.watch-card > details.watch-smart-filter > summary.watch-smart-filter-summary {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

.watch-card .watch-smart-summary-copy {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin-right: auto !important;
}

.watch-card .watch-smart-summary-copy strong {
    color: #eef2f6 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
}

.watch-card .watch-smart-summary-copy small {
    display: none !important;
}

.watch-card .watch-smart-state {
    min-width: 42px !important;
    height: 24px !important;
    padding: 0 8px !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 9px !important;
    line-height: 24px !important;
    font-weight: 800 !important;
}

.watch-card > details.watch-smart-filter[open] {
    border-color: #6d2fb0 !important;
    background:
        linear-gradient(180deg, rgba(121, 43, 170, .07), transparent 86px),
        #0d141c !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

.watch-card > details.watch-smart-filter[open] > summary.watch-smart-filter-summary {
    border-bottom: 1px solid #293541 !important;
}

/* Expanded form: always wide and horizontal. */
.watch-card > details.watch-smart-filter > form.watch-smart-form,
.watch-card > details.watch-smart-filter[open] > form.watch-smart-form {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px 18px 18px !important;
    border: 0 !important;
    background: transparent !important;
}

.watch-card .watch-smart-toggle-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #28333e !important;
}

.watch-card .watch-smart-toggle-row > div {
    min-width: 0 !important;
}

.watch-card .watch-smart-toggle-row strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #e8edf2 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.watch-card .watch-smart-toggle-row small {
    display: block !important;
    margin: 0 !important;
    color: #86929e !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.watch-card .watch-smart-toggle-row .switch-control {
    justify-self: end !important;
    flex: none !important;
    width: 46px !important;
    min-width: 46px !important;
}

.watch-card .watch-smart-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 16px !important;
    margin: 0 !important;
}

.watch-card .watch-smart-fields > label {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.watch-card .watch-smart-fields > label > span {
    color: #e1e7ec !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.watch-card .watch-smart-fields input[type="text"] {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #364452 !important;
    border-radius: 9px !important;
    background: #0a1118 !important;
    color: #f0f3f6 !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
}

.watch-card .watch-smart-fields > label > small {
    display: block !important;
    min-height: 30px !important;
    color: #81909b !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.watch-card .watch-smart-footer {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 18px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
}

.watch-card .watch-smart-footer > small {
    margin: 0 !important;
    color: #83909c !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.watch-card .watch-smart-footer > .primary-button {
    min-width: 118px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-radius: 9px !important;
    background: linear-gradient(180deg, #7d24e0, #6515c9) !important;
    color: #fff !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* ---------- Telegram page: same clean typography as the rest ---------- */
.telegram-page,
.telegram-page *,
.telegram-shell,
.telegram-shell * {
    font-family: var(--cp-ui-font) !important;
}

.telegram-page .settings-heading .admin-kicker,
.telegram-shell .settings-heading .admin-kicker {
    color: #a35aca !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .15em !important;
}

.telegram-page .settings-heading h1,
.telegram-shell .settings-heading h1 {
    margin: 0 !important;
    color: #f1f4f7 !important;
    font-size: 25px !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.telegram-page .settings-heading > p:last-child,
.telegram-shell .settings-heading > p:last-child {
    margin: 7px 0 0 !important;
    color: #8e99a5 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.telegram-status-card {
    padding: 14px !important;
}

.telegram-status-card > small {
    color: #81909c !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
}

.telegram-status-card > strong {
    color: #edf2f6 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.telegram-status-card > span {
    color: #84909b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.telegram-connected-card .admin-kicker,
.telegram-antiflood-card .admin-kicker {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
}

.telegram-connected-card h2,
.telegram-antiflood-card h3 {
    color: #eef2f6 !important;
    font-family: var(--cp-ui-font) !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
}

.telegram-connected-card h2 {
    font-size: 18px !important;
}

.telegram-antiflood-card h3 {
    font-size: 14px !important;
}

.telegram-connected-card p,
.telegram-antiflood-card p,
.telegram-antiflood-card small {
    color: #87939f !important;
    font-family: var(--cp-ui-font) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

.telegram-threshold-controls select,
.telegram-threshold-controls button {
    font-family: var(--cp-ui-font) !important;
}

@media (max-width: 760px) {
    .watch-card .watch-smart-fields {
        grid-template-columns: 1fr !important;
    }

    .watch-card .watch-smart-footer {
        grid-template-columns: 1fr !important;
    }

    .watch-card .watch-smart-footer > .primary-button {
        width: 100% !important;
    }
}


/* ================================================================
   0.8.3.6 - ACTUAL root-cause fix
   ================================================================ */

/* ------------------------------------------------
   SMART FILTER
   Actual watch container is .modern-watch (CSS grid), NOT .watch-card.
   Without grid-column this control was rendered inside the 10px first
   grid column. This is the real reason it stayed impossibly narrow.
   ------------------------------------------------ */
.modern-watch > details.watch-smart-filter {
    grid-column: 2 / -1 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #303b48 !important;
    border-radius: 11px !important;
    background: #0d141c !important;
    overflow: hidden !important;
}

.modern-watch > details.watch-smart-filter[open] {
    border-color: #6c31a0 !important;
    background:
        linear-gradient(180deg, rgba(119, 48, 160, .07), transparent 82px),
        #0d141c !important;
}

.modern-watch > details.watch-smart-filter > summary.watch-smart-filter-summary {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

.modern-watch > details.watch-smart-filter > summary.watch-smart-filter-summary::-webkit-details-marker {
    display: none !important;
}

.modern-watch .watch-smart-summary-copy {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 auto 0 0 !important;
}

.modern-watch .watch-smart-summary-copy strong {
    color: #edf1f5 !important;
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
}

.modern-watch .watch-smart-summary-copy small {
    display: inline !important;
    color: #788592 !important;
    font-family: inherit !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

.modern-watch .watch-smart-state {
    flex: 0 0 auto !important;
    min-width: 38px !important;
    height: 22px !important;
    padding: 0 7px !important;
    font-family: inherit !important;
    font-size: 9px !important;
    line-height: 22px !important;
    font-weight: 750 !important;
}

.modern-watch .watch-smart-chevron {
    flex: 0 0 auto !important;
}

/* Form only appears when details is open. */
.modern-watch > details.watch-smart-filter > form.watch-smart-form {
    display: none !important;
}

.modern-watch > details.watch-smart-filter[open] > form.watch-smart-form {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-top: 1px solid #28343f !important;
    background: transparent !important;
}

/* First row: description left, switch right. */
.modern-watch .watch-smart-toggle-row {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 20px !important;
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #28333e !important;
    background: transparent !important;
}

.modern-watch .watch-smart-toggle-row > div {
    min-width: 0 !important;
}

.modern-watch .watch-smart-toggle-row strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #e6ebef !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.modern-watch .watch-smart-toggle-row small {
    display: block !important;
    margin: 0 !important;
    color: #82909c !important;
    font-family: inherit !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.modern-watch .watch-smart-toggle-row .switch-control {
    justify-self: end !important;
    width: 46px !important;
    min-width: 46px !important;
    margin: 0 !important;
}

/* Two wide columns. */
.modern-watch .watch-smart-fields {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 16px !important;
    margin: 0 !important;
}

.modern-watch .watch-smart-fields > label {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.modern-watch .watch-smart-fields > label > span {
    color: #dce3e9 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

.modern-watch .watch-smart-fields input[type="text"] {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 43px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #344351 !important;
    border-radius: 8px !important;
    background: #0a1118 !important;
    color: #edf2f6 !important;
    font-family: inherit !important;
    font-size: 12px !important;
}

.modern-watch .watch-smart-fields > label > small {
    display: block !important;
    min-height: 30px !important;
    margin: 0 !important;
    color: #7c8995 !important;
    font-family: inherit !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

/* Helper + save. */
.modern-watch .watch-smart-footer {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 16px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
}

.modern-watch .watch-smart-footer > small {
    margin: 0 !important;
    color: #7f8c98 !important;
    font-family: inherit !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

.modern-watch .watch-smart-footer > button.primary-button {
    min-width: 116px !important;
    min-height: 39px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    background: #7020ce !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

/* ------------------------------------------------
   TELEGRAM PAGE
   Explicitly use the same typography family as the rest of Currant Price.
   No Dashboard structure is touched.
   ------------------------------------------------ */
main.telegram-page,
main.telegram-page button,
main.telegram-page input,
main.telegram-page select {
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
}

/* Headings use the same display stack as the main app headings. */
main.telegram-page h1,
main.telegram-page h2,
main.telegram-page h3 {
    font-family:
        "Segoe UI Variable Display",
        "SF Pro Display",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    letter-spacing: -.025em !important;
}

main.telegram-page .settings-heading .admin-kicker {
    margin: 0 0 6px !important;
    color: #a35acb !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
    letter-spacing: .14em !important;
}

main.telegram-page .settings-heading h1 {
    margin: 0 !important;
    color: #eef2f6 !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
}

main.telegram-page .settings-heading > p:last-child {
    max-width: 980px !important;
    margin: 7px 0 0 !important;
    color: #8c98a4 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

/* Status cards: less chunky, same hierarchy as Dashboard cards. */
main.telegram-page .telegram-status-grid {
    gap: 10px !important;
    margin-top: 18px !important;
    margin-bottom: 14px !important;
}

main.telegram-page .telegram-status-card {
    min-height: 78px !important;
    padding: 13px 14px !important;
    gap: 4px !important;
}

main.telegram-page .telegram-status-card > small {
    color: #7e8a96 !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 650 !important;
    letter-spacing: .07em !important;
}

main.telegram-page .telegram-status-card > strong {
    color: #edf2f6 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    letter-spacing: -.005em !important;
}

main.telegram-page .telegram-status-card > span {
    color: #86929e !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

/* Connected card. */
main.telegram-page .telegram-connected-card {
    padding: 15px !important;
}

main.telegram-page .telegram-connected-card .admin-kicker {
    margin: 0 0 5px !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

main.telegram-page .telegram-connected-card h2 {
    margin: 0 0 4px !important;
    color: #edf2f6 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
}

main.telegram-page .telegram-connected-card p {
    color: #8995a1 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

main.telegram-page .telegram-control-row button {
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Anti-flood card. */
main.telegram-page .telegram-antiflood-card {
    margin-top: 14px !important;
    padding: 14px !important;
}

main.telegram-page .telegram-antiflood-card .admin-kicker {
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .13em !important;
}

main.telegram-page .telegram-antiflood-card h3 {
    margin: 3px 0 5px !important;
    color: #e9eef3 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

main.telegram-page .telegram-antiflood-card p,
main.telegram-page .telegram-antiflood-card > small {
    color: #83909c !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

@media (max-width: 760px) {
    .modern-watch > details.watch-smart-filter {
        grid-column: 2 / -1 !important;
    }

    .modern-watch .watch-smart-summary-copy small {
        display: none !important;
    }

    .modern-watch .watch-smart-fields {
        grid-template-columns: 1fr !important;
    }

    .modern-watch .watch-smart-footer {
        grid-template-columns: 1fr !important;
    }

    .modern-watch .watch-smart-footer > button.primary-button {
        width: 100% !important;
    }
}


/* ================================================================
   0.8.3.7 - Telegram full redesign + modern Logout
   ================================================================ */

/* ---------- Telegram page overall rhythm ---------- */
main.telegram-page {
    max-width: none;
    padding-top: 26px !important;
}

main.telegram-page .settings-heading {
    margin-bottom: 20px !important;
}

main.telegram-page .settings-heading h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

main.telegram-page .settings-heading > p:last-child {
    max-width: 920px !important;
    color: #91a0ad !important;
    font-size: 13px !important;
}

/* ---------- Three modern icon status cards ---------- */
main.telegram-page .telegram-status-grid-modern {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 20px 0 14px !important;
}

main.telegram-page .telegram-status-card-modern {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 94px !important;
    padding: 15px 16px !important;
    gap: 13px !important;
    border: 1px solid #293541 !important;
    border-radius: 12px !important;
    background:
        linear-gradient(145deg, rgba(132, 58, 170, .045), transparent 54%),
        #0f161f !important;
}

main.telegram-page .telegram-status-icon {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #343f4b !important;
    border-radius: 11px !important;
    background: #111a24 !important;
    color: #d98cff !important;
}

main.telegram-page .telegram-status-icon svg {
    width: 24px !important;
    height: 24px !important;
}

main.telegram-page .telegram-status-copy {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

main.telegram-page .telegram-status-copy small {
    color: #8a97a3 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

main.telegram-page .telegram-status-copy strong {
    color: #edf2f6 !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
}

main.telegram-page .telegram-status-copy strong.status-online {
    color: #43df8a !important;
}

main.telegram-page .telegram-status-copy span {
    overflow: hidden !important;
    color: #82909c !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* ---------- Linked account card ---------- */
main.telegram-page .telegram-connected-card {
    margin-top: 0 !important;
    padding: 17px !important;
    border: 1px solid #2b3743 !important;
    border-radius: 12px !important;
    background:
        linear-gradient(160deg, rgba(113, 44, 147, .035), transparent 48%),
        #0f161f !important;
}

main.telegram-page .telegram-connected-head-modern {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

main.telegram-page .telegram-section-label {
    margin: 0 0 5px !important;
    color: #9da9b5 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

main.telegram-page .telegram-connected-head-modern h2 {
    margin: 0 0 5px !important;
    color: #f0f3f6 !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

main.telegram-page .telegram-connected-head-modern p:not(.telegram-section-label) {
    margin: 0 !important;
    color: #8c98a4 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

main.telegram-page .telegram-alert-pill {
    flex: 0 0 auto !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

/* ---------- Modern Telegram action buttons ---------- */
main.telegram-page .telegram-control-row-modern {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
}

main.telegram-page .telegram-control-row-modern form {
    margin: 0 !important;
}

main.telegram-page .telegram-action-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    background: #121b25 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    cursor: pointer !important;
    transition: border-color .15s ease, background .15s ease, transform .15s ease !important;
}

main.telegram-page .telegram-action-button svg {
    width: 18px !important;
    height: 18px !important;
}

main.telegram-page .telegram-action-button:hover {
    transform: translateY(-1px) !important;
}

main.telegram-page .telegram-action-button-primary {
    border: 1px solid #56316b !important;
    color: #e2a5ff !important;
}

main.telegram-page .telegram-action-button-primary:hover {
    border-color: #744694 !important;
    background: #181120 !important;
}

main.telegram-page .telegram-action-button-danger {
    border: 1px solid #713541 !important;
    color: #f08291 !important;
}

main.telegram-page .telegram-action-button-danger:hover {
    border-color: #a04655 !important;
    background: #1a1116 !important;
}

/* ---------- Anti-flood card: real dashboard-quality layout ---------- */
main.telegram-page .telegram-antiflood-card-modern {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "copy controls"
        "hint hint" !important;
    align-items: center !important;
    gap: 13px 18px !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid #2c3844 !important;
    border-radius: 11px !important;
    background: #0c141d !important;
}

main.telegram-page .telegram-antiflood-card-modern > div:first-child {
    grid-area: copy !important;
    min-width: 0 !important;
}

main.telegram-page .telegram-antiflood-card-modern .telegram-threshold-controls {
    grid-area: controls !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

main.telegram-page .telegram-antiflood-card-modern > small {
    grid-area: hint !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid #26323d !important;
}

main.telegram-page .telegram-antiflood-card-modern h3 {
    margin: 3px 0 5px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

main.telegram-page .telegram-antiflood-card-modern p {
    max-width: 790px !important;
    margin: 0 !important;
    font-size: 11px !important;
}

main.telegram-page .telegram-threshold-controls select {
    min-width: 160px !important;
    min-height: 40px !important;
    border-radius: 8px !important;
    background: #091118 !important;
}

main.telegram-page .telegram-threshold-controls .primary-button {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
}

/* Metadata = softer secondary row. */
main.telegram-page .telegram-meta-grid {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #27323d !important;
}

main.telegram-page .telegram-meta-grid > div {
    background: #0c131b !important;
    border-color: #26323d !important;
}

/* ---------- Modern dashboard logout ---------- */
.logout-form {
    margin: 0 !important;
}

.logout-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 38px !important;
    padding: 0 11px !important;
    border: 1px solid #343e49 !important;
    border-radius: 9px !important;
    background: #101720 !important;
    color: #aab4be !important;
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}

.logout-button svg {
    width: 17px !important;
    height: 17px !important;
}

.logout-button:hover {
    border-color: #6a3742 !important;
    background: #171116 !important;
    color: #ef8794 !important;
}

@media (max-width: 900px) {
    main.telegram-page .telegram-status-grid-modern {
        grid-template-columns: 1fr !important;
    }

    main.telegram-page .telegram-antiflood-card-modern {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "copy"
            "controls"
            "hint" !important;
    }

    main.telegram-page .telegram-threshold-controls {
        justify-content: flex-start !important;
    }
}

@media (max-width: 560px) {
    main.telegram-page {
        padding-top: 18px !important;
    }

    main.telegram-page .settings-heading h1 {
        font-size: 24px !important;
    }

    main.telegram-page .telegram-status-card-modern {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        min-height: 82px !important;
        padding: 12px !important;
    }

    main.telegram-page .telegram-status-icon {
        width: 38px !important;
        height: 38px !important;
    }

    main.telegram-page .telegram-connected-head-modern {
        flex-direction: column !important;
    }

    main.telegram-page .telegram-control-row-modern,
    main.telegram-page .telegram-control-row-modern form,
    main.telegram-page .telegram-action-button {
        width: 100% !important;
    }

    main.telegram-page .telegram-threshold-controls {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    main.telegram-page .telegram-threshold-controls select,
    main.telegram-page .telegram-threshold-controls button {
        width: 100% !important;
    }

    /* Mobile logout becomes a clean icon button beside language control. */
    .logout-button {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
    }

    .logout-button span {
        display: none !important;
    }

    .logout-button svg {
        width: 18px !important;
        height: 18px !important;
    }
}


/* ================================================================
   0.8.3.8 - Watch action alignment + Welcome typography
   ================================================================ */

/* ---------- Welcome ---------- */
.welcome-row-modern {
    align-items: center !important;
}

.welcome-copy-modern {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.welcome-copy-modern .welcome-kicker {
    margin: 0 !important;
    color: #a654d8 !important;
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.welcome-copy-modern h1 {
    margin: 0 !important;
    color: #f0f3f6 !important;
    font-family:
        "Segoe UI Variable Display",
        "SF Pro Display",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
    font-weight: 720 !important;
    letter-spacing: -.035em !important;
}

.welcome-copy-modern .welcome-subtitle {
    max-width: 680px !important;
    margin: 2px 0 0 !important;
    color: #8e99a5 !important;
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

/* ---------- Watch management controls ---------- */
.modern-watch .modern-actions {
    grid-column: 2 / -1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
}

.modern-watch .modern-actions > a,
.modern-watch .modern-actions > form {
    margin: 0 !important;
}

.modern-watch .modern-actions > form {
    display: flex !important;
}

.modern-watch .watch-action-button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 96px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #493058 !important;
    border-radius: 8px !important;
    background: #16101d !important;
    color: #d48eea !important;
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    appearance: none !important;
}

.modern-watch .watch-action-button:hover {
    border-color: #72418b !important;
    background: #1c1324 !important;
    color: #e3a7f2 !important;
}

.modern-watch .watch-action-latest {
    min-width: 154px !important;
}

.modern-watch .watch-action-delete {
    border-color: #65303a !important;
    background: #171116 !important;
    color: #ef8290 !important;
}

.modern-watch .watch-action-delete:hover {
    border-color: #994350 !important;
    background: #1d1217 !important;
    color: #ff9aa5 !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 760px) {
    .welcome-row-modern {
        align-items: flex-start !important;
    }

    .welcome-copy-modern .welcome-kicker {
        font-size: 9px !important;
        letter-spacing: .14em !important;
    }

    .welcome-copy-modern h1 {
        font-size: 25px !important;
    }

    .welcome-copy-modern .welcome-subtitle {
        max-width: 310px !important;
        font-size: 12px !important;
    }

    .modern-watch .modern-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .modern-watch .modern-actions > a,
    .modern-watch .modern-actions > form,
    .modern-watch .modern-actions > form > .watch-action-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .modern-watch .watch-action-button {
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 9px !important;
        font-size: 11px !important;
    }

    .modern-watch .watch-action-latest {
        grid-column: 1 / -1 !important;
    }
}


/* ================================================================
   0.8.3.9 - Per-watch 24/7 Agent toggle in New/Edit Watch
   ================================================================ */
.watch-agent-toggle-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 16px 0 12px !important;
    padding: 13px 14px !important;
    border: 1px solid #303b47 !important;
    border-radius: 10px !important;
    background: #0d151e !important;
}

.watch-agent-toggle-row > div {
    min-width: 0 !important;
}

.watch-agent-toggle-row strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #e8edf2 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.watch-agent-toggle-row small {
    display: block !important;
    margin: 0 !important;
    color: #84919d !important;
    font-family: inherit !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
}

.watch-agent-toggle-row .switch-control {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

@media (max-width: 560px) {
    .watch-agent-toggle-row {
        padding: 12px !important;
        gap: 12px !important;
    }
}


/* ================================================================
   0.8.4.0 - New/Edit Watch: Agent + Telegram independent toggles
   ================================================================ */

.watch-delivery-toggle-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 16px 0 8px !important;
}

.watch-delivery-toggle-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    padding: 13px 14px !important;
    border: 1px solid #303b47 !important;
    border-radius: 10px !important;
    background: #0d151e !important;
}

.watch-delivery-toggle-card > div {
    min-width: 0 !important;
}

.watch-delivery-toggle-card strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #e8edf2 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.watch-delivery-toggle-card small {
    display: block !important;
    margin: 0 !important;
    color: #84919d !important;
    font-family: inherit !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
}

.watch-delivery-toggle-card .switch-control {
    margin: 0 !important;
}

.watch-delivery-note {
    margin: 0 0 12px !important;
    color: #778490 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
}

@media (max-width: 680px) {
    .watch-delivery-toggle-grid {
        grid-template-columns: 1fr !important;
    }

    .watch-delivery-toggle-card {
        padding: 12px !important;
    }
}


/* ================================================================
   0.8.4.1 - Help Center
   ================================================================ */

.help-page { padding-bottom: 44px !important; }
.help-heading { margin-bottom: 18px !important; }

.help-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.help-quick-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 11px 13px;
    border: 1px solid #2d3945;
    border-radius: 10px;
    background: #0f161f;
    color: #dce2e8;
    text-decoration: none;
}

.help-quick-card:hover { border-color: #684087; background: #14101b; }

.help-quick-card strong {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(143, 72, 185, .12);
    color: #c978ee;
    font-size: 10px;
}

.help-quick-card span { font-size: 12px; font-weight: 650; }

.help-section {
    margin-bottom: 12px;
    padding: 18px !important;
    scroll-margin-top: 18px;
}

.help-section-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.help-section-number {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid #513369;
    border-radius: 9px;
    background: rgba(124, 48, 166, .08);
    color: #ca79ec;
    font-size: 10px;
    font-weight: 800;
}

.help-section-head h2 {
    margin: 0 0 4px;
    color: #edf2f6;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}

.help-section-head p {
    margin: 0;
    color: #84919d;
    font-size: 11px;
    line-height: 1.4;
}

.help-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.help-steps.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.help-steps article {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    border: 1px solid #293541;
    border-radius: 9px;
    background: #0c141d;
}

.help-steps article > strong {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #21122c;
    color: #cf82ed;
    font-size: 10px;
}

.help-steps h3,
.help-topic h3,
.help-compare-grid h3 {
    margin: 0 0 5px;
    color: #e8edf2;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 650;
}

.help-steps p,
.help-topic p,
.help-compare-grid p {
    margin: 0;
    color: #84909c;
    font-size: 10.5px;
    line-height: 1.5;
}

.help-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.help-topic {
    padding: 13px 14px;
    border: 1px solid #293541;
    border-radius: 9px;
    background: #0c141d;
}

.help-callout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px solid #4a3655;
    border-radius: 9px;
    background: rgba(112, 48, 141, .06);
}

.help-callout strong { color: #cb7be8; font-size: 10px; font-weight: 800; }
.help-callout p { margin: 0; color: #87939f; font-size: 10.5px; line-height: 1.45; }

.help-compare-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.help-compare-grid article {
    padding: 13px;
    border: 1px solid #2b3743;
    border-radius: 9px;
    background: #0c141d;
}

.help-badge {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    margin-bottom: 8px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
}

.help-badge.purple { background: rgba(141, 62, 181, .12); color: #cd7fed; }
.help-badge.green { background: rgba(50, 194, 118, .10); color: #59dc94; }
.help-badge.gold { background: rgba(204, 154, 50, .10); color: #d9b259; }

.help-command-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
}

.help-command-table > div {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border: 1px solid #293541;
    border-radius: 8px;
    background: #0b131b;
}

.help-command-table code { color: #cf80ec; font-size: 11px; font-weight: 700; }
.help-command-table span { color: #87939f; font-size: 10.5px; }

.help-faq { display: grid; gap: 8px; }

.help-faq details {
    border: 1px solid #293541;
    border-radius: 9px;
    background: #0c141d;
    overflow: hidden;
}

.help-faq summary {
    padding: 11px 13px;
    color: #dfe5eb;
    font-size: 11px;
    font-weight: 650;
    cursor: pointer;
}

.help-faq p {
    margin: 0;
    padding: 0 13px 12px;
    color: #83909c;
    font-size: 10.5px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .help-quick-grid,
    .help-steps,
    .help-steps.compact,
    .help-compare-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .help-quick-grid,
    .help-steps,
    .help-steps.compact,
    .help-topic-grid,
    .help-compare-grid,
    .help-command-table { grid-template-columns: 1fr; }

    .help-section { padding: 14px !important; }
    .help-command-table > div { grid-template-columns: 74px minmax(0, 1fr); }
}

/* ================================================================
   Currant Price 0.8.4.2
   Subtle pre-release stage badge beside the product wordmark.
   The visible text comes from settings.app_stage via data-app-stage.
   ================================================================ */

.brand-name[data-app-stage]:not([data-app-stage=""])::after,
.compact-logo[data-app-stage]:not([data-app-stage=""])::after,
.mobile-logo-trick[data-app-stage]:not([data-app-stage=""])::after {
    content: attr(data-app-stage);
    position: absolute;
    z-index: 5;
    color: #8d929d;
    border: 1px solid rgba(141, 146, 157, .28);
    background: rgba(141, 146, 157, .07);
    font-family:
        "Segoe UI Variable",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-weight: 650;
    letter-spacing: .08em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.brand-name[data-app-stage]:not([data-app-stage=""])::after {
    left: calc(50% + 118px);
    top: 8px;
    padding: 4px 5px;
    border-radius: 5px;
    font-size: .48rem;
}

.compact-logo[data-app-stage]:not([data-app-stage=""])::after {
    left: 132px;
    top: 2px;
    padding: 3px 4px;
    border-radius: 4px;
    font-size: .47rem;
}

.mobile-logo-trick[data-app-stage]:not([data-app-stage=""])::after {
    left: 128px;
    top: 2px;
    padding: 3px 4px;
    border-radius: 4px;
    font-size: .44rem;
}

@media (max-width: 520px) {
    .brand-name[data-app-stage]:not([data-app-stage=""])::after {
        left: calc(50% + 106px);
        top: 7px;
    }
}

/* ================================================================
   Currant Price 0.8.4.3 - full private-beta result tools
   ================================================================ */
.cp-results-toolbar {
    display: grid;
    grid-template-columns: minmax(190px, 1.5fr) minmax(130px, .8fr) minmax(170px, .9fr) auto auto;
    gap: 8px;
    align-items: center;
    margin: 0 0 14px;
    padding: 10px;
    border: 1px solid #293541;
    border-radius: 10px;
    background: #0b131b;
}
.cp-results-toolbar input[type="search"], .cp-results-toolbar select {
    min-width: 0; height: 36px; padding: 0 10px; border: 1px solid #303b48;
    border-radius: 8px; background: #0a1118; color: #dfe5eb; font: inherit;
}
.cp-favorites-filter { display:flex; align-items:center; gap:6px; color:#b8c1ca; font-size:11px; white-space:nowrap; }
.cp-clear-results { min-height:36px; }
.cp-filter-count { grid-column:1 / -1; color:#75818d; font-size:10px; }
.cp-result-card[hidden] { display:none !important; }
.result-source-line > span, .cp-source-badge {
    display:inline-flex; align-items:center; width:max-content; padding:3px 7px; border-radius:999px;
    border:1px solid rgba(181,102,219,.35); background:rgba(181,102,219,.08); color:#c98bea;
    font-size:10px; font-weight:700; letter-spacing:.03em;
}
.result-details-button { display:inline-flex; margin:0 0 8px; color:#a8b2bd; font-size:10.5px; text-decoration:none; }
.result-details-button:hover { color:#d9a8ee; }

.listing-detail-page { max-width:1120px; }
.listing-detail-back { display:inline-flex; margin-bottom:12px; color:#9aa6b2; text-decoration:none; font-size:11px; }
.listing-detail-card { display:grid; grid-template-columns:minmax(280px, .95fr) minmax(320px, 1.05fr); gap:24px; padding:20px !important; }
.listing-detail-image { min-height:360px; border-radius:12px; overflow:hidden; background:#080e14; display:flex; align-items:center; justify-content:center; }
.listing-detail-image img { width:100%; height:100%; max-height:560px; object-fit:contain; }
.listing-detail-copy { display:flex; flex-direction:column; align-items:flex-start; }
.listing-detail-meta { display:flex; align-items:center; gap:8px; color:#7e8995; font-size:10px; }
.listing-detail-copy h1 { margin:14px 0 8px; color:#edf1f5; font-size:clamp(20px, 3vw, 32px); line-height:1.15; }
.listing-detail-watch { margin:0 0 18px; color:#7f8b97; font-size:11px; }
.listing-detail-price { margin-bottom:18px; color:#f0f3f6; font-size:28px; font-weight:750; }
.listing-detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 16px; }
.listing-original-button { text-decoration:none; }

/* Stage now visually belongs to the wordmark instead of floating beside it. */
.compact-logo[data-app-stage]:not([data-app-stage=""])::after,
.mobile-logo-trick[data-app-stage]:not([data-app-stage=""])::after {
    left:100%; top:50%; transform:translate(7px,-50%); border-color:rgba(181,102,219,.32);
    background:#111722; color:#a9aeb8; box-shadow:0 0 0 1px rgba(0,0,0,.15);
}
.brand-name[data-app-stage]:not([data-app-stage=""])::after {
    left:100%; top:50%; transform:translate(9px,-50%); border-color:rgba(181,102,219,.32);
    background:#111722; color:#a9aeb8;
}

@media (max-width: 760px) {
    .cp-results-toolbar { grid-template-columns:1fr 1fr; }
    .cp-results-toolbar input[type="search"] { grid-column:1 / -1; }
    .cp-filter-count { grid-column:1 / -1; }
    .listing-detail-card { grid-template-columns:1fr; padding:12px !important; gap:16px; }
    .listing-detail-image { min-height:240px; }
}
@media (max-width: 480px) {
    .cp-results-toolbar { grid-template-columns:1fr; }
    .cp-results-toolbar input[type="search"], .cp-filter-count { grid-column:auto; }
}


/* ================================================================
   Currant Price 0.8.4.5 - explicit BETA badges, no measured coordinates.
   Login: stage stamp is anchored to the product icon.
   App: stage badge is a real flex sibling of the wordmark.
   ================================================================ */
.brand-name[data-app-stage]::after,
.compact-logo[data-app-stage]::after,
.mobile-logo-trick[data-app-stage]::after {
    content: none !important;
    display: none !important;
}
.login-logo-frame {
    position: relative !important;
}
.login-stage-badge {
    position: absolute;
    right: -7px;
    bottom: 8px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 19px;
    padding: 2px 6px;
    border: 1px solid rgba(181,102,219,.45);
    border-radius: 5px;
    background: #111722;
    box-shadow: 0 4px 12px rgba(0,0,0,.35);
    color: #b9bdc7;
    font-size: .52rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
}
.side-brand,
.mobile-brand {
    display: flex;
    align-items: center;
}
.app-stage-badge {
    position: static !important;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 7px;
    min-height: 16px;
    padding: 2px 5px;
    border: 1px solid rgba(181,102,219,.38);
    border-radius: 4px;
    background: #111722;
    color: #aeb4bf;
    font-size: .46rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    transform: none !important;
}
/* The wordmark can animate Currant Price <-> Serbento Kaina freely.
   The badge participates in normal flex layout and therefore follows its width. */
.compact-logo,
.mobile-logo-trick {
    flex: 0 0 auto;
}
@media (max-width: 900px) {
    .mobile-brand { min-width: 0; }
    .app-stage-badge { margin-left: 5px; }
}


/* ================================================================
   Currant Price 0.8.4.6 - stable app wordmark + BETA layout.
   The wordmark owns its animated width; BETA stays in normal flex flow.
   ================================================================ */
.side-brand,
.mobile-brand {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}
.compact-logo,
.mobile-logo-trick {
    position: relative !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: var(--brand-normal-width, 136px) !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    transition: width .55s cubic-bezier(.2,.8,.2,1) !important;
}
.compact-logo.show-lt,
.mobile-logo-trick.show-lt {
    width: var(--brand-lt-width, 145px) !important;
}
.compact-logo > .brand-normal,
.compact-logo > .brand-lithuanian,
.mobile-logo-trick > .brand-normal,
.mobile-logo-trick > .brand-lithuanian {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: max-content !important;
    white-space: nowrap !important;
}
.app-stage-badge {
    position: static !important;
    flex: 0 0 auto !important;
    margin-left: 7px !important;
    transform: none !important;
}
@media (max-width: 900px) {
    .mobile-brand { min-width: 0 !important; }
    .mobile-logo-trick { max-width: none !important; }
    .app-stage-badge { margin-left: 5px !important; }
}


/* ================================================================
   Currant Price 0.8.4.7 - authenticated header regression fix.
   IMPORTANT: mobile brand is hidden on desktop and shown only at the
   responsive breakpoint. This restores the original app header layout.
   ================================================================ */

/* Desktop/sidebar brand stays visible. */
.side-brand {
    display: flex !important;
    align-items: center !important;
}

/* The topbar copy of the brand is MOBILE ONLY.
   0.8.4.5/6 accidentally forced this to flex on desktop, which exposed
   the natural-size PNG and produced the giant duplicate logo. */
.mobile-brand {
    display: none !important;
}

@media (max-width: 900px) {
    .mobile-brand {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .mobile-brand > img {
        width: 35px !important;
        height: 35px !important;
        flex: 0 0 35px !important;
        border-radius: 9px;
    }

    .mobile-logo-trick {
        flex: 0 1 auto !important;
    }
}


/* ================================================================
   Currant Price 0.8.4.8 - private beta access + stable brand init.
   ================================================================ */
.brand-tagline { position: relative; min-height: 1.1em; }
.brand-tagline .tagline-normal,
.brand-tagline .tagline-lithuanian { transition: opacity .35s ease, transform .35s ease; }
.brand-tagline .tagline-lithuanian { position:absolute; inset:0; opacity:0; transform:translateY(4px); white-space:nowrap; }
.brand-tagline.show-lt .tagline-normal { opacity:0; transform:translateY(-4px); }
.brand-tagline.show-lt .tagline-lithuanian { opacity:1; transform:translateY(0); }
.cp-text-button { border:0; padding:0; background:transparent; color:#8995a2; font:inherit; cursor:pointer; }
.cp-text-button:hover { color:#c88be8; }
.side-nav-action { width:100%; display:flex; align-items:center; gap:10px; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.cp-dialog { width:min(92vw,430px); border:1px solid #2d3744; border-radius:14px; padding:0; background:#0d141c; color:#e7ebef; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.cp-dialog::backdrop { background:rgba(3,6,10,.72); backdrop-filter:blur(4px); }
.cp-dialog-card { position:relative; display:grid; gap:12px; padding:22px; }
.cp-dialog-card h2,.cp-dialog-card p { margin:0; }
.cp-dialog-card p { color:#8f9aa6; font-size:12px; line-height:1.55; }
.cp-dialog-card label { display:grid; gap:6px; color:#aeb7c0; font-size:11px; }
.cp-dialog-card input { height:40px; border:1px solid #303b48; border-radius:8px; background:#080f16; color:#eef1f4; padding:0 11px; font:inherit; }
.cp-dialog-close { position:absolute; right:12px; top:10px; border:0; background:transparent; color:#7f8994; font-size:22px; cursor:pointer; }
.cp-access-list { padding:0 !important; overflow:hidden; }
.cp-access-row { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:16px 18px; border-bottom:1px solid #222d38; }
.cp-access-row:last-child { border-bottom:0; }
.cp-access-row > div:first-child { display:grid; gap:5px; min-width:0; }
.cp-access-title { display:flex; align-items:center; gap:8px; }
.cp-access-row a { color:#a9b4bf; text-decoration:none; font-size:12px; }
.cp-access-row small { color:#697683; font-size:10px; }
.cp-access-actions { display:flex; gap:8px; flex:0 0 auto; }
.cp-access-actions form { margin:0; }
@media (max-width:650px) { .cp-access-row { align-items:flex-start; flex-direction:column; } .cp-access-actions { width:100%; } }

/* ================================================================
   Currant Price 0.8.4.9 - login footer access + centered brand lockup
   + seamless NEW/Seen dashboard stream.
   ================================================================ */

/* Login wordmark and tagline share the exact same visual center.
   Absolute children are centered against the full login-card width rather
   than a shrink-to-fit text box, so Serbento Kaina cannot drift sideways. */
.login-brand {
    width: 100%;
}
.login-brand .brand-name {
    position: relative;
    width: 100% !important;
    min-height: 52px;
    text-align: center;
}
.login-brand .brand-name > span {
    position: absolute !important;
    left: 50% !important;
    top: 0;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    transform: translateX(-50%);
    text-align: center;
}
.login-brand .brand-name .brand-normal {
    opacity: 1;
}
.login-brand .brand-name .brand-lithuanian {
    opacity: 0;
    transform: translateX(-50%) translateY(8px);
}
.login-brand .brand-name.show-lt .brand-normal {
    opacity: 0;
    transform: translateX(-50%) translateY(-8px);
}
.login-brand .brand-name.show-lt .brand-lithuanian {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.login-brand .brand-tagline {
    position: relative;
    width: 100%;
    min-height: 1.15em;
    text-align: center;
}
.login-brand .brand-tagline > span {
    position: absolute;
    left: 50%;
    top: 0;
    width: max-content;
    white-space: nowrap;
    transform: translateX(-50%);
    transition: opacity .35s ease, transform .35s ease;
}
.login-brand .brand-tagline .tagline-normal {
    opacity: 1;
}
.login-brand .brand-tagline .tagline-lithuanian {
    inset: auto !important;
    opacity: 0;
    transform: translateX(-50%) translateY(4px);
}
.login-brand .brand-tagline.show-lt .tagline-normal {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
}
.login-brand .brand-tagline.show-lt .tagline-lithuanian {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Request access is intentionally footer-level, not a competing CTA. */
.login-footer-access {
    margin-top: 24px;
    text-align: center;
    line-height: 1;
}
.login-access-link {
    border: 0;
    padding: 0;
    background: transparent;
    color: #68717d;
    font-family: inherit;
    font-size: .68rem;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: underline;
    text-decoration-color: rgba(150, 112, 174, .34);
    text-underline-offset: 3px;
    cursor: pointer;
}
.login-access-link:hover {
    color: #9d7caf;
    text-decoration-color: currentColor;
}
.login-footer-access + footer {
    margin-top: 12px;
}

/* Acknowledging an alert no longer makes it vanish. The newest unread cards
   are intentionally brighter while the last ten Seen cards use the calmer
   dark-blue dashboard tone. */
.dashboard-alert-stream {
    padding: 0 14px 14px;
}
.dashboard-new-card.is-new {
    border-color: rgba(154, 76, 207, .52);
    background:
        radial-gradient(circle at 82% 38%, rgba(125, 58, 174, .16), transparent 36%),
        linear-gradient(145deg, #151a26, #101620);
    box-shadow: inset 3px 0 0 rgba(165, 76, 224, .72);
}
.dashboard-new-card.is-seen {
    border-color: #27313d;
    background: #0e141c;
    box-shadow: none;
}
.dashboard-new-card.is-seen .new-card-main h3 {
    color: #c8d0d9;
}
.dashboard-new-card.is-seen .listing-thumb {
    opacity: .82;
}
.dashboard-state-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 1px 6px;
    border-radius: 999px;
    font-size: .56rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.dashboard-state-badge.new {
    border: 1px solid rgba(177, 88, 231, .44);
    background: rgba(148, 57, 205, .14);
    color: #d49af2;
}
.dashboard-state-badge.seen {
    border: 1px solid #2d3946;
    background: #111922;
    color: #778391;
}
.dashboard-seen-label {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid #28333f;
    border-radius: 8px;
    background: #0d141c;
    font-size: .72rem;
    font-weight: 700;
}
.new-listings-caught-up {
    margin-bottom: 10px !important;
}
.new-listings-no-history {
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    .dashboard-alert-stream {
        padding: 0 10px 10px;
    }
    .login-footer-access {
        margin-top: 20px;
    }
}

/* ================================================================
   Currant Price 0.8.5.0 - login-only easter egg + stable app language UX
   + reversible Seen + dismissible recent Seen cards.
   ================================================================ */

/* Authenticated application branding is intentionally static. Language
   changes use normal navigation, so no wordmark/button width animation can
   jerk the dashboard layout. */
.app-frame .compact-logo,
.app-frame .mobile-logo-trick {
    width: 136px !important;
    transition: none !important;
}
.app-frame .compact-logo > .brand-lithuanian,
.app-frame .mobile-logo-trick > .brand-lithuanian {
    display: none !important;
}
.app-frame .compact-logo > .brand-normal,
.app-frame .mobile-logo-trick > .brand-normal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* Login wordmark: both languages are normalized to exactly the same visual
   width. A left-to-right clip wipe changes the letters without moving the
   surrounding login layout. */
.login-brand .brand-name {
    width: var(--login-brand-target-width, 290px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}
.login-brand .brand-name > span {
    left: 50% !important;
    transform-origin: center center !important;
    transition: clip-path .30s cubic-bezier(.2,.8,.2,1), opacity .18s linear, filter .30s ease !important;
}
.login-brand .brand-name .brand-normal {
    transform: translateX(-50%) scaleX(var(--login-brand-en-scale, 1)) !important;
    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
    filter: blur(0) !important;
}
.login-brand .brand-name .brand-lithuanian {
    transform: translateX(-50%) scaleX(var(--login-brand-lt-scale, 1)) !important;
    clip-path: inset(0 100% 0 0) !important;
    opacity: 1 !important;
    filter: blur(.2px) !important;
}
.login-brand .brand-name.easter-lt .brand-normal {
    clip-path: inset(0 0 0 100%) !important;
}
.login-brand .brand-name.easter-lt .brand-lithuanian {
    clip-path: inset(0 0 0 0) !important;
    filter: blur(0) !important;
}

/* Three fixed-width tagline slots prevent punctuation and surrounding text
   from shifting. Each pair uses a fast letter-like horizontal wipe. */
.login-brand .login-easter-tagline {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .58em !important;
    width: 100% !important;
    min-height: 1.15em !important;
    white-space: nowrap !important;
}
.login-easter-tagline > i {
    position: static !important;
    color: inherit;
    font-style: normal;
    opacity: .78;
}
.login-easter-tagline .tagline-slot {
    position: relative;
    display: inline-block;
    height: 1.1em;
    flex: 0 0 auto;
    overflow: hidden;
}
.login-easter-tagline .tagline-slot > b {
    position: absolute !important;
    inset: 0 auto auto 50% !important;
    width: max-content !important;
    transform: translateX(-50%) !important;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    transition: clip-path .18s cubic-bezier(.2,.8,.2,1), filter .18s ease !important;
}
.login-easter-tagline .tagline-en {
    clip-path: inset(0 0 0 0);
    filter: blur(0);
}
.login-easter-tagline .tagline-lt {
    clip-path: inset(0 100% 0 0);
    filter: blur(.4px);
}
.login-easter-tagline .tagline-slot.show-lt .tagline-en {
    clip-path: inset(0 0 0 100%);
    filter: blur(.4px);
}
.login-easter-tagline .tagline-slot.show-lt .tagline-lt {
    clip-path: inset(0 0 0 0);
    filter: blur(0);
}

/* Seen is a reversible state. The small X removes only this recent-Seen card
   from the dashboard history; it does not ignore/delete the marketplace item. */
.seen-button.is-toggle-back {
    border-color: #34404d;
    background: #111923;
    color: #8f9aa7;
}
.dashboard-seen-dismiss-form {
    margin: 0;
    display: inline-flex;
}
.dashboard-seen-dismiss {
    width: 25px;
    height: 25px;
    min-width: 25px;
    padding: 0;
    border: 1px solid #2b3541;
    border-radius: 7px;
    background: #0b1118;
    color: #687482;
    font: 600 15px/1 system-ui, sans-serif;
    cursor: pointer;
}
.dashboard-seen-dismiss:hover {
    border-color: #5b3d6c;
    color: #c8a1dc;
}
.cp-settings-check {
    display: flex !important;
    align-items: center;
    gap: 9px !important;
    min-height: 34px;
}
.cp-settings-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 16px;
}
.cp-settings-check span {
    font-size: 12px;
    color: #aeb7c0;
}

/* Stronger overrides for the 0.8.4.x generic tagline rules. */
.login-brand .login-easter-tagline > .tagline-slot {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    inset: auto !important;
    display: inline-block !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}


/* ================================================================
   Currant Price 0.8.5.1 - smooth no-reload login language easter egg.
   The animation is isolated inside fixed-size boxes; it never changes the
   login card geometry and therefore cannot jerk the page.
   ================================================================ */
.login-card {
    contain: layout paint;
}
.login-brand {
    width: 100%;
}
.login-brand .brand-name {
    position: relative !important;
    width: 300px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    opacity: .001;
    transition: opacity .12s linear !important;
}
.login-brand .brand-name.brand-ready {
    opacity: 1;
}
.login-brand .brand-name > span {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: max-content !important;
    white-space: nowrap !important;
    transform-origin: center center !important;
    will-change: clip-path, transform, filter;
}
.login-brand .brand-name .brand-normal {
    transform: translateX(-50%) scaleX(var(--login-brand-en-scale, 1)) !important;
    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
    transition: clip-path .24s cubic-bezier(.2,.82,.2,1) !important;
}
.login-brand .brand-name .brand-lithuanian {
    transform: translateX(-50%) scaleX(var(--login-brand-lt-scale, 1)) !important;
    clip-path: inset(0 100% 0 0) !important;
    opacity: 1 !important;
    transition: clip-path .24s cubic-bezier(.2,.82,.2,1) !important;
}
.login-brand .brand-name.easter-lt .brand-normal {
    clip-path: inset(0 0 0 100%) !important;
}
.login-brand .brand-name.easter-lt .brand-lithuanian {
    clip-path: inset(0 0 0 0) !important;
}
.login-brand .login-easter-tagline {
    display: grid !important;
    grid-template-columns: 74px 8px 96px 8px 82px !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 5px !important;
    width: 300px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
.login-easter-tagline > i {
    position: static !important;
    text-align: center;
}
.login-easter-tagline .tagline-slot {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 18px !important;
    overflow: hidden !important;
    opacity: 1 !important;
    transform: none !important;
}
.login-easter-tagline .tagline-live {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    white-space: nowrap !important;
    transform: none !important;
    opacity: 1 !important;
}
.login-easter-tagline .tagline-next > span {
    display: inline-block;
    opacity: 0;
    transform: translateY(4px) scale(.94);
    filter: blur(2px);
    transition:
        opacity .10s linear calc(var(--char-index) * 22ms),
        transform .14s cubic-bezier(.2,.8,.2,1) calc(var(--char-index) * 22ms),
        filter .12s linear calc(var(--char-index) * 22ms);
}
.login-easter-tagline .tagline-next.is-visible > span {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}
.login-easter-tagline .tagline-old {
    transition: opacity .10s linear, transform .16s ease !important;
}
.login-easter-tagline .tagline-old.is-leaving {
    opacity: 0 !important;
    transform: translateY(-3px) !important;
}
/* Keep login dimensions stable while copy changes in-place. */
.login-copy {
    min-height: 82px;
}
.login-form label > span {
    display: block;
    min-height: 1.2em;
}
.login-form-row {
    min-height: 22px;
}
.login-form > button[type="submit"] {
    width: 100%;
}
.login-footer-access {
    min-height: 18px;
}


/* ================================================================
   Currant Price 0.8.5.2 - static login brand, no easter egg.
   Language changes only translated copy; brand geometry never animates.
   ================================================================ */
.login-brand .login-static-brand {
    position: relative !important;
    display: block !important;
    width: 300px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    transition: none !important;
    text-align: center !important;
}
.login-brand .login-static-brand > .brand-normal {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
    transition: none !important;
    white-space: nowrap !important;
}
.login-brand .login-static-tagline {
    position: static !important;
    display: block !important;
    width: 300px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 auto !important;
    overflow: visible !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
}


/* ================================================================
   Currant Price 0.8.5.3 - premium static login wordmark.
   The wordmark and tagline are separate flow rows with explicit line
   boxes, so the tagline can never overlap the main brand text.
   Uses a local/system display stack only: no external font dependency.
   ================================================================ */
.login-brand .login-static-brand {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 22px auto 0 !important;
    overflow: visible !important;
    text-align: center !important;
    font-family:
        "Segoe UI Variable Display",
        "SF Pro Display",
        "Aptos Display",
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: clamp(2.15rem, 7vw, 2.65rem) !important;
    font-weight: 560 !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
}
.login-brand .login-static-brand > .brand-normal {
    position: static !important;
    inset: auto !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
    transition: none !important;
    white-space: nowrap !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    font: inherit !important;
}
.login-brand .login-static-brand > .brand-normal em {
    font: inherit !important;
    color: var(--cp-gold) !important;
}
.login-brand .login-static-tagline {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 11px auto 0 !important;
    padding: 0 0 1px !important;
    overflow: visible !important;
    color: var(--cp-gold) !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    font-family:
        "Segoe UI Variable Text",
        "SF Pro Text",
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
    font-size: .60rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: .25em !important;
}

@media (max-width: 520px) {
    .login-brand .login-static-brand {
        margin-top: 20px !important;
        font-size: clamp(2rem, 10vw, 2.45rem) !important;
    }
    .login-brand .login-static-tagline {
        margin-top: 10px !important;
        font-size: .56rem !important;
        letter-spacing: .21em !important;
    }
}

/* 0.8.5.4 - friendly browser form feedback; never expose raw API JSON for normal UI mistakes. */
.cp-ui-flash {
    position: fixed;
    z-index: 5000;
    left: 50%;
    top: 18px;
    transform: translateX(-50%);
    width: min(560px, calc(100vw - 28px));
    padding: 11px 14px;
    border: 1px solid rgba(162, 93, 255, .38);
    border-radius: 12px;
    background: rgba(17, 20, 29, .97);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .28);
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
}
.cp-ui-flash-error { border-color: rgba(255, 103, 126, .5); }
.cp-ui-flash-success { border-color: rgba(112, 220, 163, .45); }
.cp-dialog-error { margin: 8px 0 2px; }


/* ================================================================
   Currant Price 0.8.6.0 - Account invite placement + authenticated
   brand/BETA boundary fix.
   ================================================================ */

/* The authenticated app no longer has a brand language easter egg. Let the
   visible English wordmark determine its real width instead of reserving the
   old 136px animation box. This keeps BETA physically inside the brand row
   and away from the sidebar divider on first paint. */
.app-frame .side-brand,
.app-frame .mobile-brand {
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: visible !important;
    column-gap: 6px !important;
}
.app-frame .sidebar > .side-brand {
    padding-right: 12px !important;
}
.app-frame .compact-logo,
.app-frame .mobile-logo-trick {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: calc(100% - 50px) !important;
    flex: 0 1 auto !important;
    overflow: visible !important;
    transition: none !important;
}
.app-frame .compact-logo > .brand-normal,
.app-frame .mobile-logo-trick > .brand-normal {
    position: static !important;
    display: inline !important;
    width: auto !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    white-space: nowrap !important;
}
.app-frame .compact-logo > .brand-lithuanian,
.app-frame .mobile-logo-trick > .brand-lithuanian {
    display: none !important;
}
.app-frame .app-stage-badge {
    position: static !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    transform: none !important;
}

/* Invite belongs to Account settings, not the global navigation. */
.account-invite-card .panel-heading {
    margin-bottom: 4px;
}
.account-invite-card .admin-kicker {
    margin: 0 0 5px !important;
    color: #9a73b0 !important;
    font-size: 9px !important;
    letter-spacing: .15em !important;
}
.account-invite-card .settings-form p {
    margin-top: 0;
}

/* 0.8.6.0 - stable authenticated brand + lifecycle/admin notification polish */
.app-frame .side-brand {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding-right: 18px !important;
    overflow: visible !important;
}
.app-frame .side-brand > img {
    flex: 0 0 auto !important;
}
.app-frame .side-brand .compact-logo {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    flex: 0 1 auto !important;
}
.app-frame .side-brand .compact-logo .brand-normal {
    position: static !important;
    display: inline !important;
    width: auto !important;
    white-space: nowrap !important;
}
.app-frame .side-brand .compact-logo .brand-lithuanian {
    display: none !important;
}
.app-frame .side-brand .app-stage-badge {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 0 0 1px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    white-space: nowrap !important;
}

.listing-age {
    color: #a7a9ba !important;
    white-space: nowrap;
}
.listing-life-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 7px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1;
    white-space: nowrap;
    border: 1px solid rgba(255,255,255,.08);
}
.listing-life-badge.available {
    color: #a8e2bd;
    background: rgba(67, 160, 104, .10);
}
.listing-life-badge.unavailable {
    color: #ffbdc9;
    background: rgba(186, 62, 88, .13);
    border-color: rgba(224, 92, 117, .22);
}
.listing-life-badge.relisted {
    color: #e2c2ff;
    background: rgba(137, 77, 188, .13);
    border-color: rgba(155, 96, 205, .22);
}
.listing-life-summary {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 14px;
    align-items: baseline;
    margin: 10px 0 14px;
}
.listing-life-summary small { color: #8f91a5; }
.listing-life-summary strong { font-size: 12px; font-weight: 650; }
.listing-price-history {
    margin: 10px 0 16px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 10px 12px;
    background: rgba(255,255,255,.02);
}
.listing-price-history summary { cursor: pointer; font-weight: 700; }
.listing-price-history > div {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}
.listing-price-history span {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}
.listing-price-history small { color: #8f91a5; }

.cp-admin-bell-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.cp-admin-bell {
    position: relative;
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.025);
    color: #c7c3d5;
    cursor: pointer;
}
.cp-admin-bell:hover { border-color: rgba(155, 96, 205, .38); color: #fff; }
.cp-admin-bell svg { width: 18px; height: 18px; }
.cp-admin-bell-count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #9d6ad4;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    box-shadow: 0 0 0 2px #0b0b12;
}
.cp-admin-bell-dropdown {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    width: min(330px, 86vw);
    z-index: 50;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(18, 16, 25, .98);
    box-shadow: 0 20px 60px rgba(0,0,0,.42);
    padding: 9px;
}
.cp-admin-bell-dropdown[hidden] { display: none !important; }
.cp-admin-bell-head,
.cp-admin-bell-item,
.cp-admin-bell-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.cp-admin-bell-head { padding: 5px 6px 9px; }
.cp-admin-bell-item {
    padding: 9px 7px;
    border-top: 1px solid rgba(255,255,255,.055);
}
.cp-admin-bell-item div { min-width: 0; }
.cp-admin-bell-item strong,
.cp-admin-bell-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-admin-bell-item small { color: #8f91a5; margin-top: 2px; }
.cp-admin-bell-footer {
    padding: 9px 6px 4px;
    border-top: 1px solid rgba(255,255,255,.055);
}
.cp-admin-bell-footer a { color: #c8a4ee; text-decoration: none; font-weight: 700; font-size: 12px; }

@media (max-width: 900px) {
    .cp-admin-bell { width: 34px; height: 34px; }
    .cp-admin-bell-dropdown { position: fixed; top: 64px; right: 10px; }
}

/* ================================================================
   Currant Price 0.8.6.2 - final authenticated sidebar BETA fit fix.
   Keep logo, wordmark and stage badge as three non-overlapping flex items
   that fit inside the real 220px sidebar content width.
   ================================================================ */
.app-frame .sidebar > .side-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    gap: 6px !important;
    overflow: hidden !important;
}
.app-frame .sidebar > .side-brand > img {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
}
.app-frame .sidebar > .side-brand .compact-logo {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
}
.app-frame .sidebar > .side-brand .compact-logo .brand-normal {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    font-size: .84rem !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}
.app-frame .sidebar > .side-brand .app-stage-badge {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 0 0 1px !important;
    padding: 2px 4px !important;
    min-height: 15px !important;
    font-size: .40rem !important;
    line-height: 1 !important;
    transform: none !important;
    white-space: nowrap !important;
}

/* Currant Price 0.8.7.1 - configurable price intelligence widgets; dark UI only. */

.dashboard-primary-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.dashboard-customize-button {
    padding: 9px 12px;
    border: 1px solid #303746;
    border-radius: 8px;
    background: transparent;
    color: var(--cp-muted);
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    cursor: pointer;
}
.dashboard-customize-button:hover { color: var(--cp-text); border-color: #5b3a74; }

.dashboard-intelligence-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr);
    gap: 16px;
    margin-top: 16px;
}
.dashboard-intelligence-grid .panel-card { margin-top: 0; }

.cp-dashboard-widget {
    min-width: 0;
    padding: 18px;
    overflow: hidden;
}

.cp-widget-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.cp-widget-head h2 { margin: 2px 0 4px; font-size: 1rem; }
.cp-widget-head p:not(.admin-kicker) { margin: 0; color: var(--cp-muted); font-size: .72rem; }
.cp-widget-remove,
.cp-dialog-close {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    padding: 0;
    border: 1px solid #2e3542;
    border-radius: 8px;
    background: transparent;
    color: #87909e;
    font-size: 1rem;
    cursor: pointer;
}
.cp-widget-remove:hover,
.cp-dialog-close:hover { color: var(--cp-text); border-color: #6a3d83; }

.cp-price-chart {
    position: relative;
    min-height: 246px;
}
.cp-price-chart svg {
    display: block;
    width: 100%;
    height: 230px;
    overflow: visible;
}
.cp-chart-grid line { stroke: rgba(143,151,165,.15); stroke-width: 1; }
.cp-price-chart [data-chart-line] {
    stroke: var(--cp-purple);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 7px rgba(139,63,212,.35));
}
.cp-price-chart [data-chart-points] circle {
    fill: var(--cp-gold);
    stroke: var(--cp-panel);
    stroke-width: 2;
}
.cp-price-chart text {
    fill: var(--cp-muted);
    font-family: inherit;
    font-size: 11px;
}
.cp-chart-summary {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: -2px 0 0 48px;
}
.cp-chart-summary strong { color: var(--cp-gold); font-size: 1.05rem; }
.cp-chart-summary small { color: var(--cp-muted); font-size: .68rem; }

.cp-price-change-list { display: grid; gap: 7px; }
.cp-price-change-item {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px;
    border: 1px solid rgba(141,150,165,.14);
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
    background: rgba(255,255,255,.012);
}
.cp-price-change-item:hover { border-color: rgba(139,63,212,.42); background: rgba(139,63,212,.055); }
.cp-change-thumb {
    width: 42px;
    height: 42px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    color: var(--cp-purple);
}
.cp-change-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cp-change-copy { min-width: 0; display: grid; gap: 3px; }
.cp-change-copy strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .76rem; }
.cp-change-copy small { color: var(--cp-muted); font-size: .64rem; }
.cp-change-pill {
    min-width: 58px;
    padding: 6px 7px;
    border-radius: 7px;
    text-align: center;
    font-size: .68rem;
    font-weight: 850;
}
.cp-change-pill.down { color: #8bedad; background: rgba(55,165,100,.14); }
.cp-change-pill.up { color: #ff9da7; background: rgba(186,56,72,.14); }

.cp-widget-empty {
    display: grid;
    gap: 5px;
    min-height: 150px;
    place-content: center;
    text-align: center;
    color: var(--cp-muted);
}
.cp-widget-empty strong { color: var(--cp-text); font-size: .82rem; }
.cp-widget-empty span { font-size: .7rem; }

.cp-dashboard-customize-dialog {
    width: min(480px, calc(100vw - 28px));
    padding: 0;
    border: 1px solid #352844;
    border-radius: 16px;
    background: #0e131b;
    color: var(--cp-text);
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
.cp-dashboard-customize-dialog::backdrop { background: rgba(4,6,10,.72); backdrop-filter: blur(4px); }
.cp-dashboard-customize-form { display: grid; gap: 11px; padding: 20px; }
.cp-dashboard-customize-form > p { margin: 0 0 4px; color: var(--cp-muted); font-size: .75rem; }
.cp-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.cp-dialog-head h2 { margin: 2px 0 0; font-size: 1.08rem; }
.cp-dashboard-widget-option {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px;
    border: 1px solid #262e3a;
    border-radius: 10px;
    background: #111720;
    cursor: pointer;
}
.cp-dashboard-widget-option input { accent-color: var(--cp-purple); }
.cp-dashboard-widget-option span { display: grid; gap: 2px; }
.cp-dashboard-widget-option strong { font-size: .78rem; }
.cp-dashboard-widget-option small { color: var(--cp-muted); font-size: .66rem; }
.cp-dashboard-customize-save {
    margin-top: 3px;
    padding: 11px 14px;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(135deg,var(--cp-purple),var(--cp-purple-2));
    color: white;
    font-weight: 800;
    cursor: pointer;
}

@media (max-width: 980px) {
    .dashboard-intelligence-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .dashboard-primary-actions { width: 100%; justify-content: flex-end; flex-wrap: wrap; }
    .cp-dashboard-widget { padding: 14px; }
    .cp-price-chart { min-height: 210px; }
    .cp-price-chart svg { height: 198px; }
    .cp-chart-summary { margin-left: 12px; }
    .cp-price-change-item { grid-template-columns: 38px minmax(0,1fr) auto; }
    .cp-change-thumb { width: 38px; height: 38px; }
}


/* Currant Price 0.8.7.3 - dashboard Agent Settings placement/polish. */
.admin-agent-shortcut-dashboard {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-color: rgba(92, 104, 122, .28);
    background: rgba(15, 20, 28, .72);
    box-shadow: none;
}
.admin-agent-shortcut-dashboard strong {
    color: #d4d9e1;
    font-size: .9rem;
}
.admin-agent-shortcut-dashboard small {
    color: #7f8996;
    font-size: .76rem;
}
.admin-agent-shortcut-dashboard a {
    min-height: 30px;
    padding: 0 10px;
    border-color: rgba(120, 130, 145, .30);
    color: #b7c0cb;
    background: rgba(255, 255, 255, .015);
}
.admin-agent-shortcut-dashboard a:hover {
    border-color: rgba(154, 97, 214, .48);
    color: #d8b8f2;
}

/* ================================================================
   Currant Price 0.8.7.3 - fully customizable per-user dashboard.
   ================================================================ */
.dashboard-widget-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.dashboard-widget-stack > [data-dashboard-widget] {
    position: relative;
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: 0 !important;
}

.dashboard-widget-stack > [data-dashboard-widget="price_dynamics"],
.dashboard-widget-stack > [data-dashboard-widget="price_changes"] {
    grid-column: span 1;
}

.dashboard-widget-stack > .dashboard-widget-single-price {
    grid-column: 1 / -1 !important;
}

.dashboard-intelligence-staging { display: contents; }

.dashboard-edit-toolbar {
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px dashed #6b3d7c;
    border-radius: 10px;
    background: rgba(110, 42, 145, .08);
    color: #aab2bc;
    font-size: 11px;
}
.dashboard-edit-toolbar:not([hidden]) { display: flex; }
.dashboard-edit-toolbar > div { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.dashboard-edit-toolbar form { margin: 0; }
.dashboard-edit-toolbar button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #493057;
    border-radius: 7px;
    background: #121820;
    color: #d6a3e5;
    font: inherit;
    cursor: pointer;
}
.dashboard-edit-toolbar .dashboard-reset-button { color: #d98994; border-color: #5a3038; }
.dashboard-customize-button.active { border-color: #8e45aa; color: #e5b4f2; background: rgba(126,45,164,.13); }

.dashboard-drag-controls {
    display: none;
    position: absolute;
    z-index: 15;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    gap: 3px;
    padding: 3px;
    border: 1px solid #5b366c;
    border-radius: 8px;
    background: #0c1117;
    box-shadow: 0 6px 20px rgba(0,0,0,.35);
}
.dashboard-widget-stack.is-customizing > [data-dashboard-widget] {
    outline: 1px dashed rgba(176, 87, 211, .58);
    outline-offset: 3px;
    cursor: grab;
}
.dashboard-widget-stack.is-customizing > [data-dashboard-widget] > .dashboard-drag-controls { display: flex; }
.dashboard-drag-controls button {
    width: 28px;
    height: 26px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #aeb7c2;
    cursor: pointer;
}
.dashboard-drag-controls button:hover { background: #1a222b; color: #fff; }
.dashboard-drag-handle { padding: 0 6px; color: #c167e1; font-weight: 800; letter-spacing: -2px; user-select: none; }
.is-dashboard-dragging { opacity: .48; }

.cp-dashboard-widget-config-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px;
    align-items: center;
    gap: 10px;
}
.cp-dashboard-widget-config-row > label { display: flex; align-items: center; gap: 9px; min-width: 0; }
.cp-dashboard-widget-config-row select,
.cp-dashboard-position-label select {
    height: 34px;
    border: 1px solid #343e49;
    border-radius: 7px;
    background: #0d1319;
    color: #dce2e8;
    padding: 0 8px;
}
.cp-dashboard-default-note { color: #7f8994; font-size: 10px; line-height: 1.45; }

.cp-account-dashboard-list { display: grid; gap: 7px; }
.cp-account-dashboard-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 9px;
    border: 1px solid #26313b;
    border-radius: 8px;
    background: #0e141a;
}
.cp-dashboard-position-label { display: flex; align-items: center; gap: 7px; color: #808b96; font-size: 10px; }
.cp-dashboard-position-label select { width: 58px; }

@media (max-width: 760px) {
    .dashboard-widget-stack { grid-template-columns: 1fr; gap: 12px; }
    .dashboard-widget-stack > [data-dashboard-widget],
    .dashboard-widget-stack > [data-dashboard-widget="price_dynamics"],
    .dashboard-widget-stack > [data-dashboard-widget="price_changes"] { grid-column: 1 !important; }
    .dashboard-edit-toolbar:not([hidden]) { align-items: flex-start; flex-direction: column; }
    .dashboard-drag-controls { top: 6px; }
    .cp-dashboard-widget-config-row { grid-template-columns: minmax(0, 1fr) 62px; }
}

[data-dashboard-intelligence-staging] { display: contents; }

/* ================================================================
   Currant Price 0.8.7.5 - dashboard customize usability fixes (legacy).
   Hidden widgets are added from the menu; drag controls exist only
   while explicit arrange mode is active.
   ================================================================ */
.dashboard-drag-controls[hidden] {
    display: none !important;
}
.cp-dashboard-customize-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 3px;
}
.cp-dashboard-arrange-button {
    padding: 11px 14px;
    border: 1px solid #463052;
    border-radius: 9px;
    background: #111720;
    color: #c89ada;
    font-weight: 750;
    cursor: pointer;
}
.cp-dashboard-arrange-button:hover {
    border-color: #75428b;
    background: rgba(126,45,164,.08);
}
@media (max-width: 520px) {
    .cp-dashboard-customize-actions { grid-template-columns: 1fr; }
}

/* 0.8.7.5 mobile brand: keep the full wordmark and make BETA a quiet watermark. */
@media (max-width: 900px) {
    .app-frame .mobile-brand {
        gap: 6px !important;
        overflow: visible !important;
    }
    .app-frame .mobile-logo-trick {
        max-width: none !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
    }
    .app-frame .mobile-logo-trick > .brand-normal {
        font-size: inherit !important;
        white-space: nowrap !important;
    }
    .app-frame .mobile-brand > .app-stage-badge {
        opacity: .38 !important;
        margin-left: 2px !important;
        padding: 1px 3px !important;
        font-size: .34rem !important;
        border-color: rgba(178, 113, 220, .34) !important;
        background: rgba(124, 66, 156, .05) !important;
        pointer-events: none;
    }
}


/* ================================================================
   Currant Price 0.8.7.6 - simple drag-first dashboard configuration.
   No position-number inputs and no separate arrange mode.
   ================================================================ */
.cp-dashboard-config-list {
    display: grid;
    gap: 8px;
}
.cp-dashboard-widget-config-row,
.cp-account-dashboard-row {
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 9px;
}
.cp-config-drag-handle {
    display: grid;
    place-items: center;
    width: 28px;
    min-height: 34px;
    color: #a65ac6;
    font-weight: 900;
    letter-spacing: -2px;
    cursor: grab;
    user-select: none;
    touch-action: none;
}
[data-dashboard-config-row] { cursor: grab; }
[data-dashboard-config-row]:active,
[data-dashboard-config-row].is-config-dragging { cursor: grabbing; }
[data-dashboard-config-row].is-config-dragging {
    opacity: .48;
    border-color: #6b3c7d;
}
.cp-config-move-buttons {
    display: flex;
    gap: 4px;
}
.cp-config-move-buttons button {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #343e49;
    border-radius: 7px;
    background: #0d1319;
    color: #bdc5ce;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}
.cp-config-move-buttons button:hover {
    border-color: #69407b;
    color: #fff;
    background: #151b24;
}
.cp-dashboard-customize-actions {
    display: block !important;
}
.cp-dashboard-customize-save { width: 100%; }
/* Retired numeric/select order UI from 0.8.7.3. */
.cp-dashboard-widget-config-row select,
.cp-dashboard-position-label,
.cp-dashboard-position-label select,
.cp-dashboard-arrange-button,
.dashboard-edit-toolbar,
.dashboard-drag-controls {
    display: none !important;
}
@media (min-width: 761px) {
    .cp-config-move-buttons { opacity: .45; }
    [data-dashboard-config-row]:hover .cp-config-move-buttons { opacity: 1; }
}
@media (max-width: 760px) {
    .cp-config-drag-handle { width: 24px; }
    .cp-config-move-buttons button { width: 34px; height: 34px; }
}


/* ================================================================
   Currant Price 0.8.7.8 - public beta source-card layout polish.
   Source status and scan timestamps must never overlap in 3-column
   watch layouts. Keep each block in its own grid track and allow text
   to wrap naturally on narrower desktop cards.
   ================================================================ */
.watch-source-card-head {
    display: grid;
    grid-template-columns: minmax(118px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: 10px 14px;
}

.watch-source-title {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.source-query-state {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

.source-auto-times {
    min-width: 0;
    width: 100%;
    justify-items: stretch;
    text-align: left;
}

.source-last-scan,
.source-next-scan {
    min-width: 0;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    justify-content: stretch;
    gap: 3px 7px;
    white-space: normal;
}

.source-last-scan strong,
.source-next-scan strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.source-next-scan em {
    grid-column: 2;
    margin-left: 0;
    white-space: normal;
}

@media (max-width: 760px) {
    .watch-source-card-head {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Currant Price 0.8.8.0 - deterministic Query Expansion / Aliases. */
.query-expansion-note {
    margin: .55rem 0 .2rem;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .55rem;
    align-items: baseline;
    font-size: .9rem;
    color: var(--muted, #aeb4c5);
}
.query-expansion-note strong {
    color: var(--text, #f5f7ff);
}
.query-expansion-note span {
    overflow-wrap: anywhere;
}


/* 0.8.8.2 Dashboard Seen inbox behavior.
   Cards leave the NEW queue in-place after the server confirms Seen. */
.dashboard-new-card {
    transition: opacity .18s ease, transform .18s ease, max-height .22s ease, margin .22s ease, padding .22s ease;
}
.dashboard-new-card.is-removing {
    opacity: 0;
    transform: translateY(-6px) scale(.985);
    pointer-events: none;
}
.js-dashboard-seen-form .seen-button:disabled,
.js-dashboard-seen-all-form .seen-all-button:disabled {
    opacity: .55;
    cursor: wait;
}

/* ================================================================
   Currant Price 0.8.8.4 - Alerts view modes + alignment polish
   ================================================================ */
.alerts-view-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 12px;
    padding: 10px 12px !important;
}

.alerts-view-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.alerts-view-button,
.alerts-sort-control select {
    min-height: 34px;
    border: 1px solid #303946;
    border-radius: 9px;
    background: #10161e;
    color: #aeb8c6;
    font: inherit;
}

.alerts-view-button {
    padding: 7px 10px;
    cursor: pointer;
}

.alerts-view-button:hover,
.alerts-view-button.active {
    border-color: rgba(179, 92, 238, .72);
    background: rgba(143, 57, 201, .16);
    color: #f0e6f8;
}

.alerts-sort-control {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8b96a4;
    font-size: .78rem;
    white-space: nowrap;
}

.alerts-sort-control select {
    padding: 6px 30px 6px 9px;
}

/* List mode: every card uses the exact same three-column geometry. */
.alerts-list[data-view="list"] .alert-listing-card,
.alerts-list[data-view="compact"] .alert-listing-card {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) 118px;
    align-items: center;
    gap: 14px;
}

.alert-listing-card .alert-main {
    min-width: 0;
    width: 100%;
}

.alert-listing-card .alert-main h3,
.alert-listing-card .alert-main p,
.alert-listing-card .result-source-line {
    text-align: left !important;
}

.alert-listing-card .result-source-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
}

.alert-listing-card .result-source-line small {
    margin-left: auto;
}

.alert-listing-card .listing-thumb-alert {
    width: 78px;
    height: 62px;
    min-width: 78px;
    overflow: hidden;
    border-radius: 9px;
}

.alert-listing-card .listing-thumb-alert img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alert-listing-card .alert-side {
    width: 118px;
    min-width: 118px;
    justify-self: end;
}

.alert-listing-card .alert-side form,
.alert-listing-card .alert-side button {
    width: 100%;
}

/* Grid/card mode: image-led cards, 3 columns on wide desktop. */
.alerts-list[data-view="grid"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.alerts-list[data-view="grid"] .alert-listing-card {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    padding: 11px;
    min-width: 0;
}

.alerts-list[data-view="grid"] .listing-thumb-alert {
    width: 100%;
    height: auto;
    min-width: 0;
    aspect-ratio: 16 / 10;
    border-radius: 10px;
}

.alerts-list[data-view="grid"] .alert-main {
    flex: 1 1 auto;
}

.alerts-list[data-view="grid"] .alert-main h3 {
    margin-top: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.alerts-list[data-view="grid"] .result-source-line small {
    width: 100%;
    margin-left: 0;
}

.alerts-list[data-view="grid"] .alert-side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-width: 0;
    justify-items: stretch;
    align-items: center;
    gap: 7px;
}

.alerts-list[data-view="grid"] .alert-side > strong {
    grid-column: 1 / -1;
    justify-self: end;
}

.alerts-list[data-view="grid"] .alert-side > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    border: 1px solid #303946;
    border-radius: 8px;
}

/* Compact mode keeps alignment but reduces vertical space. */
.alerts-list[data-view="compact"] {
    gap: 6px;
}

.alerts-list[data-view="compact"] .alert-listing-card {
    grid-template-columns: 52px minmax(0, 1fr) 108px;
    gap: 10px;
    padding: 8px 10px;
}

.alerts-list[data-view="compact"] .listing-thumb-alert {
    width: 52px;
    height: 44px;
    min-width: 52px;
}

.alerts-list[data-view="compact"] .alert-main h3 {
    margin: 3px 0 2px;
    font-size: 12px !important;
    line-height: 1.25 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.alerts-list[data-view="compact"] .alert-main p {
    font-size: 11px !important;
}

.alerts-list[data-view="compact"] .alert-side {
    width: 108px;
    min-width: 108px;
    gap: 5px;
}

@media (max-width: 1100px) {
    .alerts-list[data-view="grid"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .alerts-view-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .alerts-sort-control {
        justify-content: space-between;
    }

    .alerts-sort-control select {
        flex: 1;
        min-width: 0;
    }

    .alerts-list[data-view="grid"] {
        grid-template-columns: 1fr;
    }

    .alerts-list[data-view="list"] .alert-listing-card,
    .alerts-list[data-view="compact"] .alert-listing-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .alerts-list[data-view="list"] .listing-thumb-alert,
    .alerts-list[data-view="compact"] .listing-thumb-alert {
        width: 64px;
        height: 56px;
        min-width: 64px;
    }

    .alerts-list[data-view="list"] .alert-side,
    .alerts-list[data-view="compact"] .alert-side {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .alerts-list[data-view="list"] .alert-side form,
    .alerts-list[data-view="compact"] .alert-side form,
    .alerts-list[data-view="list"] .alert-side button,
    .alerts-list[data-view="compact"] .alert-side button {
        width: auto;
    }
}

/* ================================================================
   Currant Price 0.8.8.6 - Alerts controls, cleaner typography and
   admin Telegram visibility.
   ================================================================ */
.alerts-view-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
    align-items: end !important;
    gap: 14px !important;
    padding: 13px 14px !important;
    background: #0f141c !important;
}

.alerts-view-buttons {
    display: flex !important;
    gap: 7px !important;
}

.alerts-view-button {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid #313947 !important;
    border-radius: 9px !important;
    background: #121821 !important;
    color: #b8c0cb !important;
    font-family: inherit !important;
    font-size: .75rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    appearance: none !important;
}

.alerts-view-button:hover,
.alerts-view-button.active {
    border-color: #7f43b4 !important;
    background: #241331 !important;
    color: #f4edf8 !important;
}

.alerts-sort-control {
    display: grid !important;
    gap: 5px !important;
    color: #8e98a7 !important;
    font-size: .68rem !important;
}

.alerts-sort-control select {
    width: 100% !important;
    min-height: 36px !important;
    padding: 0 34px 0 10px !important;
    border: 1px solid #313947 !important;
    border-radius: 9px !important;
    background: #121821 !important;
    color: #d7dce4 !important;
    font-family: inherit !important;
    font-size: .74rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.alerts-list {
    display: grid !important;
    gap: 9px !important;
}

.alert-listing-card {
    box-sizing: border-box !important;
    border: 1px solid #252d39 !important;
    border-radius: 12px !important;
    background: #0f141b !important;
    color: #e9edf2 !important;
    box-shadow: none !important;
    transition: border-color .15s ease, background .15s ease, opacity .18s ease, transform .18s ease !important;
}

.alert-listing-card:hover {
    border-color: #3a4554 !important;
    background: #111720 !important;
}

.alerts-list[data-view="list"] .alert-listing-card {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) 142px !important;
    align-items: start !important;
    gap: 14px !important;
    min-height: 104px !important;
    padding: 12px 14px !important;
}

.alerts-list[data-view="list"] .listing-thumb-alert {
    width: 92px !important;
    height: 78px !important;
    min-width: 92px !important;
    align-self: start !important;
}

.alert-listing-card .alert-main {
    min-width: 0 !important;
    padding: 0 !important;
    align-self: start !important;
}

.alert-listing-card .result-source-line {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px 9px !important;
    min-height: 21px !important;
    margin: 0 0 5px !important;
    color: #b26ee1 !important;
    font-size: .6rem !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.alert-listing-card .result-source-line small {
    margin-left: auto !important;
    color: #737e8d !important;
    font-size: .58rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.alert-listing-card .alert-main h3 {
    margin: 0 0 6px !important;
    color: #eef1f5 !important;
    font-family: inherit !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    line-height: 1.38 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
}

.alert-listing-card .alert-main p {
    margin: 0 !important;
    color: #818c9b !important;
    font-size: .65rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.alert-listing-card .alert-side {
    display: grid !important;
    width: 142px !important;
    min-width: 142px !important;
    gap: 6px !important;
    justify-self: end !important;
    align-self: start !important;
}

.alert-listing-card .alert-side > strong {
    justify-self: end !important;
    color: #efc653 !important;
    font-size: .92rem !important;
    line-height: 1.15 !important;
}

.alert-listing-card .alert-side > a,
.alert-listing-card .alert-side button,
.alert-listing-card .already-seen-label {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 8px !important;
    border: 1px solid #323b48 !important;
    border-radius: 8px !important;
    background: #121820 !important;
    color: #b9c1cc !important;
    font-family: inherit !important;
    font-size: .64rem !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.alert-listing-card .favorite-button.active {
    border-color: #7a3f8e !important;
    color: #e6a1f0 !important;
}

.alert-listing-card .not-interested-button {
    border-color: #50323a !important;
    color: #cc8e97 !important;
}

.alert-listing-card .alert-side form {
    width: 100% !important;
    margin: 0 !important;
}

.alert-listing-card.is-action-pending {
    opacity: .6 !important;
}

.alert-listing-card.is-removing {
    opacity: 0 !important;
    transform: translateY(-4px) !important;
    pointer-events: none !important;
}

/* Image-led marketplace cards. */
.alerts-list[data-view="grid"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.alerts-list[data-view="grid"] .alert-listing-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-content: start !important;
    gap: 10px !important;
    padding: 11px !important;
}

.alerts-list[data-view="grid"] .listing-thumb-alert {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 10px !important;
}

.alerts-list[data-view="grid"] .listing-thumb-alert img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.alerts-list[data-view="grid"] .result-source-line small {
    width: 100% !important;
    margin-left: 0 !important;
}

.alerts-list[data-view="grid"] .alert-main h3 {
    min-height: 4.15em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
}

.alerts-list[data-view="grid"] .alert-side {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.alerts-list[data-view="grid"] .alert-side > strong {
    grid-column: 1 / -1 !important;
}

/* Compact keeps every row aligned while fitting more results. */
.alerts-list[data-view="compact"] .alert-listing-card {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 126px !important;
    align-items: start !important;
    gap: 10px !important;
    padding: 8px 10px !important;
}

.alerts-list[data-view="compact"] .listing-thumb-alert {
    width: 58px !important;
    height: 48px !important;
    min-width: 58px !important;
}

.alerts-list[data-view="compact"] .alert-main h3 {
    margin-bottom: 3px !important;
    font-size: .7rem !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}

.alerts-list[data-view="compact"] .alert-main p {
    font-size: .6rem !important;
}

.alerts-list[data-view="compact"] .alert-side {
    width: 126px !important;
    min-width: 126px !important;
}

/* Admin Telegram overview. */
.admin-telegram-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
}

.admin-telegram-summary > div {
    padding: 12px;
    border: 1px solid #252e3a;
    border-radius: 10px;
    background: #0e141b;
}

.admin-telegram-summary small,
.admin-telegram-detail small {
    color: #7f8a98;
    font-size: .64rem;
}

.admin-telegram-summary strong {
    display: block;
    margin-top: 4px;
    color: #eef1f5;
    font-size: 1.05rem;
}

.telegram-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 7px;
    border: 1px solid #333d49;
    border-radius: 999px;
    color: #99a4b2;
    font-size: .6rem;
    font-weight: 750;
}

.telegram-status-badge.linked {
    border-color: rgba(68, 196, 124, .36);
    color: #65d995;
}

.telegram-status-badge.pending {
    border-color: rgba(232, 184, 78, .38);
    color: #e7bd63;
}

.admin-telegram-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-top: 8px;
}

.admin-telegram-detail .telegram-handle {
    color: #c997e8;
    font-size: .67rem;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .alerts-list[data-view="grid"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .alerts-view-toolbar {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .alerts-view-buttons {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .alerts-view-button {
        padding: 0 6px !important;
    }

    .alerts-list[data-view="grid"] {
        grid-template-columns: 1fr !important;
    }

    .alerts-list[data-view="list"] .alert-listing-card,
    .alerts-list[data-view="compact"] .alert-listing-card {
        grid-template-columns: 72px minmax(0, 1fr) !important;
    }

    .alerts-list[data-view="list"] .listing-thumb-alert,
    .alerts-list[data-view="compact"] .listing-thumb-alert {
        width: 72px !important;
        min-width: 72px !important;
        height: 62px !important;
    }

    .alerts-list[data-view="list"] .alert-side,
    .alerts-list[data-view="compact"] .alert-side {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .admin-telegram-summary {
        grid-template-columns: 1fr !important;
    }
}

/* ================================================================
   Currant Price 0.8.8.9 - Ignore List card polish.
   ================================================================ */
.ignored-page-heading {
    margin-bottom: 26px;
}

.ignored-listings-grid {
    display: grid;
    gap: 12px;
}

.ignored-listing-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 118px;
    padding: 13px 15px;
    border: 1px solid #2b3541;
    border-radius: 12px;
    background: #0e141c;
    overflow: hidden;
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}

.ignored-listing-card:hover {
    border-color: #3c4857;
}

.ignored-listing-card.is-removing {
    opacity: 0;
    transform: translateX(12px);
}

.ignored-listing-thumb {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #303a46;
    border-radius: 10px;
    background: #111923;
    color: #67717e;
    text-decoration: none;
}

.ignored-listing-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ignored-listing-main {
    min-width: 0;
}

.ignored-listing-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin-bottom: 7px;
}

.ignored-source-badge,
.ignored-state-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.ignored-source-badge {
    border: 1px solid rgba(171, 91, 217, .45);
    background: rgba(171, 91, 217, .10);
    color: #ca8df0;
    text-transform: uppercase;
}

.ignored-state-badge {
    border: 1px solid rgba(183, 76, 88, .34);
    background: rgba(132, 51, 61, .09);
    color: #d89ca3;
}

.ignored-listing-title {
    color: #e6ebf0;
    font-size: .89rem;
    line-height: 1.38;
    font-weight: 750;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ignored-listing-title:hover {
    color: #ffffff;
}

.ignored-listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 9px;
    color: #8893a0;
    font-size: .72rem;
}

.ignored-listing-side {
    min-width: 118px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 9px;
}

.ignored-listing-price {
    color: #f1c94c;
    font-size: 1rem;
    line-height: 1;
}

.ignored-listing-side form {
    margin: 0;
}

.ignored-listing-side .restore-ignore-button {
    min-width: 104px;
}

.ignored-listing-id {
    color: #65707d;
    font-size: .64rem;
}

.ignored-empty-state {
    display: grid;
    gap: 5px;
    color: #87919d;
}

.ignored-empty-state strong {
    color: #c5ced7;
}

@media (max-width: 720px) {
    .ignored-listing-card {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }

    .ignored-listing-thumb {
        width: 72px;
        height: 72px;
    }

    .ignored-listing-side {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        padding-top: 2px;
    }

    .ignored-listing-price {
        margin-right: auto;
    }

    .ignored-listing-id {
        display: none;
    }
}
