
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
    --v7-bg:#050811;
    --v7-bg-soft:#080c16;
    --v7-sidebar:#060913;
    --v7-panel:#0b101c;
    --v7-panel-2:#0d1321;
    --v7-panel-3:#101725;
    --v7-line:rgba(148,163,184,.14);
    --v7-line-strong:rgba(148,163,184,.22);
    --v7-text:#f6f7fb;
    --v7-muted:#8e9aae;
    --v7-muted-2:#68758a;
    --v7-purple:#9a58ff;
    --v7-purple-2:#7137dc;
    --v7-green:#27ef78;
    --v7-green-soft:rgba(39,239,120,.12);
    --v7-red:#ff5577;
    --v7-cyan:#4dc9ff;
    --v7-yellow:#f7c84b;
    --v7-radius:15px;
    --v7-radius-lg:19px;
    --v7-shadow:0 18px 55px rgba(0,0,0,.24);
}

*{box-sizing:border-box}
html{background:var(--v7-bg);font-size:14px}
body{
    min-height:100vh;
    margin:0;
    color:var(--v7-text);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:14px;
    line-height:1.48;
    background:
        radial-gradient(circle at 0 0,rgba(116,49,204,.12),transparent 28rem),
        radial-gradient(circle at 100% 100%,rgba(39,239,120,.055),transparent 32rem),
        var(--v7-bg);
}
body,p,li,td,th,label,input,select,textarea,button,a{
    font-family:inherit;
    font-size:14px;
}
a{text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:rgba(154,88,255,.32);color:#fff}

.app{
    display:grid;
    grid-template-columns:234px minmax(0,1fr);
    min-height:100vh;
}
.main{
    min-width:0;
    padding:0 28px 42px;
}
.content{
    width:100%;
    max-width:1680px;
    margin:0 auto;
    padding-top:28px;
}

/* SIDEBAR */
.sidebar{
    position:sticky;
    top:0;
    z-index:30;
    height:100vh;
    padding:18px 12px 16px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
    border-right:1px solid rgba(148,163,184,.12);
    background:
        radial-gradient(circle at 20% 8%,rgba(154,88,255,.11),transparent 18rem),
        linear-gradient(180deg,rgba(6,9,19,.985),rgba(5,8,16,.99));
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(148,163,184,.15);border-radius:99px}
.brand{
    display:grid;
    justify-items:center;
    gap:10px;
    padding:0 6px 24px;
    text-align:center;
}
.logo-wrap{
    position:relative;
    width:104px;
    height:104px;
    margin:0;
}
.logo-wrap:before{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:50%;
    background:conic-gradient(var(--v7-green),var(--v7-purple),var(--v7-green));
    opacity:.2;
    filter:blur(18px);
}
.logo{
    position:relative;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    border:3px solid transparent;
    background:
        linear-gradient(#090d17,#090d17) padding-box,
        linear-gradient(135deg,var(--v7-green),var(--v7-purple)) border-box;
    box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.brand h1{
    margin:0;
    color:#fff;
    font-size:18px;
    font-weight:750;
    letter-spacing:-.025em;
}
.brand p{
    margin:3px 0 0;
    color:var(--v7-green);
    font-size:10px;
    font-weight:700;
}
.nav{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.nav-section-label{
    margin:18px 10px 6px;
    color:#697589;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.nav-section-label:first-child{margin-top:0}
.nav a{
    position:relative;
    display:flex;
    align-items:center;
    gap:11px;
    min-height:38px;
    padding:9px 11px;
    border:1px solid transparent;
    border-radius:10px;
    color:#9aa6b8;
    font-size:12.5px!important;
    font-weight:620;
    transition:.16s ease;
}
.nav a svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    color:#99a7bc;
    stroke-width:1.9;
}
.nav a:hover{
    color:#eef2f8;
    background:rgba(255,255,255,.035);
    border-color:rgba(255,255,255,.035);
}
.nav a.active{
    color:#fff;
    background:linear-gradient(90deg,rgba(133,63,233,.28),rgba(118,54,215,.10));
    border-color:rgba(154,88,255,.19);
    box-shadow:
        inset 2px 0 0 #9a58ff,
        0 8px 24px rgba(59,24,108,.13);
}
.nav a.active svg{color:#efe6ff}
.sidebar-footer{
    margin-top:22px;
    padding:0 8px 2px;
}
.sidebar-status{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:30px;
    border:1px solid rgba(39,239,120,.12);
    border-radius:999px;
    color:#68f69e;
    background:rgba(39,239,120,.045);
    font-size:10px;
    font-weight:750;
}
.sidebar-status i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--v7-green);
    box-shadow:0 0 10px rgba(39,239,120,.8);
}

/* TOPBAR */
.topbar{
    height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid rgba(148,163,184,.10);
}
.topbar .title{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#f4f6fa;
    font-size:13px;
    font-weight:750;
    letter-spacing:-.015em;
}
.topbar .title:after{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--v7-green);
    box-shadow:0 0 10px rgba(39,239,120,.72);
}
.top-actions{
    display:flex;
    align-items:center;
    gap:9px;
}
.pill{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 13px;
    border:1px solid var(--v7-line);
    border-radius:11px;
    background:rgba(10,15,25,.82);
    color:#f1f4f8;
    font-size:11px;
    font-weight:750;
    box-shadow:0 8px 25px rgba(0,0,0,.10);
}
.pill svg{width:16px;height:16px;color:var(--v7-green)}
.account-menu{position:relative}
.account-menu-button{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:5px 10px 5px 6px;
    border:1px solid var(--v7-line);
    border-radius:12px;
    background:rgba(9,14,24,.86);
    color:#fff;
    cursor:pointer;
    transition:.16s ease;
}
.account-menu-button:hover{
    border-color:rgba(154,88,255,.28);
    background:#0d1320;
}
.account-avatar{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:9px;
    background:#121a29;
}
.account-avatar img{width:100%;height:100%;object-fit:cover}
.account-avatar svg{width:16px;height:16px}
.account-copy{min-width:112px;text-align:left}
.account-copy strong,
.account-copy small{
    display:block;
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.account-copy strong{font-size:11.5px;font-weight:750}
.account-copy small{margin-top:1px;color:#8490a3;font-size:9.5px}
.account-menu-button>svg{width:14px;height:14px;color:#728096}
.account-menu-panel{
    position:absolute;
    right:0;
    top:calc(100% + 9px);
    z-index:300;
    width:235px;
    padding:7px;
    border:1px solid var(--v7-line-strong);
    border-radius:14px;
    background:rgba(10,15,25,.985);
    box-shadow:0 25px 70px rgba(0,0,0,.5);
    backdrop-filter:blur(18px);
}
.account-menu-panel a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border-radius:9px;
    color:#c6cfdd;
    font-size:12px;
}
.account-menu-panel a:hover{background:rgba(154,88,255,.12);color:#fff}
.account-menu-panel svg{width:16px;height:16px}
.account-menu-separator{height:1px;margin:5px;background:rgba(255,255,255,.07)}
.account-menu-logout{color:#ff7891!important}

/* TYPOGRAPHY + HEADERS */
h1,h2,h3,p{margin-top:0}
h1,.page-title,.mega-head h1{
    margin-bottom:0;
    color:#f7f8fb;
    font-size:24px!important;
    line-height:1.14;
    font-weight:760;
    letter-spacing:-.035em;
}
h2{font-size:17px!important;line-height:1.24;font-weight:720;letter-spacing:-.02em}
h3{font-size:14px!important;line-height:1.3;font-weight:700}
.page-sub,
.muted-note,
.table-sub,
.section-title p,
.mega-head p{
    color:var(--v7-muted);
    font-size:11.5px!important;
    line-height:1.6;
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    width:max-content;
    margin-bottom:7px;
    padding:0 8px;
    border:1px solid rgba(154,88,255,.22);
    border-radius:999px;
    color:#b784ff!important;
    background:rgba(154,88,255,.06);
    font-size:8.5px!important;
    font-weight:800;
    letter-spacing:.12em;
}
.mega-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}
.section-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.section-title h1,.section-title h2{margin:0}
.section-title p{max-width:760px;margin:6px 0 0}

/* PANEL SYSTEM */
.panel,
.section,
.card,
.metric-card,
.viewer-v4-stats article,
.viewer-v4-score,
.candidate-v4-summary article,
.settings-v4-grid label,
.bot-feature-row,
.health-card,
.candidate-card{
    border:1px solid var(--v7-line);
    background:
        linear-gradient(145deg,rgba(15,21,35,.96),rgba(8,13,23,.96));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.012);
}
.panel{
    margin-top:18px;
    padding:18px;
    border-radius:var(--v7-radius-lg);
}
.panel:hover{border-color:rgba(148,163,184,.18)}
.metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 18px;
}
.metric-card{
    min-height:82px;
    padding:15px 16px;
    border-radius:14px;
}
.metric-card span{
    display:block;
    color:#8c99ad;
    font-size:10px!important;
}
.metric-card strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:20px!important;
    line-height:1.1;
    font-weight:760;
}
.metric-card small{display:block;margin-top:5px;color:#69768a;font-size:10px!important}

/* BUTTONS */
.btn{
    min-height:38px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:10px;
    border:1px solid transparent;
    font-size:11.5px;
    font-weight:700;
    cursor:pointer;
    transition:.16s ease;
}
.btn svg{width:15px;height:15px}
.btn:hover{transform:translateY(-1px)}
.btn-purple{
    color:#fff;
    border-color:rgba(187,136,255,.22);
    background:linear-gradient(135deg,#7f3fe0,#a55cff);
    box-shadow:0 8px 22px rgba(101,49,180,.18);
}
.btn-green{
    color:#90f7b5;
    border-color:rgba(39,239,120,.2);
    background:rgba(39,239,120,.07);
}
.btn-dark{
    color:#d6ddea;
    border-color:var(--v7-line);
    background:#0c121f;
}
.btn-dark:hover{border-color:rgba(154,88,255,.25);background:#101725}

/* FORMS */
input[type=text],
input[type=search],
input[type=number],
input[type=email],
input[type=password],
select,
textarea{
    width:100%;
    min-height:40px;
    padding:9px 11px;
    border:1px solid var(--v7-line);
    border-radius:10px;
    outline:0;
    color:#eef2f7;
    background:#080d17;
    transition:.16s ease;
}
textarea{min-height:94px;resize:vertical}
input:focus,select:focus,textarea:focus{
    border-color:rgba(154,88,255,.48);
    box-shadow:0 0 0 3px rgba(154,88,255,.08);
}
::placeholder{color:#566276}
.field label,
.admin-data-page form label{
    display:grid;
    gap:6px;
    color:#bdc6d4;
    font-size:11.5px;
    font-weight:650;
}

/* TABLES */
.table-scroll{overflow:auto;border-radius:13px}
.portal-table,.mega-table,table{width:100%;border-collapse:collapse}
.portal-table th,
.portal-table td,
.mega-table th,
.mega-table td{
    padding:11px 10px;
    border-bottom:1px solid rgba(148,163,184,.09);
    text-align:left;
    vertical-align:middle;
}
.portal-table th,.mega-table th{
    color:#7f8da2;
    font-size:9.5px!important;
    font-weight:750;
    letter-spacing:.055em;
    text-transform:uppercase;
    white-space:nowrap;
}
.portal-table td,.mega-table td{
    color:#d9e0e9;
    font-size:11.5px!important;
}
.portal-table tbody tr:hover,.mega-table tbody tr:hover{
    background:rgba(154,88,255,.035);
}
.portal-table tbody tr:last-child td,.mega-table tbody tr:last-child td{border-bottom:0}
.table-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:14px;
    color:#7c899d;
    font-size:10.5px;
}
.pagination{display:flex;flex-wrap:wrap;gap:6px}
.pagination button,.pagination a{
    min-width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:1px solid var(--v7-line);
    border-radius:8px;
    background:#0b111d;
    color:#aeb8c7;
    font-size:10px;
}
.pagination .active{border-color:rgba(154,88,255,.4);background:rgba(154,88,255,.14);color:#fff}

/* SEARCH */
.viewer-search{margin:0 0 15px}
.viewer-search-row,.data-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.viewer-search-box,.data-search{
    position:relative;
    min-height:40px;
    display:flex;
    align-items:center;
    gap:8px;
    width:min(520px,100%);
    padding:0 10px;
    border:1px solid var(--v7-line);
    border-radius:11px;
    background:#080d17;
}
.viewer-search-box>svg,.data-search svg{width:15px;height:15px;color:#667389}
.viewer-search-input,.data-search input{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    min-height:38px!important;
    padding:0!important;
}
.viewer-search-clear{
    border:0;
    background:transparent;
    color:#718096;
    cursor:pointer;
}
.viewer-search-meta,.table-live-note{color:#677489;font-size:9.5px!important}

/* LIVE CHIPS */
.live-refresh-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid rgba(39,239,120,.13);
    border-radius:999px;
    background:rgba(39,239,120,.045);
    color:#8d99ac;
    font-size:9.5px!important;
    font-weight:700;
}
.live-refresh-pill>span:first-child{
    width:6px;height:6px;border-radius:50%;
    background:var(--v7-green);
    box-shadow:0 0 9px rgba(39,239,120,.8);
}

/* VIEWER 360 */
.viewer-v4{
    display:grid;
    gap:18px;
}
.viewer-page-head{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}
.viewer-page-icon{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border:1px solid var(--v7-line);
    border-radius:12px;
    color:#dbe3ee;
    background:#0b111d;
}
.viewer-page-icon svg{width:22px;height:22px}
.viewer-page-head h1{font-size:22px!important}
.viewer-page-head p{margin:3px 0 0;color:#8290a4;font-size:11px}
.viewer-v4-hero{
    position:relative;
    overflow:hidden;
    margin:0;
    min-height:126px;
    padding:20px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border-radius:18px;
}
.viewer-v4-hero:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 15% 0,rgba(154,88,255,.10),transparent 25rem),
        radial-gradient(circle at 100% 100%,rgba(39,239,120,.045),transparent 20rem);
}
.viewer-v4-identity,.viewer-v4-quick{position:relative}
.viewer-v4-identity{
    min-width:0;
    display:flex;
    align-items:center;
    gap:18px;
}
.viewer-v4-avatar{
    position:relative;
    width:86px;
    height:86px;
    flex:0 0 86px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(154,88,255,.24);
    border-radius:50%;
    background:radial-gradient(circle,rgba(154,88,255,.11),rgba(10,15,25,.95));
}
.viewer-v4-avatar:after{
    content:"";
    position:absolute;
    left:7px;
    top:8px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--v7-green);
    box-shadow:0 0 10px rgba(39,239,120,.8);
}
.viewer-v4-avatar img{width:100%;height:100%;object-fit:cover}
.viewer-v4-avatar svg{width:32px;height:32px;color:#cbd4e0}
.viewer-v4-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.viewer-v4-title-row h1{font-size:23px!important}
.viewer-login{margin-top:2px;color:#8390a4;font-size:11.5px}
.viewer-online{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#67f69d;
    font-size:9.5px;
    font-weight:650;
}
.viewer-online i{
    width:6px;height:6px;border-radius:50%;background:var(--v7-green);
    box-shadow:0 0 8px rgba(39,239,120,.8);
}
.viewer-role-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}
.role-pill,.status-chip,.system-badge,.badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border:1px solid var(--v7-line);
    border-radius:8px;
    background:#0c121f;
    color:#cbd3df;
    font-size:9.5px!important;
    font-weight:650;
}
.role-pill svg{width:14px;height:14px}
.role-pill.is-good{color:#8bf5af;border-color:rgba(39,239,120,.18);background:rgba(39,239,120,.05)}
.role-pill.is-purple{color:#c4a2ff;border-color:rgba(154,88,255,.21);background:rgba(154,88,255,.06)}
.viewer-v4-quick{
    display:grid;
    grid-template-columns:repeat(2,minmax(115px,1fr));
    gap:10px;
}
.viewer-v4-quick div{
    min-width:120px;
    padding:12px 14px;
    border:1px solid var(--v7-line);
    border-radius:13px;
    background:rgba(10,15,25,.70);
}
.viewer-v4-quick span{display:block;color:#7f8da1;font-size:9px}
.viewer-v4-quick strong{display:block;margin-top:4px;font-size:17px}
.viewer-v4-quick small{display:block;margin-top:3px;color:#6e7b90;font-size:8.5px}
.viewer-v4-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.viewer-v4-stats article{
    min-height:78px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center;
    gap:11px;
    padding:13px 14px;
    border-radius:14px;
}
.viewer-stat-icon{
    width:38px;height:38px;
    display:grid;place-items:center;
    border-radius:11px;
    background:rgba(77,201,255,.07);
    color:var(--v7-cyan);
}
.viewer-stat-icon.purple{background:rgba(154,88,255,.08);color:#b67cff}
.viewer-stat-icon.green{background:rgba(39,239,120,.07);color:var(--v7-green)}
.viewer-stat-icon.yellow{background:rgba(247,200,75,.07);color:var(--v7-yellow)}
.viewer-stat-icon svg{width:19px;height:19px}
.viewer-stat-copy span{display:block;color:#8390a4;font-size:9.5px!important}
.viewer-stat-copy strong{display:block;margin-top:3px;color:#f4f6f9;font-size:16px!important}
.viewer-stat-copy small{display:block;margin-top:3px;color:#667388;font-size:8.8px!important;line-height:1.3}
#viewer-v4-tabs{
    margin-top:0;
}
#viewer-v4-tabs>.ui-tabs-nav{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
#viewer-v4-tabs>.ui-tabs-nav li{
    margin:0!important;
    border:1px solid var(--v7-line)!important;
    border-radius:10px!important;
    background:#0b111d!important;
}
#viewer-v4-tabs>.ui-tabs-nav li.ui-tabs-active{
    border-color:rgba(154,88,255,.42)!important;
    background:linear-gradient(135deg,rgba(126,61,219,.75),rgba(154,88,255,.55))!important;
    box-shadow:0 8px 18px rgba(81,35,148,.16);
}
#viewer-v4-tabs>.ui-tabs-nav .ui-tabs-anchor{
    padding:8px 12px!important;
    color:#c7d0dd!important;
    font-size:10.5px!important;
}
#viewer-v4-tabs>.ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{color:#fff!important}
#viewer-v4-tabs>.ui-tabs-panel{padding:0!important}
#v4-summary>.panel:first-child{
    position:relative;
    overflow:hidden;
    margin-top:0;
    border-color:rgba(83,207,147,.16);
}
#v4-summary>.panel:first-child:before{
    content:"";
    position:absolute;
    inset:auto 0 0 auto;
    width:260px;
    height:180px;
    pointer-events:none;
    background:radial-gradient(circle,rgba(39,239,120,.08),transparent 66%);
}
.confidence-pill{color:#b8c2d0;font-size:10.5px}
.viewer-v4-score-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.viewer-v4-score{
    position:relative;
    padding:12px;
    border-radius:12px;
}
.viewer-score-main{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:start;
}
.viewer-score-icon{
    width:34px;height:34px;
    display:grid;place-items:center;
    border-radius:10px;
    background:rgba(39,239,120,.07);
    color:var(--v7-green);
}
.viewer-v4-score.negative .viewer-score-icon{
    background:rgba(255,85,119,.07);
    color:var(--v7-red);
}
.viewer-score-icon svg{width:18px;height:18px}
.viewer-score-body{min-width:0}
.viewer-v4-score header{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
}
.viewer-v4-score header span{font-size:10.5px;font-weight:670;color:#dfe5ed}
.viewer-v4-score header strong{color:var(--v7-green);font-size:13.5px}
.viewer-v4-score.negative header strong{color:var(--v7-red)}
.score-track{
    height:5px;
    margin-top:7px;
    overflow:hidden;
    border-radius:99px;
    background:#1a2332;
}
.score-track i{display:block;height:100%;border-radius:99px;background:var(--v7-green)}
.viewer-v4-score.negative .score-track i{background:var(--v7-red)}
.viewer-v4-score small{
    display:block;
    margin-top:7px;
    color:#6f7c91;
    font-size:8.8px!important;
    line-height:1.4;
}
.viewer-v4-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:12px;
}
.viewer-v4-columns>.panel{margin-top:0}
.viewer-v4-columns h2{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
}
.viewer-v4-columns h2 svg{width:16px;height:16px;color:#a86bff}
.viewer-v4-list{margin:0}
.viewer-v4-list div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:8px 0;
    border-bottom:1px solid rgba(148,163,184,.09);
}
.viewer-v4-list div:last-child{border-bottom:0}
.viewer-v4-list dt{color:#8190a5;font-size:10.5px}
.viewer-v4-list dd{margin:0;color:#e9edf3;font-size:10.5px;text-align:right}
.viewer-v4-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:10px 0;
}
.viewer-v4-toolbar span{color:#7e8b9f;font-size:10px}
.candidate-v4-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:12px;
}
.candidate-v4-summary article{padding:14px;border-radius:13px}
.candidate-v4-summary span{display:block;color:#8290a4;font-size:9.5px}
.candidate-v4-summary strong{display:block;margin-top:4px;font-size:18px}
.candidate-v4-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.candidate-v4-breakdown div{
    display:flex;
    justify-content:space-between;
    padding:9px 10px;
    border:1px solid var(--v7-line);
    border-radius:9px;
    background:#0a101b;
    font-size:10.5px;
}
.viewer-note-form{display:grid;gap:10px}
.viewer-note{padding:12px 0;border-bottom:1px solid var(--v7-line)}
.viewer-note>div{display:flex;justify-content:space-between;gap:12px}
.viewer-note time{color:#758196;font-size:9.5px}

/* ANALYTICS */
.analytics-periods,.candidate-periods{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:12px 0 16px;
}
.analytics-periods button,.candidate-period{
    min-height:33px;
    padding:0 10px;
    border:1px solid var(--v7-line);
    border-radius:9px;
    background:#0b111d;
    color:#8d99ac;
    font-size:9.5px;
    font-weight:700;
    cursor:pointer;
}
.analytics-periods button.active,.candidate-period.active{
    color:#fff;
    border-color:rgba(154,88,255,.36);
    background:rgba(154,88,255,.14);
}
.analytics-chart-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.analytics-chart-grid .panel{min-height:300px;margin-top:0}
.analytics-chart-grid canvas{height:220px!important;max-height:220px!important}

/* ADMIN + BOT */
.admin-data-page{max-width:none}
.admin-data-grid{
    display:grid;
    grid-template-columns:minmax(300px,420px) 1fr;
    gap:14px;
}
.admin-data-grid>.panel{margin-top:0}
.admin-data-actions{display:flex;align-items:center;gap:7px}
.language-weight-list{display:grid;gap:0;margin-top:10px}
.language-weight-list div{
    display:flex;justify-content:space-between;gap:16px;
    padding:9px 0;
    border-bottom:1px solid var(--v7-line);
}
.language-weight-list div:last-child{border-bottom:0}
.language-weight-list span{color:#8c99ac;font-size:10.5px}
.language-weight-list strong{color:var(--v7-green);font-size:10.5px}
.bot-admin-page{max-width:none}
.bot-admin-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.bot-master-control{
    min-width:290px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:13px 15px;
    border:1px solid var(--v7-line);
    border-radius:14px;
    background:#0b111d;
}
.bot-master-control>div{display:flex;flex-direction:column;gap:2px;flex:1}
.bot-master-control strong{font-size:12px}
.bot-master-control span{color:#79869a;font-size:10px}
.bot-master-control.is-on{border-color:rgba(39,239,120,.16)}
.bot-master-control.is-on #bot-master-label{color:var(--v7-green)}
.bot-save-state{margin:0 0 14px;color:#748196;font-size:10px}
.bot-feature-tabs>.ui-tabs-nav{
    display:flex;flex-wrap:wrap;gap:7px;
    margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important;
}
.bot-feature-tabs>.ui-tabs-nav li{
    border:1px solid var(--v7-line)!important;
    border-radius:9px!important;
    background:#0b111d!important;
}
.bot-feature-tabs>.ui-tabs-nav .ui-tabs-anchor{
    padding:8px 11px!important;color:#9ba7b8!important;font-size:10px!important;
}
.bot-feature-tabs>.ui-tabs-nav li.ui-tabs-active{
    border-color:rgba(154,88,255,.35)!important;
    background:rgba(154,88,255,.12)!important;
}
.bot-feature-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.bot-feature-row{
    min-height:76px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    padding:12px;
    border-radius:13px;
}
.bot-feature-row.is-on{border-color:rgba(39,239,120,.10)}
.bot-feature-icon{
    width:38px;height:38px;display:grid;place-items:center;
    border-radius:10px;background:rgba(154,88,255,.07);color:#ad7bff;
}
.bot-feature-row.is-on .bot-feature-icon{background:rgba(39,239,120,.06);color:var(--v7-green)}
.bot-feature-icon svg{width:18px;height:18px}
.bot-feature-text strong{display:block;color:#e8edf4;font-size:11.5px}
.bot-feature-text span{display:block;margin-top:3px;color:#768397;font-size:9.5px;line-height:1.45}
.bot-feature-state{font-size:9.5px;color:#6d798d}
.bot-feature-row.is-on .bot-feature-state{color:var(--v7-green)}
.settings-ui-grid,.settings-v4-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.settings-ui-grid label,.settings-v4-grid label{
    padding:12px;
    border:1px solid var(--v7-line);
    border-radius:12px;
    background:#0a101b;
}
.settings-ui-grid label>span,.settings-v4-grid label>span{font-size:11px}
.settings-ui-grid label>small,.settings-v4-grid label>small{color:#758196;font-size:9.5px!important}
.settings-wide{grid-column:1/-1}
.settings-thresholds{grid-template-columns:repeat(4,minmax(0,1fr))}
.bot-settings-actions,.settings-v4-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* SWITCHES */
.portal-switch{
    position:relative;
    display:inline-flex;
    width:43px;
    height:23px;
    flex:0 0 43px;
}
.portal-switch input{position:absolute;opacity:0;pointer-events:none}
.portal-switch-track{
    position:absolute;inset:0;
    border:1px solid var(--v7-line-strong);
    border-radius:999px;
    background:#161e2b;
    cursor:pointer;
    transition:.18s;
}
.portal-switch-thumb{
    position:absolute;
    left:2px;top:2px;
    width:17px;height:17px;
    border-radius:50%;
    background:#69768a;
    transition:.18s;
}
.portal-switch input:checked+.portal-switch-track{
    border-color:rgba(39,239,120,.28);
    background:rgba(39,239,120,.12);
}
.portal-switch input:checked+.portal-switch-track .portal-switch-thumb{
    transform:translateX(19px);
    background:var(--v7-green);
    box-shadow:0 0 10px rgba(39,239,120,.5);
}
.portal-switch-large{width:54px;height:29px;flex-basis:54px}
.portal-switch-large .portal-switch-thumb{width:23px;height:23px}
.portal-switch-large input:checked+.portal-switch-track .portal-switch-thumb{transform:translateX(25px)}

/* HEALTH */
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.health-card{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 14px;
    padding:12px;
    border-radius:12px;
}
.health-card div strong{display:block;font-size:11px}
.health-card div span{display:block;margin-top:3px;color:#758196;font-size:9.5px}
.health-card b{font-size:9px}
.health-card small{grid-column:1/-1;color:#657286;font-size:8.5px}
.health-card.ok,.health-card.online{border-color:rgba(39,239,120,.13)}
.health-card.error,.health-card.offline{border-color:rgba(255,85,119,.15)}

/* CANDIDATES */
.candidate-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.candidate-list{display:flex;flex-direction:column;gap:8px}
.candidate-card{
    position:relative;
    display:grid;
    grid-template-columns:66px minmax(0,1fr);
    gap:12px;
    padding:12px;
    border-radius:12px;
}
.candidate-card.recommended{border-color:rgba(39,239,120,.13)}
.candidate-rank-score{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    border-right:1px solid var(--v7-line);
}
.candidate-rank-score strong{color:var(--v7-green);font-size:20px}
.candidate-rank-score small{color:#5e6b7f;font-size:7.5px;text-transform:uppercase}
.candidate-main>strong{display:block;font-size:11px}
.candidate-main>small{display:block;margin-top:2px;color:#677489;font-size:8.5px}
.candidate-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:8px}
.candidate-bars span{display:flex;justify-content:space-between;gap:8px;color:#6f7c90;font-size:8px}
.candidate-bars b{color:#bac3d0}
.candidate-recommend{position:absolute;right:9px;top:8px;color:var(--v7-green);font-size:7px}

/* MESSENGER */
.messenger-shell{
    display:grid;
    grid-template-columns:310px 1fr;
    min-height:650px;
    padding:0;
    overflow:hidden;
}
.messenger-contacts{
    padding:15px;
    overflow:auto;
    border-right:1px solid var(--v7-line);
}
.messenger-heading h1{margin:0}
.messenger-search{
    display:flex;align-items:center;gap:8px;
    margin:12px 0;padding:0 10px;
    border:1px solid var(--v7-line);border-radius:10px;background:#080d17;
}
.messenger-search input{border:0!important;background:transparent!important;box-shadow:none!important}
.messenger-contact{display:flex;gap:10px;padding:9px;border-radius:10px;cursor:pointer}
.messenger-contact:hover,.messenger-contact.active{background:rgba(154,88,255,.08)}
.messenger-contact img,.messenger-contact .avatar-fallback{
    width:38px;height:38px;border-radius:10px;object-fit:cover;background:#111827;display:grid;place-items:center
}
.messenger-contact strong{font-size:10.5px}
.messenger-contact small{display:block;margin-top:2px;color:#758196;font-size:8.5px}
.messenger-chat{min-width:0;display:flex;flex-direction:column}
.messenger-empty{margin:auto;text-align:center;color:#778499}
#messenger-active{display:flex;flex-direction:column;height:650px}
#messenger-chat-header{padding:13px 15px;border-bottom:1px solid var(--v7-line);font-weight:700}
#messenger-messages{flex:1;overflow:auto;padding:15px;display:flex;flex-direction:column;gap:8px}
.message-bubble{max-width:75%;padding:9px 11px;border-radius:12px;background:#101725}
.message-bubble.mine{align-self:flex-end;background:rgba(154,88,255,.15)}
.message-bubble time{display:block;margin-top:4px;color:#6c788c;font-size:8px}
#messenger-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--v7-line)}
#messenger-form textarea{flex:1;min-height:42px}

/* HOME */
.hero{
    position:relative;
    min-height:300px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    overflow:hidden;
    border:1px solid var(--v7-line);
    border-radius:20px;
    background:linear-gradient(145deg,#0c1220,#080d17);
}
.hero-copy{padding:34px 32px}
.hero .welcome{font-size:18px}
.hero h2{font-size:50px!important;line-height:.98}
.hero-desc{color:#9aa6b8;font-size:12px;line-height:1.65}
.runtime-main-stats{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.runtime-stat{
    min-width:145px;
    display:flex;align-items:center;gap:10px;
    padding:10px 12px;
    border:1px solid var(--v7-line);
    border-radius:12px;
    background:rgba(255,255,255,.018);
}
.runtime-stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(39,239,120,.06);color:var(--v7-green)}
.runtime-stat-icon svg{width:17px;height:17px}
.runtime-stat b{font-size:15px}
.runtime-stat small{display:block;color:#758196;font-size:8.5px}
.grid4{gap:12px}
.card{padding:16px;border-radius:15px}

/* JQUERY UI */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button{
    font-family:Inter,system-ui,sans-serif!important;
    font-size:11px!important;
}
.ui-widget-content{border-color:var(--v7-line)!important;background:transparent!important;color:#dce3ed!important}
.ui-widget-header{border:0!important;background:transparent!important;color:#fff!important}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button{
    border:1px solid var(--v7-line)!important;
    background:#0b111d!important;
    color:#bcc6d4!important;
}
.ui-state-hover,.ui-button:hover{
    border-color:rgba(154,88,255,.28)!important;
    background:rgba(154,88,255,.09)!important;
    color:#fff!important;
}
.ui-selectmenu-button.ui-button{
    width:100%!important;
    min-height:39px;
    padding:8px 10px!important;
    border-radius:9px!important;
}
.ui-selectmenu-menu .ui-menu{
    border:1px solid var(--v7-line-strong)!important;
    border-radius:10px!important;
    background:#0b111d!important;
    color:#fff!important;
    box-shadow:var(--v7-shadow);
}
.ui-menu .ui-menu-item-wrapper{padding:8px 9px!important}
.ui-menu .ui-menu-item-wrapper.ui-state-active{
    border-color:transparent!important;
    background:rgba(154,88,255,.13)!important;
    color:#fff!important;
}
.ui-autocomplete{
    z-index:5000!important;
    max-height:380px;
    overflow:auto;
    padding:6px!important;
    border:1px solid var(--v7-line-strong)!important;
    border-radius:11px!important;
    background:#0a0f19!important;
    box-shadow:var(--v7-shadow)!important;
}
.ui-dialog{
    border:1px solid rgba(154,88,255,.25)!important;
    border-radius:15px!important;
    background:#0b111d!important;
    color:#eef2f7!important;
    box-shadow:0 30px 80px rgba(0,0,0,.6)!important;
}
.ui-dialog .ui-dialog-titlebar{
    border:0!important;
    border-radius:15px 15px 0 0!important;
    background:#111827!important;
    color:#fff!important;
}

/* NOTICES */
.notice,.flash,.empty-state{
    padding:12px 14px;
    border:1px solid rgba(39,239,120,.14);
    border-radius:12px;
    background:rgba(39,239,120,.045);
    color:#bdf9d0;
    font-size:10.5px;
}
.empty-state{
    border-style:dashed;
    border-color:var(--v7-line-strong);
    background:#0a101b;
    color:#8f9bae;
}
.subscriber-auth-box{
    display:flex;align-items:center;gap:13px;
    margin-bottom:14px;padding:14px 15px;
    border:1px solid var(--v7-line);border-radius:13px;background:#0b111d;
}
.subscriber-auth-box span{flex:1;color:#7e8a9d;font-size:10px}

/* RESPONSIVE */
@media(max-width:1180px){
    .app{grid-template-columns:210px minmax(0,1fr)}
    .main{padding-inline:20px}
    .viewer-v4-stats,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .viewer-v4-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .analytics-chart-grid{grid-template-columns:1fr}
    .settings-thresholds{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
    .app{grid-template-columns:1fr}
    .sidebar{
        position:relative;
        height:auto;
        border-right:0;
        border-bottom:1px solid var(--v7-line);
    }
    .brand{grid-template-columns:auto 1fr;text-align:left;justify-items:start;align-items:center}
    .logo-wrap{width:66px;height:66px}
    .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .nav-section-label{grid-column:1/-1}
    .main{padding-inline:16px}
    .viewer-v4-hero{align-items:flex-start;flex-direction:column}
    .viewer-v4-quick{width:100%}
    .viewer-v4-columns,.admin-data-grid,.candidate-columns{grid-template-columns:1fr}
    .bot-feature-list,.settings-ui-grid,.settings-v4-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
    .content{padding-top:18px}
    .topbar .title{font-size:12px}
    .account-copy{display:none}
    .viewer-v4-stats,.metric-grid,.viewer-v4-score-grid,.candidate-v4-summary{grid-template-columns:1fr}
    .viewer-v4-identity{align-items:flex-start}
    .viewer-v4-avatar{width:68px;height:68px;flex-basis:68px}
    .viewer-page-head{align-items:flex-start}
    .viewer-v4-columns,.candidate-v4-breakdown{grid-template-columns:1fr}
    .viewer-search-row,.data-toolbar,.mega-head,.section-title{align-items:stretch;flex-direction:column}
    .messenger-shell{grid-template-columns:1fr}
    .messenger-contacts{border-right:0;border-bottom:1px solid var(--v7-line)}
    .nav{grid-template-columns:1fr}
}


:root{
    --v7-bg:#050812;
    --v7-bg-soft:#080d18;
    --v7-sidebar:#070a14;
    --v7-panel:#0c1220;
    --v7-panel-2:#0f1625;
    --v7-panel-3:#111927;
    --v7-line:rgba(155,166,185,.16);
    --v7-line-strong:rgba(160,171,190,.24);
    --v7-text:#f5f7fb;
    --v7-muted:#929eb1;
    --v7-muted-2:#6e7a8e;
    --v7-purple:#9b5cff;
    --v7-purple-2:#6f37d2;
    --v7-green:#28ef78;
    --v7-red:#ff5b7b;
    --v7-cyan:#45c9ff;
    --v7-yellow:#f3bf43;
    --v7-radius:15px;
    --v7-radius-lg:18px;
}

html{font-size:15px}
body,p,li,td,th,label,input,select,textarea,button,a{font-size:15px}

.app{
    grid-template-columns:250px minmax(0,1fr);
}

.main{
    padding:0 30px 46px;
}

.content{
    max-width:1510px;
    padding-top:30px;
}

.sidebar{
    padding:20px 14px 18px;
    background:
        radial-gradient(circle at 18% 7%,rgba(154,88,255,.15),transparent 20rem),
        linear-gradient(180deg,rgba(7,10,20,.99),rgba(5,8,16,.995));
}

.brand{
    gap:12px;
    padding-bottom:28px;
}

.logo-wrap{
    width:110px;
    height:110px;
}

.brand h1{
    font-size:19px;
    font-weight:780;
}

.brand p{
    margin-top:4px;
    font-size:10.5px;
}

.nav{
    gap:4px;
}

.nav-section-label{
    margin:20px 11px 7px;
    font-size:9.5px;
    letter-spacing:.16em;
}

.nav a{
    min-height:42px;
    gap:12px;
    padding:10px 12px;
    border-radius:11px;
    font-size:13.5px!important;
    font-weight:610;
}

.nav a svg{
    width:19px;
    height:19px;
    flex-basis:19px;
}

.nav a.active{
    background:
        linear-gradient(90deg,rgba(143,66,238,.30),rgba(119,55,214,.09));
    border-color:rgba(154,88,255,.24);
    box-shadow:
        inset 2px 0 0 #a45fff,
        0 10px 28px rgba(65,26,116,.16);
}

.sidebar-footer{
    margin-top:26px;
}

.sidebar-status{
    min-height:34px;
    font-size:10.5px;
    background:
        linear-gradient(90deg,rgba(39,239,120,.055),rgba(154,88,255,.035));
}

.topbar{
    height:70px;
}

.topbar .title{
    font-size:13.5px;
}

.pill{
    min-height:40px;
    padding:0 14px;
    border-radius:12px;
    font-size:11.5px;
}

.account-menu-button{
    min-height:46px;
    gap:10px;
    padding:6px 11px 6px 7px;
    border-radius:13px;
}

.account-avatar{
    width:33px;
    height:33px;
    border-radius:10px;
}

.account-copy strong{
    font-size:12px;
}

.account-copy small{
    font-size:10px;
}

h1,.page-title,.mega-head h1{
    font-size:28px!important;
    letter-spacing:-.035em;
}

h2{
    font-size:19px!important;
}

h3{
    font-size:15px!important;
}

.page-sub,
.muted-note,
.table-sub,
.section-title p,
.mega-head p{
    font-size:12.5px!important;
    line-height:1.62;
}

.eyebrow{
    min-height:23px;
    margin-bottom:8px;
    padding:0 9px;
    font-size:9px!important;
}

.mega-head{
    margin-bottom:22px;
}

.section-title{
    gap:20px;
    margin-bottom:18px;
}

.panel{
    margin-top:20px;
    padding:20px;
    border-radius:18px;
    background:
        linear-gradient(145deg,rgba(16,22,37,.97),rgba(9,14,25,.97));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 12px 34px rgba(0,0,0,.09);
}

.metric-grid{
    gap:14px;
    margin-bottom:20px;
}

.metric-card{
    min-height:94px;
    padding:17px 18px;
    border-radius:15px;
}

.metric-card span{
    font-size:11px!important;
}

.metric-card strong{
    margin-top:6px;
    font-size:22px!important;
}

.metric-card small{
    margin-top:5px;
    font-size:10.5px!important;
}

.btn{
    min-height:40px;
    padding:0 14px;
    border-radius:10px;
    font-size:12px;
}

input[type=text],
input[type=search],
input[type=number],
input[type=email],
input[type=password],
select,
textarea{
    min-height:43px;
    padding:10px 12px;
    border-radius:11px;
}

.portal-table th,
.portal-table td,
.mega-table th,
.mega-table td{
    padding:13px 11px;
}

.portal-table th,.mega-table th{
    font-size:10px!important;
}

.portal-table td,.mega-table td{
    font-size:12px!important;
}

.viewer-search{
    margin-bottom:17px;
}

.viewer-search-box,.data-search{
    min-height:43px;
    padding:0 11px;
    border-radius:12px;
}

.viewer-search-input,.data-search input{
    min-height:41px!important;
}

.live-refresh-pill{
    padding:8px 11px;
    font-size:10px!important;
}

.viewer-page-head{
    gap:13px;
    margin-bottom:20px;
}

.viewer-page-icon{
    width:48px;
    height:48px;
    border-radius:13px;
}

.viewer-page-icon svg{
    width:24px;
    height:24px;
}

.viewer-page-head h1{
    font-size:26px!important;
}

.viewer-page-head p{
    margin-top:4px;
    font-size:12px;
}

.viewer-v4{
    gap:20px;
}

.viewer-v4-hero{
    min-height:136px;
    padding:22px 23px;
    gap:28px;
    border-color:rgba(154,88,255,.24);
    background:
        radial-gradient(circle at 10% 0,rgba(139,67,227,.15),transparent 28rem),
        radial-gradient(circle at 100% 100%,rgba(39,239,120,.055),transparent 24rem),
        linear-gradient(145deg,#0d1321,#090e19);
}

.viewer-v4-identity{
    gap:20px;
}

.viewer-v4-avatar{
    width:90px;
    height:90px;
    flex-basis:90px;
    border-color:rgba(155,91,255,.36);
    box-shadow:
        inset 0 0 28px rgba(154,88,255,.05),
        0 12px 28px rgba(0,0,0,.15);
}

.viewer-v4-avatar svg{
    width:34px;
    height:34px;
}

.viewer-v4-title-row{
    gap:11px;
}

.viewer-v4-title-row h1{
    font-size:25px!important;
}

.viewer-login{
    margin-top:3px;
    font-size:12.5px;
}

.viewer-online{
    font-size:10.5px;
}

.viewer-role-badges{
    gap:7px;
    margin-top:11px;
}

.role-pill,.status-chip,.system-badge,.badge{
    padding:6px 9px;
    border-radius:9px;
    font-size:10.5px!important;
}

.viewer-v4-quick{
    grid-template-columns:repeat(2,minmax(128px,1fr));
    gap:11px;
}

.viewer-v4-quick div{
    min-width:132px;
    padding:14px 15px;
    border-radius:14px;
    background:
        linear-gradient(145deg,rgba(17,23,38,.90),rgba(9,14,24,.88));
}

.viewer-v4-quick span{
    font-size:10px;
}

.viewer-v4-quick strong{
    margin-top:5px;
    font-size:19px;
}

.viewer-v4-quick small{
    margin-top:4px;
    font-size:9.5px;
}

.viewer-v4-stats{
    gap:13px;
}

.viewer-v4-stats article{
    min-height:88px;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:15px 16px;
    border-radius:15px;
}

.viewer-stat-icon{
    width:42px;
    height:42px;
    border-radius:12px;
}

.viewer-stat-icon svg{
    width:21px;
    height:21px;
}

.viewer-stat-copy span{
    font-size:10.5px!important;
}

.viewer-stat-copy strong{
    margin-top:4px;
    font-size:17.5px!important;
}

.viewer-stat-copy small{
    margin-top:4px;
    font-size:9.5px!important;
}

#viewer-v4-tabs>.ui-tabs-nav{
    gap:8px;
    margin-bottom:12px!important;
}

#viewer-v4-tabs>.ui-tabs-nav li{
    border-radius:11px!important;
}

#viewer-v4-tabs>.ui-tabs-nav .ui-tabs-anchor{
    padding:9px 14px!important;
    font-size:11px!important;
}

#v4-summary>.panel:first-child{
    border-color:rgba(55,201,130,.22);
    background:
        radial-gradient(circle at 100% 100%,rgba(39,239,120,.085),transparent 26rem),
        radial-gradient(circle at 0 0,rgba(154,88,255,.08),transparent 24rem),
        linear-gradient(145deg,#0e1422,#091019);
}

.confidence-pill{
    font-size:11.5px;
}

.viewer-v4-score-grid{
    gap:12px;
}

.viewer-v4-score{
    padding:14px;
    border-radius:13px;
}

.viewer-score-main{
    grid-template-columns:38px minmax(0,1fr);
    gap:11px;
}

.viewer-score-icon{
    width:38px;
    height:38px;
    border-radius:11px;
}

.viewer-score-icon svg{
    width:20px;
    height:20px;
}

.viewer-v4-score header span{
    font-size:11.5px;
}

.viewer-v4-score header strong{
    font-size:15px;
}

.score-track{
    height:6px;
    margin-top:8px;
}

.viewer-v4-score small{
    margin-top:8px;
    font-size:9.8px!important;
}

.viewer-v4-columns{
    gap:14px;
    margin-top:14px;
}

.viewer-v4-columns>.panel{
    padding:20px;
}

.viewer-v4-list div{
    padding:9px 0;
}

.viewer-v4-list dt,
.viewer-v4-list dd{
    font-size:11.5px;
}

.live-audience-table{
    width:100%;
    min-width:980px;
}

.live-viewer-name{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    min-width:220px;
    color:inherit;
}

.live-viewer-name>span:last-child{
    display:flex!important;
    min-width:0;
    flex-direction:column!important;
}

.live-viewer-name strong{
    display:block;
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#f0f3f8;
    font-size:12.5px!important;
    line-height:1.2;
    white-space:nowrap;
}

.live-viewer-name small{
    display:block;
    max-width:260px;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#78859a;
    font-size:10px!important;
    line-height:1.15;
    white-space:nowrap;
}

.live-avatar{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex:0 0 38px!important;
    display:block!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:11px!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#101725!important;
}

img.live-avatar{
    width:38px!important;
    height:38px!important;
    aspect-ratio:1/1!important;
}

.live-avatar-placeholder{
    display:grid!important;
    place-items:center!important;
    color:#c09bff!important;
    background:
        linear-gradient(145deg,rgba(154,88,255,.12),rgba(77,201,255,.04))!important;
    font-size:13px!important;
    font-weight:760!important;
}

.live-audience-table tbody tr{
    min-height:60px;
}

.live-audience-table tbody td{
    height:60px;
}

.status-chip{
    white-space:nowrap;
}

.status-chip.good{
    color:#42f68a;
    border-color:rgba(39,239,120,.20);
    background:rgba(39,239,120,.065);
}

.status-chip.purple{
    color:#c19cff;
    border-color:rgba(154,88,255,.22);
    background:rgba(154,88,255,.07);
}

.status-chip.warning{
    color:#f2c66c;
    border-color:rgba(242,198,108,.18);
    background:rgba(242,198,108,.055);
}

.status-chip.muted{
    color:#778499;
    background:#0b111d;
}

.portal-autocomplete-row{
    display:flex;
    align-items:center;
    gap:11px;
    padding:9px 10px;
    border-radius:10px;
}

.portal-autocomplete-row img,
.portal-autocomplete-avatar{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    border-radius:11px!important;
    object-fit:cover!important;
    overflow:hidden;
    background:#101725;
}

.portal-autocomplete-copy strong{
    font-size:12px!important;
}

.portal-autocomplete-copy small{
    margin-top:2px;
    color:#78859a;
    font-size:10px!important;
}

.candidate-columns{
    gap:16px;
}

.candidate-panel{
    padding:20px;
}

.candidate-list{
    gap:10px;
}

.candidate-card{
    min-height:88px;
    grid-template-columns:72px minmax(0,1fr);
    gap:13px;
    padding:14px;
    border-radius:14px;
}

.candidate-person{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.candidate-avatar{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    flex:0 0 40px!important;
    display:block!important;
    overflow:hidden!important;
    border-radius:11px!important;
    object-fit:cover!important;
    background:#111827!important;
}

.candidate-avatar-placeholder{
    display:grid!important;
    place-items:center!important;
    color:#bd97ff!important;
    font-size:13px!important;
    font-weight:760!important;
}

.candidate-person strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#edf1f6;
    font-size:12px;
}

.candidate-person small{
    display:block;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#718096;
    font-size:9.5px;
}

.analytics-periods,.candidate-periods{
    gap:8px;
    margin:13px 0 18px;
}

.analytics-periods button,.candidate-period{
    min-height:36px;
    padding:0 12px;
    border-radius:10px;
    font-size:10.5px;
}

.analytics-chart-grid{
    gap:14px;
}

.analytics-chart-grid .panel{
    min-height:330px;
    padding:20px;
}

.analytics-chart-grid canvas{
    height:240px!important;
    max-height:240px!important;
}

.bot-admin-top{
    gap:20px;
    margin-bottom:18px;
}

.bot-master-control{
    min-width:320px;
    padding:15px 17px;
    border-radius:15px;
}

.bot-master-control strong{
    font-size:13px;
}

.bot-master-control span{
    font-size:10.5px;
}

.bot-feature-list{
    gap:12px;
}

.bot-feature-row{
    min-height:86px;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:13px;
    padding:14px;
    border-radius:14px;
}

.bot-feature-icon{
    width:42px;
    height:42px;
    border-radius:12px;
}

.bot-feature-icon svg{
    width:20px;
    height:20px;
}

.bot-feature-text strong{
    font-size:12.5px;
}

.bot-feature-text span{
    margin-top:4px;
    font-size:10.5px;
}

.bot-feature-state{
    font-size:10px;
}

.health-grid{
    gap:12px;
}

.health-card{
    padding:14px;
    border-radius:13px;
}

.health-card div strong{
    font-size:12px;
}

.health-card div span{
    font-size:10.5px;
}

.health-card small{
    font-size:9px;
}

.admin-data-grid{
    gap:16px;
}

.settings-ui-grid,.settings-v4-grid{
    gap:12px;
}

.settings-ui-grid label,.settings-v4-grid label{
    padding:14px;
    border-radius:13px;
}

.messenger-shell{
    grid-template-columns:330px 1fr;
    min-height:690px;
    border-radius:18px;
}

.messenger-contacts{
    padding:17px;
}

.messenger-contact{
    gap:11px;
    padding:10px;
    border-radius:11px;
}

.messenger-contact img,.messenger-contact .avatar-fallback{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    flex:0 0 42px!important;
    border-radius:11px!important;
    object-fit:cover!important;
    overflow:hidden!important;
}

.messenger-contact strong{
    font-size:11.5px;
}

.messenger-contact small{
    font-size:9.5px;
}

#messenger-active{
    height:690px;
}

#messenger-chat-header{
    padding:15px 17px;
}

#messenger-messages{
    padding:17px;
    gap:10px;
}

.message-bubble{
    padding:10px 12px;
    border-radius:13px;
}

.hero{
    min-height:340px;
    border-radius:20px;
}

.hero-copy{
    padding:38px 36px;
}

.hero .welcome{
    font-size:19px;
}

.hero h2{
    font-size:52px!important;
}

.hero-desc{
    font-size:12.5px;
}

.runtime-main-stats{
    gap:10px;
    margin-top:20px;
}

.runtime-stat{
    min-width:155px;
    padding:11px 13px;
    border-radius:13px;
}

.runtime-stat-icon{
    width:38px;
    height:38px;
    border-radius:11px;
}

.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button{
    font-size:12px!important;
}

.ui-selectmenu-button.ui-button{
    min-height:42px;
    padding:9px 11px!important;
    border-radius:10px!important;
}

.ui-menu .ui-menu-item-wrapper{
    padding:9px 10px!important;
}

.ui-autocomplete{
    padding:7px!important;
    border-radius:12px!important;
}

.ui-dialog{
    border-radius:16px!important;
}

.notice,.flash,.empty-state{
    padding:13px 15px;
    border-radius:13px;
    font-size:11.5px;
}

@media(max-width:1280px){
    .app{grid-template-columns:225px minmax(0,1fr)}
    .main{padding-inline:22px}
    .nav a{font-size:12.5px!important}
    .brand h1{font-size:17px}
    .logo-wrap{width:94px;height:94px}
}

@media(max-width:900px){
    .app{grid-template-columns:1fr}
    .main{padding-inline:16px}
}

@media(max-width:650px){
    .viewer-v4-hero{padding:18px}
    .viewer-v4-title-row h1{font-size:22px!important}
    .viewer-v4-avatar{width:72px;height:72px;flex-basis:72px}
}


/* ============================================================
   HOME V7.2 — VIEWER FIRST / WOW
   ============================================================ */

.home-v72{
    display:grid;
    gap:18px;
}

.home-v72-hero{
    position:relative;
    min-height:430px;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
    overflow:hidden;
    border:1px solid rgba(154,88,255,.23);
    border-radius:22px;
    background:
        radial-gradient(circle at 8% 0,rgba(154,88,255,.18),transparent 30rem),
        radial-gradient(circle at 94% 100%,rgba(39,239,120,.07),transparent 26rem),
        linear-gradient(145deg,#0d1322,#080d18);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02),
        0 24px 58px rgba(0,0,0,.19);
}

.home-v72-hero:after{
    content:"";
    position:absolute;
    left:-160px;
    bottom:-230px;
    width:500px;
    height:500px;
    pointer-events:none;
    border-radius:50%;
    background:rgba(128,60,218,.13);
    filter:blur(90px);
}

.home-v72-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:42px 42px 40px;
}

.home-v72-live-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    min-height:28px;
    margin-bottom:18px;
    padding:0 11px;
    border:1px solid rgba(39,239,120,.19);
    border-radius:999px;
    color:#86f7ae;
    background:rgba(39,239,120,.055);
    font-size:9px!important;
    font-weight:820;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.home-v72-live-badge.offline{
    border-color:rgba(154,88,255,.22);
    color:#c6a1ff;
    background:rgba(154,88,255,.055);
}

.home-v72-live-badge i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--v7-green);
    box-shadow:0 0 12px rgba(39,239,120,.9);
}

.home-v72-live-badge.offline i{
    background:var(--v7-purple);
    box-shadow:0 0 12px rgba(154,88,255,.8);
}

.home-v72-kicker{
    margin:0 0 7px;
    color:#c0c8d5;
    font-size:15px;
    font-weight:670;
}

.home-v72-copy h1{
    max-width:760px;
    margin:0;
    color:#fff;
    font-size:50px!important;
    line-height:.99;
    font-weight:830;
    letter-spacing:-.055em;
}

.home-v72-copy h1 span{
    color:var(--v7-green);
    text-shadow:0 0 26px rgba(39,239,120,.18);
}

.home-v72-lead{
    max-width:680px;
    margin:18px 0 0;
    color:#9ba7b9;
    font-size:13px!important;
    line-height:1.72;
}

.home-v72-lead strong{
    color:#eef2f8;
}

.home-v72-stats{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.home-v72-stat{
    min-width:143px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:11px 13px;
    border:1px solid rgba(148,163,184,.13);
    border-radius:13px;
    background:rgba(7,12,21,.55);
    backdrop-filter:blur(12px);
}

.home-v72-stat-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border-radius:11px;
    color:#68d7ff;
    background:rgba(77,201,255,.075);
}

.home-v72-stat:nth-child(2) .home-v72-stat-icon{
    color:var(--v7-green);
    background:rgba(39,239,120,.065);
}

.home-v72-stat:nth-child(3) .home-v72-stat-icon{
    color:#c097ff;
    background:rgba(154,88,255,.075);
}

.home-v72-stat-icon svg{
    width:19px;
    height:19px;
}

.home-v72-stat b{
    display:block;
    color:#f7f8fb;
    font-size:15px;
    line-height:1.12;
}

.home-v72-stat small{
    display:block;
    margin-top:3px;
    color:#748196;
    font-size:9px!important;
}

.home-v72-current{
    margin-top:15px;
    padding:13px 14px;
    border:1px solid rgba(39,239,120,.13);
    border-radius:13px;
    background:rgba(39,239,120,.035);
}

.home-v72-current.runtime-hidden{
    display:none;
}

.home-v72-current-label{
    margin-bottom:4px;
    color:var(--v7-green);
    font-size:8.5px;
    font-weight:820;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.home-v72-current-title{
    color:#f3f5f9;
    font-size:12px;
    font-weight:720;
    line-height:1.45;
}

.home-v72-current-sub{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:5px;
    color:#758297;
    font-size:9px;
}

.home-v72-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}

.home-v72-actions .btn{
    min-height:43px;
    padding-inline:16px;
}

.home-v72-discord{
    color:#e1e5ff;
    border-color:rgba(111,126,255,.25);
    background:linear-gradient(135deg,rgba(88,101,242,.28),rgba(88,101,242,.13));
}

.home-v72-discord:hover{
    border-color:rgba(111,126,255,.42);
    background:linear-gradient(135deg,rgba(88,101,242,.38),rgba(88,101,242,.18));
}

.home-v72-preview{
    position:relative;
    min-height:430px;
    overflow:hidden;
    background-position:center;
    background-size:cover;
}

.home-v72-preview:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,#0b1020 0%,rgba(11,16,32,.48) 23%,rgba(6,9,16,.05) 62%),
        linear-gradient(0deg,rgba(4,7,13,.8),transparent 43%);
}

.home-v72-preview.empty{
    background:
        radial-gradient(circle at 58% 42%,rgba(154,88,255,.15),transparent 14rem),
        linear-gradient(135deg,#101827,#090e18);
}

.home-v72-preview.empty:after{
    content:"";
    position:absolute;
    inset:20%;
    border:1px solid rgba(154,88,255,.09);
    border-radius:50%;
    box-shadow:
        0 0 0 45px rgba(154,88,255,.018),
        0 0 0 90px rgba(39,239,120,.012);
}

.home-v72-stream-card{
    position:absolute;
    right:20px;
    bottom:20px;
    z-index:2;
    width:215px;
    padding:16px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:15px;
    background:rgba(8,13,22,.89);
    box-shadow:0 18px 45px rgba(0,0,0,.3);
    backdrop-filter:blur(16px);
}

.home-v72-stream-card span{
    display:block;
    color:#8390a4;
    font-size:9px!important;
    font-weight:760;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.home-v72-stream-card strong{
    display:block;
    margin-top:4px;
    color:var(--v7-green);
    font-size:21px;
    line-height:1;
    font-weight:830;
}

.home-v72-stream-card strong.offline{
    color:#bb8aff;
}

.home-v72-stream-card small{
    display:block;
    margin-top:7px;
    color:#aab4c4;
    font-size:10px!important;
    line-height:1.45;
}

.home-v72-section{
    display:grid;
    gap:13px;
}

.home-v72-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding:0 2px;
}

.home-v72-section-head h2{
    margin:0;
    font-size:20px!important;
}

.home-v72-section-head p{
    max-width:680px;
    margin:4px 0 0;
    color:#7e8ba0;
    font-size:11px!important;
    line-height:1.55;
}

.home-v72-socials{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}

.home-v72-social{
    position:relative;
    min-height:134px;
    display:flex;
    align-items:center;
    gap:15px;
    overflow:hidden;
    padding:18px;
    border:1px solid var(--v7-line);
    border-radius:17px;
    color:#fff;
    background:linear-gradient(145deg,rgba(16,22,37,.98),rgba(8,13,23,.98));
    transition:.18s ease;
}

.home-v72-social:after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-52px;
    width:150px;
    height:150px;
    border-radius:50%;
    opacity:.09;
}

.home-v72-social.discord:after{background:#5865f2}
.home-v72-social.youtube:after{background:#ff0033}
.home-v72-social.tiktok:after{background:#23f0e6}

.home-v72-social:hover{
    transform:translateY(-2px);
    border-color:rgba(154,88,255,.28);
    box-shadow:0 17px 42px rgba(0,0,0,.14);
}

.home-v72-social-icon{
    width:51px;
    height:51px;
    flex:0 0 51px;
    display:grid;
    place-items:center;
    border-radius:14px;
}

.home-v72-social.discord .home-v72-social-icon{
    color:#aeb5ff;
    background:rgba(88,101,242,.14);
}

.home-v72-social.youtube .home-v72-social-icon{
    color:#ff7189;
    background:rgba(255,0,51,.1);
}

.home-v72-social.tiktok .home-v72-social-icon{
    color:#71f7ef;
    background:rgba(35,240,230,.08);
}

.home-v72-social-icon svg{
    width:25px;
    height:25px;
}

.home-v72-social-copy{
    min-width:0;
    flex:1;
}

.home-v72-social-copy strong{
    display:block;
    font-size:14px;
}

.home-v72-social-copy span{
    display:block;
    margin-top:4px;
    color:#8794a8;
    font-size:10.5px;
    line-height:1.48;
}

.home-v72-social-arrow{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    flex:0 0 31px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:9px;
    color:#8290a4;
    background:rgba(255,255,255,.02);
}

.home-v72-social-arrow svg{
    width:15px;
    height:15px;
}

.home-v72-viewer-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:13px;
}

.home-v72-card{
    margin:0;
}

.home-v72-profile-card{
    min-height:248px;
    background:
        radial-gradient(circle at 0 0,rgba(154,88,255,.12),transparent 23rem),
        linear-gradient(145deg,#0f1524,#090e19);
}

.home-v72-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.home-v72-card-title{
    display:flex;
    align-items:center;
    gap:12px;
}

.home-v72-card-icon{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    flex:0 0 43px;
    border-radius:12px;
    color:#c29cff;
    background:rgba(154,88,255,.08);
}

.home-v72-card-icon.green{
    color:#62f398;
    background:rgba(39,239,120,.065);
}

.home-v72-card-icon svg{
    width:21px;
    height:21px;
}

.home-v72-card-title h3{
    margin:0;
    font-size:15px!important;
}

.home-v72-card-title p{
    margin:3px 0 0;
    color:#7f8ca0;
    font-size:10px!important;
}

.home-v72-profile-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:17px;
}

.home-v72-profile-stat{
    min-height:78px;
    padding:12px;
    border:1px solid rgba(148,163,184,.11);
    border-radius:12px;
    background:rgba(7,12,21,.45);
}

.home-v72-profile-stat span{
    display:block;
    color:#748196;
    font-size:9px!important;
}

.home-v72-profile-stat strong{
    display:block;
    margin-top:5px;
    color:#f1f4f8;
    font-size:16px;
    line-height:1.1;
}

.home-v72-profile-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:13px;
    margin-top:15px;
    padding-top:14px;
    border-top:1px solid rgba(148,163,184,.09);
}

.home-v72-profile-bottom p{
    margin:0;
    color:#8290a4;
    font-size:10px!important;
    line-height:1.5;
}

.home-v72-login-card{
    min-height:248px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    background:
        radial-gradient(circle at 0 0,rgba(39,239,120,.08),transparent 20rem),
        linear-gradient(145deg,#0e1522,#090e18);
}

.home-v72-login-card h3{
    margin:13px 0 0;
    font-size:20px!important;
}

.home-v72-login-card p{
    max-width:620px;
    margin:9px 0 17px;
    color:#8390a4;
    font-size:11px!important;
    line-height:1.6;
}

.home-v72-how{
    display:grid;
    gap:9px;
    margin-top:15px;
}

.home-v72-how-row{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:11px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(148,163,184,.09);
    border-radius:11px;
    background:rgba(7,12,21,.32);
}

.home-v72-how-number{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#c39dff;
    background:rgba(154,88,255,.075);
    font-size:12px;
    font-weight:800;
}

.home-v72-how-row strong{
    display:block;
    color:#e9edf3;
    font-size:11px;
}

.home-v72-how-row span{
    display:block;
    margin-top:3px;
    color:#758297;
    font-size:9.5px;
    line-height:1.45;
}

.home-v72-bottom{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:13px;
}

.home-v72-community{
    min-height:210px;
    background:
        radial-gradient(circle at 100% 0,rgba(39,239,120,.07),transparent 20rem),
        linear-gradient(145deg,#0e1421,#090f19);
}

.home-v72-community-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
}

.home-v72-community-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border:1px solid rgba(148,163,184,.09);
    border-radius:11px;
    background:rgba(7,12,21,.3);
}

.home-v72-community-item svg{
    width:17px;
    height:17px;
    color:var(--v7-green);
}

.home-v72-community-item span{
    color:#a8b2c1;
    font-size:10px;
}

.home-v72-rules{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
}

.home-v72-rule{
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 11px;
    border:1px solid rgba(148,163,184,.09);
    border-radius:11px;
    background:rgba(7,12,21,.3);
    color:#a9b3c2;
    font-size:10px;
}

.home-v72-rule svg{
    width:16px;
    height:16px;
    flex:0 0 16px;
    color:#7f8da1;
}

.home-v72-rule.good svg{
    color:var(--v7-green);
}

@media(max-width:1200px){
    .home-v72-hero{
        grid-template-columns:1fr;
    }

    .home-v72-preview{
        min-height:330px;
    }

    .home-v72-viewer-grid,
    .home-v72-bottom{
        grid-template-columns:1fr;
    }
}

@media(max-width:900px){
    .home-v72-socials{
        grid-template-columns:1fr;
    }

    .home-v72-profile-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .home-v72-copy{
        padding:28px 22px;
    }

    .home-v72-copy h1{
        font-size:38px!important;
    }

    .home-v72-preview{
        min-height:260px;
    }

    .home-v72-stream-card{
        right:14px;
        bottom:14px;
        width:190px;
    }

    .home-v72-section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .home-v72-profile-stats,
    .home-v72-community-grid,
    .home-v72-rules{
        grid-template-columns:1fr;
    }

    .home-v72-profile-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* PORTAL V7.3 */
body,.main,.content,button,input,select,textarea,table,.ui-widget{
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important
}
h1,h2,h3,h4,h5,h6,.page-title,.mega-head h1,.viewer-page-head h1,.section-title h1,.section-title h2,
.bot-admin-top h1,.bot-parameters h2,.metric-card strong,.viewer-v4-quick strong,.viewer-stat-copy strong,
.candidate-score strong,.home-v72-copy h1,.big-status strong,.health-card strong,.health-card b{
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important
}
.brand h1,.brand p{font-family:Fredoka,Inter,system-ui,sans-serif!important}

/* jeden styl nagłówków działów - jak Funkcje bota */
.mega-head{
 align-items:center!important;margin:0 0 24px!important;padding:8px 0 4px!important;
 border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.mega-head h1{
 margin:4px 0 0!important;font-size:27px!important;line-height:1.13!important;font-weight:780!important;
 letter-spacing:-.035em!important;color:#f5f7fb!important
}
.mega-head p{max-width:820px;margin-top:7px!important;color:#8d99ac!important;font-size:12px!important;line-height:1.58!important}
.metric-card strong{font-size:21px!important;font-weight:760!important;letter-spacing:-.025em}

/* autocomplete: Nick @login */
.portal-autocomplete-copy{
 min-width:0;display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:6px!important
}
.portal-autocomplete-copy strong,.portal-autocomplete-copy small{display:block!important;margin:0!important;white-space:nowrap}
.portal-autocomplete-copy strong{max-width:210px;overflow:hidden;text-overflow:ellipsis}
.portal-autocomplete-copy small{color:#728096!important}

/* kandydaci */
.candidate-list{gap:10px!important}
.candidate-card{
 min-height:78px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;gap:18px!important;padding:13px 15px!important
}
.candidate-person{
 min-width:0!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;
 align-items:center!important;gap:11px!important
}
.candidate-person>span:last-child{min-width:0!important}
.candidate-person strong,.candidate-person small{
 max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important
}
.candidate-score{
 min-width:104px;display:flex!important;flex-direction:column!important;align-items:flex-end!important;
 justify-content:center!important;text-align:right!important;border-left:1px solid rgba(148,163,184,.10);padding-left:15px
}
.candidate-score strong{color:var(--v7-green)!important;font-size:18px!important;font-weight:780!important;line-height:1!important}
.candidate-score small{margin-top:5px!important;color:#718096!important;font-size:8.5px!important;text-transform:uppercase;letter-spacing:.07em}

/* funkcje bota */
.bot-admin-top{align-items:center!important;margin-bottom:20px!important;padding:8px 0 4px}
.bot-admin-top h1{margin:4px 0 0;font-size:27px!important;font-weight:780!important;letter-spacing:-.035em}
.bot-feature-tabs>.ui-tabs-nav{gap:8px!important;margin-bottom:18px!important}
.bot-feature-tabs>.ui-tabs-nav .ui-tabs-anchor{padding:9px 13px!important;font-size:10.5px!important}
.bot-feature-list{gap:12px!important}
.bot-feature-row{
 min-height:88px!important;border-radius:14px!important;
 background:radial-gradient(circle at 0 0,rgba(154,88,255,.045),transparent 14rem),
 linear-gradient(145deg,rgba(14,21,34,.96),rgba(8,14,23,.96))!important
}
.bot-feature-row.is-on{border-color:rgba(39,239,120,.13)!important}

/* status */
.health-card{min-height:84px}
.health-card>div strong{font-size:12px!important;font-weight:720!important}
.health-card>div span{font-size:10.5px!important}
.health-card>b{
 align-self:start;padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.025);
 font-size:8.5px!important;letter-spacing:.07em
}

/* reguły */
.rule-state{display:inline-flex;align-items:center;gap:6px;margin-left:7px;color:#728096;font-size:9px!important}
.rule-state.active{color:#5df393}.rule-state.disabled{color:#8893a5}
.rule-note{max-width:310px;color:#768397!important;font-size:9.5px!important;line-height:1.45}

/* public */
.public-shell{
 min-height:100vh;display:grid;place-items:center;padding:28px;
 background:radial-gradient(circle at 8% 15%,rgba(154,88,255,.17),transparent 31rem),
 radial-gradient(circle at 92% 84%,rgba(39,239,120,.08),transparent 32rem),#050811
}
.public-card{
 width:min(520px,100%);padding:30px;border:1px solid rgba(148,163,184,.16);border-radius:20px;
 background:radial-gradient(circle at 50% 0,rgba(154,88,255,.08),transparent 18rem),
 linear-gradient(145deg,#0d1422,#090e19);box-shadow:0 28px 80px rgba(0,0,0,.34);text-align:center
}
.public-logo{
 width:104px;height:104px;margin:0 auto 18px;object-fit:cover;border:3px solid transparent;border-radius:50%;
 background:linear-gradient(#090e18,#090e18) padding-box,linear-gradient(135deg,var(--v7-green),var(--v7-purple)) border-box
}
.public-card h1{margin:0;font-size:27px!important;font-weight:790;letter-spacing:-.035em}
.public-card h1 span{color:var(--v7-green)}
.public-card p{margin:10px 0 0;color:#8996aa;font-size:11.5px!important;line-height:1.62}
.public-card .actions{justify-content:center;margin-top:20px}.public-card .notice{margin:18px 0 0}
.public-socials{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:18px}
.public-socials a{padding:7px 9px;border:1px solid var(--v7-line);border-radius:9px;color:#98a5b7;font-size:9.5px!important}

/* profil zalogowanego widza */
.self-profile{display:grid;gap:16px}
.self-profile-hero{
 min-height:170px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;
 border:1px solid rgba(154,88,255,.23);border-radius:19px;
 background:radial-gradient(circle at 0 0,rgba(154,88,255,.15),transparent 27rem),
 radial-gradient(circle at 100% 100%,rgba(39,239,120,.06),transparent 23rem),linear-gradient(145deg,#0e1422,#090f19)
}
.self-profile-identity{min-width:0;display:flex;align-items:center;gap:18px}
.self-profile-avatar{width:88px;height:88px;flex:0 0 88px;object-fit:cover;border:2px solid rgba(154,88,255,.35);border-radius:50%;background:#101725}
.self-profile-copy h1{margin:0;font-size:25px!important}.self-profile-login{margin-top:3px;color:#8290a4;font-size:11.5px}
.self-profile-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.self-profile-rank{min-width:255px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.self-profile-rank article{padding:13px;border:1px solid var(--v7-line);border-radius:13px;background:rgba(7,12,21,.52)}
.self-profile-rank span{display:block;color:#7c899d;font-size:9px!important}.self-profile-rank strong{display:block;margin-top:5px;font-size:18px}
.self-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.self-profile-stat{
 min-height:86px;display:grid;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:11px;padding:13px;
 border:1px solid var(--v7-line);border-radius:14px;background:linear-gradient(145deg,#0e1421,#090f19)
}
.self-profile-stat-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:#74d9ff;background:rgba(77,201,255,.07)}
.self-profile-stat:nth-child(2n) .self-profile-stat-icon{color:#c299ff;background:rgba(154,88,255,.07)}
.self-profile-stat:nth-child(3n) .self-profile-stat-icon{color:#61f397;background:rgba(39,239,120,.06)}
.self-profile-stat-icon svg{width:19px;height:19px}
.self-profile-stat span{display:block;color:#7c899d;font-size:9px!important}
.self-profile-stat strong{display:block;margin-top:4px;color:#f4f6f9;font-size:16px}
.self-profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.self-profile-positive-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.self-score{padding:12px;border:1px solid var(--v7-line);border-radius:12px;background:#0a101b}
.self-score header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.self-score header span{color:#cbd3df;font-size:10.5px}.self-score header strong{color:var(--v7-green);font-size:14px}
.self-recent{display:grid;gap:0;margin-top:8px}
.self-recent-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.08)}
.self-recent-row:last-child{border-bottom:0}.self-recent-row time{color:#68758a;font-size:9px}.self-recent-row p{margin:0;color:#d1d8e3;font-size:10.5px!important;line-height:1.45}
@media(max-width:1100px){.self-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.self-profile-columns{grid-template-columns:1fr}}
@media(max-width:700px){.self-profile-hero{align-items:flex-start;flex-direction:column}.self-profile-rank{width:100%}.self-profile-grid,.self-profile-positive-scores{grid-template-columns:1fr}}
