/* generated by /usr/local/sbin/ombi-css-sync from Ombi Settings -> Customization -> Custom CSS; edit it in Ombi, then run this. 2026-10-15 03:53:33 */
/* 2026-10-15: self-contained Gold Lead theme (C2 rows layout, W3 wordmark); the theme-park import is gone. */

/* =========================================================
   EXISTING (unchanged)
   ========================================================= */

/* Nav Bar - Logo as clickable background */
a.brand-link {
    font-size: 0 !important;
    color: transparent !important;
    display: block;
    min-height: 76px;   /* W3 is wide: 3.6:1 */
    aspect-ratio: 1469 / 413;
    width: 100%;
    max-width: 230px;
    margin: 0 auto;
    background-image: url("https://lightspeedta.co/brand/wordmark-requests.png");   /* W3 wordmark, 2026-10-15 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0;
}

#streamingContainer {
    display: none;
}

/* Hide Features and Donate from left sidenav */
#nav-adminDonate,
#nav-featureSuggestion {
    display: none !important;
}

/* Relabel login button: "Login with TacoNet" -> "Login with Jellyfin" */
.oauth-buttons .btn-login--primary span {
    font-size: 0 !important;
}
.oauth-buttons .btn-login--primary span::after {
    content: "Sign in with Jellyfin";
    font-size: 14px;
    font-weight: 500;
}

/* =========================================================
   ADDITIONS — selectors pinned to the 4.60.x my-nav / login
   templates. TacoNet HUD palette (matches Heimdall theme).
   Each block is independent.
   ========================================================= */

/* --- A. Palette --- */
:root {
    --tn-bg:        #0b0f16;
    --tn-surface:   #121821;
    --tn-border:    #1c232e;
    --tn-accent:    #e5a00d;
    --tn-accent-2:  #ffb21e;
    --tn-glow:      rgba(229, 160, 13, .35);
    --tn-text:      #e6edf3;
    --tn-text-dim:  #8b949e;

    /* theme-park vars consumed by plex.css */
    --accent-color:       var(--tn-accent);
    --accent-color-hover: var(--tn-accent-2);
    --link-color:         var(--tn-accent);
    --link-color-hover:   #ffb21e;
}

/* --- B. Sidenav shell --- */
.sidenav {
    background: var(--tn-bg) !important;
    border-right: 1px solid var(--tn-border) !important;
}
.sidebar-brand {
    border-bottom: 1px solid var(--tn-border);
    margin-bottom: 8px;
}
a.brand-link {
    transition: opacity .2s ease, filter .2s ease;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.6));
}
a.brand-link:hover {
    opacity: .85;
    filter: drop-shadow(0 2px 12px var(--tn-glow));
}
.nav-section-label {
    color: var(--tn-text-dim) !important;
    font-size: 11px;
    letter-spacing: .12em;
    padding: 12px 20px 6px;
}
.nav-divider {
    border-color: var(--tn-border) !important;
    margin: 10px 12px;
}

/* --- C. Nav items: pill rows, accent rail on active --- */
.sidebar-nav .nav-item {
    position: relative;
    margin: 2px 10px;
    padding: 9px 14px;
    border-radius: 8px;
    color: var(--tn-text-dim) !important;
    transition: background-color .15s ease, color .15s ease;
}
.sidebar-nav .nav-item:hover {
    background: rgba(229, 160, 13, .08);
    color: var(--tn-text) !important;
}
.sidebar-nav .nav-item--active {
    background: rgba(229, 160, 13, .14);
    color: var(--tn-text) !important;
}
.sidebar-nav .nav-item--active .nav-icon {
    color: var(--tn-accent) !important;
}
.sidebar-nav .nav-indicator {
    position: absolute;
    left: 0; top: 50%;
    width: 3px; height: 0;
    transform: translateY(-50%);
    border-radius: 2px;
    background: var(--tn-accent);
    transition: height .15s ease;
}
.sidebar-nav .nav-item--active .nav-indicator { height: 60%; }
.nav-action { color: var(--tn-text-dim); }
.nav-action:hover { color: var(--tn-accent); }

/* Quota footer */
.sidebar-footer {
    border-top: 1px solid var(--tn-border);
    color: var(--tn-text-dim);
    font-size: 12px;
}

/* --- D. Top bar: glassy, chips as pills --- */
.top-bar {
    background: rgba(11, 15, 22, .85) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--tn-border);
}
.filter-chips .chip {
    border-radius: 999px !important;
    border: 1px solid var(--tn-border) !important;
    background: transparent !important;
    color: var(--tn-text-dim) !important;
    transition: all .15s ease;
}
.filter-chips .chip:hover { border-color: var(--tn-accent) !important; color: var(--tn-text) !important; }
.filter-chips .chip.active {
    background: rgba(229, 160, 13, .18) !important;
    border-color: var(--tn-accent) !important;
    color: var(--tn-accent) !important;
}
.profile-avatar img {
    border-radius: 50%;
    border: 2px solid var(--tn-border);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.profile-link:hover .profile-avatar img {
    border-color: var(--tn-accent);
    box-shadow: 0 0 0 3px var(--tn-glow);
}

/* --- E. Poster cards (discover grid) --- */
.small-poster,
.small-poster img,
.image-container img {
    border-radius: 8px !important;
    overflow: hidden;
}
.small-poster {
    transition: transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,.45);
}
.small-poster:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 10px 28px rgba(0,0,0,.7), 0 0 0 1px var(--tn-accent);
    z-index: 2;
}

/* --- F. Cards / dialogs / panels --- */
.mat-card,
.mat-dialog-container,
.mat-expansion-panel {
    border-radius: 10px !important;
    border: 1px solid var(--tn-border) !important;
    background: rgba(18, 24, 33, .96) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* --- G. Buttons --- */
.mat-raised-button,
.mat-flat-button,
.mat-stroked-button,
.btn {
    border-radius: 6px !important;
    letter-spacing: .3px;
    transition: background-color .15s ease, transform .1s ease;
}
.mat-raised-button:active,
.mat-flat-button:active,
.btn:active { transform: scale(.98); }

/* --- H. Login page --- */
.login-panel {
    background: rgba(11, 15, 22, .88) !important;
    border: 1px solid var(--tn-border) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 20px 60px rgba(0,0,0,.6);
}
.brand-logo {
    max-height: 230px;   /* 2026-10-15: was 140 */
    margin: 6px auto 18px;
    filter: drop-shadow(0 2px 10px rgba(0,0,0,.6));
}
.login-subtitle { color: var(--tn-text-dim) !important; }

.oauth-buttons .btn-login {
    border-radius: 8px !important;
    transition: transform .1s ease, box-shadow .15s ease;
}
.oauth-buttons .btn-login--primary {
    background: var(--tn-accent) !important;
    color: #1a1300 !important;
}
.oauth-buttons .btn-login--primary:hover {
    box-shadow: 0 0 0 3px var(--tn-glow);
}
.oauth-buttons .btn-login--plex {
    background: transparent !important;
    border: 1px solid var(--tn-border) !important;
    color: var(--tn-text-dim) !important;
}
.oauth-buttons .btn-login--plex:hover { border-color: var(--tn-accent) !important; color: var(--tn-text) !important; }
.divider-line { background: var(--tn-border) !important; }
.divider-text { color: var(--tn-text-dim) !important; }

/* credentials form */
.input-wrapper {
    background: var(--tn-surface) !important;
    border: 1px solid var(--tn-border) !important;
    border-radius: 8px !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.input-wrapper--focused {
    border-color: var(--tn-accent) !important;
    box-shadow: 0 0 0 3px var(--tn-glow);
}
.input-wrapper--error { border-color: #f85149 !important; }
.login-input { color: var(--tn-text) !important; }
.input-icon { color: var(--tn-text-dim); }
.btn-submit {
    background: var(--tn-accent) !important;
    color: #1a1300 !important;
    border-radius: 8px !important;
}
.btn-submit:hover { box-shadow: 0 0 0 3px var(--tn-glow); }
.forgot-link { color: var(--tn-accent) !important; }
.custom-checkbox input:checked + .checkmark { background: var(--tn-accent) !important; border-color: var(--tn-accent) !important; }

/* --- I. Scrollbars (Chromium/WebKit) --- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 6px;
    border: 2px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background-color: rgba(255,255,255,.32); }

/* --- J. Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
    }
    .small-poster:hover { transform: none; }
}

/* =========================================================
   K. Scale (2026-10-15): the landing page and the logo sat small next to
   everything around them. Roomier panel, larger type and controls.
   ========================================================= */
.login-panel {
    padding: 44px 52px 40px !important;
    max-width: 600px !important;
    width: min(600px, 94vw) !important;
}
.login-title, .login-panel h1, .login-panel h2 {
    font-size: 30px !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
    margin: 0 0 6px !important;
}
.login-subtitle {
    font-size: 16px !important;
    margin-bottom: 26px !important;
}
.oauth-buttons .btn-login {
    min-height: 52px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.oauth-buttons .btn-login--primary span::after { font-size: 16px !important; }
.oauth-buttons { gap: 12px !important; }
.divider-text { font-size: 13px !important; letter-spacing: .1em; }
.input-wrapper { min-height: 50px !important; }
.login-input { font-size: 16px !important; }
.btn-submit { min-height: 50px !important; font-size: 16px !important; font-weight: 700 !important; }
.sidebar-brand { padding: 10px 0 14px !important; }

/* =========================================================
   L. Landing page (2026-10-15): Ombi's "Currently Online" page put a 420px
   logo on the left and the status on the right with most of the screen
   empty. One centred column: logo sized to the viewport, status and
   Continue under it. Selectors from the rendered 4.60.17 markup
   (.small-middle-container > .row > .logo-container + .vcenter).
   Scoped with :has(.logo-container): settings and user pages use the same
   container, and the centred column / overflow:hidden broke them (fixed 2026-10-15).
   ========================================================= */
.small-middle-container:has(> .row > .logo-container) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
    padding: 24px !important;
    position: relative;
    z-index: 2;
}
.small-middle-container:has(> .row > .logo-container) > .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;   /* logo sits right on the text */
    margin: 0 !important;
    width: 100% !important;
    max-width: 1200px;
}
.small-middle-container .logo-container,
.small-middle-container .vcenter {
    position: static !important;
    left: auto !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.small-middle-container .logo-img {
    width: min(62vw, 940px) !important;
    max-width: none !important;
    max-height: 62vh !important;
    height: auto !important;
    object-fit: contain;
    filter: drop-shadow(0 16px 36px rgba(0,0,0,.65));
}
.small-middle-container .vcenter { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 6px; }
.small-middle-container .vcenter br { display: none; }
.small-middle-container h3.online { font-size: 28px !important; font-weight: 800 !important; margin: 0 0 4px !important; letter-spacing: .01em; }
.small-middle-container .vcenter span,
.small-middle-container .vcenter p { font-size: 17px !important; color: #d0d7de !important; margin: 0 !important; }
.small-middle-container .button-continue { margin-top: 14px; }
/* Ombi's caption strip is height:100vh PLUS 16px bottom padding (content-box), which is the page's stray scroll */
.poster-desc { box-sizing: border-box !important; }
.small-middle-container:has(> .row > .logo-container) { overflow: hidden !important; }
.small-middle-container .button-continue .mat-raised-button {
    min-height: 54px !important;
    padding: 0 40px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.5) !important;
}
@media (max-width: 700px) {
    .small-middle-container .logo-img { width: 86vw !important; max-height: 40vh !important; }
    .small-middle-container h3.online { font-size: 22px !important; }
    .small-middle-container:has(> .row > .logo-container) > .row { gap: 22px !important; }
}

/* =========================================================
   M. Base dark ground (2026-10-15): with theme-park gone these set the
   page, drawer and cards on the Gold Lead ground. Ombi's own my-theme
   keeps the rest.
   ========================================================= */
html, body, .mat-drawer-container, .mat-sidenav-container, .mat-drawer-content, .mat-sidenav-content, app-ombi > div {
    background: var(--tn-bg) !important;
    color: var(--tn-text);
}
.mat-drawer-content, .mat-sidenav-content { font-family: "Inter", "Segoe UI", system-ui, sans-serif; }
.mat-toolbar, .mat-menu-panel, .mat-select-panel, .mat-autocomplete-panel, .mat-snack-bar-container {
    background: var(--tn-surface) !important;
    color: var(--tn-text) !important;
}
.mat-form-field-appearance-outline .mat-form-field-outline { color: var(--tn-border); }
.mat-form-field.mat-focused .mat-form-field-outline-thick { color: var(--tn-accent) !important; }
a { color: var(--tn-accent); }
a:hover { color: var(--tn-accent-2); }
/* primary actions: gold with dark text; quiet actions: white 9% fill, 14% line, bold (the Jellyfin rules) */
.mat-raised-button.mat-primary, .mat-flat-button.mat-primary, .mat-raised-button.mat-accent, .mat-flat-button.mat-accent, .btn-primary, .request-button, .btn-success {
    background: var(--tn-accent) !important;
    color: #1a1300 !important;
    font-weight: 700 !important;
}
.mat-raised-button.mat-primary:hover, .mat-flat-button.mat-primary:hover, .mat-raised-button.mat-accent:hover, .btn-primary:hover { background: var(--tn-accent-2) !important; }
.mat-stroked-button, .btn-secondary, .btn-outline-secondary, .mat-raised-button:not(.mat-primary):not(.mat-accent):not(.mat-warn) {
    background: rgba(255,255,255,.09) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: var(--tn-text) !important;
    font-weight: 700 !important;
}
.mat-chip.mat-standard-chip { background: rgba(255,255,255,.09); color: var(--tn-text); font-weight: 600; }
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary, .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent { background: var(--tn-accent); color: #1a1300; }
.mat-tab-label-active, .mat-tab-link.mat-tab-label-active { color: var(--tn-accent) !important; opacity: 1; }
.mat-ink-bar { background-color: var(--tn-accent) !important; }
.mat-progress-bar-fill::after, .mat-progress-spinner circle, .mat-spinner circle { background-color: var(--tn-accent); stroke: var(--tn-accent); }
.mat-badge-content { background: var(--tn-accent); color: #1a1300; font-weight: 800; }
.mat-slide-toggle.mat-checked .mat-slide-toggle-bar { background: rgba(229,160,13,.5); }
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb { background: var(--tn-accent); }
.available, .badge-available { color: #4ade80 !important; }
.requested, .badge-pending, .pending { color: var(--tn-accent-2) !important; }
.denied, .badge-denied { color: #f85149 !important; }

/* =========================================================
   N. C2 rows (2026-10-15): the Discover carousels read like the Jellyfin
   home. Quiet section titles, posters rounded and lifting on hover, the
   carousel arrows faded until you reach for them, the hero banner faded
   into the ground.
   ========================================================= */
.discover-section { margin-bottom: 1.1rem; }
.discover-section .section-title, .section-title, .discover-section h2, .discover-section h3, .discover-section .mat-h2 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: .01em;
    opacity: .85;
    margin: 0 0 .5rem !important;
    text-transform: none;
}
.p-carousel .p-carousel-items-content { padding: 6px 2px 10px; }
.p-carousel .p-carousel-item { padding: 0 7px; }
.discover-card, .media-card, .card-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 10px;
}
.discover-card .card-poster, .discover-card .media-poster, .discover-card img, .card-poster img, .media-poster img, .poster-img {
    border-radius: 10px !important;
    transition: transform .15s ease, box-shadow .15s ease;
    box-shadow: 0 4px 14px rgba(0,0,0,.45);
}
.discover-card:hover .card-poster, .discover-card:hover .media-poster, .discover-card:hover img.poster-img {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 10px 28px rgba(0,0,0,.7);
    z-index: 2;
}
.poster-overlay { border-radius: 10px !important; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(11,15,22,.92) 100%) !important; }
.discover-card .mat-card-title, .discover-card .title { font-size: .9rem; font-weight: 600; line-height: 1.25; }
.discover-card .mat-card-subtitle, .discover-card .subtitle { font-size: .78rem; color: var(--tn-text-dim); opacity: 1; }
.p-carousel-prev, .p-carousel-next, .carousel-prev-icon, .p-carousel-prev-icon, .p-carousel-next-icon {
    color: var(--tn-text-dim) !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid var(--tn-border) !important;
    border-radius: 50% !important;
    opacity: .55;
    transition: opacity .15s ease, color .15s ease;
}
.p-carousel:hover .p-carousel-prev, .p-carousel:hover .p-carousel-next { opacity: 1; }
.p-carousel-prev:hover, .p-carousel-next:hover { color: var(--tn-accent) !important; }
.discover-hero-banner { border-radius: 12px; overflow: hidden; position: relative; }
.discover-hero-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(11,15,22,.05) 35%, rgba(11,15,22,.75) 78%, var(--tn-bg) 100%); }
.hero-poster { border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,.55); }
/* media info as chips on detail pages, like the Jellyfin item page */
.media-info .badge, .detail-badge, .mat-chip-list .mat-chip.info { border: 1px solid rgba(255,255,255,.22); border-radius: 6px; background: transparent; color: #d9d9d9; font-size: .86em; }

/* --- O. Wider sidenav + larger W3 wordmark (2026-10-15) ---
   Ombi ships a 240px rail with a hard-coded 233px content offset at >=1025px; both move together here.
   Below 1025px the rail is an overlay drawer, so only its width changes. */
.sidenav-container .sidenav.mat-drawer { width: 300px !important; }
@media (max-width: 600px) {
    .sidenav-container .sidenav.mat-drawer { width: min(300px, 86vw) !important; }
}
@media only screen and (min-width: 1025px) {
    .mat-sidenav-container .content-container.mat-drawer-content { margin-left: 293px !important; }
}
.sidenav-container .sidebar-brand { padding: 22px 16px 16px !important; }
.sidenav-container .sidebar-brand a.brand-link {
    max-width: none !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1469 / 413;
}

/* --- C2. Logout row (2026-10-15): Logout (and Open Mobile App) are <button>s, not links, so they shrank to their
   text and centred it; the hover / active pill covered only the words. Same box as the links above. --- */
.sidebar-nav button.nav-item {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    width: calc(100% - 20px) !important;
    text-align: left !important;
    background: transparent;
    border: 0 !important;
    font: inherit;
    cursor: pointer;
}
.sidebar-nav button.nav-item:hover { background: rgba(229, 160, 13, .08) !important; color: var(--tn-text) !important; }
.sidebar-nav button.nav-item:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: -2px; }

/* --- C3. Table pages (2026-10-15): Ombi sizes its page container as 85-95% of the content area; with the 300px rail
   that is 60px narrower than stock, and the user table (1028px) started scrolling sideways. Pages holding a data
   table get the full content width; forms keep Ombi's own sizing. --- */
@media (min-width: 1025px) {
    .mat-drawer-content .small-middle-container:has(.mat-table) { width: calc(100% - 32px) !important; max-width: none !important; }
}

/* --- P. Sign-in buttons in their own colours, bigger logo (2026-10-15) ---
   Jellyfin (Ombi's local / "primary" button, relabelled above) wears Jellyfin's purple-to-blue gradient with a
   triangle mark; Plex wears Plex gold with its chevron. The TacoNet Requests wordmark is the panel's headline. --- */
.login-panel .brand-logo {
    width: min(400px, 78vw) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto 6px !important;
    display: block !important;
}
.oauth-buttons .btn-login {
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: filter .15s ease, transform .1s ease, box-shadow .15s ease !important;
}
.oauth-buttons .btn-login:hover { filter: brightness(1.08); box-shadow: 0 8px 22px rgba(0,0,0,.45) !important; }
.oauth-buttons .btn-login:active { transform: scale(.985); }
.oauth-buttons .btn-login:focus-visible { outline: 3px solid #ffffff !important; outline-offset: 2px; }
.oauth-buttons .btn-login--primary {
    background: linear-gradient(90deg, #AA5CC3 0%, #00A4DC 100%) !important;
    color: #ffffff !important;
}
.oauth-buttons .btn-login--primary span::after { color: #ffffff !important; }
.oauth-buttons .btn-login--primary .mat-icon,
.oauth-buttons .btn-login--primary mat-icon { display: none !important; }
.oauth-buttons .btn-login--primary::before {
    content: ""; width: 20px; height: 20px; flex: none;
    background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 2.2 1.6 20.6c-.5.9.1 1.9 1.1 1.9h18.6c1 0 1.6-1 1.1-1.9L12 2.2Zm0 6.1 5.6 9.9H6.4L12 8.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.oauth-buttons .btn-login--plex {
    background: #e5a00d !important;
    color: #1f1f1f !important;
}
.oauth-buttons .btn-login--plex * { color: #1f1f1f !important; }
.oauth-buttons .btn-login--plex::before {
    content: ""; width: 18px; height: 20px; flex: none;
    background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f1f1f' d='M7 2h5.2L18 12l-5.8 10H7l5.8-10L7 2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* hover states keep each brand's colours (older H. Login rules turned Plex's text light on hover) */
.oauth-buttons .btn-login--primary:hover { background: linear-gradient(90deg, #AA5CC3 0%, #00A4DC 100%) !important; color: #ffffff !important; border-color: transparent !important; }
.oauth-buttons .btn-login--plex:hover { background: #e5a00d !important; color: #1f1f1f !important; border-color: transparent !important; }

/* --- Q. Profile avatar fallback (2026-10-15): with no profile picture Ombi shows the site logo, the wide Requests
   wordmark, cropped into a 32px circle. Show a round TacoNet badge there instead; real profile pictures are untouched. --- */
.profile-avatar:has(img[src*="wordmark-requests"]),
[class*="avatar"]:has(> img[src*="wordmark-requests"]) {
    background: #1c232e url("https://lightspeedta.co/brand/avatar-taco.png?v=1") center / cover no-repeat !important;
    border-color: transparent !important;
}
.profile-avatar img[src*="wordmark-requests"],
[class*="avatar"] > img[src*="wordmark-requests"] { opacity: 0 !important; }
/* the profile page's 75px picture is an <img> on its own: push the wordmark out of its box and show the badge behind it */
img.profile-img[src*="wordmark-requests"] {
    object-position: -9999px 0 !important;
    background: #1c232e url("https://lightspeedta.co/brand/avatar-taco.png?v=1") center / cover no-repeat !important;
    border-radius: 50% !important;
}
