/* =============================================================================
   Contest CRM #МедиаДвиж65
   Единый стиль административной части и публичных страниц
   ============================================================================= */

/* -----------------------------------------------------------------------------
   01. Переменные проекта
   ----------------------------------------------------------------------------- */

:root{
    --black:#0B0B0B;
    --white:#FFFFFF;
    --canvas:#F6F4EF;
    --soft:#FAF8F2;
    --gold:#C2A34A;
    --border:#E7E0D0;
    --muted:#5A5A5A;

    --green:#168A3A;
    --red:#A32020;
    --orange:#9A4B00;
    --blue:#215A9A;

    --shadow:0 8px 22px rgba(0,0,0,.04);
    --crm-width:1840px;
}

/* -----------------------------------------------------------------------------
   02. База
   ----------------------------------------------------------------------------- */

*{
    box-sizing:border-box;
}

html{
    min-height:100%;
}

body{
    margin:0;
    min-height:100%;
    background:var(--canvas);
    color:var(--black);
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
}

a{
    color:inherit;
}

h1{
    margin:0 0 18px;
    font-size:28px;
    line-height:1.2;
}

h2{
    margin:0 0 14px;
    font-size:20px;
    line-height:1.25;
}

h3{
    margin:18px 0 10px;
    font-size:17px;
    line-height:1.25;
}

p{
    line-height:1.5;
}

.small{
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

.error{
    color:var(--red);
    font-weight:bold;
}

.warn,
.warning{
    color:var(--orange);
    font-weight:bold;
}

.hidden{
    display:none !important;
}

.nowrap{
    white-space:nowrap;
}

/* -----------------------------------------------------------------------------
   03. Шапка CRM
   ----------------------------------------------------------------------------- */

.admin-header{
    background:#0B0B0B;
    color:#FFFFFF;
    padding:28px 34px 22px;
    border-radius:0;
}

.admin-header-inner{
    width:680px;
    max-width:680px;
    margin:0 auto;
    background:transparent;
    color:#FFFFFF;
    border-radius:0;
    padding:0;
}

.admin-header-table{
    width:100%;
    border-collapse:collapse;
}

.admin-header-table,
.admin-header-table tbody,
.admin-header-table tr,
.admin-header-table td,
.admin-header-table .hex-table,
.admin-header-table .hex-table tbody,
.admin-header-table .hex-table tr,
.admin-header-table .hex-table td{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.admin-header-table tr:hover,
.admin-header-table tr:hover td,
.admin-header-table td:hover,
.admin-header-table .hex-table tr:hover,
.admin-header-table .hex-table tr:hover td,
.admin-header-table .hex-table td:hover{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.admin-brand{
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#C2A34A;
    font-weight:bold;
}

.admin-title{
    font-size:22px;
    line-height:1.25;
    font-weight:bold;
    margin-top:8px;
    color:#FFFFFF;
}

.admin-subtitle{
    font-size:13px;
    line-height:1.4;
    margin-top:8px;
    color:#D8D8D8;
}

.hex-table{
    border-collapse:collapse;
    background:transparent;
}

.admin-header-table .hex-table td{
    font-size:36px;
    line-height:0.62;
    font-family:Arial,Helvetica,sans-serif;
    color:#C2A34A !important;
    padding-top:0;
    padding-bottom:0;
}

/* -----------------------------------------------------------------------------
   04. Верхнее меню
   ----------------------------------------------------------------------------- */

.admin-nav{
    background:#151515;
    border-top:1px solid rgba(194,163,74,.28);
    padding:10px 34px;
}

.admin-nav-inner{
    width:100%;
    max-width:var(--crm-width);
    margin:0 auto;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-nav a{
    color:#FFFFFF;
    text-decoration:none;
    background:#252525;
    padding:9px 12px;
    border-radius:9px;
    font-size:13px;
}

.admin-nav a:hover{
    background:#333333;
}

.admin-nav a.active{
    background:var(--gold);
    color:var(--black);
    font-weight:bold;
}

/* -----------------------------------------------------------------------------
   05. Layout, карточки, сетки
   ----------------------------------------------------------------------------- */

.page,
.page.page-wide{
    width:100%;
    max-width:var(--crm-width);
    margin:0 auto;
    padding:28px 34px 44px;
}

.card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:16px;
    padding:18px;
    box-shadow:var(--shadow);
}

.notice{
    background:#FBF7EA;
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:16px;
    line-height:1.45;
}

.notice.error{
    background:#FBE8E8;
    color:var(--red);
}

.grid{
    display:grid;
    gap:14px;
}

.grid-4{
    grid-template-columns:repeat(4,1fr);
}

.grid-3{
    grid-template-columns:repeat(3,1fr);
}

.grid-2{
    grid-template-columns:repeat(2,1fr);
}

.grid-dashboard{
    grid-template-columns:1.35fr .65fr;
}

.mb-16{
    margin-bottom:16px;
}

.mt-16{
    margin-top:16px;
}

/* -----------------------------------------------------------------------------
   06. Формы и кнопки
   ----------------------------------------------------------------------------- */

label{
    display:block;
    margin:12px 0 6px;
    color:var(--muted);
    font-size:12px;
    font-weight:bold;
}

input,
select,
textarea{
    width:100%;
    max-width:100%;
    padding:10px 11px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#FFFFFF;
    color:var(--black);
    font:inherit;
}

textarea{
    min-height:96px;
    resize:vertical;
}

button,
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:0;
    border-radius:10px;
    padding:10px 14px;
    background:#252525;
    color:#FFFFFF;
    font-weight:bold;
    font-size:13px;
    text-decoration:none;
    cursor:pointer;
    white-space:nowrap;
}

button:hover,
.btn:hover{
    filter:brightness(1.06);
}

button.gold,
.btn.gold,
.gold{
    background:var(--gold);
    color:var(--black);
}

button.secondary,
.btn.secondary,
.secondary{
    background:#FFFFFF;
    color:var(--black);
    border:1px solid var(--border);
}

button.danger,
.btn.danger,
.danger{
    background:#FBE8E8;
    color:var(--red);
    border:1px solid #F0C9C9;
}

.small-btn{
    padding:6px 9px;
    font-size:12px;
    border-radius:8px;
}

.inline-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}

.template-actions,
.mailings-actions,
.payments-filter-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

/* -----------------------------------------------------------------------------
   07. Таблицы
   ----------------------------------------------------------------------------- */

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

table{
    width:100%;
    border-collapse:collapse;
}

th,
td{
    padding:9px 8px;
    border-bottom:1px solid var(--border);
    text-align:left;
    vertical-align:top;
}

th{
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

tbody tr:hover td{
    background:#FFF9E8;
}

.work-table table,
.payments-page table,
.mailings-page table,
.jury-page table{
    font-size:12px;
}

.work-table th,
.work-table td,
.payments-page th,
.payments-page td,
.mailings-page th,
.mailings-page td,
.jury-page th,
.jury-page td{
    padding:7px 6px;
}

.work-table th,
.payments-page th,
.mailings-page th,
.jury-page th{
    font-size:10px;
}

/* -----------------------------------------------------------------------------
   08. Метрики, бейджи, статусы
   ----------------------------------------------------------------------------- */

.metric-title{
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:bold;
}

.metric-value{
    margin-top:8px;
    font-size:30px;
    font-weight:bold;
}

.metric-note{
    margin-top:8px;
    font-size:13px;
    color:var(--muted);
}

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:20px;
    padding:3px 8px;
    border-radius:999px;
    background:#EFEFEF;
    color:#555555;
    font-size:11px;
    font-weight:bold;
    white-space:nowrap;
}

.badge-custom,
.status-ok,
.paid{
    background:#E7F6EA;
    color:var(--green);
}

.badge-global{
    background:#F7F0D8;
    color:#7A5A00;
}

.badge-missing,
.not-paid{
    background:#FBE8E8;
    color:var(--red);
}

.status-line{
    margin-top:10px;
    font-size:13px;
    color:var(--muted);
}

.status-line.ok{
    color:var(--green);
    font-weight:bold;
}

.status-line.error{
    color:var(--red);
    font-weight:bold;
}

.status-empty{
    color:#999999;
}

/* -----------------------------------------------------------------------------
   09. Дашборд
   ----------------------------------------------------------------------------- */

.dashboard-page{
    max-width:var(--crm-width) !important;
}

.dashboard-metrics{
    display:grid;
    gap:14px;
    margin-bottom:16px;
}

.dashboard-metrics-main,
.dashboard-metrics-secondary{
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.metric-card{
    min-height:96px;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-bottom:16px;
}

.dashboard-block{
    margin-bottom:0;
}

.dashboard-block-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.dashboard-block-head h2{
    margin-bottom:4px;
}

.dashboard-mini-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
    margin:12px 0;
}

.dashboard-mini{
    background:var(--soft);
    border:1px solid var(--border);
    border-radius:14px;
    padding:12px;
}

.dashboard-mini-title{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    font-weight:bold;
}

.dashboard-mini-value{
    margin-top:6px;
    font-size:25px;
    line-height:1;
    font-weight:bold;
}

.dashboard-mini-value.danger{
    color:var(--red);
}

.dashboard-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.dashboard-list-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    padding:9px 10px;
    background:#FFFFFF;
    border:1px solid var(--border);
    border-radius:12px;
}

.dashboard-list-item .small{
    display:block;
}

.dashboard-events{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.dashboard-actions,
.actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.dashboard-action,
.action{
    display:block;
    text-decoration:none;
    color:var(--black);
    background:var(--soft);
    border:1px solid var(--border);
    border-radius:14px;
    padding:13px 14px;
    transition:.15s ease;
}

.dashboard-action:hover,
.action:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow);
    background:#FFFCF4;
}

.dashboard-action b,
.action b{
    display:block;
    margin-bottom:5px;
}

.dashboard-action span,
.action span{
    display:block;
    font-size:13px;
    color:var(--muted);
    line-height:1.35;
}

.dashboard-contests-table th,
.dashboard-contests-table td{
    vertical-align:top;
}

.dashboard-contests-table .badge{
    margin:0 4px 4px 0;
}

/* -----------------------------------------------------------------------------
   10. Заявки: компактная рабочая таблица
   ----------------------------------------------------------------------------- */

.applications-page{
    max-width:var(--crm-width) !important;
}

.applications-toolbar{
    display:grid;
    grid-template-columns:360px 1fr auto;
    gap:12px;
    align-items:end;
}

.applications-toolbar-actions{
    display:flex;
    gap:8px;
    align-items:end;
    flex-wrap:wrap;
}

.applications-compact-wrap{
    max-height:74vh;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:14px;
}

.applications-compact-table{
    table-layout:fixed;
    width:100%;
    min-width:0;
    border-collapse:separate;
    border-spacing:0;
    font-size:11px;
}

.applications-compact-table th,
.applications-compact-table td{
    display:table-cell;
    box-sizing:border-box;
    padding:5px 6px !important;
    border-bottom:1px solid var(--border);
    border-right:1px solid rgba(0,0,0,.05);
    vertical-align:top;
    background:#FFFFFF;
}

.applications-compact-table thead th{
    position:sticky;
    top:0;
    z-index:10;
    color:#FFFFFF;
    background:#0B0B0B !important;
    border-color:#242424;
    white-space:nowrap;
    font-size:10px;
    letter-spacing:.04em;
}

.applications-compact-table tbody tr.app-row-paid td{
    background:#F6FFF4 !important;
}

.applications-compact-table tbody tr.app-row-new td{
    background:#FFFFFF !important;
}

.applications-compact-table tbody tr:hover td{
    background:#FFF9E8 !important;
}

.applications-compact-table td[title]{
    cursor:help;
}

.applications-compact-table input{
    width:100%;
    min-width:0;
    max-width:none;
    margin:0 0 3px 0;
    padding:3px 5px;
    font-size:10.5px;
    line-height:1.15;
    border-radius:6px;
}

.applications-compact-table .small{
    font-size:10px;
    line-height:1.2;
}

.applications-compact-table .app-id{width:106px;max-width:106px;}
.applications-compact-table .app-contest{width:110px;max-width:110px;}
.applications-compact-table .app-participant{width:150px;max-width:150px;}
.applications-compact-table .app-applicant{width:165px;max-width:165px;}
.applications-compact-table .app-organization{width:145px;max-width:145px;}
.applications-compact-table .app-format{width:130px;max-width:130px;}
.applications-compact-table .app-age-category{width:150px;max-width:150px;}
.applications-compact-table .app-work{width:150px;max-width:150px;}
.applications-compact-table .app-mentor{width:155px;max-width:155px;}
.applications-compact-table .app-result{width:150px;max-width:150px;}
.applications-compact-table .app-status-cell{width:104px;max-width:104px;text-align:center;}
.applications-compact-table .app-activity-cell{width:118px;max-width:118px;text-align:center;}
.applications-compact-table .app-delete,
.applications-compact-table th:last-child,
.applications-compact-table td:last-child{
    width:28px;
    max-width:28px;
    min-width:28px;
    padding-left:2px !important;
    padding-right:2px !important;
    text-align:center;
}

.applications-compact-table .app-organization,
.applications-compact-table .app-format,
.applications-compact-table .app-age-category,
.applications-compact-table .app-work,
.applications-compact-table .app-mentor{
    white-space:normal !important;
    line-height:1.25;
    overflow:hidden;
    word-break:normal;
    overflow-wrap:break-word;
}

.applications-compact-table .app-work a{
    display:block;
    white-space:normal !important;
    word-break:break-word;
    overflow-wrap:anywhere;
    line-height:1.25;
}

.app-status-compact,
.app-activity-compact{
    display:flex;
    gap:3px;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
}

.app-status-letter,
.app-activity-letter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    font-size:9.5px;
    font-weight:800;
    line-height:1;
    border:0;
}

button.app-status-letter{
    cursor:pointer;
}

button.app-status-letter:hover{
    transform:translateY(-1px);
    box-shadow:0 2px 6px rgba(0,0,0,.12);
}

.app-status-letter.ok,
.app-activity-letter.ok{
    background:#E7F6EA;
    color:var(--green);
}

.app-status-letter.warn{
    background:#F7F0D8;
    color:#7A5A00;
}

.app-status-letter.bad{
    background:#FBE8E8;
    color:var(--red);
}

.app-status-letter.empty,
.app-activity-letter.empty{
    background:#EFEFEF;
    color:#777777;
}

.app-delete-button{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    padding:0 !important;
    border-radius:50%;
    font-size:14px !important;
    line-height:18px !important;
}

.applications-compact-table .app-id a{
    color:var(--black);
    text-decoration:underline;
}

.applications-compact-table .app-id a:hover{
    color:var(--gold);
}

/* -----------------------------------------------------------------------------
   11. Жюри
   ----------------------------------------------------------------------------- */

.jury-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.jury-contest-card{
    display:block;
    text-decoration:none;
    background:var(--soft);
    border:1px solid var(--border);
    border-radius:14px;
    padding:16px;
    transition:.15s ease;
}

.jury-contest-card:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow);
    background:#FFFCF4;
}

.jury-toolbar{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    flex-wrap:wrap;
}

.jury-contest-switch{
    min-width:320px;
}

.jury-contest-switch label{
    margin-top:0;
}

.jury-compact-wrap{
    max-height:74vh;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:14px;
}

.jury-compact-table{
    table-layout:fixed;
    width:100%;
    min-width:0;
    border-collapse:separate;
    border-spacing:0;
    font-size:10.5px;
}

.jury-compact-table th,
.jury-compact-table td{
    display:table-cell;
    box-sizing:border-box;
    padding:5px 6px !important;
    border-bottom:1px solid var(--border);
    border-right:1px solid rgba(0,0,0,.05);
    vertical-align:top;
    background:#FFFFFF;
}

.jury-compact-table thead th{
    position:sticky;
    top:0;
    z-index:10;
    color:#FFFFFF;
    background:#0B0B0B !important;
    border-color:#242424;
    white-space:nowrap;
    font-size:10px;
    letter-spacing:.04em;
}

.jury-compact-table tbody tr.jury-row-new td{background:#FFFFFF !important;}
.jury-compact-table tbody tr.jury-row-done td{background:#F2FBF3 !important;}
.jury-compact-table tbody tr.jury-row-locked td{background:#F1F1F1 !important;}
.jury-compact-table tbody tr:hover td{background:#FFF9E8 !important;}

.jury-compact-table td[title]{
    cursor:help;
}

.jury-id{width:105px;max-width:105px;}
.jury-participant{width:150px;max-width:150px;}
.jury-applicant{width:155px;max-width:155px;}
.jury-organization{
    width:145px;
    max-width:155px;
    min-width:125px;
    white-space:normal !important;
    line-height:1.25;
    overflow:hidden;
}
.jury-format{width:125px;max-width:125px;}
.jury-age-nomination{width:145px;max-width:145px;}
.jury-work-link{
    width:140px;
    max-width:145px;
    min-width:125px;
    overflow:hidden;
    white-space:normal !important;
    word-break:break-word;
    overflow-wrap:anywhere;
}
.jury-work-link a{
    display:block;
    white-space:normal !important;
    word-break:break-word;
    overflow-wrap:anywhere;
    line-height:1.25;
}
.jury-mentor{
    width:135px;
    max-width:145px;
    min-width:120px;
    overflow:hidden;
    white-space:normal !important;
    line-height:1.25;
}
.jury-result-cell{width:175px;max-width:175px;}
.jury-status-cell{width:74px;max-width:74px;text-align:center;}

.jury-participant,
.jury-applicant,
.jury-format,
.jury-age-nomination,
.jury-mentor,
.jury-result-cell{
    overflow:hidden;
    word-break:normal;
    overflow-wrap:break-word;
}

.jury-result-input{
    min-width:0 !important;
    width:100% !important;
    height:24px;
    font-size:10.5px !important;
    padding:3px 6px !important;
}

.jury-save-status{
    margin-top:3px;
    font-size:10px;
    color:var(--muted);
    line-height:1.2;
}

.jury-status-compact{
    display:flex;
    gap:3px;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
}

.jury-status-letter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    line-height:1;
}

.jury-status-letter.ok{
    background:#E7F6EA;
    color:var(--green);
}

.jury-status-letter.no{
    background:#EFEFEF;
    color:#777777;
}

/* -----------------------------------------------------------------------------
   12. Суперадминка
   ----------------------------------------------------------------------------- */

.super-page{
    max-width:var(--crm-width) !important;
}

.super-controls{
    display:grid;
    grid-template-columns:320px 1fr 220px auto;
    gap:12px;
    align-items:end;
}

.super-actions{
    display:flex;
    align-items:end;
}

.super-table-wrap{
    max-height:74vh;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:14px;
}

.super-table{
    table-layout:auto;
    width:max-content;
    min-width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:11.5px;
}

.super-table th,
.super-table td{
    display:table-cell;
    box-sizing:border-box;
    padding:6px 7px;
    border-bottom:1px solid var(--border);
    border-right:1px solid rgba(0,0,0,.05);
    vertical-align:top;
    background:#FFFFFF;
}

.super-table td{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:normal;
    overflow-wrap:normal;
}

.super-table thead th{
    position:sticky;
    z-index:20;
    white-space:nowrap;
    background:#0B0B0B !important;
    color:#FFFFFF !important;
}

.super-table .super-group-row th{
    top:0;
    z-index:22;
    background:#0B0B0B !important;
    color:#C2A34A !important;
    font-size:10.5px;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.super-table .super-header-row th{
    top:29px;
    z-index:21;
    background:#151515 !important;
    color:#FFFFFF !important;
    font-size:10.5px;
}

.super-table tbody tr td{
    background:#FFFFFF !important;
}

.super-table tbody tr:hover td{
    background:#FFF9E8 !important;
}

.super-table .small{
    font-size:10.5px;
    line-height:1.22;
}

.super-org,
.super-table .super-org{
    white-space:normal !important;
    line-height:1.25;
    overflow:hidden;
    width:128px;
    min-width:118px;
    max-width:138px;
}

.super-link-cell,
.super-long{
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    max-width:240px;
}

.super-link-cell a,
.super-long a{
    display:block;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
}

.super-raw{
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
    width:520px;
    max-width:520px;
}

.super-table th:nth-child(2),
.super-table td:nth-child(2){width:92px;max-width:92px;}

.super-table th:nth-child(3),
.super-table td:nth-child(3){width:128px;max-width:128px;}

.super-table th:nth-child(5),
.super-table td:nth-child(5){width:128px;max-width:128px;}

.super-table th:nth-child(7),
.super-table td:nth-child(7){width:135px;max-width:135px;}

.super-table th:nth-child(8),
.super-table td:nth-child(8){width:104px;max-width:104px;text-align:center;}

.super-table th:nth-child(9),
.super-table td:nth-child(9){width:118px;max-width:118px;}

.super-table th:nth-child(10),
.super-table td:nth-child(10),
.super-table th:nth-child(11),
.super-table td:nth-child(11),
.super-table th:nth-child(12),
.super-table td:nth-child(12),
.super-table th:nth-child(13),
.super-table td:nth-child(13){
    width:52px;
    max-width:52px;
    text-align:center;
}

.super-table th:nth-child(n+14),
.super-table td:nth-child(n+14){
    width:130px;
    max-width:130px;
}

.super-mail-compact{
    display:flex;
    gap:3px;
    justify-content:center;
    align-items:center;
    flex-wrap:nowrap;
}

.super-status-letter,
.super-dot{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
}

.super-ok,
.super-status-letter.ok{
    background:#E7F6EA;
    color:var(--green);
}

.super-warn,
.super-status-letter.warn{
    background:#F7F0D8;
    color:#7A5A00;
}

.super-bad,
.super-status-letter.bad{
    background:#FBE8E8;
    color:var(--red);
}

.super-empty,
.super-status-letter.empty{
    background:#EFEFEF;
    color:#777777;
}

/* -----------------------------------------------------------------------------
   13. Платежи
   ----------------------------------------------------------------------------- */

.payments-page{
    max-width:var(--crm-width) !important;
}

.payments-filters{
    display:grid;
    grid-template-columns:1fr 220px 1.2fr auto;
    gap:12px;
    align-items:end;
}

.activity-cell{
    font-size:12px;
    line-height:1.45;
}

.activity-cell .badge{
    margin:0 0 4px 0;
}

.activity-cell .error{
    margin-top:4px;
}

/* -----------------------------------------------------------------------------
   14. Рассылки
   ----------------------------------------------------------------------------- */

.mailings-page{
    max-width:var(--crm-width) !important;
}

.manual-email-status{
    display:grid;
    grid-template-columns:1.1fr 260px 1.4fr auto;
    gap:12px;
    align-items:end;
}

.manual-email-actions{
    display:flex;
    align-items:end;
}

.mailings-page .table-wrap{
    font-size:12px;
}

/* -----------------------------------------------------------------------------
   15. Пользователи, настройки, шаблоны
   ----------------------------------------------------------------------------- */

.form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.settings-section{
    margin-bottom:16px;
}

.template-list{
    display:grid;
    gap:12px;
}

.template-card,
.info-card,
.app-card,
.result-card{
    background:var(--soft);
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px;
}

.status-box{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
}

.status-button{
    min-width:24px;
    min-height:24px;
    padding:4px 6px;
    border-radius:8px;
    font-size:11px;
}

.status-mark{
    font-weight:bold;
}

/* -----------------------------------------------------------------------------
   16. Публичные страницы /check и /pay
   ----------------------------------------------------------------------------- */

.app-page,
.content{
    width:100%;
    max-width:680px;
    margin:0 auto;
}

.header{
    background:#0B0B0B;
    color:#FFFFFF;
    border-radius:18px 18px 0 0;
    padding:28px 34px 22px;
}

.header-table{
    width:100%;
    border-collapse:collapse;
}

.org{
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#C2A34A;
    font-weight:bold;
}

.title{
    font-size:22px;
    line-height:1.25;
    font-weight:bold;
    margin-top:8px;
    color:#FFFFFF;
}

.subtitle{
    font-size:13px;
    line-height:1.4;
    margin-top:8px;
    color:#D8D8D8;
}

.header .hex-table td{
    font-size:36px;
    line-height:0.62;
    font-family:Arial,Helvetica,sans-serif;
    color:#C2A34A;
    background:transparent !important;
    border:none !important;
}

.search-card,
.result-box,
.footer,
.page-note{
    background:#FFFFFF;
    border:1px solid var(--border);
    padding:22px 28px;
}

.search-card{
    border-radius:0;
}

.result-box{
    margin-top:16px;
    border-radius:14px;
}

.footer{
    border-radius:0 0 18px 18px;
    background:#FBF9F3;
}

.footer-links{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.lead{
    font-size:16px;
    line-height:1.55;
}

.result-table{
    width:100%;
    border-collapse:collapse;
}

/* -----------------------------------------------------------------------------
   17. Адаптивность
   ----------------------------------------------------------------------------- */

@media(max-width:1200px){
    .dashboard-metrics-main,
    .dashboard-metrics-secondary,
    .dashboard-mini-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .dashboard-grid,
    .dashboard-events,
    .grid-dashboard{
        grid-template-columns:1fr;
    }
}

@media(max-width:1100px){
    .applications-toolbar,
    .payments-filters,
    .manual-email-status,
    .super-controls,
    .form-grid{
        grid-template-columns:1fr;
    }

    .applications-toolbar-actions,
    .payments-filter-actions{
        justify-content:flex-start;
    }

    .jury-list{
        grid-template-columns:1fr;
    }

    .jury-contest-switch{
        min-width:100%;
    }
}

@media(max-width:760px){
    .admin-header,
    .admin-nav,
    .page{
        padding-left:16px;
        padding-right:16px;
    }

    .admin-header-inner{
        width:100%;
        max-width:100%;
    }

    .admin-title,
    .title{
        font-size:22px;
    }

    .admin-header-table .hex-table td,
    .header .hex-table td{
        font-size:30px;
    }

    .grid-4,
    .grid-3,
    .grid-2,
    .dashboard-metrics-main,
    .dashboard-metrics-secondary,
    .dashboard-mini-grid,
    .dashboard-actions,
    .actions{
        grid-template-columns:1fr;
    }

    .dashboard-list-item{
        flex-direction:column;
    }
}


/* =============================================================================
   Settings page: contest cards layout
   Страница “Конкурсы”: возвращаем широкую раскладку карточек шаблонов
   ============================================================================= */

.settings-page{
    max-width:var(--crm-width, 1840px) !important;
}

/* Глобальные и конкурсные шаблоны — 3 карточки в ряд */
.settings-page .template-list{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
    align-items:stretch;
}

.settings-page .template-card{
    min-height:120px;
}

/* Создание / редактирование конкурса — две широкие колонки */
.settings-page .grid.grid-2{
    display:grid !important;
    grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr) !important;
    gap:16px !important;
    align-items:start;
}

/* Внутри редактирования поля по две колонки, как раньше */
.settings-page .form-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
}

.settings-page .form-grid .full{
    grid-column:1 / -1;
}

/* Таблица конкурсов компактнее и шире */
.settings-page .table-wrap table{
    font-size:12px;
}

.settings-page .table-wrap th{
    font-size:10px;
}

.settings-page .table-wrap th,
.settings-page .table-wrap td{
    padding:7px 6px;
}

/* Кнопки действий в таблице не раздувают строку */
.settings-page .inline-actions,
.settings-page .template-actions{
    gap:8px;
}

/* Адаптивность */
@media(max-width:1200px){
    .settings-page .template-list{
        grid-template-columns:1fr !important;
    }

    .settings-page .grid.grid-2,
    .settings-page .form-grid{
        grid-template-columns:1fr !important;
    }

    .settings-page .form-grid .full{
        grid-column:auto;
    }
}


/* =============================================================================
   Header/nav: идея anomedia.ru
   Верхняя строка бренда + быстрые ссылки, ниже компактная шапка текущего раздела
   ============================================================================= */

.admin-header{
    background:#0B0B0B !important;
    color:#FFFFFF !important;
    padding:18px 34px 24px !important;
}

.admin-header-shell{
    width:100%;
    max-width:var(--crm-width, 1840px);
    margin:0 auto;
}

.admin-header-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
}

.admin-site-brand{
    display:flex;
    align-items:baseline;
    gap:10px;
    color:#FFFFFF;
    text-decoration:none;
}

.admin-site-name{
    font-size:15px;
    font-weight:800;
    letter-spacing:.02em;
}

.admin-site-note{
    font-size:12px;
    color:#C2A34A;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.admin-site-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.admin-site-links a{
    color:#D8D8D8;
    text-decoration:none;
    font-size:12px;
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.04);
}

.admin-site-links a:hover{
    color:#FFFFFF;
    border-color:rgba(194,163,74,.55);
    background:rgba(194,163,74,.12);
}

.admin-header-inner{
    width:680px;
    max-width:680px;
    margin:0 auto;
    background:transparent;
    color:#FFFFFF;
    border-radius:0;
    padding:0;
}

.admin-brand{
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#C2A34A;
    font-weight:bold;
}

.admin-title{
    font-size:24px;
    line-height:1.2;
    font-weight:bold;
    margin-top:8px;
    color:#FFFFFF;
}

.admin-subtitle{
    font-size:13px;
    line-height:1.4;
    margin-top:8px;
    color:#D8D8D8;
}

/* Меню делаем плавающей светлой панелью на canvas-фоне */
.admin-nav{
    background:transparent !important;
    border-top:0 !important;
    padding:14px 34px 0 !important;
}

.admin-nav-inner{
    width:100%;
    max-width:var(--crm-width, 1840px);
    margin:0 auto;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding:8px;
    border:1px solid var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.78);
    box-shadow:var(--shadow);
    backdrop-filter:blur(10px);
}

.admin-nav a{
    color:#0B0B0B !important;
    text-decoration:none;
    background:#FFFFFF !important;
    border:1px solid var(--border);
    padding:9px 12px;
    border-radius:12px;
    font-size:13px;
}

.admin-nav a:hover{
    background:#FFFCF4 !important;
    border-color:#D8C68A;
}

.admin-nav a.active{
    background:#C2A34A !important;
    color:#0B0B0B !important;
    border-color:#C2A34A;
    font-weight:bold;
}

/* =============================================================================
   Mobile tables: не превращаем таблицы в узкую кашу
   На мобильных устройствах таблица получает горизонтальную прокрутку
   ============================================================================= */

@media(max-width:760px){

    .applications-compact-wrap,
    .jury-compact-wrap,
    .super-table-wrap{
        overflow-x:auto !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    .applications-compact-table{
        width:1680px !important;
        min-width:1680px !important;
        table-layout:fixed !important;
    }

    .jury-compact-table{
        width:1540px !important;
        min-width:1540px !important;
        table-layout:fixed !important;
    }

    .super-table{
        width:max-content !important;
        min-width:1500px !important;
        table-layout:auto !important;
    }

    .applications-compact-table th,
    .applications-compact-table td,
    .jury-compact-table th,
    .jury-compact-table td,
    .super-table th,
    .super-table td{
        white-space:normal;
    }

    .applications-compact-table input,
    .jury-compact-table input{
        font-size:10.5px !important;
    }
}

/* =============================================================================
   Settings mobile overflow fix
   Карточки шаблонов не вылезают за край экрана
   ============================================================================= */

.settings-page,
.settings-page *{
    max-width:100%;
}

.settings-page .card,
.settings-page .template-card,
.settings-page .template-list,
.settings-page .grid,
.settings-page .form-grid{
    min-width:0;
}

.settings-page .template-card{
    overflow:hidden;
}

.settings-page input,
.settings-page select,
.settings-page textarea{
    min-width:0;
}

@media(max-width:760px){
    .settings-page .template-list{
        grid-template-columns:1fr !important;
        width:100% !important;
    }

    .settings-page .grid.grid-2,
    .settings-page .form-grid{
        grid-template-columns:1fr !important;
        width:100% !important;
    }
}

/* =============================================================================
   Mobile header/nav
   ============================================================================= */

@media(max-width:760px){
    .admin-header{
        padding:18px 16px 22px !important;
    }

    .admin-header-top{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
        margin-bottom:20px;
    }

    .admin-site-brand{
        flex-direction:column;
        align-items:flex-start;
        gap:3px;
    }

    .admin-site-links{
        justify-content:flex-start;
        gap:6px;
    }

    .admin-site-links a{
        font-size:11px;
        padding:6px 8px;
    }

    .admin-header-inner{
        width:100%;
        max-width:100%;
    }

    .admin-title{
        font-size:22px;
    }

    .admin-nav{
        padding:12px 16px 0 !important;
    }

    .admin-nav-inner{
        overflow-x:auto;
        flex-wrap:nowrap;
        justify-content:flex-start;
        border-radius:16px;
        -webkit-overflow-scrolling:touch;
    }

    .admin-nav a{
        flex:0 0 auto;
        white-space:nowrap;
    }
}


/* =============================================================================
   Header rollback
   Возвращаем прежнюю тёмную шапку CRM без верхней бренд-строки anomedia.ru
   ============================================================================= */

.admin-header{
    background:#0B0B0B !important;
    color:#FFFFFF !important;
    padding:28px 34px 22px !important;
    border-radius:0 !important;
}

.admin-header-shell{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
}

.admin-header-top,
.admin-site-brand,
.admin-site-links{
    display:none !important;
}

.admin-header-inner{
    width:680px !important;
    max-width:680px !important;
    margin:0 auto !important;
    background:transparent !important;
    color:#FFFFFF !important;
    border-radius:0 !important;
    padding:0 !important;
}

.admin-brand{
    font-size:13px !important;
    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
    color:#C2A34A !important;
    font-weight:bold !important;
}

.admin-title{
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:bold !important;
    margin-top:8px !important;
    color:#FFFFFF !important;
}

.admin-subtitle{
    font-size:13px !important;
    line-height:1.4 !important;
    margin-top:8px !important;
    color:#D8D8D8 !important;
}

.admin-header-table,
.admin-header-table tbody,
.admin-header-table tr,
.admin-header-table td,
.admin-header-table .hex-table,
.admin-header-table .hex-table tbody,
.admin-header-table .hex-table tr,
.admin-header-table .hex-table td{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.admin-header-table .hex-table td{
    font-size:36px !important;
    line-height:0.62 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    color:#C2A34A !important;
}

/* =============================================================================
   Navigation width and mobile wrapping
   Меню шириной как основные рабочие блоки, без горизонтальной прокрутки на мобильных
   ============================================================================= */

.admin-nav{
    background:transparent !important;
    border-top:0 !important;
    padding:14px 34px 0 !important;
}

.admin-nav-inner{
    width:100% !important;
    max-width:var(--crm-width, 1840px) !important;
    margin:0 auto !important;
    display:flex !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    padding:8px !important;
    border:1px solid var(--border) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:var(--shadow) !important;
    backdrop-filter:blur(10px);
    overflow:visible !important;
}

.admin-nav a{
    flex:0 1 auto !important;
    white-space:normal !important;
    color:#0B0B0B !important;
    text-decoration:none !important;
    background:#FFFFFF !important;
    border:1px solid var(--border) !important;
    padding:9px 12px !important;
    border-radius:12px !important;
    font-size:13px !important;
    line-height:1.15 !important;
}

.admin-nav a:hover{
    background:#FFFCF4 !important;
    border-color:#D8C68A !important;
}

.admin-nav a.active{
    background:#C2A34A !important;
    color:#0B0B0B !important;
    border-color:#C2A34A !important;
    font-weight:bold !important;
}

@media(max-width:760px){
    .admin-header{
        padding:24px 16px 20px !important;
    }

    .admin-header-inner{
        width:100% !important;
        max-width:100% !important;
    }

    .admin-title{
        font-size:22px !important;
    }

    .admin-header-table .hex-table td{
        font-size:30px !important;
    }

    .admin-nav{
        padding:12px 16px 0 !important;
    }

    .admin-nav-inner{
        width:100% !important;
        max-width:100% !important;
        flex-wrap:wrap !important;
        overflow:visible !important;
        -webkit-overflow-scrolling:auto !important;
    }

    .admin-nav a{
        flex:0 1 auto !important;
        white-space:normal !important;
        font-size:12px !important;
        padding:8px 10px !important;
    }
}


/* =============================================================================
   Navigation final width + mobile clean mode
   Меню по ширине рабочих блоков; на мобильных без лишнего контейнера
   ============================================================================= */

/* Внешняя зона меню имеет те же боковые поля, что и .page */
.admin-nav{
    background:transparent !important;
    border-top:0 !important;
    padding:14px 34px 0 !important;
}

/* Контейнер меню равен рабочей ширине CRM */
.admin-nav-inner{
    width:100% !important;
    max-width:var(--crm-width, 1840px) !important;
    margin:0 auto !important;

    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:8px !important;

    padding:8px !important;
    border:1px solid var(--border) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:var(--shadow) !important;
    backdrop-filter:blur(10px);
    overflow:visible !important;
}

/* Кнопки меню */
.admin-nav a{
    flex:0 1 auto !important;
    white-space:normal !important;
    color:#0B0B0B !important;
    text-decoration:none !important;
    background:#FFFFFF !important;
    border:1px solid var(--border) !important;
    padding:9px 12px !important;
    border-radius:12px !important;
    font-size:13px !important;
    line-height:1.15 !important;
}

.admin-nav a:hover{
    background:#FFFCF4 !important;
    border-color:#D8C68A !important;
}

.admin-nav a.active{
    background:#C2A34A !important;
    color:#0B0B0B !important;
    border-color:#C2A34A !important;
    font-weight:bold !important;
}

/* -----------------------------------------------------------------------------
   Мобильный режим:
   контейнер меню убираем визуально, остаются только кнопки
   ----------------------------------------------------------------------------- */

@media(max-width:760px){
    .admin-nav{
        padding:12px 16px 0 !important;
        background:transparent !important;
    }

    .admin-nav-inner{
        width:100% !important;
        max-width:100% !important;

        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:flex-start !important;
        align-items:center !important;
        gap:6px !important;

        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;

        overflow:visible !important;
        -webkit-overflow-scrolling:auto !important;
    }

    .admin-nav a{
        flex:0 1 auto !important;
        white-space:normal !important;

        font-size:12px !important;
        line-height:1.1 !important;
        padding:8px 10px !important;
        border-radius:999px !important;
        background:#FFFFFF !important;
        border:1px solid var(--border) !important;
    }

    .admin-nav a.active{
        background:#C2A34A !important;
        border-color:#C2A34A !important;
    }
}

/* Ещё более узкие экраны: кнопки можно делать чуть плотнее */
@media(max-width:420px){
    .admin-nav a{
        font-size:11px !important;
        padding:7px 9px !important;
    }
}


/* =============================================================================
   Navigation desktop width + mobile flat layout
   Десктоп: меню по ширине карточек внутри .page.
   Мобильный: убираем лишние контейнеры, оставляем чистую информацию на фоне.
   ============================================================================= */

/* На широком экране меню должно совпадать с шириной карточек/таблиц внутри page.
   .page имеет padding слева/справа 34px, поэтому вычитаем 68px. */
@media(min-width:761px){
    .admin-nav-inner{
        max-width:calc(var(--crm-width, 1840px) - 68px) !important;
    }
}

/* -----------------------------------------------------------------------------
   Мобильный режим: без "коробок" вокруг всего
   ----------------------------------------------------------------------------- */

@media(max-width:760px){

    /* Общие отступы страницы делаем компактнее */
    .page,
    .page.page-wide{
        padding:14px 12px 28px !important;
        max-width:100% !important;
    }

    /* Информационные плашки без тяжёлого контейнера */
    .notice{
        margin:0 0 12px !important;
        padding:11px 12px !important;
        border-radius:12px !important;
        box-shadow:none !important;
    }

    /* Основные карточки на мобильном превращаем в "плоские" блоки */
    .card{
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        border-radius:0 !important;
        padding:10px 0 !important;
    }

    /* Но вложенные смысловые карточки/плитки оставим аккуратными,
       иначе дашборд станет слишком плоским и нечитаемым */
    .metric-card,
    .dashboard-mini,
    .dashboard-action,
    .dashboard-list-item,
    .jury-contest-card,
    .template-card,
    .info-card,
    .app-card,
    .result-card{
        background:#FFFFFF !important;
        border:1px solid var(--border) !important;
        box-shadow:none !important;
        border-radius:14px !important;
    }

    /* Табличные контейнеры оставляем с рамкой: это помогает понять,
       что внутри есть горизонтальная прокрутка */
    .applications-compact-wrap,
    .jury-compact-wrap,
    .super-table-wrap,
    .table-wrap{
        border:1px solid var(--border) !important;
        border-radius:12px !important;
        background:#FFFFFF !important;
        box-shadow:none !important;
    }

    /* Верхние управляющие карточки становятся компактнее */
    .applications-toolbar,
    .payments-filters,
    .manual-email-status,
    .super-controls,
    .form-grid{
        gap:8px !important;
    }

    label{
        margin:8px 0 5px !important;
    }

    input,
    select,
    textarea{
        padding:8px 9px !important;
        border-radius:9px !important;
    }

    button,
    .btn{
        padding:8px 10px !important;
        border-radius:10px !important;
        font-size:12px !important;
    }

    /* Меню: без контейнера, кнопки строками */
    .admin-nav{
        padding:12px 12px 0 !important;
    }

    .admin-nav-inner{
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;

        display:flex !important;
        flex-wrap:wrap !important;
        gap:6px !important;
        overflow:visible !important;
    }

    .admin-nav a{
        border-radius:999px !important;
        padding:7px 9px !important;
        font-size:11.5px !important;
        line-height:1.1 !important;
    }

    /* Заголовки и отступы внутри мобильных страниц */
    h1{
        font-size:23px !important;
        margin-bottom:12px !important;
    }

    h2{
        font-size:18px !important;
        margin-bottom:10px !important;
    }

    h3{
        font-size:16px !important;
        margin:14px 0 8px !important;
    }

    .mb-16{
        margin-bottom:12px !important;
    }

    /* Сетки на мобильном — в одну колонку, без лишних огромных промежутков */
    .grid,
    .grid-2,
    .grid-3,
    .grid-4,
    .dashboard-grid,
    .dashboard-events,
    .dashboard-actions,
    .actions,
    .dashboard-metrics,
    .dashboard-metrics-main,
    .dashboard-metrics-secondary,
    .dashboard-mini-grid{
        gap:10px !important;
    }

    /* Страница конкурсов: карточки шаблонов точно не вылезают */
    .settings-page .template-list,
    .settings-page .grid.grid-2,
    .settings-page .form-grid{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
    }

    .settings-page .template-card{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}

/* Совсем узкие экраны */
@media(max-width:420px){
    .page,
    .page.page-wide{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .admin-nav{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .admin-nav a{
        font-size:11px !important;
        padding:7px 8px !important;
    }
}


/* =============================================================================
   Dashboard mobile metrics
   На мобильной главной убираем карточки у 8 верхних метрик:
   показатели становятся текстовыми блоками на фоне страницы
   ============================================================================= */

@media(max-width:760px){

    .dashboard-page .dashboard-metrics{
        gap:0 !important;
        margin-bottom:8px !important;
    }

    .dashboard-page .dashboard-metrics-main,
    .dashboard-page .dashboard-metrics-secondary{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        column-gap:14px !important;
        row-gap:10px !important;
    }

    .dashboard-page .metric-card{
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        border-radius:0 !important;
        padding:0 0 8px 0 !important;
        min-height:auto !important;
    }

    .dashboard-page .metric-title{
        font-size:10.5px !important;
        line-height:1.2 !important;
        letter-spacing:.06em !important;
        color:var(--muted) !important;
    }

    .dashboard-page .metric-value{
        margin-top:4px !important;
        font-size:25px !important;
        line-height:1 !important;
    }

    .dashboard-page .metric-note{
        margin-top:4px !important;
        font-size:11.5px !important;
        line-height:1.25 !important;
    }
}

@media(max-width:420px){
    .dashboard-page .dashboard-metrics-main,
    .dashboard-page .dashboard-metrics-secondary{
        column-gap:10px !important;
        row-gap:8px !important;
    }

    .dashboard-page .metric-value{
        font-size:23px !important;
    }
}


/* =============================================================================
   Payments compact table
   Реестр оплат в стиле заявок / жюри / super
   ============================================================================= */

.payments-compact-wrap{
    max-height:74vh;
    overflow:auto;
    border:1px solid var(--border);
    border-radius:14px;
    background:#FFFFFF;
}

.payments-compact-table{
    table-layout:fixed;
    width:100%;
    min-width:0;
    border-collapse:separate;
    border-spacing:0;
    font-size:11px;
}

.payments-compact-table th,
.payments-compact-table td{
    display:table-cell;
    box-sizing:border-box;
    padding:5px 6px !important;
    border-bottom:1px solid var(--border);
    border-right:1px solid rgba(0,0,0,.05);
    vertical-align:top;
    background:#FFFFFF;
}

.payments-compact-table thead th{
    position:sticky;
    top:0;
    z-index:10;
    color:#FFFFFF;
    background:#0B0B0B !important;
    border-color:#242424;
    white-space:nowrap;
    font-size:10px;
    letter-spacing:.04em;
}

.payments-compact-table tbody tr:hover td{
    background:#FFF9E8 !important;
}

.payments-compact-table td[title]{
    cursor:help;
}

.payments-compact-table .small{
    font-size:10px;
    line-height:1.2;
}

/* Ширины колонок */
.payments-compact-table .pay-id{
    width:110px;
    max-width:110px;
}

.payments-compact-table .pay-contest{
    width:130px;
    max-width:130px;
}

.payments-compact-table .pay-participant{
    width:190px;
    max-width:190px;
}

.payments-compact-table .pay-email{
    width:210px;
    max-width:210px;
}

.payments-compact-table .pay-payment{
    width:175px;
    max-width:175px;
}

.payments-compact-table .pay-doc-email{
    width:120px;
    max-width:120px;
    text-align:center;
}

.payments-compact-table .pay-activity{
    width:125px;
    max-width:125px;
    text-align:center;
}

.payments-compact-table .pay-action-cell{
    width:140px;
    max-width:140px;
    text-align:center;
}

/* Переносы */
.payments-compact-table .pay-participant,
.payments-compact-table .pay-email,
.payments-compact-table .pay-payment{
    white-space:normal !important;
    line-height:1.25;
    overflow:hidden;
    word-break:normal;
    overflow-wrap:break-word;
}

.payments-compact-table .pay-id a{
    color:var(--black);
    text-decoration:underline;
}

.payments-compact-table .pay-id a:hover{
    color:var(--gold);
}

/* Статусы Д/E и активность */
.pay-status-compact,
.pay-activity-compact,
.pay-actions{
    display:flex;
    gap:3px;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
}

.pay-status-letter,
.pay-activity-letter,
.pay-action-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    font-size:9.5px;
    font-weight:800;
    line-height:1;
    border:0;
    text-decoration:none;
}

.pay-status-letter.ok,
.pay-activity-letter.ok{
    background:#E7F6EA;
    color:var(--green);
}

.pay-status-letter.warn{
    background:#F7F0D8;
    color:#7A5A00;
}

.pay-status-letter.bad{
    background:#FBE8E8;
    color:var(--red);
}

.pay-status-letter.empty,
.pay-activity-letter.empty{
    background:#EFEFEF;
    color:#777777;
}

.pay-action-link{
    background:#FFFFFF;
    color:var(--black);
    border:1px solid var(--border);
    cursor:pointer;
}

.pay-action-link:hover{
    background:#FFFCF4;
    border-color:#D8C68A;
}

.pay-action-link.gold{
    background:var(--gold);
    color:var(--black);
    border-color:var(--gold);
}

/* Мобильный режим: таблица не сжимается в кашу, а прокручивается */
@media(max-width:760px){
    .payments-compact-wrap{
        overflow-x:auto !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    .payments-compact-table{
        width:1200px !important;
        min-width:1200px !important;
        table-layout:fixed !important;
    }
}


/* =============================================================================
   Header: тёмный контейнер шириной меню/таблиц + гексагональная подсветка
   ============================================================================= */

.admin-header{
    background:#0B0B0B !important;
    color:#FFFFFF !important;
    padding:22px 34px 22px !important;
    border-radius:0 !important;
}

.admin-header-panel{
    position:relative;
    overflow:hidden;
    width:100%;
    max-width:calc(var(--crm-width, 1840px) - 68px);
    margin:0 auto;
    padding:24px 28px;
    border:1px solid rgba(194,163,74,.24);
    border-radius:22px;
    background:
        radial-gradient(circle at var(--header-glow-x, 50%) var(--header-glow-y, 50%), rgba(194,163,74,.20), transparent 240px),
        linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
        #0B0B0B;
    box-shadow:
        0 18px 44px rgba(0,0,0,.26),
        inset 0 1px 0 rgba(255,255,255,.08);
}

/* Гексагональный фон контейнера */
.admin-header-panel::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.14;
    background-image:
        url("data:image/svg+xml,%3Csvg width='96' height='84' viewBox='0 0 96 84' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23C2A34A' stroke-width='1'%3E%3Cpath d='M24 2 L44 14 L44 38 L24 50 L4 38 L4 14 Z'/%3E%3Cpath d='M72 2 L92 14 L92 38 L72 50 L52 38 L52 14 Z'/%3E%3Cpath d='M48 42 L68 54 L68 78 L48 90 L28 78 L28 54 Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size:96px 84px;
    background-position:center;
    transition:opacity .18s ease;
}

.admin-header-panel.is-hovered::before{
    opacity:.24;
}

/* Мягкое световое пятно под курсором */
.admin-header-glow{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0;
    background:
        radial-gradient(
            circle at var(--header-glow-x, 50%) var(--header-glow-y, 50%),
            rgba(194,163,74,.34),
            rgba(194,163,74,.13) 120px,
            transparent 280px
        );
    transition:opacity .16s ease;
}

.admin-header-panel.is-hovered .admin-header-glow{
    opacity:1;
}

/* Внутренний логотипный блок оставляем компактным, как раньше */
.admin-header-inner{
    position:relative;
    z-index:2;
    width:680px !important;
    max-width:680px !important;
    margin:0 auto !important;
    background:transparent !important;
    color:#FFFFFF !important;
    border-radius:0 !important;
    padding:0 !important;
}

.admin-header-table,
.admin-header-table tbody,
.admin-header-table tr,
.admin-header-table td,
.admin-header-table .hex-table,
.admin-header-table .hex-table tbody,
.admin-header-table .hex-table tr,
.admin-header-table .hex-table td{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.admin-header-table tr:hover,
.admin-header-table tr:hover td,
.admin-header-table td:hover,
.admin-header-table .hex-table tr:hover,
.admin-header-table .hex-table tr:hover td,
.admin-header-table .hex-table td:hover{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
}

.admin-brand{
    font-size:13px !important;
    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
    color:#C2A34A !important;
    font-weight:bold !important;
}

.admin-title{
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:bold !important;
    margin-top:8px !important;
    color:#FFFFFF !important;
}

.admin-subtitle{
    font-size:13px !important;
    line-height:1.4 !important;
    margin-top:8px !important;
    color:#D8D8D8 !important;
}

.admin-header-table .hex-table td{
    font-size:36px !important;
    line-height:0.62 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    color:#C2A34A !important;
}

/* На мобильных контейнер исчезает, тёмный фон остаётся */
@media(max-width:760px){
    .admin-header{
        padding:22px 16px 20px !important;
        background:#0B0B0B !important;
    }

    .admin-header-panel{
        max-width:100% !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    .admin-header-panel::before,
    .admin-header-glow{
        display:none !important;
    }

    .admin-header-inner{
        width:100% !important;
        max-width:100% !important;
    }

    .admin-title{
        font-size:22px !important;
    }

    .admin-header-table .hex-table td{
        font-size:30px !important;
    }
}


/* =============================================================================
   Header final experiment:
   светлый фон страницы + тёмный контейнер шапки + медленная гексагональная подсветка
   ============================================================================= */

/* Фон под контейнером такой же, как у всей страницы */
.admin-header{
    background:var(--canvas) !important;
    color:#FFFFFF !important;
    padding:22px 34px 0 !important;
}

/* Тёмный контейнер шириной как меню/таблицы */
.admin-header-panel{
    position:relative !important;
    overflow:hidden !important;
    width:100% !important;
    max-width:calc(var(--crm-width, 1840px) - 68px) !important;
    margin:0 auto !important;
    padding:24px 28px !important;
    border:1px solid rgba(194,163,74,.24) !important;
    border-radius:22px !important;
    background:#0B0B0B !important;
    box-shadow:
        0 18px 44px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Гексагональная сетка — ближе к hero anomedia.ru: частая, тонкая, фоновая */
.admin-header-panel::before{
    content:"" !important;
    position:absolute !important;
    inset:-40px !important;
    pointer-events:none !important;
    opacity:.18 !important;
    background-image:
        url("data:image/svg+xml,%3Csvg width='72' height='63' viewBox='0 0 72 63' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23C2A34A' stroke-width='.8' opacity='.95'%3E%3Cpath d='M18 1 L34 10.5 L34 29.5 L18 39 L2 29.5 L2 10.5 Z'/%3E%3Cpath d='M54 1 L70 10.5 L70 29.5 L54 39 L38 29.5 L38 10.5 Z'/%3E%3Cpath d='M36 32 L52 41.5 L52 60.5 L36 70 L20 60.5 L20 41.5 Z'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size:72px 63px !important;
    background-position:center !important;
    transform:translate3d(0,0,0) !important;
    transition:opacity .25s ease !important;
}

/* Медленно движущаяся подсветка по контейнеру */
.admin-header-panel::after{
    content:"" !important;
    position:absolute !important;
    inset:-35% -45% !important;
    pointer-events:none !important;
    opacity:.72 !important;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            rgba(194,163,74,.30) 0%,
            rgba(194,163,74,.18) 16%,
            rgba(194,163,74,.07) 31%,
            transparent 56%
        ) !important;
    mix-blend-mode:screen;
    transform:translateX(-34%) !important;
    animation:adminHeaderGlowMove 28s ease-in-out infinite alternate !important;
}

/* Старый mouse-glow оставляем, но делаем слабее, чтобы он дополнял медленную анимацию */
.admin-header-glow{
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    opacity:0 !important;
    background:
        radial-gradient(
            circle at var(--header-glow-x, 50%) var(--header-glow-y, 50%),
            rgba(255,255,255,.10),
            rgba(194,163,74,.13) 110px,
            transparent 260px
        ) !important;
    transition:opacity .18s ease !important;
    z-index:1 !important;
}

.admin-header-panel.is-hovered .admin-header-glow{
    opacity:1 !important;
}

.admin-header-panel.is-hovered::before{
    opacity:.26 !important;
}

/* Внутренний логотипный блок поверх сетки и свечения */
.admin-header-inner{
    position:relative !important;
    z-index:3 !important;
    width:680px !important;
    max-width:680px !important;
    margin:0 auto !important;
    background:transparent !important;
    color:#FFFFFF !important;
    border-radius:0 !important;
    padding:0 !important;
}

/* Анимация: очень медленно слева направо и обратно */
@keyframes adminHeaderGlowMove{
    0%{
        transform:translateX(-34%) translateY(-4%) scale(1);
        opacity:.48;
    }

    45%{
        opacity:.74;
    }

    100%{
        transform:translateX(34%) translateY(4%) scale(1.06);
        opacity:.56;
    }
}

/* Уважение к системной настройке: если пользователь отключил анимации */
@media(prefers-reduced-motion:reduce){
    .admin-header-panel::after{
        animation:none !important;
        transform:none !important;
        opacity:.34 !important;
    }
}

/* Мобильный режим:
   контейнер исчезает, фон страницы остаётся светлым,
   но сама шапка остаётся тёмной компактной плашкой для читаемости */
@media(max-width:760px){
    .admin-header{
        background:var(--canvas) !important;
        padding:14px 12px 0 !important;
    }

    .admin-header-panel{
        max-width:100% !important;
        padding:18px 16px !important;
        border:0 !important;
        border-radius:16px !important;
        background:#0B0B0B !important;
        box-shadow:none !important;
        overflow:hidden !important;
    }

    .admin-header-panel::before{
        opacity:.10 !important;
        inset:0 !important;
        background-size:70px 61px !important;
    }

    .admin-header-panel::after,
    .admin-header-glow{
        display:none !important;
    }

    .admin-header-inner{
        width:100% !important;
        max-width:100% !important;
    }
}

/* Совсем узкие экраны: можно сделать плашку ещё легче */
@media(max-width:420px){
    .admin-header{
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .admin-header-panel{
        padding:16px 14px !important;
        border-radius:14px !important;
    }
}


/* =============================================================================
   Mobile header: flat dark bar
   На узких экранах убираем скругления и контейнерность шапки
   ============================================================================= */

@media(max-width:760px){
    .admin-header{
        background:#0B0B0B !important;
        padding:18px 12px 18px !important;
    }

    .admin-header-panel{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    .admin-header-panel::before,
    .admin-header-panel::after,
    .admin-header-glow{
        display:none !important;
    }

    .admin-header-inner{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }
}

@media(max-width:420px){
    .admin-header{
        padding:16px 10px 16px !important;
    }
}


/* =============================================================================
   Navigation background final
   Фон под меню — светлый canvas, как у всей страницы
   ============================================================================= */

.admin-nav{
    background:var(--canvas) !important;
    border-top:0 !important;
}

/* На десктопе меню остаётся светлой плавающей панелью */
.admin-nav-inner{
    background:rgba(255,255,255,.78) !important;
}

/* На мобильном меню без контейнера, просто кнопки на светлом фоне */
@media(max-width:760px){
    .admin-nav{
        background:var(--canvas) !important;
    }

    .admin-nav-inner{
        background:transparent !important;
        box-shadow:none !important;
        border:0 !important;
    }
}


/* =============================================================================
   Jury assignments
   Назначение пользователей жюри на конкурсы
   ============================================================================= */

.jury-assignment-card{
    margin-top:16px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--soft);
}

.jury-assignment-card h3{
    margin-top:0;
}

.jury-assignment-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    margin:10px 0 12px;
}

.jury-check{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:0;
    padding:10px 11px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#FFFFFF;
    cursor:pointer;
}

.jury-check:hover{
    background:#FFFCF4;
    border-color:#D8C68A;
}

.jury-check input{
    width:auto;
    margin:3px 0 0;
    flex:0 0 auto;
}

.jury-check span{
    display:block;
    min-width:0;
}

@media(max-width:760px){
    .jury-assignment-card{
        background:#FFFFFF !important;
        border:1px solid var(--border) !important;
        border-radius:14px !important;
        padding:12px !important;
    }

    .jury-assignment-list{
        grid-template-columns:1fr;
    }
}


/* =============================================================================
   Users page: jury contest assignment layout
   Блок назначения конкурсов пользователю жюри приводим к общему стилю
   ============================================================================= */

/* Карточка назначения не должна визуально расползаться */
.users-page .jury-assignment-list,
#userContestList.jury-assignment-list{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
}

/* В блоке назначения пользователя делаем правую часть управляемой */
.users-page #userContestList{
    min-width:0 !important;
    overflow:hidden !important;
}

/* Чекбоксы аккуратные, не раздувают строку */
.users-page .jury-check,
#userContestList .jury-check{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    align-items:flex-start !important;
    padding:9px 10px !important;
}

/* Текст внутри чекбокса может переноситься */
.users-page .jury-check span,
#userContestList .jury-check span{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.users-page .jury-check b,
#userContestList .jury-check b{
    display:block !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.25 !important;
}

/* Карточка назначения: две колонки, но без расползания */
.users-page .grid.grid-2{
    grid-template-columns:minmax(260px, .45fr) minmax(0, 1fr) !important;
    align-items:start !important;
}

/* Если users-page class вдруг не стоит на странице, страхуемся по id */
#juryUserSelect{
    max-width:100% !important;
}

/* На средних экранах — 2 колонки конкурсов */
@media(max-width:1300px){
    .users-page .jury-assignment-list,
    #userContestList.jury-assignment-list{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

/* На мобильных — одна колонка и без лишней ширины */
@media(max-width:760px){
    .users-page .grid.grid-2{
        grid-template-columns:1fr !important;
    }

    .users-page .jury-assignment-list,
    #userContestList.jury-assignment-list{
        grid-template-columns:1fr !important;
    }

    .users-page .jury-check,
    #userContestList .jury-check{
        padding:9px 10px !important;
    }
}


/* =============================================================================
   Users page: ширина блока назначения конкурсов жюри
   Блок должен быть такой же ширины, как рабочие карточки и таблицы CRM
   ============================================================================= */

.user-jury-assignment-card{
    width:100% !important;
    max-width:calc(var(--crm-width, 1840px) - 68px) !important;
    margin:16px auto 0 !important;
}

/* Если блок оказался вне .page, всё равно держим его в сетке сайта */
body > .user-jury-assignment-card,
body > .card.user-jury-assignment-card{
    width:calc(100% - 68px) !important;
    max-width:calc(var(--crm-width, 1840px) - 68px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Внутренняя сетка блока назначения */
.user-jury-assignment-card .grid.grid-2{
    grid-template-columns:minmax(280px, .45fr) minmax(0, 1fr) !important;
    gap:14px !important;
    align-items:start !important;
}

.user-jury-assignment-card #userContestList.jury-assignment-list{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
}

/* На средних экранах — две колонки конкурсов */
@media(max-width:1300px){
    .user-jury-assignment-card #userContestList.jury-assignment-list{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

/* На мобильных — блок без лишнего вылезания */
@media(max-width:760px){
    .user-jury-assignment-card,
    body > .user-jury-assignment-card,
    body > .card.user-jury-assignment-card{
        width:calc(100% - 24px) !important;
        max-width:calc(100% - 24px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .user-jury-assignment-card .grid.grid-2{
        grid-template-columns:1fr !important;
    }

    .user-jury-assignment-card #userContestList.jury-assignment-list{
        grid-template-columns:1fr !important;
    }
}


/* =============================================================================
   Users page: spacing for jury assignment block
   Уменьшаем зазор сверху и добавляем воздух снизу
   ============================================================================= */

.user-jury-assignment-card{
    margin-top:8px !important;
    margin-bottom:40px !important;
}

/* Если блок назначения оказался напрямую в body, тоже держим нормальные отступы */
body > .user-jury-assignment-card,
body > .card.user-jury-assignment-card{
    margin-top:8px !important;
    margin-bottom:40px !important;
}

/* На странице пользователей добавляем общий нижний воздух */
.users-page{
    padding-bottom:56px !important;
}

/* Чуть компактнее нижний блок назначения */
.user-jury-assignment-card h2{
    margin-bottom:8px !important;
}

.user-jury-assignment-card p.small{
    margin-top:0 !important;
    margin-bottom:12px !important;
}

@media(max-width:760px){
    .user-jury-assignment-card,
    body > .user-jury-assignment-card,
    body > .card.user-jury-assignment-card{
        margin-top:8px !important;
        margin-bottom:28px !important;
    }

    .users-page{
        padding-bottom:36px !important;
    }
}


/* =============================================================================
   Users page: финальная коррекция расстояния перед блоком назначения жюри
   ============================================================================= */

/* Блок назначения жюри подтягиваем ближе к списку пользователей */
.user-jury-assignment-card,
body > .user-jury-assignment-card,
body > .card.user-jury-assignment-card{
    margin-top:-22px !important;
    margin-bottom:44px !important;
}

/* У страницы пользователей уменьшаем нижний padding,
   потому что отдельная карточка назначения уже имеет свой нижний отступ */
.users-page{
    padding-bottom:18px !important;
}

/* Если перед блоком оказался пустой зазор от соседнего .card,
   визуально компенсируем его только на этой странице */
.users-page + .user-jury-assignment-card,
.users-page + .card.user-jury-assignment-card{
    margin-top:-26px !important;
}

/* На мобильных отрицательный отступ не нужен — там блоки и так плотнее */
@media(max-width:760px){
    .user-jury-assignment-card,
    body > .user-jury-assignment-card,
    body > .card.user-jury-assignment-card,
    .users-page + .user-jury-assignment-card,
    .users-page + .card.user-jury-assignment-card{
        margin-top:8px !important;
        margin-bottom:28px !important;
    }

    .users-page{
        padding-bottom:12px !important;
    }
}


/* =============================================================================
   Users page: блок назначения жюри теперь внутри .page
   Убираем костыли с отрицательными отступами и body-level шириной
   ============================================================================= */

.users-page .user-jury-assignment-card{
    width:100% !important;
    max-width:100% !important;
    margin:16px 0 0 !important;
}

/* Если старые body-правила где-то остались, внутри page они не должны влиять */
.users-page > .user-jury-assignment-card,
.users-page > .card.user-jury-assignment-card{
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:0 !important;
}

/* Возвращаем нормальный нижний воздух странице */
.users-page{
    padding-bottom:56px !important;
}

/* Внутренняя сетка блока */
.users-page .user-jury-assignment-card .grid.grid-2{
    grid-template-columns:minmax(280px, .45fr) minmax(0, 1fr) !important;
    gap:14px !important;
    align-items:start !important;
}

.users-page .user-jury-assignment-card #userContestList.jury-assignment-list{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
}

@media(max-width:1300px){
    .users-page .user-jury-assignment-card #userContestList.jury-assignment-list{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:760px){
    .users-page .user-jury-assignment-card{
        margin-top:12px !important;
        margin-bottom:0 !important;
    }

    .users-page{
        padding-bottom:36px !important;
    }

    .users-page .user-jury-assignment-card .grid.grid-2{
        grid-template-columns:1fr !important;
    }

    .users-page .user-jury-assignment-card #userContestList.jury-assignment-list{
        grid-template-columns:1fr !important;
    }
}


/* =============================================================================
   Mailings: queue actions
   Управление письмами в очереди: отменить, повторить, вернуть sending в pending
   ============================================================================= */

.queue-action-cell{
    min-width:118px;
    max-width:150px;
}

.queue-actions{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    align-items:center;
}

.queue-action-btn{
    min-height:22px !important;
    padding:4px 7px !important;
    border-radius:8px !important;
    font-size:10.5px !important;
    line-height:1 !important;
}

.queue-action-btn.gold{
    background:var(--gold) !important;
    color:var(--black) !important;
    border:1px solid var(--gold) !important;
}

.queue-action-btn.secondary{
    background:#FFFFFF !important;
    color:var(--black) !important;
    border:1px solid var(--border) !important;
}

.queue-action-btn.danger{
    background:#FBE8E8 !important;
    color:var(--red) !important;
    border:1px solid #F0C9C9 !important;
}

@media(max-width:760px){
    .mailings-page .table-wrap{
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    .mailings-page table{
        min-width:1280px;
    }
}



.newsletter-consent-line{
    margin-top:2px;
}

.newsletter-consent-badge{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    padding:2px 6px;
    border-radius:999px;
    font-size:9px;
    font-weight:800;
    line-height:1.1;
    white-space:nowrap;
}

.newsletter-consent-badge.ok{
    background:#E7F6EA;
    color:var(--green);
}

.newsletter-consent-badge.warn{
    background:#F7F0D8;
    color:#7A5A00;
}

.newsletter-consent-badge.empty{
    background:#EFEFEF;
    color:#777777;
}


.jury-status-letter.warn{
    background:#F7F0D8;
    color:#7A5A00;
}

.jury-status-letter.bad{
    background:#FBE8E8;
    color:var(--red);
}


.newsletter-consent-text{
    margin-top:2px;
    font-size:10px;
    font-weight:800;
    line-height:1.15;
}

.newsletter-consent-text.ok{
    color:var(--green);
}

.newsletter-consent-text.warn{
    color:#7A5A00;
}


/* =============================================================================
   Mailings: filters and compact queue table
   ============================================================================= */

.mailings-filter-card{
    margin-bottom:16px;
}

.mailings-filters{
    display:grid;
    grid-template-columns:150px 150px 190px minmax(260px, 1fr) 90px auto;
    gap:8px;
    align-items:end;
}

.mailings-filter-actions{
    display:flex;
    gap:8px;
    align-items:end;
    flex-wrap:wrap;
}

.mailings-compact-table{
    table-layout:auto;
    min-width:1280px;
}

.mailings-compact-table th,
.mailings-compact-table td{
    padding:6px 7px !important;
    font-size:11px;
    line-height:1.28;
}

.mailings-compact-table thead th{
    position:sticky;
    top:0;
    z-index:5;
    background:#0B0B0B !important;
    color:#FFFFFF;
    border-color:#242424;
    white-space:nowrap;
}

.mailings-compact-table td:nth-child(1){
    width:54px;
    white-space:nowrap;
}

.mailings-compact-table td:nth-child(2){
    width:92px;
}

.mailings-compact-table td:nth-child(3){
    width:118px;
}

.mailings-compact-table td:nth-child(4){
    width:120px;
}

.mailings-compact-table td:nth-child(5){
    width:72px;
}

.mailings-compact-table td:nth-child(9){
    width:72px;
    white-space:nowrap;
}

.mailings-compact-table td:nth-child(10){
    max-width:260px;
    word-break:break-word;
}

.mailings-compact-table td:nth-child(11){
    width:150px;
    white-space:nowrap;
}

@media (max-width:1100px){
    .mailings-filters{
        grid-template-columns:1fr 1fr 1fr;
    }

    .mailings-filter-actions{
        grid-column:1 / -1;
    }
}

@media (max-width:700px){
    .mailings-filters{
        grid-template-columns:1fr;
    }

    .mailings-filter-actions{
        align-items:stretch;
        flex-wrap:wrap;
    }

    .mailings-filter-actions button{
        width:100%;
    }
}


.mailings-filters label{
    font-size:11px;
    margin-bottom:3px;
}

.mailings-filters select,
.mailings-filters input{
    height:34px;
    min-height:34px;
    padding:6px 9px;
    font-size:12px;
}

.mailings-filter-actions{
    display:flex;
    gap:6px;
    align-items:end;
    flex-wrap:nowrap;
}

.mailings-filter-actions button{
    min-height:34px;
    height:34px;
    padding:6px 10px;
    white-space:nowrap;
    font-size:12px;
}

.mailings-filter-card h2{
    margin-bottom:10px;
}

.mailings-filter-card .small{
    margin-top:8px;
}

/* =============================================================================
   Mailings filters: force one-line layout on wide screens
   ============================================================================= */

@media (min-width:1200px){
    .mailings-filter-card{
        padding:14px 16px !important;
    }

    .mailings-filter-card h2{
        margin:0 0 10px 0 !important;
        font-size:18px !important;
    }

    .mailings-filters{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:flex-end !important;
        gap:8px !important;
        width:100% !important;
    }

    .mailings-filters > div{
        min-width:0 !important;
        width:auto !important;
        flex:0 0 auto !important;
    }

    .mailings-filters > div:nth-child(1){
        width:145px !important;
    }

    .mailings-filters > div:nth-child(2){
        width:135px !important;
    }

    .mailings-filters > div:nth-child(3){
        width:185px !important;
    }

    .mailings-filters > div:nth-child(4){
        flex:1 1 auto !important;
        min-width:260px !important;
    }

    .mailings-filters > div:nth-child(5){
        width:85px !important;
    }

    .mailings-filter-actions{
        display:flex !important;
        flex:0 0 auto !important;
        flex-wrap:nowrap !important;
        gap:6px !important;
        align-items:flex-end !important;
        width:auto !important;
    }

    .mailings-filters label{
        display:block !important;
        margin:0 0 3px 0 !important;
        font-size:11px !important;
        line-height:1.1 !important;
    }

    .mailings-filters select,
    .mailings-filters input{
        width:100% !important;
        height:32px !important;
        min-height:32px !important;
        padding:5px 8px !important;
        font-size:12px !important;
        box-sizing:border-box !important;
    }

    .mailings-filter-actions button{
        height:32px !important;
        min-height:32px !important;
        padding:5px 10px !important;
        font-size:12px !important;
        white-space:nowrap !important;
    }

    .mailings-filter-card .small{
        margin-top:7px !important;
        font-size:11px !important;
    }
}

@media (max-width:1199px){
    .mailings-filters{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
    }

    .mailings-filter-actions{
        display:flex !important;
        gap:8px !important;
        flex-wrap:wrap !important;
    }
}

@media (max-width:700px){
    .mailings-filters{
        grid-template-columns:1fr !important;
    }

    .mailings-filter-actions button{
        width:100% !important;
    }
}

/* =============================================================================
   Jury table step 1: grouped cells and flexible widths
   ============================================================================= */

.jury-toolbar-compact{
    display:grid !important;
    grid-template-columns:minmax(260px, 1.1fr) minmax(360px, 1.8fr) minmax(260px, .9fr) !important;
    gap:14px !important;
    align-items:start !important;
}

.jury-help-inline{
    padding:10px 12px;
    border:1px solid rgba(194,163,74,.28);
    border-radius:12px;
    background:rgba(246,244,239,.65);
    color:#4F4A3C;
    font-size:11.5px;
    line-height:1.35;
}

.jury-help-inline span{
    display:block;
    margin-top:4px;
    opacity:.78;
}

.jury-step1-table{
    table-layout:auto !important;
    width:100% !important;
    min-width:1320px !important;
}

.jury-step1-table th,
.jury-step1-table td{
    font-size:10.5px !important;
    line-height:1.26 !important;
}

.jury-step1-table .jury-application-applicant{
    min-width:190px;
    width:15%;
}

.jury-step1-table .jury-participant-format{
    min-width:205px;
    width:17%;
}

.jury-step1-table .jury-organization{
    min-width:150px;
    width:12%;
    max-width:none !important;
    white-space:normal !important;
    overflow:hidden;
    overflow-wrap:break-word;
}

.jury-step1-table .jury-age-nomination-wide{
    min-width:210px;
    width:16%;
    max-width:none !important;
    white-space:normal !important;
    overflow:hidden;
    overflow-wrap:break-word;
}

.jury-step1-table .jury-work-link{
    min-width:130px;
    width:10%;
    max-width:none !important;
}

.jury-step1-table .jury-mentor{
    min-width:125px;
    width:10%;
    max-width:none !important;
}

.jury-step1-table .jury-result-cell{
    min-width:260px;
    width:20%;
    max-width:none !important;
}

.jury-step1-table .jury-status-cell{
    min-width:76px;
    width:76px;
    max-width:82px !important;
}

.jury-primary-line{
    margin-bottom:2px;
}

.jury-nomination-text{
    margin-top:3px;
    font-weight:800;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}

.jury-result-textarea{
    width:100% !important;
    min-height:52px !important;
    height:auto !important;
    resize:vertical !important;
    font-size:11px !important;
    line-height:1.28 !important;
    padding:6px 7px !important;
    box-sizing:border-box !important;
    white-space:pre-wrap !important;
}

.jury-result-textarea:disabled{
    background:#F2F2F2 !important;
    color:#444 !important;
}

@media (max-width:1100px){
    .jury-toolbar-compact{
        grid-template-columns:1fr !important;
    }

    .jury-step1-table{
        width:1320px !important;
        min-width:1320px !important;
    }
}

/* =============================================================================
   Jury table step 1 tuning: narrower first columns, compact nomination
   ============================================================================= */

.jury-page{
    padding-top:12px !important;
}

.jury-page .card{
    margin-top:10px !important;
}

.jury-step1-table .jury-application-applicant{
    min-width:160px !important;
    width:12% !important;
}

.jury-step1-table .jury-participant-format{
    min-width:175px !important;
    width:14% !important;
}

.jury-step1-table .jury-applicant-org{
    min-width:235px !important;
    width:18% !important;
}

.jury-step1-table .jury-age-nomination-wide{
    min-width:160px !important;
    width:11% !important;
    max-width:180px !important;
    white-space:normal !important;
    overflow:hidden !important;
}

.jury-step1-table .jury-age-nomination-wide > div:first-child{
    font-weight:800 !important;
}

.jury-step1-table .jury-nomination-text{
    font-weight:400 !important;
    font-size:10px !important;
    line-height:1.2 !important;
    margin-top:3px !important;
    max-height:24px !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    white-space:normal !important;
}

.jury-step1-table .jury-work-link{
    min-width:170px !important;
    width:13% !important;
}

.jury-step1-table .jury-mentor{
    min-width:112px !important;
    width:8% !important;
}

.jury-step1-table .jury-result-cell{
    min-width:280px !important;
    width:21% !important;
}

.jury-step1-table .jury-status-cell{
    min-width:76px !important;
    width:76px !important;
}

/* Немного уплотняем верхнюю справочную панель */
.jury-toolbar-compact{
    margin-top:0 !important;
}

.jury-help-inline{
    padding:8px 10px !important;
    font-size:11px !important;
    line-height:1.28 !important;
}

.jury-help-inline span{
    margin-top:3px !important;
}

/* =============================================================================
   Jury table step 1 tuning: slightly larger readable font
   ============================================================================= */

.jury-step1-table th,
.jury-step1-table td{
    font-size:11.5px !important;
    line-height:1.32 !important;
}

.jury-step1-table .small{
    font-size:10.5px !important;
    line-height:1.25 !important;
}

.jury-step1-table .jury-nomination-text{
    font-size:10.8px !important;
    line-height:1.25 !important;
}

.jury-result-textarea{
    font-size:12px !important;
    line-height:1.32 !important;
}

.jury-status-letter{
    font-size:11px !important;
}

.jury-help-inline{
    font-size:11.5px !important;
}

/* =============================================================================
   Jury page: tighter gap under top menu
   ============================================================================= */

.jury-page{
    padding-top:4px !important;
}

.jury-page > .card:first-child{
    margin-top:4px !important;
}

.jury-page .jury-toolbar-compact{
    margin-top:0 !important;
}

.jury-page .table-wrap{
    margin-top:10px !important;
}

/* =============================================================================
   Jury table: make second column a bit narrower
   ============================================================================= */

.jury-step1-table .jury-participant-format{
    min-width:160px !important;
    width:12% !important;
}
