/* V325.3: media, category and header layout compatibility fixes. */

.du-userbar__top {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.du-userbar__greeting {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 28px;
    padding: 0 4px;
    white-space: nowrap;
}

.du-userbar__actions {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.du-userbar__actions > .btn,
.du-userbar__actions > notification-center,
.du-userbar__actions > .du-preference-switchers {
    margin: 0 !important;
}

.du-userbar__metrics {
    width: 100%;
}

.dataup-app .du-userbar__metrics,
.dataup-app .du-userbar__metrics b,
.dataup-app .du-userbar__metrics .du-status-value,
.dataup-app .du-userbar__metrics .du-status-flag {
    font-size: 11px;
}

@media (min-width: 768px) {
    .dataup-app .du-userbar__actions > .du-button--header {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        height: 28px;
        min-height: 28px;
        padding: 3px 7px;
        gap: 4px;
        font-size: 11px !important;
        line-height: 20px;
    }

    .dataup-app .du-userbar__actions > .du-button--header > span {
        font-size: 11px !important;
    }

    .dataup-app .du-userbar__actions > .du-button--header .label,
    .dataup-app .du-userbar__actions > .du-button--header .badge {
        min-height: 16px;
        padding: 2px 5px;
        font-size: 10px;
        line-height: 12px;
    }
}

/* V325.8 r2: prevent legacy button rules from stacking the desktop user menu. */
@media (min-width: 768px) {
    .dataup-app .du-userbar__top {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
    }

    .dataup-app .du-userbar__greeting {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        width: auto !important;
        white-space: nowrap !important;
    }

    .dataup-app .du-userbar__actions {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: auto !important;
    }

    .dataup-app .du-userbar__actions > *,
    .dataup-app .du-userbar__actions > notification-center,
    .dataup-app .du-userbar__actions > .du-preference-switchers {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

.categoryImage.du-category-icon {
    display: inline-block !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    vertical-align: middle;
}

.du-torrent-table .category-cell,
.du-torrent-table .torrentCategoryPart {
    width: 52px !important;
    min-width: 52px !important;
    text-align: center;
    vertical-align: middle;
}

.du-torrent-hero.du-torrent-hero--detail.col-md-11.col-centered {
    box-sizing: border-box;
    float: none !important;
    width: calc(100% - 24px) !important;
    max-width: 1170px;
    margin-right: auto !important;
    margin-left: auto !important;
}

.du-torrent-hero--detail .du-torrent-hero__main,
.du-torrent-hero--detail .torrentRow,
.du-torrent-hero--detail .torrent-main {
    min-width: 0;
    max-width: 100%;
}

.du-torrent-detail-table,
.du-torrent-details table {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    table-layout: fixed;
}

.du-torrent-detail-table td,
.du-torrent-details table td {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .du-userbar__top {
        display: block;
    }

    .du-userbar__greeting {
        width: 100%;
        margin-bottom: 6px;
    }

    .du-userbar__actions {
        width: 100%;
    }

    .du-torrent-hero.du-torrent-hero--detail.col-md-11.col-centered {
        width: 100% !important;
    }

    .du-torrent-detail-table,
    .du-torrent-details table {
        table-layout: auto;
    }
}

/* V325.7: visual consistency, compact desktop chrome and long-table handling. */
html[data-theme="light"] {
    --theme-page: #c9dce9;
    --theme-shell: #d7e6f0;
    --theme-surface: #e5eff6;
    --theme-surface-alt: #d8e8f2;
    --theme-surface-raised: #eef5fa;
    --theme-surface-hover: #cfe3f0;
    --theme-nav: #d4e5f0;
    --theme-toolbar: #d9e7f0;
    --theme-input: #f1f6fa;
    --theme-heading-bg: linear-gradient(180deg, #d8ebf6, #bfd8e8);
    --theme-row: #e5eff6;
    --theme-row-alt: #d8e8f2;
    --theme-border: #8baabd;
    --theme-border-strong: #5f8399;
    --theme-border-soft: rgba(48, 91, 119, .22);
    --theme-text: #263b49;
    --theme-heading: #153a52;
    --theme-muted: #4d6574;
    --theme-link: #075b8c;
    --theme-link-hover: #003f68;
    --theme-primary: #1678b2;
    --theme-primary-hover: #0c6094;
    --theme-on-primary: #f5faff;
    --theme-info-bg: #d2e9f5;
    --theme-success-bg: #d7eadf;
    --theme-warning-bg: #f3e4bd;
    --theme-danger-bg: #f1d8dc;
    --theme-focus-ring: rgba(22, 120, 178, .24);
    --theme-shadow: 0 10px 28px rgba(38, 65, 82, .18);
    --theme-shadow-soft: 0 5px 15px rgba(38, 65, 82, .12);
    --theme-scroll-track: #d2e0e9;
    --theme-scroll-thumb: #789db4;
    --theme-scroll-thumb-hover: #587f98;
    --theme-toggle-track: #397fa7;
    --theme-toggle-icon: #f0f8fd;
    --theme-choice-active-bg: #c3dfef;
    --theme-choice-active-border: #1678b2;
    --theme-choice-active-text: #123f5b;
}

.dataup-app .du-userbar__content {
    grid-template-columns: minmax(0, 1fr) !important;
}

.dataup-app .du-theme-toggle__label {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}

.dataup-app .du-peer-table-scroll {
    width: 100%;
    max-height: min(72vh, 760px);
    overflow: auto;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-control-radius);
    scrollbar-gutter: stable;
}

.dataup-app .du-peer-table-scroll .du-torrent-table {
    margin-bottom: 0;
}

.dataup-app .du-peer-table-scroll .du-torrent-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 4;
}

.dataup-app .admin-stat-card__body {
    flex: 1 1 auto;
    min-width: 0;
}

@media (min-width: 1200px) {
    .dataup-app .site-nav__secondary > li > a {
        padding-right: 3px !important;
        padding-left: 3px !important;
    }
}

@media (min-width: 992px) {
    .dataup-app .du-userbar__actions > .du-button--header {
        padding-right: 5px;
        padding-left: 5px;
    }

    .dataup-app .du-header-label--optional {
        display: none !important;
    }
}

/* V325.4: keep torrent detail indicators at their pre-V314 sizing. */
.dataup-app .du-torrent-detail-v88 .label {
    display: inline;
    min-height: 0;
    padding: .2em .6em .3em;
    gap: 0;
    overflow: visible;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 1;
    vertical-align: baseline;
}

.dataup-app .du-torrent-detail-v88 .badge {
    display: inline-block;
    min-width: 10px;
    min-height: 0;
    padding: 3px 7px;
    gap: 0;
    overflow: visible;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 1;
    vertical-align: baseline;
}

.dataup-app .du-torrent-detail-v88 .du-count-badge {
    display: inline-flex;
    min-width: 28px;
    min-height: 24px;
    padding: 3px 7px;
    font-size: 11px !important;
    line-height: 1.25;
    vertical-align: middle;
}

.dataup-app .du-torrent-detail-v88 .torrent-label {
    min-height: 0;
    padding: .2em .6em .3em;
}

.dataup-app .du-torrent-detail-v88 .progress {
    height: 20px;
    margin: 0 0 20px;
    border-radius: 4px;
}

.dataup-app .du-torrent-detail-v88 .progress-bar {
    display: block;
    height: 100%;
    overflow: visible;
    font-size: 11px;
    font-weight: 400;
    line-height: 20px;
}

@media (max-width: 767px) {
    .dataup-app .du-torrent-detail-v88 .label,
    .dataup-app .du-torrent-detail-v88 .badge,
    .dataup-app .du-torrent-detail-v88 .du-count-badge {
        font-size: 11px !important;
    }
}

/* V325.8: keep categories and commands on separate desktop rows. */
@media (min-width: 768px) {
    .dataup-app .site-nav__primary,
    .dataup-app .du-navbar__primary,
    .dataup-app .site-nav__secondary,
    .dataup-app .du-navbar__secondary {
        display: flex !important;
        flex: 0 0 100% !important;
        flex-wrap: wrap !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        margin: 0 !important;
    }

    .dataup-app .site-nav .navbar-nav > li,
    .dataup-app .site-nav .admin-nav > li {
        float: none !important;
    }
}

/* V325.8 web polish final cascade guard. */
@media (min-width: 768px) {
    .dataup-app .du-userbar__top {
        align-items: center !important;
        gap: 6px !important;
    }

    .dataup-app .du-userbar__greeting {
        min-height: 28px;
        align-items: center !important;
        gap: 3px !important;
        padding: 0 3px;
        line-height: 28px;
    }

    .dataup-app .du-preference-switchers theme-toggle,
    .dataup-app .du-preference-switchers .du-theme-toggle {
        width: 104px !important;
        min-width: 104px !important;
    }

    .dataup-app .du-theme-toggle__label {
        overflow: visible;
        text-overflow: clip;
    }
}

/* V325.8: admin tools always start on a dedicated text-first row. */
@media (min-width: 768px) {
    .dataup-app .site-nav__admin,
    .dataup-app .du-navbar__admin {
        display: block !important;
        flex: 0 0 100% !important;
        order: 30;
        width: 100% !important;
        margin: 0 !important;
        padding: 4px 8px 5px !important;
        background: var(--theme-toolbar) !important;
        border-top: 1px solid var(--theme-border) !important;
    }

    .dataup-app .site-nav__admin > .admin-nav,
    .dataup-app .du-navbar__admin > .admin-nav {
        display: flex !important;
        float: none !important;
        flex-wrap: wrap !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        margin: 0 !important;
        gap: 4px 6px !important;
    }

    .dataup-app .site-nav__admin .admin-nav > li,
    .dataup-app .du-navbar__admin .admin-nav > li {
        float: none !important;
        flex: 0 0 auto;
    }

    .dataup-app .site-nav__admin .admin-nav > li > a,
    .dataup-app .site-nav__admin .admin-nav__toggle,
    .dataup-app .du-navbar__admin .admin-nav > li > a,
    .dataup-app .du-navbar__admin .admin-nav__toggle {
        min-height: 27px !important;
        padding: 4px 9px !important;
        font-size: 11px !important;
        white-space: nowrap;
    }

    .dataup-app .site-nav__admin .admin-nav > li > a > .fa:first-child,
    .dataup-app .site-nav__admin .admin-nav__toggle > .fa:first-child,
    .dataup-app .du-navbar__admin .admin-nav > li > a > .fa:first-child,
    .dataup-app .du-navbar__admin .admin-nav__toggle > .fa:first-child {
        display: none !important;
    }
}
