﻿/* =========================================================
   Admin Common: Search / Filter
========================================================= */

.search-card{
    background:#181818;
    border-radius:16px;
    padding:18px;
    margin-bottom:18px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.search-card input,
.search-card select{
    height:40px;
    border-radius:10px;
    border:1px solid #333;
    background:#0f0f0f;
    color:#fff;
    padding:0 12px;
}

.search-card button,
.reset-btn{
    height:40px;
    border:0;
    border-radius:20px;
    background:#fff;
    color:#000;
    padding:0 18px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
}

.reset-btn{
    background:#333;
    color:#fff;
}


/* =========================================================
   Admin Top Menu / Mobile Select
========================================================= */

.admin-top-menu select,
.mobile-admin-menu select{
    height:38px;
    border-radius:10px;
    border:1px solid #333;
    background:#111;
    color:#fff;
    padding:0 12px;
    font-size:15px;
}

.mobile-admin-menu{
    display:none;
}

@media(max-width:768px){
    .admin-top-menu{
        display:block;
        margin-left:auto;
    }

    .mobile-admin-menu{
        display:block;
        margin-left:auto;
    }
}


/* =========================================================
   Admin Shortcuts / Badge
========================================================= */

.admin-video-shortcuts{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:14px 0 20px;
}

.shortcut-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 18px;
    border-radius:20px;
    background:#242424;
    color:#fff;
    font-weight:bold;
}

.shortcut-btn:hover{
    background:#333;
}

.badge-count{
    position:absolute;
    top:-8px;
    right:-8px;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:999px;
    background:#ff2d55;
    color:#fff;
    font-size:12px;
    line-height:22px;
    text-align:center;
}


/* =========================================================
   Admin Common Forms / Buttons
========================================================= */

.inline-admin-form{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:3px 0;
}

.inline-admin-form input{
    height:32px;
    border-radius:8px;
    border:1px solid #333;
    background:#0f0f0f;
    color:#fff;
    padding:0 8px;
}

.inline-admin-form button{
    height:32px;
    border:0;
    border-radius:16px;
    background:#333;
    color:#fff;
    padding:0 12px;
    cursor:pointer;
    font-weight:bold;
}

.inline-admin-form button:hover{
    background:#444;
}

.inline-admin-form .danger-btn,
.danger-btn{
    background:#7a2020;
}

.inline-admin-form .danger-btn:hover,
.danger-btn:hover{
    background:#922828;
}

.restore-btn{
    background:#333;
}

.delete-btn{
    width:100%;
    background:#9e1f1f;
}

.admin-manage-buttons{
    display:flex;
    flex-direction:column;
    gap:8px;
}


/* =========================================================
   members.php
========================================================= */

.member-action-cell{
    min-width:260px;
}

.member-action-group{
    width: 320px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.member-action-group .inline-admin-form{
    width: 100%;
    margin: 0;
}

.member-action-group .inline-admin-form button,
.member-action-group .inline-admin-link{
    width: 100%;
    height: 34px;
    border-radius: 999px;
    box-sizing: border-box;
}

.member-action-group .freeze-form{
    display: contents;
}

.member-action-group .freeze-form input[type="number"]{
    width: 100%;
    height: 34px;
    box-sizing: border-box;
}

.member-action-group .restore-form{
    grid-column: 1 / 3;
}

.member-action-group .inline-admin-link{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#8b2424;
    color:#fff;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

@media (max-width: 768px){
    .member-action-group{
        width: 100%;
    }

    .member-action-group .freeze-form{
        grid-template-columns: 70px 1fr;
    }
}



/* =========================================================
   videos.php / Admin Video Actions
========================================================= */

.admin-action-group{
    display:flex;
    flex-direction:row;
    gap:10px;
    align-items:center;
}

.admin-remove-form{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}

.admin-action-group form{
    margin:0;
}

.admin-action-group .small-btn,
.admin-action-group button,
.admin-action-group .restore-btn,
.admin-action-group .delete-btn{
    min-width:150px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    margin:0;
}

.admin-remove-form input{
    flex:1;
    min-width:0;
    height:36px;
    border-radius:10px;
    border:1px solid #333;
    background:#101010;
    color:#fff;
    padding:0 12px;
}

.admin-remove-form button{
    background:#9e1f1f;
}


/* =========================================================
   blocked_ips.php
========================================================= */

.inline-remove-form{
    display:inline-flex;
    gap:10px;
    flex-wrap:nowrap;
    align-items:center;
}

.inline-remove-form input{
    height:34px;
    border-radius:8px;
    border:1px solid #333;
    background:#0f0f0f;
    color:#fff;
    padding:0 8px;
}

.inline-remove-form button{
    height:34px;
    min-width:150px;
    border:0;
    border-radius:16px;
    background:#7a2020;
    color:#fff;
    padding:0 12px;
    cursor:pointer;
}


/* =========================================================
   translations.php
========================================================= */

.translation-table-wrap{
    width:100%;
    overflow-x:auto;
}

.translation-table{
    width: 100%;
    table-layout: auto;
}

.translation-table th,
.translation-table td{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    vertical-align: top;
}

.readonly-phrase{
    min-width:160px;
    color:#fff;
    line-height:1.6;
}

.translation-table textarea{
    width:100%;
    min-height:80px;
    resize:vertical;
    border-radius:10px;
    border:1px solid #333;
    background:#0f0f0f;
    color:#fff;
    padding:10px;
    font-size:14px;
}

.translation-table td:nth-child(2){
    width: 240px;
    min-width: 240px;
    max-width: 240px;

    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}
.translation-table-wrap{
    overflow: visible;
}

.translation-table{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.translation-table thead th{
    position: sticky;
    top: 60px;
    z-index: 50;
    background: #181818;
    border-bottom: 1px solid #2a2a2a;
}

.translation-table thead{
    position: sticky;
    top: 0;
    z-index: 30;
}
.translation-table td{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    vertical-align: top;
}
.save-bar{
    position:sticky;
    bottom:0;
    background:#0f0f0f;
    padding:16px 0;
    text-align:right;
}

.save-bar button{
    height:42px;
    border:0;
    border-radius:21px;
    padding:0 28px;
    background:#fff;
    color:#000;
    font-weight:bold;
    cursor:pointer;
}
@media (max-width: 768px){

    .translation-table-wrap.table-card{
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        border-radius: 12px;
        overflow: visible;
    }

    .translation-table{
        width: 100%;
        table-layout: fixed;
        border-collapse: separate;
        border-spacing: 0;
    }

    .translation-table thead th{
        position: sticky;
        top: 60px;
        z-index: 100;
        background: #181818;
    }

    .translation-table th,
    .translation-table td{
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
        padding: 10px 6px;
        font-size: 12px;
    }

    .translation-table textarea{
        width: 100%;
        min-width: 0;
        min-height: 70px;
        box-sizing: border-box;
        font-size: 12px;
    }
}

.translation-search-form{
    display:flex;
    align-items:center;
    gap:12px;
    margin:16px 0;
    padding:16px;
    background:#181818;
    border-radius:14px;
}

.translation-search-form input{
    width:320px;
    max-width:100%;
    height:40px;
    padding:0 14px;
    border-radius:10px;
    border:1px solid #333;
    background:#111;
    color:#fff;
}

.translation-search-form button,
.translation-search-form a{
    height:40px;
    padding:0 18px;
    border-radius:999px;
    border:0;
    background:#fff;
    color:#111;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.translation-search-form a{
    background:#333;
    color:#fff;
}

@media (max-width:768px){
    .translation-search-form{
        flex-wrap:wrap;
    }

    .translation-search-form input{
        width:100%;
    }

    .translation-search-form button,
    .translation-search-form a{
        flex:1;
    }
}

.admin-manage-buttons{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
}

.admin-manage-buttons .small-btn,
.admin-manage-buttons .inline-remove-form button{
    min-width:72px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
}

.admin-manage-buttons .inline-remove-form{
    margin:0;
}
.custom-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.7);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.custom-modal.show{
    display:flex;
}

.custom-modal-box{
    width:90%;
    max-width:420px;
    background:#111;
    border-radius:16px;
    padding:24px;
    border:1px solid #333;
}

.custom-modal-box h3{
    margin:0 0 18px;
    font-size:22px;
    color:#fff;
}

.custom-modal-box input{
    width:100%;
    height:46px;
    border-radius:10px;
    border:1px solid #333;
    background:#000;
    color:#fff;
    padding:0 14px;
    margin-bottom:18px;
}

.modal-btn-row{
    display:flex;
    gap:10px;
}

.modal-btn-row button{
    flex:1;
}

.white-btn{
    background:#fff !important;
    color:#000 !important;
    border:0 !important;
}

.white-btn:hover{
    opacity:.9;
}

.page-filter-title{
    font-size:18px;
    color:#aaa;
    font-weight:400;
}

.mini-badge{
    position:absolute;
    top:-8px;
    right:-8px;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#ff2d55;
    color:#fff;
    font-size:12px;
    line-height:20px;
    text-align:center;
}

.content-switch-btn{
    position:relative;
}
/* Countries/admin topbar mobile override */
@media(max-width:900px){
    .topbar.admin-topbar{
        display:grid !important;
        grid-template-columns:1fr auto !important;
        align-items:center !important;
        column-gap:10px !important;
        width:100% !important;
        padding:12px !important;
        box-sizing:border-box !important;
    }

    .topbar.admin-topbar .right-menu.admin-top-menu{
        display:block !important;
        width:86px !important;
        min-width:86px !important;
        max-width:86px !important;
        margin-left:0 !important;
        justify-self:end !important;
        flex:none !important;
        order:initial !important;
    }

    .topbar.admin-topbar .right-menu.admin-top-menu select{
        width:86px !important;
        min-width:0 !important;
        max-width:86px !important;
        height:38px !important;
        padding:0 24px 0 10px !important;
        box-sizing:border-box !important;
    }
}

@media(max-width:900px){
    .topbar.admin-topbar .logo{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        color:#fff !important;
        justify-self:start !important;
        order:initial !important;
        white-space:nowrap !important;
    }
}

/* =========================================================
   Admin layout final pass: mobile stability and translation editor
========================================================= */

.topbar:has(.admin-top-menu){
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid #222;
}

.topbar:has(.admin-top-menu) .admin-top-menu{
    overflow:visible;
}

.topbar:has(.admin-top-menu) .admin-top-menu select{
    max-width:160px;
}

.search-card,
.translation-search-form{
    box-sizing:border-box;
}

.search-card > *,
.translation-search-form > *{
    box-sizing:border-box;
}

.table-card{
    max-width:100%;
    box-sizing:border-box;
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
}

.table-card .data-table{
    table-layout:auto;
}

.table-card .data-table th,
.table-card .data-table td{
    word-break:normal;
    overflow-wrap:normal;
}

.admin-video-shortcuts{
    align-items:center;
}

.admin-video-shortcuts .shortcut-btn{
    box-sizing:border-box;
    white-space:nowrap;
}

/* Keep management tables readable: scroll horizontally instead of crushing text. */
@media(max-width:900px){
    body{
        overflow-x:hidden;
    }

    .topbar:has(.admin-top-menu){
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) auto !important;
        align-items:center !important;
        gap:12px !important;
        width:100% !important;
        max-width:100vw !important;
        min-height:60px !important;
        padding:10px 12px !important;
        box-sizing:border-box !important;
        background:#0f0f0f !important;
    }

    .topbar:has(.admin-top-menu) .logo{
        min-width:0 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:24px !important;
        line-height:1.2 !important;
    }

    .topbar:has(.admin-top-menu) .right-menu.admin-top-menu{
        width:96px !important;
        min-width:96px !important;
        max-width:96px !important;
        margin-left:0 !important;
        justify-self:end !important;
        order:initial !important;
    }

    .topbar:has(.admin-top-menu) .admin-top-menu select{
        width:96px !important;
        min-width:0 !important;
        max-width:96px !important;
        height:40px !important;
        padding:0 24px 0 12px !important;
        border-radius:10px !important;
        font-weight:800 !important;
        box-sizing:border-box !important;
    }

    .page-wrap{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:18px 14px 96px !important;
        box-sizing:border-box !important;
    }

    .page-wrap h1{
        margin:4px 0 18px !important;
        font-size:28px !important;
        line-height:1.2 !important;
    }

    .page-filter-title{
        display:inline-block;
        margin-top:6px;
        font-size:16px;
    }

    .admin-video-shortcuts{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
        margin:12px 0 18px !important;
    }

    .admin-video-shortcuts .shortcut-btn{
        width:100% !important;
        min-width:0 !important;
        min-height:40px !important;
        padding:0 12px !important;
        border-radius:999px !important;
        justify-content:center !important;
        font-size:15px !important;
    }

    .search-card{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
        width:100% !important;
        margin:0 0 20px !important;
        padding:14px !important;
        border-radius:14px !important;
    }

    .search-card input,
    .search-card select,
    .search-card button,
    .search-card .reset-btn{
        width:100% !important;
        min-width:0 !important;
        height:42px !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .search-card input[type="text"]{
        grid-column:1 / -1 !important;
    }

    .search-card input[type="hidden"]{
        display:none !important;
    }

    .search-card button,
    .search-card .reset-btn{
        border-radius:999px !important;
        padding:0 14px !important;
        text-align:center !important;
    }

    .content-switch-tabs{
        width:100% !important;
        padding:0 0 14px !important;
        gap:10px !important;
        overflow-x:auto !important;
        box-sizing:border-box !important;
    }

    .content-switch-tabs .content-switch-btn{
        flex:0 0 auto !important;
        min-width:92px !important;
        height:40px !important;
        border-radius:12px !important;
        padding:0 16px !important;
        white-space:nowrap !important;
    }

    .table-card{
        width:100% !important;
        margin:0 !important;
        padding:10px !important;
        border-radius:14px !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        box-sizing:border-box !important;
    }

    .table-card .data-table{
        width:max-content !important;
        min-width:760px !important;
        border-collapse:collapse !important;
    }

    .table-card .data-table th,
    .table-card .data-table td{
        padding:12px 10px !important;
        white-space:nowrap !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        vertical-align:middle !important;
        font-size:15px !important;
        line-height:1.35 !important;
    }

    .table-card .data-table td:nth-child(2),
    .table-card .data-table td:nth-child(3),
    .table-card .data-table td:nth-child(5){
        max-width:none !important;
    }

    .admin-action-cell,
    .member-action-cell{
        min-width:220px !important;
    }

    .admin-action-group{
        flex-wrap:wrap !important;
        gap:8px !important;
    }

    .admin-action-group .small-btn,
    .admin-action-group button,
    .admin-action-group .restore-btn,
    .admin-action-group .delete-btn{
        min-width:112px !important;
        height:34px !important;
        padding:0 12px !important;
        white-space:nowrap !important;
    }

    .member-action-group{
        width:260px !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .member-action-group .freeze-form input[type="number"]{
        min-width:0 !important;
    }
}

@media(max-width:520px){
    .admin-video-shortcuts{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .search-card{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .search-card select,
    .search-card input[type="date"]{
        font-size:14px !important;
    }
}

/* Translation editor: fixed action button, sticky header, predictable columns. */
.translation-search-form{
    display:grid !important;
    grid-template-columns:minmax(260px, 1fr) 140px 140px !important;
    gap:12px !important;
    align-items:center !important;
}

.translation-search-form input,
.translation-search-form button,
.translation-search-form a{
    width:100% !important;
    box-sizing:border-box !important;
}

.translation-table-wrap.table-card,
.translation-table-wrap{
    overflow:auto !important;
    max-height:calc(100vh - 230px);
    padding:0 !important;
    border-radius:14px !important;
}

.translation-table{
    width:max-content !important;
    min-width:920px !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
}

.translation-table th,
.translation-table td{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    vertical-align:top !important;
}

.translation-table th:first-child,
.translation-table td:first-child{
    position:sticky;
    left:0;
    z-index:40;
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    background:#181818;
}

.translation-table thead th{
    position:sticky !important;
    top:0 !important;
    z-index:60 !important;
    background:#181818 !important;
}

.translation-table thead th:first-child{
    z-index:80 !important;
}

.translation-table textarea{
    width:100% !important;
    min-width:0 !important;
    min-height:78px !important;
    box-sizing:border-box !important;
    line-height:1.35 !important;
}

.save-bar{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1200 !important;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom)) !important;
    background:rgba(15,15,15,.96) !important;
    border-top:1px solid #292929 !important;
    text-align:right !important;
    box-sizing:border-box !important;
}

.save-bar button{
    min-width:160px !important;
    height:44px !important;
    border-radius:999px !important;
}

@media(max-width:900px){
    .translation-search-form{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
        margin:0 0 14px !important;
        padding:14px !important;
        border-radius:14px !important;
    }

    .translation-search-form input{
        grid-column:1 / -1 !important;
        height:42px !important;
    }

    .translation-search-form button,
    .translation-search-form a{
        height:42px !important;
        border-radius:999px !important;
    }

    .translation-table-wrap.table-card,
    .translation-table-wrap{
        max-height:calc(100vh - 235px) !important;
        overflow:auto !important;
        border-radius:0 !important;
        margin-left:calc(-1 * 14px) !important;
        margin-right:calc(-1 * 14px) !important;
        width:calc(100% + 28px) !important;
        max-width:calc(100% + 28px) !important;
    }

    .translation-table{
        min-width:880px !important;
    }

    .translation-table th,
    .translation-table td{
        width:190px !important;
        min-width:190px !important;
        max-width:190px !important;
        padding:10px 8px !important;
        font-size:13px !important;
    }

    .translation-table th:first-child,
    .translation-table td:first-child{
        width:170px !important;
        min-width:170px !important;
        max-width:170px !important;
    }

    .translation-table textarea{
        min-height:70px !important;
        font-size:12px !important;
    }

    .save-bar{
        display:flex !important;
        justify-content:flex-end !important;
    }

    .save-bar button{
        width:min(220px, 52vw) !important;
        min-width:0 !important;
    }
}

@media(max-width:520px){
    .translation-table-wrap.table-card,
    .translation-table-wrap{
        max-height:calc(100vh - 245px) !important;
    }

    .save-bar button{
        width:100% !important;
    }
}

/* Keep country settings mobile card layout from being flattened by common admin table rules. */
@media(max-width:900px){
    .country-table{
        width:100% !important;
        min-width:0 !important;
    }

    .country-table th,
    .country-table td{
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:anywhere !important;
    }
}

/* =========================================================
   Admin final alignment pass requested 2026-06-09
========================================================= */

/* Admin header: brand always left, action menu always right. */
.topbar:has(.admin-top-menu){
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:center !important;
}

.topbar:has(.admin-top-menu) .logo{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    order:0 !important;
    text-align:left !important;
}

.topbar:has(.admin-top-menu) .right-menu.admin-top-menu,
.topbar:has(.admin-top-menu) .admin-top-menu{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    order:1 !important;
    margin-left:0 !important;
}

@media(max-width:900px){
    .topbar:has(.admin-top-menu){
        grid-template-columns:minmax(0, 1fr) 96px !important;
    }
}

/* Translation table: pin first column cleanly and prevent text collision. */
.translation-table-wrap.table-card,
.translation-table-wrap{
    position:relative !important;
    isolation:isolate !important;
}

.translation-table{
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
}

.translation-table th:first-child,
.translation-table td:first-child{
    position:sticky !important;
    left:0 !important;
    z-index:90 !important;
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    background:#181818 !important;
    box-shadow:1px 0 0 #2a2a2a, 12px 0 18px rgba(0,0,0,.35) !important;
}

.translation-table thead th:first-child{
    z-index:120 !important;
}

.translation-table th,
.translation-table td{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    padding:12px 12px !important;
    box-sizing:border-box !important;
    line-height:1.45 !important;
    overflow:visible !important;
}

.translation-table .translation-key,
.translation-table .readonly-phrase{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    line-height:1.45 !important;
}

.translation-table td:not(:first-child),
.translation-table th:not(:first-child){
    background:#181818 !important;
}

.translation-table textarea{
    display:block !important;
    overflow:auto !important;
}

@media(max-width:900px){
    .translation-table{
        min-width:1040px !important;
    }

    .translation-table th:first-child,
    .translation-table td:first-child{
        width:210px !important;
        min-width:210px !important;
        max-width:210px !important;
    }

    .translation-table th,
    .translation-table td{
        width:210px !important;
        min-width:210px !important;
        max-width:210px !important;
        padding:11px 10px !important;
        font-size:13px !important;
    }
}

/* Video admin search: clear guidance and stable action row. */
.admin-video-search-card .admin-search-help{
    grid-column:1 / -1;
    padding:12px 14px;
    border:1px solid #2b2b2b;
    border-radius:12px;
    background:#111;
    color:#cfcfcf;
    font-size:14px;
    line-height:1.6;
}

.admin-video-search-card button[type="submit"],
.admin-video-search-card .reset-btn{
    justify-self:stretch;
}

@media(max-width:900px){
    .admin-video-search-card{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .admin-video-search-card .admin-search-help,
    .admin-video-search-card input[name="keyword"]{
        grid-column:1 / -1 !important;
    }

    .admin-video-search-card select[name="country_code"]{
        grid-column:1 !important;
    }

    .admin-video-search-card select[name="status"]{
        grid-column:2 !important;
    }

    .admin-video-search-card input[name="date_from"]{
        grid-column:1 !important;
    }

    .admin-video-search-card input[name="date_to"]{
        grid-column:2 !important;
    }

    .admin-video-search-card input[name="month"]{
        grid-column:1 / -1 !important;
    }

    .admin-video-search-card button[type="submit"]{
        grid-column:1 !important;
    }

    .admin-video-search-card .reset-btn{
        grid-column:2 !important;
    }
}

/* Admin fixed action menu and Skyscanner-style search fields */
.topbar:has(.admin-top-menu){
    position:sticky !important;
    top:0 !important;
    z-index:1500 !important;
    min-height:60px !important;
    padding-right:132px !important;
}

.topbar:has(.admin-top-menu) .right-menu.admin-top-menu,
.topbar.admin-topbar .right-menu.admin-top-menu{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    left:auto !important;
    z-index:3000 !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    margin:0 !important;
}

.topbar:has(.admin-top-menu) .right-menu.admin-top-menu select,
.topbar.admin-topbar .right-menu.admin-top-menu select{
    width:96px !important;
    min-width:0 !important;
    max-width:96px !important;
    height:40px !important;
    padding:0 26px 0 12px !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
    font-weight:800 !important;
}

.admin-video-search-card{
    display:grid !important;
    grid-template-columns:minmax(220px, 1.5fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(150px, .85fr) minmax(150px, .85fr) minmax(160px, .85fr) 112px 112px !important;
    gap:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:1px solid #303030 !important;
    border-radius:14px !important;
    overflow:hidden !important;
}

.admin-video-search-card .admin-search-help{
    display:none !important;
}

.admin-video-search-card .sky-field{
    min-width:0 !important;
    height:72px !important;
    padding:12px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    background:#111 !important;
    border-right:1px solid #303030 !important;
    box-sizing:border-box !important;
}

.admin-video-search-card .sky-field span{
    color:#bdbdbd !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
}

.admin-video-search-card .sky-field input,
.admin-video-search-card .sky-field select{
    width:100% !important;
    height:28px !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:700 !important;
    box-shadow:none !important;
}

.admin-video-search-card .sky-field input::placeholder{
    color:#8b8b8b !important;
    opacity:1 !important;
}

.admin-video-search-card button[type="submit"],
.admin-video-search-card .reset-btn{
    width:100% !important;
    min-width:0 !important;
    height:72px !important;
    border-radius:0 !important;
    margin:0 !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
}

.admin-video-search-card .reset-btn{
    background:#2f2f2f !important;
}

@media(max-width:900px){
    .topbar:has(.admin-top-menu){
        padding-right:120px !important;
    }

    .admin-video-search-card{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:0 !important;
    }

    .admin-video-search-card .sky-field-keyword,
    .admin-video-search-card .sky-field-month{
        grid-column:1 / -1 !important;
    }

    .admin-video-search-card .sky-field{
        height:64px !important;
        border-right:1px solid #303030 !important;
        border-bottom:1px solid #303030 !important;
    }

    .admin-video-search-card button[type="submit"],
    .admin-video-search-card .reset-btn{
        height:54px !important;
        border-radius:0 !important;
    }
}

/* Absolute final admin action menu lock */
.right-menu.admin-top-menu{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    left:auto !important;
    bottom:auto !important;
    z-index:99999 !important;
    display:block !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    float:none !important;
}

.right-menu.admin-top-menu select{
    display:block !important;
    width:96px !important;
    min-width:0 !important;
    max-width:96px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 26px 0 12px !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
    font-weight:800 !important;
}

.topbar:has(.admin-top-menu),
.topbar.admin-topbar{
    padding-right:124px !important;
    box-sizing:border-box !important;
}

.topbar:has(.admin-top-menu) .logo,
.topbar.admin-topbar .logo{
    max-width:calc(100vw - 150px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

@media(max-width:900px){
    .right-menu.admin-top-menu{
        top:12px !important;
        right:12px !important;
        width:96px !important;
        min-width:96px !important;
        max-width:96px !important;
    }

    .right-menu.admin-top-menu select{
        width:96px !important;
        max-width:96px !important;
    }
}

/* Final video-review fixes */
.admin-video-shortcuts,
.content-switch-tabs{
    overflow:visible !important;
    padding-top:6px !important;
}
.shortcut-btn,
.content-switch-btn{
    position:relative !important;
    overflow:visible !important;
}
.badge-count,
.mini-badge{
    top:-11px !important;
    right:-11px !important;
    z-index:20 !important;
}
.admin-video-search-card select option,
.admin-top-menu select option{
    color:#111 !important;
    background:#fff !important;
}
.admin-preview-link{
    border:0;
    background:transparent;
    color:#fff;
    font:inherit;
    font-weight:800;
    padding:0;
    cursor:pointer;
    text-align:left;
}
.admin-preview-link:hover{
    text-decoration:underline;
}
.admin-video-preview-box{
    width:min(900px, 92vw) !important;
}
.admin-video-preview-player{
    width:100%;
    max-height:70vh;
    background:#000;
    border-radius:10px;
}

/* Member password permission action buttons */
.member-action-group{
    grid-template-columns:1fr 1fr !important;
}
.member-action-group .inline-admin-form.full-row,
.member-action-group .restore-form{
    grid-column:1 / -1 !important;
}
@media(max-width:900px){
    .member-action-group{
        min-width:360px !important;
    }
}

/* Final mobile admin action menu lock: keep 操作 at the visual top-right. */
@media(max-width:900px){
    body .topbar .right-menu.admin-top-menu,
    body .topbar:has(.admin-top-menu) .right-menu.admin-top-menu,
    body .right-menu.admin-top-menu{
        position:fixed !important;
        top:12px !important;
        right:12px !important;
        left:auto !important;
        bottom:auto !important;
        z-index:2147483647 !important;
        width:96px !important;
        min-width:96px !important;
        max-width:96px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
        justify-self:end !important;
        align-self:start !important;
    }

    body .topbar .right-menu.admin-top-menu select,
    body .right-menu.admin-top-menu select{
        width:96px !important;
        min-width:96px !important;
        max-width:96px !important;
        height:40px !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    body .topbar:has(.admin-top-menu),
    body .topbar.admin-topbar{
        padding-right:124px !important;
    }
}
/* Login logs: keep short fields readable and preserve normal search behavior. */
.login-logs-page .login-log-search-card{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.login-logs-page .login-log-search-card input[type="text"]{
    min-width:220px;
}

.login-logs-page .login-log-search-card select{
    width:120px;
    min-width:120px;
    white-space:nowrap;
}

.login-logs-page .login-log-table-card{
    overflow-x:auto;
}

.login-logs-page .data-table{
    min-width:1180px;
    table-layout:fixed;
}

.login-log-col-time{ width:132px; }
.login-log-col-account{ width:150px; }
.login-log-col-result{ width:64px; }
.login-log-col-ip{ width:118px; }
.login-log-col-type{ width:92px; }
.login-log-col-message{ width:120px; }
.login-log-col-agent{ width:auto; }

.login-logs-page .data-table th,
.login-logs-page .data-table td{
    word-break:normal;
    overflow-wrap:normal;
}

.login-logs-page .data-table th:nth-child(3),
.login-logs-page .data-table td:nth-child(3),
.login-logs-page .data-table th:nth-child(4),
.login-logs-page .data-table td:nth-child(4),
.login-logs-page .data-table th:nth-child(5),
.login-logs-page .data-table td:nth-child(5){
    white-space:nowrap;
}

.login-logs-page .data-table td:nth-child(7){
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
}


/* Translation category view */
.translation-mode-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 16px;
}
.translation-mode-btn,
.translation-back-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 18px;
    border-radius:20px;
    background:#2f2f2f;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    border:1px solid #333;
}
.translation-mode-btn.active{
    background:#fff;
    color:#111;
}
.translation-category-bar{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 16px;
}
.translation-current-folder{
    color:#fff;
    font-size:18px;
    font-weight:800;
}
.translation-folder-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
    gap:12px;
    margin:16px 0 110px;
}
.translation-folder-card{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:72px;
    padding:16px 18px;
    border-radius:14px;
    background:#181818;
    color:#fff;
    text-decoration:none;
    border:1px solid #282828;
}
.translation-folder-card:hover{
    border-color:#555;
    background:#202020;
}
.translation-folder-icon{
    width:30px;
    height:30px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#2f2f2f;
    color:#fff;
    flex:0 0 auto;
}
.translation-folder-name{
    font-weight:800;
    overflow-wrap:anywhere;
}
.translation-folder-count{
    margin-left:auto;
    min-width:28px;
    height:28px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    background:#fff;
    color:#111;
    font-weight:800;
}
@media(max-width:700px){
    .translation-folder-grid{
        grid-template-columns:1fr;
        margin-bottom:90px;
    }
    .translation-category-bar{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* Admin flash and temporary password display */
.admin-flash {
    max-width: 1400px;
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 8px;
    font-weight: 700;
}
.admin-flash.success {
    color: #42ff8a;
    background: rgba(66, 255, 138, 0.08);
    border: 1px solid rgba(66, 255, 138, 0.22);
}
.admin-flash.error {
    color: #ff5a5a;
    background: rgba(255, 90, 90, 0.08);
    border: 1px solid rgba(255, 90, 90, 0.22);
}
.temp-password-value {
    display: inline-block;
    margin-bottom: 6px;
    letter-spacing: 0.02em;
}

/* Translation page final layout: no overlay footer, no frozen phrase-key column. */
.translation-table-wrap.table-card,
.translation-table-wrap{
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-bottom: 0 !important;
    margin-bottom: 18px !important;
}
.translation-table th:first-child,
.translation-table td:first-child{
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
}
.translation-table thead th{
    position: sticky !important;
    top: 60px !important;
    z-index: 120 !important;
    background: #181818 !important;
}
.translation-table thead th:first-child{
    z-index: 120 !important;
}
.save-bar{
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    box-shadow: none !important;
}
.save-bar button{
    width: 176px !important;
    max-width: 100% !important;
}
@media(max-width:700px){
    .save-bar{
        justify-content: stretch !important;
        padding: 0 10px 18px !important;
    }
    .save-bar button{
        width: 100% !important;
    }
}

/* Translation save button: fixed button only, no content-covering footer panel. */
.translation-admin-page .page-wrap{
    padding-bottom: 110px !important;
}
.translation-admin-page .save-bar{
    position: fixed !important;
    left: auto !important;
    right: 24px !important;
    bottom: 18px !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 50 !important;
    pointer-events: none !important;
}
.translation-admin-page .save-bar button{
    width: 176px !important;
    min-height: 44px !important;
    pointer-events: auto !important;
    box-shadow: 0 8px 26px rgba(0,0,0,.35) !important;
}
@media(max-width:700px){
    .translation-admin-page .page-wrap{
        padding-bottom: 96px !important;
    }
    .translation-admin-page .save-bar{
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
    }
    .translation-admin-page .save-bar button{
        width: 100% !important;
    }
}

/* Translation table: keep the page scrolling, but pin the header when it reaches the top. */
.translation-admin-page .translation-table-wrap.table-card,
.translation-admin-page .translation-table-wrap{
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: clip !important;
    padding: 0 !important;
    margin-bottom: 18px !important;
}

.translation-admin-page .translation-table{
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.translation-admin-page .translation-table thead th,
.translation-admin-page .translation-table thead th:first-child{
    position: sticky !important;
    top: 60px !important;
    left: auto !important;
    z-index: 120 !important;
    background: #181818 !important;
    box-shadow: none !important;
}
