/* Kulibin Tracker — единая таблица стилей панели */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; }
body {
    font-family: "Segoe UI", "Avenir Next", Arial, sans-serif;
    background-color: #f3f4f6;
    margin: 0;
    padding: 0;
    color: #1f2937;
}
h1, h2 { color: #111827; }
a { text-decoration: none; color: inherit; }
ul { list-style-type: none; padding: 0; }
li { margin-bottom: 8px; }

.page-container { display: flex; flex-direction: column; min-height: 100vh; width: 100%; max-width: 100%; margin: 0 auto; }
.header {
    background: #0a0a0a; min-height: 60px; width: 100%;
    display: flex; align-items: center; padding: 8px 20px; gap: 8px;
    position: sticky; top: 0; z-index: 1500; border-bottom: 1px solid #1f1f1f;
}
.brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; text-decoration: none; color: #fff; margin-right: 18px; }
.brand-mark {
    width: 34px; height: 34px; border-radius: 3px 11px 3px 11px;
    background:
        linear-gradient(155deg, #6b6f76 0%, #8a6b72 28%, #c4786a 58%, #e0a86a 82%, #f0d9a8 100%);
    color: #1f1a18; font: 800 16px/34px "Avenir Next", "Segoe UI", sans-serif;
    text-align: center; letter-spacing: -0.04em;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.brand-text b { font-size: 15px; font-weight: 750; letter-spacing: 0.04em; color: #fff; }
.brand-text em { font-style: normal; font-size: 10px; font-weight: 650; letter-spacing: 0.22em; color: #e0a86a; text-transform: uppercase; }
.menu-button {
    display: none; background: #1a1a1a; color: #fff; border: 1px solid #333;
    border-radius: 8px; width: 40px; height: 36px; font-size: 18px; cursor: pointer; margin-left: auto;
}
.dropdown-menu {
    display: none; flex-direction: column; position: absolute; top: 62px; right: 10px; left: 10px;
    background: #111; border: 1px solid #2a2a2a; box-shadow: 0 12px 40px rgba(0,0,0,.4);
    border-radius: 12px; overflow: hidden; z-index: 2000;
}
.dropdown-menu a { padding: 12px 16px; color: #e5e5e5; border-bottom: 1px solid #222; }
.dropdown-menu a:last-child { border-bottom: none; }
.dropdown-menu a:hover { background: #1c1c1c; color: #e0a86a; }
.user-info {
    color: #d4d4d4; font-weight: 600; text-decoration: none;
    padding: 4px 10px; border-radius: 10px; font-size: 13px;
    max-width: 220px;
    display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px;
    line-height: 1.2;
}
.user-info:hover { color: #fff; background: #1a1a1a; }
.header-user {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 8px;
    flex-shrink: 0;
}
.user-chip-name {
    font-size: 13px; font-weight: 700; color: #f3f4f6;
    max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.user-chip-meta {
    display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; justify-content: flex-end;
}
.user-chip-pill {
    display: inline-flex; align-items: center;
    padding: 1px 6px; border-radius: 999px;
    font-size: 10px; font-weight: 700; letter-spacing: 0.02em;
    line-height: 1.2; white-space: nowrap;
}
.user-chip-pill.plan { background: #1f2937; color: #e5e7eb; }
.user-chip-pill.left { background: #172554; color: #bfdbfe; }
.user-chip-pill.left.is-warn { background: #7f1d1d; color: #fecaca; }
.user-chip-pill.ver { background: #111827; color: #a3a3a3; border: 1px solid #262626; }
.user-chip-expiry {
    font-size: 10px; font-weight: 500; color: #94a3b8;
    max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.user-chip-expiry.is-warn { color: #fca5a5; font-weight: 650; }
.trk-lic-user-sub { display: none; }
.trk-lic-warn {
    background: #b91c1c; color: #fff; padding: 8px 14px; font-size: 13px;
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; justify-content: center;
    position: relative; z-index: 1490; width: 100%; box-sizing: border-box;
}
.trk-lic-warn-btn {
    background: #fff; color: #b91c1c; text-decoration: none; font-weight: 700;
    padding: 5px 10px; border-radius: 6px; white-space: nowrap;
}
.trk-lic-warn-btn:hover { background: #fee2e2; }
.trk-update-chip {
    appearance: none; border: 0; cursor: pointer;
    background: #eab308; color: #1c1917;
    font-size: 11px; font-weight: 800; letter-spacing: 0.02em;
    padding: 7px 12px; border-radius: 9px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
    white-space: nowrap;
}
.trk-update-chip:hover { background: #facc15; }
.trk-update-chip:disabled { opacity: .65; cursor: wait; }
.trk-update-chip.is-hidden { display: none !important; }
.trk-update-chip.has-update { animation: trkPulse 1.8s ease-in-out infinite; }
@keyframes trkPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(234,179,8,.45); }
    50% { box-shadow: 0 0 0 6px rgba(234,179,8,0); }
}
.trk-ver, .trk-update-bar { display: none !important; }
.trk-lic-settings-left { margin-left: 6px; color: #64748b; font-size: 13px; }
.trk-lic-settings-left.is-warn { color: #b91c1c; font-weight: 700; }
.trk-lic-settings-pay {
    margin-left: 10px; display: inline-block; background: #2563eb; color: #fff !important;
    text-decoration: none; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600;
}
.nav-dropdown { position: relative; display: inline-block; }
.nav-dropdown-content {
    display: none; position: absolute; background: #111; min-width: 200px;
    box-shadow: 0 10px 30px rgba(0,0,0,.45); z-index: 1000; top: 100%; left: 0;
    border-radius: 10px; border: 1px solid #2a2a2a; overflow: hidden;
}
.nav-dropdown-content a { color: #e5e5e5; padding: 11px 14px; display: block; font-size: 13px; margin: 0 !important; }
.nav-dropdown-content a:hover { background: #1c1c1c; color: #e0a86a; }
.nav-dropdown:hover .nav-dropdown-content { display: block; }
.nav-dropdown > span { color: #a3a3a3; padding: 0 12px; font-weight: 700; cursor: default; }
.nav-dropdown:hover > span { color: #fff; }
@media (max-width: 1080px) {
    .menu { display: none !important; }
    .menu-button { display: inline-flex; align-items: center; justify-content: center; }
    .user-info { display: none; }
    .header-user { margin-left: auto; margin-right: 6px; }
}
.logo { width: auto; flex-shrink: 0; }
.menu { display: flex; align-items: center; flex-wrap: wrap; min-width: 0; }
.menu a { font-weight: 700; color: #a3a3a3; margin-right: 18px; position: relative; transition: color .2s; white-space: nowrap; font-size: 14px; }
.menu a:hover { color: #f9f9f9; }
.menu a.active { color: #fff; }
.menu a.active::after { content: ""; display: block; width: 22px; height: 2px; background: #c4786a; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); }

.file-explorer { margin: 8px 12px 24px; max-width: 100%; overflow-x: auto; position: relative; }
.folder-list { max-width: 240px; background: #fff; flex-basis: 30%; padding: 10px; border-radius: 8px; }
.text-editor { flex-grow: 1; padding: 10px; }

button, input[type="submit"] {
    margin: 4px; min-height: 34px; background: #0d9488; color: #fff;
    padding: 7px 12px; border: none; border-radius: 8px; cursor: pointer; font-weight: 650;
}
button:hover, input[type="submit"]:hover { background: #0f766e; }
button.menu-button, .tab-buttons button, .check-btn, .del-btn, .close-button, .close {
    background: transparent; color: inherit; box-shadow: none;
}
.tab-buttons button:hover { background: #e5e7eb; }

table { width: max-content; min-width: 100%; max-width: none; border-collapse: collapse; margin-top: 16px; background: #fff; table-layout: auto; }
th, td { border: 1px solid #e5e7eb; padding: 8px 10px; text-align: left; word-break: normal; overflow-wrap: normal; white-space: nowrap; vertical-align: middle; }
th { background: #f9fafb; font-size: 13px; color: #374151; }
.col-id, th.col-id, td.col-id { min-width: 52px; width: 1%; text-align: center; white-space: nowrap; }
.col-check, th.col-check { width: 36px; min-width: 36px; text-align: center; }
.col-name, td.cell-name { white-space: normal; min-width: 140px; max-width: 280px; overflow-wrap: anywhere; }
.col-actions { min-width: 200px; white-space: nowrap; }
.col-time { min-width: 150px; white-space: nowrap; }
.btn-proxy { background: #2c6cef !important; }
.btn-cookies { background: #16a34a !important; }
.btn-s2s { background: #7c3aed !important; color: #fff !important; }
.btn-users { background: #0e7490 !important; }
.btn-warn { background: #f59e0b !important; color: #111 !important; }
.btn-info { background: #0891b2 !important; }
.copy-msg { display: none; color: #dc2626; margin-left: 6px; }
.copy-msg.is-shown { display: inline-block; }

.add-stream-form { min-height: 360px; max-width: 100%; background: #fff; }
.add-stream-form input, .add-stream-form select { width: min(100%, 320px); margin: 8px; padding: 8px; }
.button-bar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.btn-delete, .btn-clear { background: #dc2626 !important; color: #fff !important; }
.btn-delete:hover, .btn-clear:hover { background: #111 !important; }
.btn-check-mass { background: #0d9488; }

input[type="checkbox"] { margin-right: 8px; }
textarea { width: 100%; min-height: 160px; margin-top: 6px; }

.modal { display: none; position: fixed; z-index: 2000; inset: 0; overflow: auto; background: rgba(0,0,0,.55); }
.modal-content { position: relative; background: #fff; margin: 24px auto; width: min(92vw, 640px); min-height: 160px; max-height: calc(100vh - 48px); overflow: auto; border-radius: 12px; padding: 16px; }
.modal-form { position: relative; margin: 24px auto; padding: 12px; background: #fff; max-width: 420px; }
.close { position: absolute; top: 4px; right: 8px; padding: 8px; cursor: pointer; font-size: 22px; color: #9ca3af; z-index: 10; }
.close:hover { color: #111; }
.footer { color: #6b7280; padding: 16px; }
.small-text { font-size: 12px; color: #9ca3af; line-height: 1.4; }

.loader { display: none; }
.tk-busy {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 18, 24, 0.48);
}
.tk-busy.is-on { display: flex; }
.tk-busy-panel {
    position: relative;
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
}
.tk-busy-mark {
    width: 38px;
    height: 38px;
    border-radius: 3px 11px 3px 11px;
    background: linear-gradient(155deg, #6b6f76 0%, #8a6b72 28%, #c4786a 58%, #e0a86a 82%, #f0d9a8 100%);
    color: #1f1a18;
    font: 800 16px/38px "Avenir Next", "Segoe UI", sans-serif;
    text-align: center;
    letter-spacing: -0.04em;
    z-index: 1;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), 0 6px 18px rgba(0,0,0,.25);
}
.tk-busy-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid rgba(224, 168, 106, 0.22);
    border-top-color: #c4786a;
    border-right-color: #e0a86a;
    animation: tk-spin 0.75s linear infinite;
}
.tk-busy-label {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 650;
    color: #f8fafc;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 3px rgba(0,0,0,.45);
}
@keyframes tk-spin { to { transform: rotate(360deg); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes fadeEffect { from { opacity: 0; } to { opacity: 1; } }
@keyframes blinker { 50% { opacity: 0; } }

.is-hidden, .hidden { display: none; }
.u-flex { display: flex; }
.u-flex-1 { display: flex; flex: 1; }
.u-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.u-row-wide { display: flex; gap: 10px; width: 100%; align-items: center; flex-wrap: wrap; }
.u-grow { flex-grow: 1; }
.u-center { text-align: center; }
.u-pointer { cursor: pointer; }
.u-w-20 { width: 20px; }
.u-w-200 { width: 200px; max-width: 100%; }
.u-w-250 { width: 250px; max-width: 100%; }
.u-w-300 { width: 300px; max-width: 100%; }
.u-w-half { width: 50%; }
.u-w-full { width: 100%; }
.u-w-95 { width: 95%; }
.u-mb-15 { margin-bottom: 15px; }
.u-ml-10 { margin-left: 10px; }
.u-mt-15 { margin-top: 15px; }
.u-pad { padding: 20px; }
.u-float-none { float: none; }
.u-float-left { float: left; }
.u-muted { color: #9ca3af; }
.u-danger { color: #dc2626; }
.u-ok { color: #16a34a; }
.row-soft { background: #fff7cc; }
.row-bad { background: #fecaca; }
.row-ok { background: #bbf7d0; }
.row-violet { background: #ddd0f1; }
.row-rose { background: #cc9999; }
.row-orange { background: #ffdcaa; }
.row-peach { background: #ffceb9; }
.row-olive { background: #cccc66; }
.row-lilac { background: #f1ddff; }
.row-mint { background: #99cc99; }
.row-cyan { background: #ecffff; font-weight: 700; }
.row-teal { background: #cbffe8; }
.row-cream { background: #fff5cb; }
.pad-cell { padding: 6px 8px; }
.h-modal-sm { height: 250px; }
.s2s-block { border: 1px solid #c4b5fd; border-radius: 8px; padding: 18px; margin-bottom: 18px; background: #faf5ff; }
.s2s-row { display: flex; gap: 8px; margin-bottom: 6px; align-items: center; flex-wrap: wrap; }

body.login-page {
    background: radial-gradient(1100px 560px at 8% -8%, #5c5558 0%, transparent 48%),
                radial-gradient(900px 520px at 110% 8%, #c4786a 0%, transparent 42%),
                radial-gradient(700px 420px at 50% 120%, #e0a86a 0%, transparent 45%),
                #141210;
    min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px;
}
body.login-page .login-container {
    background: #111; width: 100%; max-width: 380px; padding: 32px 28px 28px;
    border-radius: 16px; border: 1px solid #262626; box-shadow: 0 24px 60px rgba(0,0,0,.45); position: relative; color: #e5e5e5;
}
body.login-page .brand { justify-content: center; margin-bottom: 22px; color: #fff; }
body.login-page .brand-mark { width: 40px; height: 40px; line-height: 40px; font-size: 18px; }
body.login-page label { display: block; margin-bottom: 6px; font-weight: 650; color: #a3a3a3; font-size: 13px; }
body.login-page input { width: 100%; padding: 12px; margin-bottom: 14px; border: 1px solid #333; border-radius: 10px; background: #0a0a0a; color: #fff; }
body.login-page input:focus { outline: none; border-color: #c4786a; }
body.login-page button { background: #a65d55; width: 100%; font-size: 15px; font-weight: 750; }
body.login-page button:hover { background: #8b4a52; }
body.login-page .forgot-wrap { text-align: center; margin: 14px 0 0; }
body.login-page .forgot-link {
    background: none; border: 0; color: #c4786a; cursor: pointer; font-size: 13px;
    text-decoration: underline; padding: 0; width: auto; font-weight: 600;
}
body.login-page .forgot-link:hover { color: #e8a090; background: none; }
body.login-page .forgot-panel {
    margin-top: 14px; padding-top: 12px; border-top: 1px solid #2a2a2a;
}
body.login-page .forgot-panel label { margin-top: 0; }
body.login-page .forgot-submit { margin-top: 4px; background: #3f3f46; }
body.login-page .forgot-submit:hover { background: #52525b; }
body.login-page .forgot-msg { margin-top: 12px; font-size: 13px; text-align: center; border-radius: 8px; padding: 10px; }
body.login-page .forgot-msg.ok { color: #bbf7d0; border: 1px solid #14532d; background: #052e16; }
body.login-page .forgot-msg.error { color: #fecaca; border: 1px solid #7f1d1d; background: #1c0a0a; }
body.login-page .error { color: #fecaca; font-size: 13px; text-align: center; margin-bottom: 14px; border: 1px solid #7f1d1d; padding: 10px; background: #1c0a0a; border-radius: 8px; }
body.login-page .ok { color: #bbf7d0; font-size: 13px; text-align: center; margin-bottom: 14px; border: 1px solid #14532d; padding: 10px; background: #052e16; border-radius: 8px; }
#autoLoginOverlay { display: none; position: absolute; inset: 0; background: rgba(10,10,10,.92); border-radius: 16px; text-align: center; padding-top: 42%; font-weight: 700; color: #e0a86a; }

#block-custom { display: block; }
#block-intent { display: none; }
#save { display: none; }


/* ===== check_kreo/index.php ===== */
body.check-kreo { background-color: #f3f4f6; padding: 20px; }
/* ===== domains/index.php ===== */

        .btn-delete { background-color: red; color: white; border: none; padding: 8px 15px; cursor: pointer; transition: 0.3s; margin-left: 10px; }
        .btn-delete:hover { background-color: black !important; }
        .btn-check-mass { border: none; padding: 8px 15px; cursor: pointer; transition: 0.3s; margin-left: 10px; }
        .search-container { margin-bottom: 15px; display: flex; gap: 10px; align-items: center; }
        .pagination { margin-top: 20px; display: flex; gap: 5px; justify-content: center; }
        .pagination a { padding: 6px 10px; border: 1px solid #ccc; text-decoration: none; color: #333; border-radius: 4px; }
        .pagination a.active { background-color: #333; color: #fff; border-color: #333; }
        .pagination a:hover:not(.active) { background-color: #f0f0f0; }
        .status-ok { color: green;}
        .status-err { color: red;}
        .check-btn { cursor: pointer; background: none; border: none; font-size: 16px; margin-right: 5px; }
        .del-btn { cursor: pointer; background: none; border: none; font-size: 16px; margin-left: 5px; }
        .del-btn:hover { transform: scale(1.1); }
        .loader { display: none; width: 16px; height: 16px; border: 2px solid #f3f3f3; border-top: 2px solid #3498db; border-radius: 50%; animation: spin 1s linear infinite; vertical-align: middle; }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        .modal-content {min-height: 350px;}
    
/* ===== landings/create_page.php ===== */

        .cp-container { width: 100%; background-color: #fff; padding: 10px; box-sizing: border-box; }
        .cp-input, .cp-textarea, .cp-select { width: 100%; padding: 10px; margin: 10px 0; border-radius: 4px; border: 1px solid #ccc; box-sizing: border-box; }
        .cp-textarea { height: 200px; font-family: monospace; }
        .cp-result { margin-top: 20px; padding: 10px; background-color: #e7f3ff; border: 1px solid #b3d7ff; border-radius: 4px; display: none; }
        .type-selector { margin-bottom: 20px; text-align: center; }
        .type-selector label { margin: 0 15px; cursor: pointer; font-weight: bold; font-size: 16px; }
        #block-custom { display: block; }
        #block-intent { display: none; }
    
/* ===== landings/edit_landing.php ===== */

        .file-explorer ul, .folder-list ul { list-style: none; padding: 0; margin: 0; }
        .file-explorer li, .folder-list li { margin-bottom: 5px; display: flex; }
        .folder { cursor: pointer; }
        .nested { display: none; }
        .root-list { display: block; list-style: none; padding: 0; margin: 0; }
        .folder-list input[type="checkbox"] { display: none; }
        .folder-label::before { content: '📁'; margin-right: 5px; }
        .file-label::before { content: '📄'; margin-right: 5px; }
        .active-file { font-weight: bold; color: #f60457;
}
        .actions { margin-top: 10px; }

    
/* ===== landings/gener_white.php ===== */

body.white-gen { padding: 20px; }
body.white-gen .container { width: min(600px, 100%); margin: 0 auto; background: #fff; padding: 20px; border-radius: 12px; }
body.white-gen input, body.white-gen textarea { width: 100%; padding: 10px; margin: 10px 0; border-radius: 8px; border: 1px solid #d1d5db; }
body.white-gen #result { margin-top: 20px; padding: 10px; background: #e7f3ff; border: 1px solid #b3d7ff; border-radius: 8px; word-wrap: break-word; }
body.white-gen #save { display: none; }
body.white-gen .loader { display: none !important; }


    
/* ===== landings/index.php ===== */

    .pagination { margin-top: 20px; text-align: center; }
    .pagination a { padding: 5px 10px; border: 1px solid #ccc; text-decoration: none; color: black; margin: 0 2px; border-radius: 3px; }
    .pagination a.active { background-color: #333; color: white; border-color: #333; }
    .delete-btn-hover:hover { background-color: black !important; }
    .search-container { margin-bottom: 15px; }
    .search-input { padding: 5px; width: 250px; }
    
    .constructor-form label { display: block; margin-top: 10px; font-weight: bold; }
    .constructor-form input[type="text"], .constructor-form select { width: 100%; padding: 8px; margin-top: 5px; box-sizing: border-box; }
    .color-option { display: inline-block; width: 30px; height: 30px; margin-right: 5px; cursor: pointer; border: 2px solid transparent; border-radius: 50%; }
    .color-option.selected { border-color: #000; transform: scale(1.1); }
  
/* ===== offers/edit_offer.php ===== */

        .file-explorer ul, .folder-list ul { list-style: none; padding: 0; margin: 0; }
        .file-explorer li, .folder-list li { margin-bottom: 5px; display: flex; }
        .folder { cursor: pointer; }
        .nested { display: none; }
        .root-list { display: block; list-style: none; padding: 0; margin: 0; }
        .folder-list input[type="checkbox"] { display: none; }
        .folder-label::before { content: '📁'; margin-right: 5px; }
        .file-label::before { content: '📄'; margin-right: 5px; }
        .active-file { font-weight: bold; color: #f60457;
}
        .actions { margin-top: 10px; }

    
/* ===== offers/index.php ===== */

    .pagination { margin-top: 20px; text-align: center; }
    .pagination a { padding: 5px 10px; border: 1px solid #ccc; text-decoration: none; color: black; margin: 0 2px; }
    .pagination a.active { background-color: #333; color: white; }
    .delete-btn-hover:hover { background-color: black !important; }
    
    .badge-redirect { background-color: #ff9800; color: white; padding: 2px 6px; border-radius: 4px; font-size: 11px; margin-right: 5px; vertical-align: middle; }
    .badge-tg { background-color: #0088cc; color: white; padding: 2px 6px; border-radius: 4px; font-size: 11px; margin-right: 5px; vertical-align: middle; }
    
    /* Стили для модалок и свитчера */
    .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); }
    .modal-content { background-color: white; margin: 5% auto; padding: 25px; border-radius: 8px; width: 500px; position: relative; }
    .close { float: right; font-size: 24px; cursor: pointer; font-weight: bold; color: #aaa; }
    .close:hover { color: black; }
    
    .input-group { margin-bottom: 15px; }
    .hidden { display: none; }
    
    /* Тумблер */
    .switch { position: relative; display: inline-block; width: 50px; height: 24px; vertical-align: middle; margin-left: 10px; }
    .switch input { opacity: 0; width: 0; height: 0; }
    .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 24px; }
    .slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
    input:checked + .slider { background-color: #2196F3; }
    input:checked + .slider:before { transform: translateX(26px); }
  
/* ===== offers/update_redirect.php ===== */

    body.center-status { background: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh; }
    .tg-loader { width: 45px; height: 45px; border: 3px solid #f3f3f3; border-top: 3px solid #0088cc; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 20px;}
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
    .status-text { color: #555; font-size: 16px; text-align: center; padding: 0 20px; }

/* ===== offers/upload.php ===== */

    body.center-status { background: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh; }
    .tg-loader { width: 48px; height: 48px; border: 3px solid #f3f3f3; border-top: 3px solid #0088cc; border-radius: 50%; animation: spin 0.8s linear infinite; margin-bottom: 20px; }
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
    .status-text { color: #555; font-size: 16px; text-align: center; padding: 0 20px; }

/* ===== postback/index.php ===== */

        /* Стили кнопки очистки */
        /* Добавлено !important, чтобы перебить глобальные стили (зеленый цвет) */
        .btn-clear {
            background-color: red !important;
            color: white !important;
            border: none;
            padding: 8px 15px;
            cursor: pointer;
            transition: background-color 0.3s;
            font-size: 14px;
        }
        .btn-clear:hover {
            background-color: black !important;
        }

        /* Стили пагинации с переносом строк */
        .pagination {
            margin-top: 20px;
            display: flex;
            flex-wrap: wrap; /* Перенос строк */
            gap: 5px;
            justify-content: center;
            padding-bottom: 20px;
        }
        .pagination a {
            padding: 6px 11px;
            border: 1px solid #ccc;
            text-decoration: none;
            color: #333;
            border-radius: 4px;
            margin-bottom: 5px;
        }
        .pagination a.active {
            background-color: #333;
            color: #fff;
            border-color: #333;
        }
        .pagination a:hover:not(.active) {
            background-color: #f0f0f0;
        }

        /* Стили поиска */
        .search-box {
            background: #f4f4f4;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
            border: 1px solid #ddd;
        }
        .info-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        .info-table th, .info-table td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }
        .info-table th {
            background: #eee;
            width: 30%;
        }
    


/* ===== stats/index.php ===== */

body.stats-page table, body.stats-mob table { border-collapse: collapse; width: 100%; margin-top: 20px; }
body.stats-page th, body.stats-page td, body.stats-mob th, body.stats-mob td { border: 1px solid #ddd; padding: 8px; text-align: left; max-width: 400px; overflow-wrap: break-word; }
body.stats-page th, body.stats-mob th { background-color: #f2f2f2; }
body.stats-page table.sortable th { cursor: pointer; user-select: none; }
body.stats-page table.sortable th:hover { background-color: #e2e2e2; }
body.stats-page .page-container { height: auto; }
        
        .modal-container { display: none; position: fixed; z-index: 100; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; }
        .close-button-container { text-align: right; padding: 5px; }
        .close-button { cursor: pointer; font-size: 24px; font-weight: bold; color: #555; border: none; background: none; padding: 5px 10px; border-radius: 5px; transition: background-color 0.3s; }
        .close-button:hover { background-color: #eee; }
        
        #stats-modal-container { display: none; position: fixed; z-index: 100; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(15, 23, 42, 0.55); overflow: auto; }
        #stats-modal-container .modal-content { padding: 20px; }
        #stats-modal-container .close { display: none; }
        
        #tt-modal-container { display: none; position: fixed; z-index: 100; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; }
        #tt-modal-container #tt-modal-content { background-color: #fefefe; width: 95%; height: 95%; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); position: relative; }
        #tt-modal-container .close-button { z-index: 110; }
        
        .table_stat_modal th, .table_stat_modal td { font-size: 0.7em; padding: 2px; }
        .refresh-container { right: 22px; top: 16px; position: absolute; z-index: 5; }
        .stats-refresh-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin: 0;
            min-height: 40px;
            padding: 8px 14px 8px 12px;
            border: 0;
            border-radius: 10px;
            cursor: pointer;
            color: #1f1a18;
            font-weight: 750;
            font-size: 13px;
            letter-spacing: 0.01em;
            background: linear-gradient(155deg, #6b6f76 0%, #8a6b72 28%, #c4786a 58%, #e0a86a 82%, #f0d9a8 100%);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 8px 18px rgba(0,0,0,.18);
        }
        .stats-refresh-btn:hover {
            filter: brightness(1.05);
            background: linear-gradient(155deg, #6b6f76 0%, #8a6b72 28%, #c4786a 58%, #e0a86a 82%, #f0d9a8 100%);
        }
        .stats-refresh-btn:active { transform: translateY(1px); }
        .stats-refresh-icon {
            width: 16px;
            height: 16px;
            border: 2px solid rgba(31,26,24,.35);
            border-top-color: #1f1a18;
            border-radius: 50%;
            display: inline-block;
            position: relative;
            box-sizing: border-box;
        }
        .stats-refresh-icon::after {
            content: "";
            position: absolute;
            top: -3px;
            right: -1px;
            border: 4px solid transparent;
            border-bottom-color: #1f1a18;
            transform: rotate(35deg);
        }
        .refresh-container.is-loading .stats-refresh-icon {
            animation: tk-spin 0.75s linear infinite;
        }
        
        .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: 0.3s ease-in-out; z-index: 9999; }
        body.stats-page .loader { display: none !important; }
        .loading .overlay { opacity: 1; visibility: visible; }
        
        #column-modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); justify-content: center; align-items: center; }
        #column-modal-content { background: #fff; padding: 20px; border-radius: 8px; width: 90%; max-width: 600px; max-height: 80%; overflow-y: auto; }
        .column-list { columns: 2; column-gap: 30px; }
        .column-list label { display: block; margin: 8px 0; cursor: pointer; }
        .modal-buttons { margin-top: 20px; text-align: right; }
        .modal-buttons button { padding: 8px 16px; margin-left: 10px; }

        .switch-container { display: inline-flex; align-items: center; margin-left: 20px; vertical-align: middle; }
        .switch { position: relative; display: inline-block; width: 50px; height: 24px; margin-right: 10px; }
        .switch input { opacity: 0; width: 0; height: 0; }
        .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 24px; }
        .slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
        input:checked + .slider { background-color: #2196F3; }
        input:checked + .slider:before { transform: translateX(26px); }
        .switch-label { font-weight: bold; }
    
/* ===== stats/index_mob.php ===== */
body.stats-mob { overflow-x: hidden; }
body.stats-mob .table-container { padding: 2px; }
body.stats-mob table { table-layout: fixed; margin-top: 0; width: 100%; }
body.stats-mob th, body.stats-mob td { padding: 3px; text-align: center; position: relative; vertical-align: middle; height: 120px; white-space: normal; }
body.stats-mob td { font-size: 10px; }
body.stats-mob .vertical-text {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    white-space: nowrap; display: inline-block; margin: 0; text-align: center; width: max-content;
}

/* ===== stats/tt_stats_modal.php ===== */

body.tt-stats { background: #f7fafc; }
body.tt-stats .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.tt-stats table { width: 100%; border-collapse: collapse; }
body.tt-stats th, body.tt-stats td { white-space: nowrap; padding: 8px 16px; text-align: left; border-bottom: 1px solid #e5e7eb; }
body.tt-stats th { background-color: #f3f4f6; font-weight: 600; color: #4b5563; text-transform: uppercase; }
body.tt-stats tr:hover { background-color: #f7fafc; }
body.tt-stats tr.campaign-row, body.tt-stats tr.adset-row { cursor: pointer; }
body.tt-stats .toggle-icon { transition: transform 0.2s; }
body.tt-stats .rotated { transform: rotate(90deg); }
body.tt-stats input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 1.25rem; height: 1.25rem; border: 2px solid #d1d5db; border-radius: 0.25rem; background-color: #fff; position: relative; cursor: pointer; }
body.tt-stats input[type="checkbox"]:checked { background-color: #0d9488; border-color: #0d9488; }
body.tt-stats input[type="checkbox"]:checked::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0.5rem; height: 0.9rem; border: solid white; border-width: 0 2px 2px 0; transform: translate(-50%, -60%) rotate(45deg); }
body.tt-stats .modal { display: none; position: fixed; z-index: 100; inset: 0; overflow: auto; background: rgba(0,0,0,0.4); justify-content: center; align-items: center; }
body.tt-stats .modal-content { background: #fff; padding: 24px; border-radius: 8px; max-width: 400px; width: 90%; text-align: center; position: relative; }
body.tt-stats .modal-close { position: absolute; top: 8px; right: 12px; font-size: 28px; font-weight: bold; color: #aaa; cursor: pointer; }
    
/* ===== streams/filters.php ===== */

body.filters-page { padding: 16px; background: #f3f4f6; }
body.filters-page table { width: 100%; max-width: 720px; border-collapse: collapse; margin-bottom: 20px; background: #fff; }
body.filters-page th, body.filters-page td { border: 1px solid #e5e7eb; padding: 10px; text-align: left; }
body.filters-page th { background: #f3f4f6; }
body.filters-page input[type="text"], body.filters-page select { width: 100%; box-sizing: border-box; padding: 6px; border: 1px solid #d1d5db; border-radius: 6px; }
body.filters-page .pixel-bg { background-color: #ffe4ec; }
body.filters-page .deep-funnel-bg { background-color: #e3f2fd; }
body.filters-page .custom-input { margin-top: 8px; border: 1px dashed #666 !important; background-color: #fffdec; }
body.filters-page tr.deep-field-row.is-hidden { display: none; }
body.filters-page .success-message { color: #15803d; font-weight: 700; margin-bottom: 15px; }
    
/* ===== streams/index.php ===== */

    .btn-delete { background-color: red; color: white; border: none; padding: 5px 10px; cursor: pointer; transition: background-color 0.3s; }
    .btn-delete:hover { background-color: black !important; }
    .pagination { margin-top: 20px; display: flex; gap: 5px; justify-content: center; flex-wrap: wrap;}
    .pagination a { padding: 8px 12px; border: 1px solid #ccc; text-decoration: none; color: #333; border-radius: 4px; }
    .pagination a.active { background-color: #333; color: #fff; border-color: #333; }
    .pagination a:hover:not(.active) { background-color: #f0f0f0; }
    .search-container { margin-bottom: 15px; }
    .select2-container { width: auto !important; min-width: 180px; }
    .tags-select + .select2-container { width: 100% !important; }
    .add-stream-form { min-height: 400px;}
    .tag-badge { background: #e9ecef; padding: 2px 6px; border-radius: 4px; text-decoration: none; font-size: 11px; margin-right: 3px; margin-bottom: 3px; color: #333; display: inline-block; border: 1px solid #ccc; }
    .tag-badge:hover { background: #d3d9df; }

.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.7); }
.modal-content { position: relative; background-color: #fefefe; margin: 50px auto; width: 80%; min-height: 500px; }
.close { position: absolute; top: 0; right: 0; padding: 10px; cursor: pointer; font-size: 20px; z-index: 10;}
.add-stream-form { position: relative; margin: 50px auto; padding: 10px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #d20251; }

/* ===== tools/base_bots.php ===== */

        /* Стили кнопки удаления */
        .btn-delete {
            background-color: red;
            color: white;
            border: none;
            padding: 8px 15px;
            cursor: pointer;
            transition: background-color 0.3s;
            margin-left: 10px;
        }
        .btn-delete:hover {
            background-color: black !important;
        }

        /* Стили поиска */
        .search-container {
            margin-bottom: 15px;
            display: flex;
            gap: 10px;
            align-items: center;
        }

        /* Стили пагинации */
        .pagination {
            margin-top: 20px;
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            justify-content: center;
            padding-bottom: 20px;
        }
        .pagination a {
            padding: 6px 10px;
            border: 1px solid #ccc;
            text-decoration: none;
            color: #333;
            border-radius: 4px;
            margin-bottom: 5px;
        }
        .pagination a.active {
            background-color: #333;
            color: #fff;
            border-color: #333;
        }
        .pagination a:hover:not(.active) {
            background-color: #f0f0f0;
        }
    
/* ===== tools/mass_update_sftp.php ===== */

body.sftp-page { padding: 20px; }
body.sftp-page .container { max-width: 900px; margin: 0 auto; background: white; padding: 25px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
body.sftp-page .alert { padding: 15px; margin-bottom: 20px; border-radius: 4px; background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
body.sftp-page table { width: 100%; border-collapse: collapse; margin-top: 10px; }
body.sftp-page th, body.sftp-page td { text-align: left; padding: 10px; border-bottom: 1px solid #eee; }
body.sftp-page th { background: #f8f9fa; }
        
        .add-form { background: #e9ecef; padding: 15px; border-radius: 5px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 10px; margin-bottom: 20px; }
        .add-form input { padding: 8px; border: 1px solid #ccc; border-radius: 4px; width: 100%; box-sizing: border-box; }
        
        .update-block { border: 2px solid #007bff; padding: 20px; border-radius: 5px; background: #f0f7ff; margin-top: 20px; }
        .input-group { margin-bottom: 15px; }
        .input-group label { display: block; font-weight: bold; margin-bottom: 5px; }
        .input-text { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
        
        .btn { padding: 8px 15px; border: none; cursor: pointer; border-radius: 4px; font-weight: bold; color: white; }
        .btn-blue { background: #007bff; }
        .btn-red { background: #dc3545; font-size: 12px; }
        .btn-green { background: #28a745; width: 100%; padding: 15px; font-size: 16px; margin-top: 10px; }
        
        .log-box { background: #222; color: #0f0; padding: 10px; font-family: monospace; font-size: 12px; margin-top: 5px; border-radius: 3px; max-height: 150px; overflow-y: auto; }
        .status-ok { color: green; font-weight: bold; }
        .status-error { color: red; font-weight: bold; }
    
/* ===== tools/monitor.php ===== */

        .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; margin-top: 15px; }
        .card { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
        .card h3 { margin: 0 0 10px 0; border-bottom: 2px solid #eee; padding-bottom: 5px; font-size: 16px; color: #333; }
        .row { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 8px; border-bottom: 1px dashed #eee; padding-bottom: 4px; }
        .val { font-weight: bold; font-family: monospace; font-size: 14px; }
        .danger { color: #d32f2f; }
        .warn { color: #f57c00; }
        .ok { color: #388e3c; }
        .blink { animation: blinker 1s linear infinite; color: red; font-weight: bold; }
        @keyframes blinker { 50% { opacity: 0; } }
    
body.service-page .service-container { position: relative; }
body.service-page #svcConfirmModal.modal { display: none; }
body.service-page #svcConfirmModal.modal:not(.is-hidden) { display: block; }
body.service-lock .auth-box { padding: 30px; text-align: center; }
body.service-lock input[type="password"] { padding: 12px; border: 1px solid #333; border-radius: 8px; width: 250px; text-align: center; font-size: 20px; letter-spacing: 4px; outline: none; background: #111; color: #fff; }
body.service-lock input[type="password"]:focus { border-color: #2dd4bf; }
body.service-lock .err { color: #fecaca; margin-bottom: 15px; font-size: 14px; font-weight: bold; }
        
        .service-container { padding: 20px; max-width: 900px; margin: 0 auto; }
        .card { background: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-bottom: 30px; position: relative;}
        
        .tariff-zone { border: 2px solid #007bff; }
        .danger-zone { border: 2px solid #ffcccc; }
        .danger-header { color: #dc3545; margin-top: 0; border-bottom: 1px solid #ffcccc; padding-bottom: 15px; }
        .tariff-header { color: #007bff; margin-top: 0; border-bottom: 1px solid #cce5ff; padding-bottom: 15px; }
        
        .new-owner-block { background: #fdfdfd; border: 1px solid #e0e0e0; padding: 15px; border-radius: 5px; margin-bottom: 20px; }
        .new-owner-title { font-weight: bold; margin-bottom: 10px; display: block; color: #333; }
        
        .form-row { display: flex; gap: 15px; margin-bottom: 10px; }
        .form-group { flex-grow: 1; }
        .form-group label { display: block; margin-bottom: 5px; font-weight: bold; font-size: 14px; color: #555; }
        .form-group input[type="text"], .form-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
        
        .btn-action { border: none; border-radius: 4px; cursor: pointer; color: white; font-size: 16px; font-weight: bold; transition: opacity 0.2s; width: 100%; }
        .btn-action:hover { opacity: 0.9; }
        .btn-red { background-color: #dc3545; padding: 15px 25px;}
        .btn-blue { background-color: #007bff; width: auto; padding: 10px 20px;}

        .control-links { margin-bottom: 15px; font-size: 14px; }
        .control-links span { color: #007bff; cursor: pointer; text-decoration: underline; margin-right: 15px; }

        .table-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
        .checkbox-item { background: #f8f9fa; padding: 10px; border: 1px solid #e9ecef; border-radius: 6px; }
        .checkbox-item:hover { background: #e2e6ea; }
        .checkbox-item label { cursor: pointer; display: flex; align-items: center; }
        .checkbox-item input { margin-right: 10px; transform: scale(1.2); }
        .checkbox-text b { font-size: 14px; display: block; }
        .checkbox-text small { font-size: 12px; color: #666; }

        .msg-box { padding: 15px; border-radius: 4px; margin-bottom: 20px; }
        .msg-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .msg-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .msg-warning { background-color: #fff3cd; color: #856404; border: 1px solid #ffeeba; }

        .lock-btn { position: absolute; top: 20px; right: 20px; background: #6c757d; color: white; padding: 5px 10px; border-radius: 4px; text-decoration: none; font-size: 12px; }
        .lock-btn:hover { background: #5a6268; }
    
/* ===== user/settings.php ===== */

        .tab-container { width: 100%; margin-top: 20px; }
        .tab-buttons { overflow: hidden; border-bottom: 1px solid #ccc; background-color: #f1f1f1; border-radius: 5px 5px 0 0; }
        .tab-buttons button { background-color: inherit; float: left; border: none; outline: none; cursor: pointer; transition: 0.3s; font-weight: bold; color: #555; padding: 10px 15px;}
        .tab-buttons button:hover { background-color: #ddd; }
        .tab-buttons button.active { background-color: #fff; border-bottom: 2px solid #333; color: #000; }
        .tab-content { display: none; padding: 20px; border-top: none; background-color: #fff; border-radius: 0 0 5px 5px; animation: fadeEffect 0.5s; }
        .tab-content.is-active { display: block; }
        @keyframes fadeEffect { from {opacity: 0;} to {opacity: 1;} }
        .settings-group { margin-bottom: 20px; }
        .settings-group label { display: block; margin-bottom: 5px; font-weight: bold; }
        .settings-group input[type="text"], .settings-group input[type="password"], .settings-group select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
        .hint { font-size: 12px; color: #777; margin-top: 3px; }
        .msg-box { padding: 10px; margin-bottom: 15px; border-radius: 4px; }
        .msg-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .msg-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        
        .users-table { width: 100%; border-collapse: collapse; margin-top: 15px; }
        .users-table th, .users-table td { padding: 10px; border: 1px solid #eee; text-align: left; }
        .users-table th { background: #f9f9f9; }
        .badge { padding: 3px 8px; border-radius: 12px; font-size: 12px; color: #fff; }
        .badge-superadmin { background: #dc3545; }
        .badge-admin { background: #007bff; }
        .badge-user { background: #28a745; }

        .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.5); }
        .modal-content { background-color: #fefefe; margin: 5% auto; padding: 20px; border: 1px solid #888; width: 500px; border-radius: 8px; }
        .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; }
        .close:hover { color: black; }
        
        .resource-list { max-height: 200px; overflow-y: auto; border: 1px solid #ccc; padding: 10px; margin-bottom: 10px; border-radius: 4px; }
        .log-viewer { background: #1e1e1e; color: #00ff00; padding: 15px; font-family: monospace; height: 400px; overflow-y: scroll; border-radius: 5px; white-space: pre-wrap; }
        
        .perm-checkboxes { font-size: 12px; font-weight: normal; display: inline-block; margin-left: 15px; background:#f1f1f1; padding:2px 8px; border-radius:4px; }
        .perm-checkboxes label { display: inline-block; margin: 0 5px 0 0; cursor:pointer;}
        .admin-only-perm { color: #d9534f; font-weight: bold !important; border-right: 1px solid #ccc; padding-right: 5px; }
        .user-only-perm { color: #333; }

        .res-row { display: flex; align-items: center; padding: 6px 4px; border-bottom: 1px solid #eee; }
        .res-col-main { flex: 2; display: flex; align-items: center; }
        .res-col-admin { flex: 1; font-size: 11px; color: #0056b3; }
        .res-col-user { flex: 1; font-size: 11px; color: #155724; }

        .switch { position: relative; display: inline-block; width: 44px; height: 22px; }
        .switch input { opacity: 0; width: 0; height: 0; }
        .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 22px; }
        .slider:before { position: absolute; content: ""; height: 14px; width: 14px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
        input:checked + .slider { background-color: #28a745; }
        input:checked + .slider:before { transform: translateX(22px); }
        .toggle-container { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
    


/* semantic replacements for dynamic / leftover styles */
.dropdown-menu.is-open { display: flex; }
.search-input { padding: 8px 10px; width: min(300px, 100%); border: 1px solid #d1d5db; border-radius: 8px; }
.search-input-lg { width: min(350px, 100%); }
.input-readonly { background: #e9ecef; }
.custom-period { display: none; margin-left: 10px; }
.custom-period.is-shown { display: inline-block; }
.custom-input.is-hidden { display: none; }
.is-rel { position: relative; }
.acc-ban { background-color: #fecaca; }
.acc-ok { background-color: #bbf7d0; }
.acc-flag { position: absolute; top: 5px; right: 5px; font-size: 10px; }
.acc-flag.ban { color: #dc2626; }
.acc-flag.ok { color: #16a34a; }
.btn-teal { background-color: #0d9488; color: #fff; }
.billing-pad { padding: 4px 8px; border-radius: 4px; margin-left: 10px; font-size: 12px; min-height: auto; }
.billing-info { display: none; }
.billing-info.is-open { display: block; }
.form-hidden { display: none; }
#customPeriod.is-shown { display: inline-block; margin-left: 10px; }

/* auto-extracted leftover inline styles */
.u-3b5bd4 { background-color: red; color: white; cursor: pointer; }
.u-96a45d { color:green; font-size:12px; }
.u-c4c5e3 { color:#aaa; font-size:12px; }
.u-959987 { cursor: pointer; float: right; opacity: 50%; }
.u-4a50d9 { min-height: 450px; }
.u-ec78b2 { padding: 5px; margin-bottom: 10px; }
.u-210797 { width: 80%; }
.u-a2d1a6 { font-size: 10px; color: gray; }
.u-221e26 { background: #f9f9f9; padding: 10px; border-radius: 5px; border: 1px solid #eee; margin-top: 10px; }
.u-fd1077 { width: 50%; padding: 5px; margin-bottom:10px; }
.u-9ff6b4 { display:inline-block; margin-right: 10px; vertical-align: middle; margin-top:15px; }
.u-65d017 { width: 30%; }
.u-3dd306 { width: 50%; padding: 5px; }
.u-45b4d8 { min-height: 400px; }
.u-fcb9f7 { width: 30%; }
.u-d85c4e { position: relative; }
.u-169ddd { font-size: 18px; color: #007bff; }
.u-99129a { display: flex; align-items: center; gap: 15px; }
.u-23c817 { padding: 10px; width: 350px; border-radius: 4px; border: 1px solid #ccc; }
.u-7b7d5e { margin-bottom: 20px; color: #555; }
.u-d2dff4 { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.u-4345e9 { color:#2196F3; }
.u-6ec708 { font-size: 11px; }
.u-13335d { border: 2px solid #2196F3; }
.u-70b282 { margin: 5px 0; }
.u-39b8b7 { color:gray; text-align:center; }
.u-0590cc { background: white; padding: 5px; }
.u-54de90 { font-size: 11px; color: gray; margin-top: 5px; }
.u-bc9cee { margin-top: 30px; }
.u-49a737 { border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 10px; }
.u-63fee3 { padding: 5px 15px; }
.u-27c033 { padding: 5px; color: red; text-decoration: none; }
.u-19c8e5 { clear: both; margin-bottom: 10px; }
.u-539b04 { text-align:center; }
.u-c33158 { width: 100%; height: 150px; }
.u-c25159 { width: 150px; }
.u-50e47e { border-collapse: collapse; }
.u-0ca503 { white-space: nowrap; }
.u-13076d { text-align:center; }
.u-909b43 { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }
.u-4b7a7d { background: white; padding: 20px; width: 400px; margin: 100px auto; }
.u-4a9ff7 { cursor: pointer; float: right; }
.u-be23d7 { width: 150px; display: block; margin: 0 auto; }
.u-a11187 { margin-left:10px; color:red; }
.u-e00988 { background-color: red; color: white; border: none; cursor: pointer; padding: 5px 10px; }
.u-747dc1 { background-color: orange; color: white; margin-right: 5px; padding: 2px 4px; font-size: 10px; border-radius: 3px; }
.u-18f016 { background-color: #00d4ff; color: #000; margin-right: 5px; padding: 2px 4px; font-size: 10px; border-radius: 3px; font-weight:bold; }
.u-68ab56 { height: 100%; max-width: 800px; overflow-y: auto; }
.u-4d1e5c { max-width: 600px; }
.u-3d2eed { max-height: 80vh; overflow-y: auto; height: auto; }
.u-b713b5 { margin-top:10px; text-align:center; }
.u-6ca73b { margin: 15px 0; padding: 10px; background: #f0f8ff; border: 1px solid #cce0ff; border-radius: 5px; }
.u-1384c9 { display:inline; font-weight:normal; cursor:pointer; }
.u-383745 { margin: 10px 0; }
.u-af4873 { max-width:100px; display:block; margin:0 auto; }
.u-844323 { width: 100%; height: 40px; border:none; }
.u-e05207 { width: 100%; padding: 10px; font-weight: bold; margin-top:10px; }
.u-527d91 { background-color: #ccc; }
.u-e7a385 { padding: 8px 15px; cursor: pointer; }
.u-0ead99 { color: red; text-decoration: none; }


.u-cd0d99 { padding: 5px 10px; }
.u-07c308 { margin-top: 10px; }
.u-11ef95 { max-height: 350px; overflow-y: auto; margin-bottom: 15px; border: 1px solid #ccc; padding: 10px; border-radius: 4px; }
.u-39e5a4 { display:block; margin-bottom:5px; cursor: pointer; }
.u-ae1f13 { width: 50px; }
.u-a7988c { color: blue; }
.u-092133 { height: 200px; }
.u-a443be { height: auto; max-width: 800px; }
.u-92f14f { height: 10%; min-height: 100px; }
.u-c042a5 { display: none; max-width: 700px; height: 800px; overflow-y: auto; }
.u-30184f { height: 80%; }
.u-e2b74b { margin: 0; }
.u-ecced8 { display: none; max-width: 600px; overflow-y: auto; }
.u-a99c48 { height: auto; min-height: 500px; }
.u-d656f2 { height: 10%; min-height: 200px; width: 100%; box-sizing: border-box; }
.u-54b8b4 { height: 300px; }
.u-d98dba { height: 370px; }
.u-2355c5 { color: blue; background-color: orange; }
.u-216623 { max-width: 600px; height: 500px; }
.u-55c1b8 { min-height: 750px; border: 0; }
.u-631042 { display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background:rgba(0,0,0,0.7); }
.u-c201de { background:#fff;margin:30px auto;padding:28px 32px;max-width:780px;border-radius:10px;position:relative;box-shadow:0 8px 40px rgba(0,0,0,0.28);max-height:90vh;overflow-y:auto; }
.u-8962a5 { position:absolute;right:16px;top:12px;font-size:22px;cursor:pointer;line-height:1; }
.u-6c9f2d { margin-top:0;color:#7b2ff7; }
.u-65d26c { color:#666;font-size:13px;margin-top:-8px; }
.u-b25e2f { text-align:center;padding:30px;color:#888;font-size:16px; }
.u-fbebba { text-align:center;margin-top:16px; }
.u-da9114 { background:#28a745;color:white;padding:10px 32px;border:none;border-radius:5px;cursor:pointer;font-size:16px; }
.u-da16b3 { margin-left:16px;font-size:14px; }
.u-970891 { margin-top:0;color:#5a1fa8; }
.u-32d39d { width:100%;border-collapse:collapse; }
.u-1d2a70 { width:190px;padding:6px 8px;font-weight:bold; }
.u-b99046 { width:100%;padding:6px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box; }
.u-e7bc17 { padding:6px;border:1px solid #ccc;border-radius:4px; }
.u-78f6f2 { margin-top:12px; }
.u-d79ce2 { margin-top:8px; }
.u-fbdb52 { margin-top:8px;background:#7b2ff7;color:white;border:none;border-radius:4px;padding:6px 14px;cursor:pointer;font-size:13px; }
.u-06951e { margin-top:8px;font-size:12px;color:#555; }
.u-58aba5 { cursor:pointer; }
.u-a7ee34 { background:#f5f0ff;padding:10px;border-radius:4px;margin-top:4px;line-height:2; }
.u-012bdd { flex:1;padding:5px;border:1px solid #ccc;border-radius:4px; }
.u-ea40a3 { flex:2;padding:5px;border:1px solid #ccc;border-radius:4px; }
.u-b86111 { background:#dc3545;color:white;border:none;border-radius:4px;padding:5px 10px;cursor:pointer; }
.u-948e6d { display: flex; justify-content: space-between; align-items: center; }
.u-6190f4 { padding: 8px 15px; background: #f8f9fa; border-radius: 6px; border: 1px solid #ddd; font-weight: bold; color: #333; }
.u-13d395 { color: #007bff; font-size: 16px; }
.u-e997a4 { font-weight: bold; color: #555; }

.u-64ef8b { background:#e9ecef; }
.u-7002f9 { margin-bottom: 20px; }
.u-469110 { background: #dc3545; }
.u-bca88a { width: 800px; max-height: 90vh; overflow-y: auto; }
.u-480d90 { display:none; background: #f8f9fa; padding: 10px; border-radius: 5px; margin-bottom: 15px; border: 1px solid #ddd; }
.u-c12776 { margin-top:0; color:#0056b3; }
.u-888422 { background:white; max-height: 150px; }
.u-ff9770 { font-size: 13px; font-weight: bold; margin-bottom: 5px; color: #555; }
.u-e88841 { max-height: 120px; background: #fdfdfd; }
.u-cb10fa { flex: 4; }
.u-ca68d6 { margin-right:10px; transform:scale(1.2); }
.u-0c7125 { color:#aaa; width:45px; font-size:12px; }
.u-fc6710 { font-size:14px; margin-right: 10px; }
.u-36ae11 { flex: 2; }
.u-6f04ef { cursor:pointer; display:inline-flex; align-items:center; margin-right:15px; margin-bottom:10px; }
.u-8d78a2 { margin-right:5px; transform:scale(1.2); }
.u-f9c64d { background:#e9ecef; padding:3px 8px; border-radius:4px; font-size:13px; color:#333; border: 1px solid #ccc; }
.u-bec345 { display: inline-block; margin-left: 20px; }
.u-881f2e { padding: 8px; }
.u-88ed85 { width: 300px; }

.u-1f037b { padding: 8px 16px; }
.u-33ebb3,
th.col-roi {
    background-color: transparent !important;
    color: #e8916a !important;
    font-weight: 750;
}

.u-7515d2 { position: absolute; top: 5px; right: 5px; color: red; font-size: 10px; }
.u-9b90e5 { position: absolute; top: 5px; right: 5px; color: green; font-size: 10px; }
.u-3f1107 { width: 100%; height: calc(100% - 40px); border: none; }

.u-5d7659 { font-size: 10px; }
.u-10675b { background-color: #039a96; }


/* ===== tools/verif/index.html (scoped) ===== */
body.verif-page {--bg:#080809;--surf:#0f0f12;--surf2:#141418;--border:#1c1c24;--border2:#27272f;--accent:#00e5ff;--ok:#00d68f;--warn:#ffb020;--danger:#ff3b5c;--muted:#44445a;--text:#e6e6f0;--text2:#7777a0;--mono:'JetBrains Mono',monospace;--sans:'Syne',sans-serif}
body.verif-page *, body.verif-page *::before, body.verif-page *::after {box-sizing:border-box;margin:0;padding:0}
body.verif-page {background:var(--bg);color:var(--text);font-family:var(--mono);min-height:100vh;overflow-x:hidden;font-size:13px}
body.verif-page::before {content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(0,229,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.02) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}
body.verif-page .wrap {position:relative;z-index:1;max-width:1700px;margin:0 auto;padding:0 18px}
/* header */
header {border-bottom:1px solid var(--border);padding:14px 0;position:sticky;top:0;background:rgba(8,8,9,.94);backdrop-filter:blur(8px);z-index:100}
body.verif-page .hdr {display:flex;align-items:center;gap:16px}
body.verif-page .logo {font-family:var(--sans);font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
body.verif-page .ldot {width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
body.verif-page .logo em {color:var(--accent);font-style:normal}
body.verif-page .hdr-stats {display:flex;gap:14px;margin-left:auto}
body.verif-page .hstat {text-align:center;min-width:50px}
body.verif-page .hstat strong {display:block;font-family:var(--sans);font-size:20px;font-weight:700;line-height:1}
body.verif-page .hstat span {font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.05em}
/* tabs */
.tabs {display:flex;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}
body.verif-page .tab {padding:9px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text2);cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}
body.verif-page .tab:hover {color:var(--text)}
body.verif-page .tab.active {color:var(--accent);border-bottom-color:var(--accent)}
body.verif-page .tc {display:none}
body.verif-page .tc.active {display:block}
/* card */
.card {background:var(--surf);border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:14px}
body.verif-page .ctitle {font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text2);margin-bottom:12px;display:flex;align-items:center;gap:7px}
body.verif-page .ctitle::before {content:'';display:inline-block;width:3px;height:11px;background:var(--accent);border-radius:2px;flex-shrink:0}
body.verif-page .row {display:flex;gap:14px;flex-wrap:wrap}
body.verif-page .col {flex:1;min-width:220px}
/* drop zone */
.dz {border:2px dashed var(--border2);border-radius:7px;padding:26px 16px;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:rgba(0,0,0,.2)}
body.verif-page .dz:hover, body.verif-page .dz.over {border-color:var(--accent);background:rgba(0,229,255,.04)}
body.verif-page .dz input[type=file] {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
body.verif-page .dz-icon {font-size:26px;margin-bottom:7px}
body.verif-page .dz-lbl {font-size:12px;color:var(--text2)}
body.verif-page .dz-lbl strong {color:var(--accent)}
body.verif-page .dz-hint {font-size:10px;color:var(--muted);margin-top:4px}
/* buttons */
.btn {display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:5px;cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none}
body.verif-page .bp {background:var(--accent);color:#000}
body.verif-page .bp:hover {background:#2cf;box-shadow:0 3px 12px rgba(0,229,255,.3);transform:translateY(-1px)}
body.verif-page .bs {background:#7c4dff;color:#fff}
body.verif-page .bs:hover {background:#9b70ff}
body.verif-page .bo {background:transparent;border:1px solid var(--border2);color:var(--text2)}
body.verif-page .bo:hover {border-color:var(--accent);color:var(--accent)}
body.verif-page .bd {background:transparent;border:1px solid var(--danger);color:var(--danger)}
body.verif-page .bd:hover {background:rgba(255,59,92,.1)}
body.verif-page .bok {background:transparent;border:1px solid var(--ok);color:var(--ok)}
body.verif-page .bok:hover {background:rgba(0,214,143,.1)}
body.verif-page .bw {background:transparent;border:1px solid var(--warn);color:var(--warn)}
body.verif-page .bw:hover {background:rgba(255,176,32,.1)}
body.verif-page .sm {padding:4px 9px;font-size:10px}
body.verif-page .btn:disabled {opacity:.3;pointer-events:none}
body.verif-page .bgrp {display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
/* table */
.tw {overflow-x:auto;margin:0 -4px;padding:0 4px}
body.verif-page table {width:100%;border-collapse:collapse;font-size:11px;min-width:960px}
body.verif-page thead th {text-align:left;padding:7px 9px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}
body.verif-page tbody tr {border-bottom:1px solid rgba(255,255,255,.025);transition:background .1s}
body.verif-page tbody tr:hover {background:rgba(255,255,255,.018)}
body.verif-page td {padding:8px 9px;vertical-align:middle}
body.verif-page .tn {font-weight:600;color:var(--text);font-family:var(--sans);font-size:12px;white-space:nowrap}
body.verif-page .tid {font-size:10px;color:var(--text2)}
body.verif-page .tvat {font-family:var(--mono);color:var(--accent);font-weight:600}
body.verif-page .tm {font-size:10px;color:var(--text2);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.verif-page .acts {display:flex;gap:3px;flex-wrap:nowrap;align-items:center}
/* badges */
.badge {display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;cursor:default}
body.verif-page .badge::before {content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
body.verif-page .bunk {background:rgba(68,68,90,.25);color:var(--muted)}
body.verif-page .bunk::before {background:var(--muted)}
body.verif-page .bact {background:rgba(0,214,143,.12);color:var(--ok)}
body.verif-page .bact::before {background:var(--ok);box-shadow:0 0 5px var(--ok);animation:pulse 2s infinite}
body.verif-page .bver {background:rgba(0,214,143,.2);color:#00ffaa}
body.verif-page .bver::before {background:#00ffaa;animation:pulse 2s infinite}
body.verif-page .bexp {background:rgba(255,176,32,.12);color:var(--warn)}
body.verif-page .bexp::before {background:var(--warn)}
body.verif-page .bban {background:rgba(255,59,92,.12);color:var(--danger)}
body.verif-page .bban::before {background:var(--danger)}
body.verif-page .brej {background:rgba(255,59,92,.15);color:var(--danger)}
body.verif-page .brej::before {background:var(--danger)}
body.verif-page .brev {background:rgba(124,77,255,.18);color:#bb99ff}
body.verif-page .brev::before {background:#bb99ff;animation:pulse 1.4s infinite}
body.verif-page .berr {background:rgba(255,59,92,.08);color:var(--danger)}
body.verif-page .berr::before {background:var(--danger)}
body.verif-page .bchk {background:rgba(0,229,255,.1);color:var(--accent)}
body.verif-page .bchk::before {background:var(--accent);animation:pulse .7s infinite}
body.verif-page .bok2 {background:rgba(0,214,143,.12);color:var(--ok)}
body.verif-page .bok2::before {background:var(--ok)}
body.verif-page .bdead {background:rgba(255,59,92,.12);color:var(--danger)}
body.verif-page .bdead::before {background:var(--danger)}
@keyframes pulse {0%,100%{opacity:1}50%{opacity:.2}}
/* log */
.log {background:#050507;border:1px solid var(--border);border-radius:5px;padding:9px 11px;font-size:10px;line-height:1.9;max-height:180px;overflow-y:auto;margin-top:10px}
body.verif-page .log:empty {display:none}
body.verif-page .lok {color:var(--ok)}
body.verif-page .lerr {color:var(--danger)}
body.verif-page .linf {color:var(--accent)}
body.verif-page .lwrn {color:var(--warn)}
/* toast */
#toast {position:fixed;bottom:22px;right:22px;background:var(--surf2);border:1px solid var(--border2);border-radius:8px;padding:11px 16px;font-size:11px;box-shadow:0 8px 28px rgba(0,0,0,.7);z-index:9999;opacity:0;transform:translateY(8px);transition:all .2s;pointer-events:none;max-width:280px}
body.verif-page #toast.show {opacity:1;transform:translateY(0)}
body.verif-page #toast.ok {border-color:var(--ok);color:var(--ok)}
body.verif-page #toast.err {border-color:var(--danger);color:var(--danger)}
body.verif-page #toast.inf {border-color:var(--accent);color:var(--accent)}
/* progress */
.pgw {margin-top:9px}
body.verif-page .pgl {font-size:10px;color:var(--text2);margin-bottom:4px;display:flex;justify-content:space-between}
body.verif-page .pgb {height:3px;background:var(--border);border-radius:2px;overflow:hidden}
body.verif-page .pgf {height:100%;background:var(--accent);border-radius:2px;transition:width .25s;box-shadow:0 0 6px var(--accent)}
/* hint */
.hint {background:rgba(0,229,255,.04);border:1px solid rgba(0,229,255,.12);border-radius:6px;padding:11px 13px;font-size:10px;color:var(--text2);line-height:1.85;margin-top:9px}
body.verif-page .hint code {background:rgba(0,0,0,.45);padding:1px 5px;border-radius:3px;color:var(--accent);font-size:9px}
/* select */
select {background:var(--surf2);border:1px solid var(--border2);color:var(--text);padding:4px 7px;border-radius:4px;font-family:var(--mono);font-size:11px;outline:none;cursor:pointer;max-width:150px}
body.verif-page select:focus {border-color:var(--accent)}
body.verif-page textarea {background:var(--surf2);border:1px solid var(--border2);color:var(--text);padding:9px 11px;border-radius:5px;font-family:var(--mono);font-size:11px;outline:none;width:100%;resize:vertical;min-height:90px;line-height:1.6}
body.verif-page textarea::placeholder {color:var(--muted)}
body.verif-page textarea:focus {border-color:var(--accent)}
/* modal */
.mbg {position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}
body.verif-page .mbg.hidden {display:none}
body.verif-page .modal {background:var(--surf);border:1px solid var(--border2);border-radius:10px;padding:22px;max-width:500px;width:100%}
body.verif-page .modal h3 {font-family:var(--sans);font-size:15px;font-weight:700;margin-bottom:4px;padding-right:24px}
body.verif-page .modal p {font-size:11px;color:var(--text2);margin-bottom:14px}
body.verif-page .mc {float:right;cursor:pointer;color:var(--text2);font-size:18px;line-height:1;margin-top:-2px}
body.verif-page .mc:hover {color:var(--text)}
/* proxy pill in table */
.prx-pill {display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:4px;padding:3px 7px;font-size:10px;color:var(--text2);max-width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.verif-page .prx-dot {width:5px;height:5px;border-radius:50%;flex-shrink:0}
body.verif-page .prx-ok {background:var(--ok)}
body.verif-page .prx-dead {background:var(--danger)}
body.verif-page .prx-unk {background:var(--muted)}
/* proxy list */
.prx-row {display:grid;grid-template-columns:1fr 80px 68px auto auto;gap:7px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);font-size:11px}
body.verif-page .prx-row:last-child {border:none}



body.verif-page { --accent: #2dd4bf; }
body.verif-page .c-ok { color: var(--ok); }
body.verif-page .c-verif { color: #00ffaa; }
body.verif-page .c-danger { color: var(--danger); }
body.verif-page .c-muted { color: var(--muted); }
body.verif-page .c-accent { color: var(--accent); }
body.verif-page .c-text2 { color: var(--text2); }
body.verif-page .wrap-pt { padding-top: 14px; }
body.verif-page .bgrp-tight { margin-top: 0; margin-bottom: 12px; }
body.verif-page .bgrp-0 { margin-top: 0; }
body.verif-page .empty-row { text-align: center; padding: 40px; color: var(--muted); }
body.verif-page .empty-box { color: var(--muted); font-size: 12px; padding: 20px 0; text-align: center; }
body.verif-page .export-lead { color: var(--text2); font-size: 12px; margin-bottom: 14px; line-height: 1.7; }
body.verif-page .code-chip { background: rgba(0,0,0,.4); padding: 1px 5px; border-radius: 3px; color: var(--accent); font-size: 10px; }
body.verif-page .dz-sm { padding: 18px; }
body.verif-page .steps-box { display: none; margin-top: 12px; font-size: 11px; }
body.verif-page .steps-box.is-open { display: block; }
body.verif-page .step-line { color: var(--text2); padding: 3px 0; }
body.verif-page .modal-sm { max-width: 380px; }
body.verif-page .sel-full { width: 100%; max-width: 100%; margin-bottom: 8px; }
body.verif-page .idx-muted { color: var(--muted); }
body.verif-page .email-sub { font-size: 9px; color: var(--muted); }
body.verif-page .up-meta { font-size: 9px; }
body.verif-page .prx-none { color: var(--muted); font-size: 10px; }
body.verif-page .prx-ms { font-size: 10px; color: var(--text2); }

/* ===== asset file editor ===== */
body.asset-editor-page .asset-editor-head { margin: 12px 16px 0; }
body.asset-editor-page .file-explorer { display: flex; gap: 16px; align-items: flex-start; overflow: visible; max-width: 100%; }
body.asset-editor-page .folder-list {
    max-width: 280px; flex: 0 0 260px; overflow: auto; max-height: calc(100vh - 150px);
}
body.asset-editor-page .folder-list li { display: block; }
body.asset-editor-page .folder-list .nested { padding-left: 16px; }
body.asset-editor-page .text-editor { min-width: 0; flex: 1; }
body.asset-editor-page .button-bar { justify-content: flex-start; margin-bottom: 10px; }
body.asset-editor-page .CodeMirror {
    height: calc(100vh - 320px); min-height: 360px; font-size: 13px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    border: 1px solid #d1d5db; border-radius: 8px;
}
body.asset-editor-page .cm-tag { color: #0550ae; }
body.asset-editor-page .cm-attribute { color: #953800; }
body.asset-editor-page .cm-string { color: #0a3069; }
body.asset-editor-page .cm-comment { color: #6e7781; }
body.asset-editor-page .asset-findbar {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    margin: 8px 0; background: #fff; padding: 8px 10px; border-radius: 8px;
}
body.asset-editor-page .asset-findbar input[type="text"] { min-width: 140px; margin: 0; }
body.asset-editor-page .asset-find-count { font-size: 12px; color: #6b7280; }
body.asset-editor-page .asset-img-preview {
    max-width: 100%; max-height: 70vh; border-radius: 8px; display: block;
    background: repeating-conic-gradient(#e5e7eb 0% 25%, #fff 0% 50%) 50% / 16px 16px;
}
body.asset-editor-page .asset-img-note { color: #6b7280; font-size: 13px; }
body.asset-editor-page .asset-save-row { margin-top: 10px; display: flex; align-items: center; gap: 10px; }
body.asset-editor-page .asset-save-status { font-size: 13px; color: #0d9488; font-weight: 650; }
body.asset-editor-page .asset-save-status.is-error { color: #b91c1c; }
body.asset-editor-page .rename-file-btn { cursor: pointer; margin-left: 8px; }
body.asset-editor-page #renameFileModal .modal-content { width: min(92vw, 420px); min-height: auto; margin: 12vh auto; }
body.asset-editor-page #renameFileModal input[type="text"] { width: 100%; }
body.asset-editor-page .file-label.active-file a { color: #0d9488; font-weight: 700; }

/* ===== panel layout: fit 13" screens, sized modals, file inputs ===== */
.file-explorer { overflow-x: visible; max-width: 100%; }
table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: auto; }
th, td {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
    padding: 6px 8px;
    font-size: 13px;
}
.col-id, th.col-id, td.col-id,
.col-check, th.col-check, td.col-check { white-space: nowrap; overflow-wrap: normal; word-break: keep-all; width: 1%; }
.col-id, th.col-id, td.col-id, .col-pb-id, #pb-log-table .col-pb-id {
    min-width: 4.5em;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}
td.col-actions, th.col-actions { white-space: normal; min-width: 0; }
td.col-actions button, table td button {
    display: inline-block;
    margin: 2px 3px 2px 0;
    padding: 5px 9px;
    min-height: 28px;
    font-size: 12px;
    line-height: 1.2;
}
.cell-url { overflow-wrap: anywhere; word-break: break-word; }

.page-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 4px;
}
.page-actions .btn-delete,
.page-actions .delete-btn-hover,
.page-actions .btn-clear { margin-left: auto; }

.modal { display: none; position: fixed; z-index: 2000; inset: 0; overflow: auto; background: rgba(0,0,0,.55); }
.modal-content {
    position: relative;
    background: #fff;
    margin: 5vh auto;
    width: min(92vw, 520px);
    min-height: 0 !important;
    height: auto;
    max-height: 90vh;
    overflow: auto;
    border-radius: 12px;
    padding: 22px 22px 24px;
}
.h-modal-sm { height: auto !important; min-height: 0 !important; }
.modal-form { max-width: none; width: 100%; margin: 0; height: auto; position: relative; padding: 4px 0 0; }
.add-stream-form { min-height: 0; margin: 0; padding: 4px 0 0; }

.modal-content.modal-lg,
#filtersModal .modal-content,
#genModal .modal-content,
#createModal .modal-content,
#createStreamModal .modal-content,
#editStreamModal .modal-content,
#offerModal .modal-content,
#editIntModal .modal-content,
#addAcc .modal-content {
    width: min(94vw, 560px);
    height: auto;
    max-height: 90vh;
    margin: 4vh auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding-top: 36px;
}
#filtersModal .modal-content,
#filtersModal .modal-content.u-216623 {
    width: min(94vw, 640px);
    height: min(90vh, 820px);
    max-height: 90vh;
    padding: 36px 12px 8px;
}
#createStreamModal .modal-content,
#editStreamModal .modal-content,
#offerModal .modal-content {
    width: min(94vw, 580px);
}
#filtersFrame { flex: 1; width: 100%; min-height: 0; height: auto; border: 0; background: #fff; }
.u-216623 { max-width: none; }
.u-55c1b8 { min-height: 0; }
.u-68ab56 { height: auto; max-width: none; overflow: auto; flex: 1; }

#genModal .modal-form,
#createModal .modal-form,
#editIntModal .modal-form,
#createStreamModal .add-stream-form,
#editStreamModal .add-stream-form,
#offerModal .modal-form { flex: 1; overflow: auto; max-width: none; height: auto; }

.modal-form label,
.add-stream-form label,
#genModal label,
#createModal label,
#editIntModal label,
#offerModal label,
.white-gen label,
.cp-container label {
    display: block;
    font-weight: 650;
    margin: 12px 0 4px;
    color: #374151;
    font-size: 13px;
}
.modal-form input[type="text"],
.modal-form input[type="number"],
.modal-form input[type="password"],
.modal-form select,
.modal-form textarea,
#genModal input[type="text"],
#genModal input[type="number"],
#createModal input[type="text"],
#createModal textarea,
#createModal select,
.white-gen input[type="text"],
.white-gen input[type="number"],
.cp-container input[type="text"],
.cp-container textarea,
.cp-container select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    margin: 0 0 4px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
}
.white-gen .container, #genModal .container, .cp-container { width: 100%; max-width: none; margin: 0; padding: 4px 2px 12px; background: transparent; }
#genModal .loader, #createModal .loader { display: none !important; }

input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 10px 12px;
    margin: 6px 0 10px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font-size: 13px;
    cursor: pointer;
}
input[type="file"]::file-selector-button {
    background: #0d9488;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 14px;
    margin-right: 12px;
    font-weight: 650;
    cursor: pointer;
}
input[type="file"]::file-selector-button:hover { background: #0f766e; }

#uiConfirmModal { z-index: 4000; }
#uiConfirmModal .modal-content {
    width: min(92vw, 420px);
    min-height: 0 !important;
    height: auto;
    margin: 22vh auto;
    text-align: left;
}
#uiConfirmModal h3 { margin: 0 0 8px; font-size: 18px; }
#uiConfirmModal p { margin: 0 0 18px; color: #4b5563; white-space: pre-line; line-height: 1.45; }
.modal-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }
.modal-confirm-actions .btn-cancel { background: #e5e7eb; color: #111; }
.modal-confirm-actions .btn-cancel:hover { background: #d1d5db; }

body.filters-page { background: #fff; padding: 8px 12px 16px; }
body.filters-page table { width: 100%; }
body.filters-page th, body.filters-page td { white-space: normal; }
body.stats-page .file-explorer, body.tt-stats .file-explorer { overflow-x: auto; }
body.stats-page.page-container,
body.stats-page .page-container {
    min-height: 0;
    height: auto;
}
body.stats-page .file-explorer {
    flex: 0 0 auto;
    margin-bottom: 8px;
}
body.stats-page #statisticsTable {
    margin-bottom: 12px;
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
}
/* Метрики: ~10–12 символов, перенос только по словам; короткие ROI/CR — в одну строку */
body.stats-page #statisticsTable th {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: manual;
    max-width: 12ch;
    min-width: 0;
    width: 11ch;
    padding: 6px 5px;
    vertical-align: middle;
    text-align: center;
    line-height: 1.25;
    font-size: 12px;
}
body.stats-page #statisticsTable th.col-id {
    width: 3.5ch;
    max-width: 4ch;
    min-width: 3ch;
    white-space: nowrap !important;
}
body.stats-page #statisticsTable th.col-name {
    width: auto;
    min-width: 14ch;
    max-width: 22ch;
    text-align: left;
}
body.stats-page #statisticsTable th.col-roi,
body.stats-page #statisticsTable th.col-cr,
body.stats-page #statisticsTable th.col-cpo,
body.stats-page #statisticsTable th.col-epc {
    width: 4.5ch;
    max-width: 5ch;
    min-width: 3.5ch;
    white-space: nowrap !important;
}
body.stats-page #statisticsTable td {
    white-space: nowrap;
    vertical-align: middle;
    text-align: center;
    padding: 6px 5px;
    max-width: 12ch;
}
body.stats-page #statisticsTable td.col-name {
    white-space: normal;
    text-align: left;
    min-width: 14ch;
    max-width: 22ch;
    overflow-wrap: break-word;
    word-break: normal;
}
body.stats-page #statisticsTable td.col-id {
    max-width: 4ch;
}
body.stats-page .stats-secondary {
    margin-top: 8px;
}
body.stats-page .table-scroll {
    width: 100%;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    margin: 8px 0 20px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}
body.stats-page .table-scroll table,
body.stats-page .table_stat_modal,
#stats-modal-content table,
.table-scroll .table_stat_modal {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto !important;
    margin-top: 0;
}
body.stats-page .table-scroll th,
body.stats-page .table-scroll td,
body.stats-page .table_stat_modal th,
body.stats-page .table_stat_modal td,
#stats-modal-content th,
#stats-modal-content td {
    vertical-align: top;
    max-width: 30ch;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    overflow: visible;
    text-overflow: clip;
}
body.stats-page .table-scroll th,
body.stats-page .table_stat_modal th,
#stats-modal-content th {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
}
body.stats-page .table-scroll td.cell-wide,
body.stats-page .table-scroll th.cell-wide,
body.stats-page .table_stat_modal td.cell-wide,
body.stats-page .table_stat_modal th.cell-wide,
#stats-modal-content td.cell-wide,
#stats-modal-content th.cell-wide {
    max-width: 56ch;
    min-width: 28ch;
}
body.stats-page .table-scroll td.cell-compact,
body.stats-page .table-scroll th.cell-compact,
body.stats-page .table_stat_modal td.cell-compact,
body.stats-page .table_stat_modal th.cell-compact,
#stats-modal-content td.cell-compact,
#stats-modal-content th.cell-compact {
    max-width: 30ch;
}
body.stats-page .table-scroll td.cell-long,
#stats-modal-content td.cell-long {
    max-width: 56ch;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    overflow: visible;
    text-overflow: clip;
}
body.stats-page .stats-table-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 10px 0 12px;
}
body.stats-page .stats-table-toolbar .switch-container {
    margin-left: 0;
}
#stats-modal-container {
    display: none;
    position: fixed;
    z-index: 2100;
    left: 0;
    top: 0;
    transform: none;
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    padding: 18px 16px 24px;
    box-sizing: border-box;
    background: rgba(15, 23, 42, 0.58);
    overflow: auto;
    border-radius: 0;
    box-shadow: none;
}
#stats-modal-container .close-button-container {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    padding: 10px 14px 0;
    margin: 0 auto;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}
#stats-modal-content {
    margin: 0 auto;
    max-width: calc(100vw - 32px);
    padding: 8px 14px 16px;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}
#stats-modal-content .table-scroll {
    margin: 0;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    max-width: 100%;
    overflow: auto;
}
#column-modal-content { position: relative; padding-top: 28px; }
#column-modal-content .close { top: 2px; right: 6px; }

/* Native selects + Select2 */
select,
.modal select,
.add-stream-form select,
.file-explorer select {
    font-size: 14px !important;
    line-height: 1.35;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
}
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    min-height: 36px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 34px !important;
    font-size: 14px !important;
    color: #1f2937 !important;
    padding-left: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 34px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 3px 6px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    font-size: 13px !important;
    margin-top: 4px !important;
    background: #f3f4f6 !important;
    border-color: #d1d5db !important;
    color: #111827 !important;
}
.select2-results__option {
    font-size: 14px !important;
    padding: 8px 10px !important;
}
.select2-dropdown {
    border-radius: 8px !important;
    border-color: #d1d5db !important;
}
.btn-session-end {
    background: #f3f4f6 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
    min-width: 36px;
    box-shadow: none;
}
table td button.btn-session-end { background: #f3f4f6 !important; color: #b91c1c !important; }
.btn-session-end:hover { background: #fee2e2 !important; color: #7f1d1d !important; }
.modal .select2-container { width: 100% !important; }
.select2-container--open, .select2-dropdown { z-index: 3200 !important; }

/* Stats filter controls */
body.stats-page .stats-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin: 8px 0 12px;
}
body.stats-page .stats-filters > label,
body.stats-page .stats-filter-label {
    font-weight: 650;
    font-size: 13px;
    color: #374151;
    white-space: nowrap;
}
body.stats-page select.stats-period,
body.stats-page #period.stats-period {
    width: auto !important;
    min-width: 230px;
    max-width: 280px;
}
body.stats-page select.stats-users,
body.stats-page #filter_users + .select2-container,
body.stats-page .stats-filters .select2-container {
    width: 280px !important;
    max-width: 280px !important;
    min-width: 200px !important;
}
body.stats-page #filter_tags + .select2-container {
    width: 220px !important;
    max-width: 220px !important;
    min-width: 180px !important;
}

/* Stream users modal list */
.su-users-list {
    max-height: 350px;
    overflow-y: auto;
    margin: 12px auto 16px;
    border: 1px solid #e5e7eb;
    padding: 12px 16px;
    border-radius: 8px;
    background: #fafafa;
    width: min(100%, 420px);
}
.su-user-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.35;
}
.su-user-row:last-child { margin-bottom: 0; }
.su-user-row input.su-checkbox {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 16px;
}
.su-user-text { flex: 1; min-width: 0; }
.su-user-text small { color: #6b7280; }

/* Center Save / primary actions in modals */
.modal-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin-top: 14px;
}
.modal-content input[type="submit"],
.modal-content button[type="submit"],
.modal-content .btn-primary,
.modal-content button.u-w-200,
.modal-content button.u-w-full,
.modal-content .add-stream-form > input[type="submit"],
.modal-content .constructor-form > button,
#streamUsersModal .modal-actions button,
#editStreamModal button[type="submit"],
#createStreamModal input[type="submit"],
#editRedirectModal button.u-w-200,
#rename_modal button[type="submit"],
#copyModal button[type="submit"],
#copyStreamModal input[type="submit"],
#offerModal button.u-w-200,
#landingModal button.u-w-200,
#editIntModal .constructor-form > button,
#reuploadModal button[type="submit"],
#genModal #save,
#createModal #createPageBtn {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
}
.modal-buttons {
    display: flex !important;
    justify-content: center;
    text-align: center;
}
.modal-buttons button { margin-left: 8px; margin-right: 8px; }


/* ===== tg_funnels ===== */
body.tg-funnels-page .tgf-wide-modal {
    width: min(96vw, 1100px);
    max-height: calc(100vh - 40px);
    overflow: auto;
}
/* modal-lg глобально overflow:hidden — без этого форма рассылки/шага обрезается */
body.tg-funnels-page #bcModal .modal-content,
body.tg-funnels-page #stepModal .modal-content,
body.tg-funnels-page #funnelModal .modal-content {
    display: block;
    overflow-y: auto !important;
    max-height: calc(100vh - 48px);
    min-height: 0;
}
body.tg-funnels-page .tgf-modal { width: min(92vw, 560px); }
body.tg-funnels-page .tgf-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0 14px; }
body.tg-funnels-page .tgf-tab {
    background: #f3f4f6; color: #374151; border: 1px solid #e5e7eb;
}
body.tg-funnels-page .tgf-tab.is-active {
    background: #1f2937; color: #fff; border-color: #1f2937;
}
body.tg-funnels-page .tgf-card {
    border: 1px solid #e5e7eb; border-radius: 10px; padding: 10px 12px; margin: 8px 0; background: #fff;
}
body.tg-funnels-page .tgf-badge {
    display: inline-block; font-size: 11px; padding: 2px 7px; border-radius: 999px;
    background: #fff4ec; color: #c4786a; font-weight: 700; margin-left: 6px;
}
body.tg-funnels-page .tgf-help-btn {
    background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe;
}
body.tg-funnels-page .tgf-help-btn:hover { background: #e0e7ff; }
body.tg-funnels-page .tgf-help-modal { max-width: 820px; }
body.tg-funnels-page .tgf-help-body { font-size: 14px; line-height: 1.45; color: #1f2937; }
body.tg-funnels-page .tgf-help-body h4 { margin: 18px 0 8px; font-size: 15px; }
body.tg-funnels-page .tgf-help-body p { margin: 0 0 8px; }
body.tg-funnels-page .tgf-help-body ul { margin: 0 0 10px; padding-left: 18px; }
body.tg-funnels-page .tgf-help-body li { margin: 4px 0; }
body.tg-funnels-page .tgf-help-body code {
    background: #f3f4f6; padding: 1px 5px; border-radius: 4px; font-size: 12px;
}
body.tg-funnels-page .tgf-row-actions { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
body.tg-funnels-page .tgf-row-actions button { margin: 0; padding: 4px 8px; font-size: 12px; }
body.tg-funnels-page .tgf-subs-toolbar {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px;
}
body.tg-funnels-page .tgf-status-filter {
    width: auto !important; max-width: 180px; flex: 0 0 auto; display: inline-block;
}
body.tg-funnels-page .tgf-search-wrap {
    display: inline-flex; align-items: stretch; gap: 0; border: 1px solid #d1d5db;
    border-radius: 8px; overflow: hidden; background: #fff; min-width: 220px; max-width: 320px;
}
body.tg-funnels-page .tgf-search-wrap input[type="search"] {
    border: 0 !important; margin: 0 !important; width: 100% !important; min-width: 0;
    padding: 7px 10px; border-radius: 0 !important; box-shadow: none !important;
}
body.tg-funnels-page .tgf-search-btn {
    border: 0; border-left: 1px solid #e5e7eb; border-radius: 0; margin: 0;
    padding: 0 12px; background: #f9fafb; cursor: pointer; min-width: 42px;
}
body.tg-funnels-page .tgf-search-btn:hover { background: #f3f4f6; }
body.tg-funnels-page .tgf-master-check { display: inline-flex; align-items: center; margin: 0 !important; width: auto !important; }
body.tg-funnels-page .tgf-sub-head {
    display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: center;
    padding: 6px 8px; border-bottom: 1px solid #e5e7eb; background: #f9fafb; font-size: 12px; font-weight: 700; color: #4b5563;
}
body.tg-funnels-page .tgf-sub-head-label { line-height: 1.2; }
body.tg-funnels-page .tgf-btn-danger {
    background: #b91c1c !important; border-color: #991b1b !important; color: #fff !important;
}
body.tg-funnels-page .tgf-btn-danger:hover { background: #991b1b !important; }
body.tg-funnels-page .tgf-purchase-box {
    margin-top: 6px; padding: 8px 10px; border: 1px dashed #d1d5db; border-radius: 8px; background: #fafafa;
}
body.tg-funnels-page .tgf-purchase-box summary {
    cursor: pointer; font-size: 13px; color: #6b7280; font-weight: 650; user-select: none;
}
body.tg-funnels-page .tgf-bulk-report {
    margin-top: 8px; padding: 10px; border: 1px solid #e5e7eb; border-radius: 8px;
    background: #fff; font-size: 13px; max-height: 220px; overflow: auto;
}
body.tg-funnels-page .tgf-bulk-report ul { margin: 6px 0 0; padding-left: 18px; }
body.tg-funnels-page .tgf-bulk-ok { color: #166534; margin-top: 8px; }
body.tg-funnels-page .tgf-bulk-fail { color: #991b1b; margin-top: 8px; }
body.tg-funnels-page .tgf-linkish {
    background: transparent; border: 0; color: #2563eb; text-decoration: underline;
    padding: 0 0 0 8px; font-size: 13px; cursor: pointer; box-shadow: none;
}
body.tg-funnels-page .tgf-subs-layout {
    display: grid; grid-template-columns: minmax(240px, 340px) 1fr; gap: 12px; min-height: 480px;
}
@media (max-width: 900px) {
    body.tg-funnels-page .tgf-subs-layout { grid-template-columns: 1fr; }
}
body.tg-funnels-page .tgf-subs-col { display: flex; flex-direction: column; min-height: 0; }
body.tg-funnels-page .tgf-subs-list {
    border: 1px solid #e5e7eb; border-radius: 8px; overflow: auto; max-height: 520px; background: #fff;
}
body.tg-funnels-page .tgf-sub-row {
    display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: center;
    padding: 4px 8px; border-bottom: 1px solid #f3f4f6; margin: 0; background: #fff;
}
body.tg-funnels-page .tgf-sub-row.is-active { background: #fff7f2; }
body.tg-funnels-page .tgf-sub-check {
    display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0; width: 22px !important;
    font-weight: normal;
}
body.tg-funnels-page .tgf-sub-check input { margin: 0 !important; }
body.tg-funnels-page .tgf-sub-main {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
    width: 100%; text-align: left; background: transparent; border: 0; padding: 2px 0; cursor: pointer;
    box-shadow: none; color: inherit; font: inherit;
}
body.tg-funnels-page .tgf-sub-name { font-size: 13px; font-weight: 650; line-height: 1.25; }
body.tg-funnels-page .tgf-sub-meta { font-size: 11px; color: #6b7280; line-height: 1.2; }
body.tg-funnels-page .tgf-pager {
    display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 2px 0;
}
body.tg-funnels-page .tgf-pager button { padding: 4px 10px; }
body.tg-funnels-page .tgf-bulk-recipients {
    padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #e5e7eb;
    max-height: 120px; overflow: auto;
}
body.tg-funnels-page .tgf-chat {
    border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; display: flex; flex-direction: column; min-height: 420px;
}
body.tg-funnels-page .tgf-chat-head { font-weight: 750; padding: 10px 12px 4px; }
body.tg-funnels-page .tgf-chat-meta { padding: 0 12px 8px; font-size: 12px; color: #6b7280; }
body.tg-funnels-page .tgf-chat-msgs {
    flex: 1; overflow: auto; padding: 10px 12px; background: #f8fafc; border-top: 1px solid #eee; border-bottom: 1px solid #eee;
    min-height: 200px; max-height: 360px;
}
body.tg-funnels-page .tgf-msg { max-width: 85%; margin: 6px 0; padding: 8px 10px; border-radius: 10px; white-space: pre-wrap; }
body.tg-funnels-page .tgf-msg-in { background: #fff; border: 1px solid #e5e7eb; }
body.tg-funnels-page .tgf-msg-out { background: #fff1e8; margin-left: auto; }
body.tg-funnels-page .tgf-chat-actions { padding: 10px; display: grid; gap: 8px; }
body.tg-funnels-page .tgf-chat-actions textarea { width: 100%; }
body.tg-funnels-page code { background: #f3f4f6; padding: 1px 5px; border-radius: 4px; }

/* Form layout: label above control */
body.tg-funnels-page .modal-content label,
body.tg-funnels-page .tgf-pane label,
body.tg-funnels-page #funnelForm label,
body.tg-funnels-page #settingsModal label {
    display: block;
    width: 100%;
    margin: 12px 0 4px;
    font-weight: 650;
    color: #111827;
}
body.tg-funnels-page .modal-content input[type="text"],
body.tg-funnels-page .modal-content input[type="number"],
body.tg-funnels-page .modal-content input[type="datetime-local"],
body.tg-funnels-page .modal-content select,
body.tg-funnels-page .modal-content textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 4px;
}
body.tg-funnels-page .modal-content label > input[type="checkbox"] {
    display: inline-block;
    width: auto;
    margin: 0 8px 0 0;
    vertical-align: middle;
}
body.tg-funnels-page .tgf-chat-actions button.tgf-btn-primary {
    background: #0d9488;
    color: #fff;
}
body.tg-funnels-page .tgf-chat-actions button.tgf-btn-primary:hover {
    background: #0f766e;
}
