:root {
    --admin-bg: #edf1f9;
    --admin-surface: #fff;
    --admin-sidebar: #f7faff;
    --admin-sidebar-soft: #eef4fb;
    --admin-primary: #315f9e;
    --admin-primary-light: #4f7fbd;
    --admin-primary-dark: #244b80;
    --admin-primary-soft: #eaf1fb;
    --admin-text: #17263b;
    --admin-muted: #6f7d90;
    --admin-border: #e2e8f0;
    --admin-danger: #b43d4d;
    --admin-shadow: 0 14px 42px rgb(15 35 65 / .07);
}

.admin-body { min-width: 320px; color: var(--admin-text); background: radial-gradient(circle at 50% -20%,#fff 0,transparent 45%),var(--admin-bg); font: 14px/1.55 Inter,"Segoe UI",system-ui,sans-serif; }
.admin-header { position: fixed; z-index: 50; inset: 0 0 auto; display: flex; min-height: 74px; padding: 0 28px; color: var(--admin-text); background: #fafdff; border-bottom: 1px solid #e2e9f3; box-shadow: 0 10px 34px rgb(49 63 91 / .045); }
.admin-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--admin-text); text-decoration: none; }
.admin-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; color: #244b80; background: #fff; border: 1px solid #dce6f3; border-radius: 13px; font-size: 12px; font-weight: 900; letter-spacing: -.04em; box-shadow: 0 8px 24px rgb(49 95 158 / .11); }
.settings-logo-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: end; padding: 18px; background: #f6f9fc; border: 1px solid #dfe7ef; border-radius: 14px; }
.settings-logo-preview { display: grid; gap: 10px; justify-items: start; }
.settings-logo-preview img { display: block; max-width: 240px; max-height: 90px; object-fit: contain; }
.settings-logo-preview label { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.settings-logo-preview input { width: auto; }
.admin-brand > span:last-child,.admin-account > span:last-child { display: grid; line-height: 1.2; }
.admin-brand strong { font-size: 15px; letter-spacing: -.01em; }
.admin-brand small { margin-top: 3px; color: var(--admin-muted); font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.admin-account { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.admin-account-avatar { display: grid; place-items: center; width: 38px; height: 38px; color: #244b80; background: #dce8f6; border-radius: 50%; font-size: 13px; font-weight: 850; }
.admin-account small { color: var(--admin-muted); font-size: 10px; }
.admin-account strong { max-width: 220px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-menu-toggle { display: none; width: 42px; height: 42px; padding: 0; color: var(--admin-primary); background: var(--admin-primary-soft); border: 1px solid #d8e4f2; border-radius: 12px; box-shadow: none; }
.admin-menu-toggle span { display: block; width: 17px; height: 2px; margin: 4px auto; background: currentColor; border-radius: 2px; transition: transform .2s,opacity .2s; }

.admin-shell { display: block; min-height: 100vh; padding-top: 74px; }
.admin-sidebar { position: fixed; z-index: 40; inset: 74px auto 0 0; display: flex; flex-direction: column; width: 270px; overflow-y: auto; color: var(--admin-text); background: #f7faff; border-right: 1px solid #e3eaf4; border-top: 0; scrollbar-width: thin; scrollbar-color: #c8d7e8 transparent; }
.admin-nav { display: block; flex: 1; padding: 20px 14px; background: transparent; }
.admin-nav-group { margin: 0 0 21px; }
.admin-nav-group h2 { margin: 0 12px 7px; color: #9aa6b8; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.admin-nav a,.admin-sidebar-footer a,.admin-sidebar-footer .link-button { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 11px; width: 100%; min-height: 40px; margin: 2px 0; padding: 9px 12px; color: #66758a; background: transparent; border: 0; border-radius: 10px; box-shadow: none; font-size: 12px; font-weight: 620; text-align: left; text-decoration: none; transition: color .18s,background .18s,transform .18s; }
.admin-nav a:hover,.admin-sidebar-footer a:hover,.admin-sidebar-footer .link-button:hover { color: var(--admin-primary-dark); background: #fff; transform: none; }
.admin-nav a.is-current { color: var(--admin-text); background: #fff; box-shadow: inset 3px 0 var(--admin-primary),0 8px 24px rgb(58 66 92 / .06); font-weight: 760; }
.admin-nav-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; margin-left: auto; padding: 0 6px; color: #fff; background: var(--admin-primary); border-radius: 999px; font-size: 10px; font-weight: 800; line-height: 1; }
.admin-nav-icon { display: grid; flex: 0 0 24px; place-items: center; width: 24px; height: 24px; color: var(--admin-primary); background: var(--admin-primary-soft); border-radius: 7px; font-size: 12px; font-weight: 800; }
.admin-sidebar-footer { display: grid; gap: 4px; padding: 12px 14px 18px; border-top: 1px solid #e3eaf4; }
.admin-sidebar-footer form { width: 100%; margin: 0; }
.admin-sidebar-footer-icon { display: inline-grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; color: var(--admin-primary); background: var(--admin-primary-soft); border-radius: 7px; }
.admin-sidebar-footer .admin-nav-text { min-width: 0; width: auto; white-space: nowrap; }
.admin-sidebar-backdrop { display: none; }

.admin-main { width: auto; min-width: 0; min-height: calc(100vh - 74px); margin-left: 270px; padding: clamp(24px,3vw,44px); background: #f5f8fd; }
.admin-main > * { width: min(100%,1500px); margin-right: auto; margin-left: auto; }
.admin-main a { color: var(--admin-primary-dark); font-weight: 650; }
.page-heading { gap: 20px; margin-bottom: 22px; }
.page-heading h1 { color: var(--admin-text); font-size: clamp(24px,3vw,34px); line-height: 1.12; letter-spacing: -.035em; }
.page-heading .eyebrow { margin-bottom: 5px; color: var(--admin-primary); font-size: 10px; font-weight: 850; letter-spacing: .11em; }
.page-heading > .button { flex: 0 0 auto; }

.admin-body button,.admin-body .button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 39px; padding: 9px 15px; color: #fff; background: linear-gradient(135deg,var(--admin-primary),#4f7fbd); border: 0; border-radius: 10px; box-shadow: 0 6px 16px rgb(49 95 158 / .14); font-size: 12px; font-weight: 750; line-height: 1.25; text-decoration: none; cursor: pointer; transition: transform .18s,box-shadow .18s,filter .18s; }
.admin-body a.button { color: #fff; }
.admin-body button.button-outline,.admin-body .button.button-outline,.admin-body a.button.button-outline { color: var(--admin-primary); background: #fff; border: 1px solid var(--admin-primary-light,#4f7fbd); box-shadow: inset 0 0 0 1px rgb(49 95 158 / .04); }
.admin-body button:hover,.admin-body .button:hover { filter: brightness(1.03); box-shadow: 0 9px 22px rgb(49 95 158 / .21); transform: translateY(-1px); }
.admin-body [aria-invalid="true"] { border-color: var(--admin-danger) !important; box-shadow: 0 0 0 3px rgb(180 61 77 / .1) !important; }
.admin-body .form-field-error { display: block; margin-top: 6px; color: var(--admin-danger); font-size: 11px; font-weight: 700; line-height: 1.4; }
.admin-body .form-diagnostic { margin: 10px 0; padding: 9px 11px; color: #7f3340; background: #fff1f3; border: 1px solid #f1ccd2; border-radius: 9px; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.auth-page [aria-invalid="true"] { border-color: var(--admin-danger) !important; box-shadow: 0 0 0 3px rgb(180 61 77 / .1) !important; }
.auth-page .form-field-error { display: block; margin-top: 6px; color: var(--admin-danger); font-size: 12px; font-weight: 700; line-height: 1.4; }
.auth-page .form-diagnostic { margin: 10px 0; padding: 9px 11px; color: #7f3340; background: #fff1f3; border: 1px solid #f1ccd2; border-radius: 9px; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.admin-body .form-server-errors[hidden] { display: none !important; }
.admin-main .actions { flex-wrap: wrap; gap: 6px; }
.admin-main .actions > a,.admin-main td.actions > a { display: inline-flex; align-items: center; min-height: 31px; padding: 6px 9px; color: #355168; background: #f1f5f8; border: 1px solid #e1e8ee; border-radius: 8px; font-size: 10px; font-weight: 720; line-height: 1.25; text-decoration: none; white-space: nowrap; transition: color .18s,background .18s,border-color .18s; }
.admin-main .actions > a:hover,.admin-main td.actions > a:hover { color: var(--admin-primary-dark); background: var(--admin-primary-soft); border-color: #c8d8ec; }
.admin-main .actions form { display: inline-flex; }
.admin-main .actions button { min-height: 31px; padding: 6px 10px; border-radius: 8px; font-size: 10px; box-shadow: none; }
.admin-main .danger-link { min-height: 31px; padding: 6px 10px; color: var(--admin-danger); background: #fff1f2; border: 1px solid #f4cdd2; box-shadow: none; }

.stat-grid { grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 15px; margin-bottom: 20px; }
.stat-card,.admin-card { background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 16px; box-shadow: var(--admin-shadow); }
.stat-card { position: relative; min-height: 125px; padding: 22px; overflow: hidden; }
.stat-card::after { position: absolute; right: -25px; bottom: -38px; width: 110px; height: 110px; content: ""; background: var(--admin-primary-soft); border-radius: 50%; }
.stat-card strong { position: relative; z-index: 1; color: var(--admin-primary); font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.stat-card span,.stat-card small { position: relative; z-index: 1; color: var(--admin-muted); }
.stat-card span,.stat-card strong,.stat-card small { display: block; }
.stat-card strong { overflow-wrap: anywhere; }
.admin-document-filters form { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)) auto; gap: 12px; align-items: end; }
.admin-document-filters label,.admin-document-reassign label,.admin-document-frdo label,.admin-document-fields-form label { display: grid; gap: 6px; color: var(--admin-muted); font-size: 10px; font-weight: 750; }
.admin-document-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-document-source-card .admin-detail-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-document-fields-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.admin-document-fields-form h3 { grid-column: 1/-1; margin: 10px 0 0; padding-top: 14px; border-top: 1px solid var(--admin-border); font-size: 13px; }
.admin-document-fields-form h3:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.admin-document-edit-wide { grid-column: 1/-1; }
.admin-document-files { display: grid; gap: 9px; }
.admin-document-files form { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; background: #f7f9fc; border: 1px solid var(--admin-border); border-radius: 11px; }
.admin-document-files strong,.admin-document-files small { display: block; }
.admin-document-files strong { color: var(--admin-text); font-size: 11px; }
.admin-document-files small { margin-top: 4px; color: var(--admin-muted); font-size: 9px; }
.admin-document-reassign { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(260px,1.3fr) auto; gap: 12px; align-items: end; }
.admin-document-frdo { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.admin-document-wide { grid-column: 1/-1; }
.admin-document-frdo button { justify-self: start; }
.admin-document-frdo-state .admin-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.admin-frdo-status { display: inline-flex; flex: 0 0 auto; padding: 8px 12px; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border-radius: 999px; font-size: 10px; font-weight: 800; }
.admin-document-frdo-editor { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--admin-border); }
.admin-document-frdo-editor > summary { display: inline-flex; align-items: center; min-height: 36px; padding: 8px 13px; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border: 1px solid #c8d8ec; border-radius: 9px; font-size: 10px; font-weight: 780; cursor: pointer; list-style: none; }
.admin-document-frdo-editor > summary::-webkit-details-marker { display: none; }
.admin-document-frdo-editor[open] > summary { margin-bottom: 14px; }
.admin-document-history-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-document-timeline { display: grid; gap: 9px; }
.admin-document-timeline > div { padding: 12px; background: #f7f9fc; border: 1px solid var(--admin-border); border-radius: 10px; }
.admin-document-timeline strong,.admin-document-timeline small { display: block; }
.admin-document-timeline strong { font-size: 10px; }
.admin-document-timeline small { margin-top: 4px; color: var(--admin-muted); font-size: 9px; line-height: 1.55; }

@media (max-width: 1050px) {
    .admin-document-filters form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-document-reassign { grid-template-columns: 1fr; }
    .admin-document-history-grid { grid-template-columns: 1fr; }
    .admin-document-fields-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .admin-document-filters form,.admin-document-detail-grid,.admin-document-frdo,.admin-document-fields-form,.admin-document-source-card .admin-detail-list { grid-template-columns: 1fr; }
    .admin-document-wide,.admin-document-edit-wide { grid-column: auto; }
    .admin-document-files form { align-items: stretch; flex-direction: column; }
    .admin-document-files button { width: 100%; }
}
.admin-card { margin-bottom: 18px; padding: clamp(18px,2.5vw,28px); }
.admin-card h2 { color: var(--admin-text); font-size: 18px; letter-spacing: -.02em; }
.admin-card h3 { color: var(--admin-text); }
.admin-card > :last-child { margin-bottom: 0; }

.admin-body label { gap: 7px; margin: 9px 0 17px; color: #34455a; font-size: 11px; font-weight: 750; }
.admin-body label small,.admin-body .muted { color: var(--admin-muted); font-size: 10px; font-weight: 500; line-height: 1.45; }
.admin-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.admin-body select,.admin-body textarea { width: 100%; min-height: 43px; padding: 10px 12px; color: var(--admin-text); background-color: #fbfcfe; border: 1px solid #d8e1e9; border-radius: 10px; outline: 0; font: 500 12px/1.45 Inter,"Segoe UI",system-ui,sans-serif; transition: border-color .18s,box-shadow .18s,background .18s; }
.admin-body textarea { min-height: 105px; resize: vertical; }
.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus { background-color: #fff; border-color: #6f9bd5; box-shadow: 0 0 0 4px rgb(49 95 158 / .1); }
.admin-body label.has-error input,.admin-body label.has-error select,.admin-body label.has-error textarea { border-color: #c94b57; box-shadow: 0 0 0 3px rgb(201 75 87 / .08); }
.admin-field-error { color: #a32f3b; font-size: 10px; font-weight: 650; line-height: 1.4; }
.admin-body input[type="file"] { padding: 7px !important; }
.admin-body input[type="file"]::file-selector-button { margin-right: 10px; padding: 7px 10px; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border: 0; border-radius: 7px; font: inherit; font-weight: 750; cursor: pointer; }
.admin-body select { padding-right: 38px; background-position: calc(100% - 17px) 50%,calc(100% - 12px) 50%; }
.admin-body .checkbox { display: flex; align-items: center; align-self: center; gap: 9px; min-height: 43px; padding-top: 9px; }
.admin-body .checkbox input { width: 18px; height: 18px; margin: 0; accent-color: var(--admin-primary); }
.form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.form-grid h2,.form-grid h3 { grid-column: 1/-1; }
.wysiwyg-toolbar { gap: 5px; padding: 7px; background: #f5f8fa; border: 1px solid var(--admin-border); border-radius: 10px; }
.wysiwyg-toolbar button { min-height: 30px; padding: 5px 9px; color: #355168; background: #fff; border: 1px solid var(--admin-border); border-radius: 7px; box-shadow: none; }
.wysiwyg-editor,.wysiwyg-source { background: #fff; border-color: #d8e1e9; border-radius: 10px; }

.table-wrap { overflow: auto; margin: -4px; padding: 4px; border-radius: 12px; }
.admin-body table { min-width: 680px; border-collapse: separate; border-spacing: 0; }
.admin-body th { padding: 10px 12px; color: #8290a2; background: #f7f9fb; border-top: 1px solid var(--admin-border); border-bottom: 1px solid var(--admin-border); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.admin-body th:first-child { border-left: 1px solid var(--admin-border); border-radius: 10px 0 0 10px; }
.admin-body th:last-child { border-right: 1px solid var(--admin-border); border-radius: 0 10px 10px 0; }
.admin-body td { padding: 13px 12px; color: #405166; border-bottom: 1px solid #edf1f5; font-size: 11px; vertical-align: middle; }
.admin-body tbody tr { transition: background .15s; }
.admin-body tbody tr:hover { background: #fbfdfd; }
.admin-body td code { display: inline-block; margin-top: 3px; padding: 2px 5px; color: #66758a; background: #f2f5f7; border-radius: 5px; font-size: 9px; }
.admin-body td.actions { min-width: 190px; }

.admin-body .notice,.admin-body .success,.admin-body .alert { margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; box-shadow: 0 8px 25px rgb(15 35 65 / .04); }
.admin-body .notice { color: #365b7a; background: #eaf4fc; border: 1px solid #cfe4f5; }
.admin-body .success { color: #155b4a; background: #edfaf6; border: 1px solid #c6eadf; }
.admin-body .alert { color: #8c3340; background: #fff3f4; border: 1px solid #f3cbd0; }
.admin-update-notice { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-update-notice > div { display: grid; }
.admin-update-notice span { color: #518074; font-size: 11px; }
.admin-update-notice .button { flex: 0 0 auto; }
.admin-body .pagination { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-body .pagination a,.admin-body .pagination span { display: grid; min-width: 34px; height: 34px; place-items: center; padding: 0 8px; color: #405166; background: #fff; border: 1px solid var(--admin-border); border-radius: 8px; text-decoration: none; }
.admin-page-lead { max-width: 720px; margin: 7px 0 0; color: var(--admin-muted); font-size: 12px; }
.analytics-section { margin-bottom: 34px; }
.analytics-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 0 0 14px; }
.analytics-heading > div { display: flex; align-items: center; gap: 10px; }
.analytics-heading > div > span { display: grid; width: 27px; height: 27px; place-items: center; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border-radius: 8px; font-size: 9px; font-weight: 850; }
.analytics-heading h2 { margin: 0; color: var(--admin-text); font-size: 19px; letter-spacing: -.025em; }
.analytics-heading > p { margin: 0; color: var(--admin-muted); font-size: 10px; }
.analytics-period-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.analytics-period-card { position: relative; display: grid; min-height: 165px; padding: 22px; overflow: hidden; background: linear-gradient(145deg,#4f7fbd,#244b80); border: 1px solid rgb(255 255 255 / .12); border-radius: 17px; box-shadow: 0 15px 40px rgb(36 75 128 / .16); }
.analytics-period-card::after { position: absolute; right: -35px; bottom: -55px; width: 155px; height: 155px; content: ""; background: radial-gradient(circle,rgb(111 155 213 / .24),transparent 68%); border: 1px solid rgb(169 196 229 / .16); border-radius: 50%; }
.analytics-period-card > span { position: relative; z-index: 1; color: rgb(255 255 255 / .58); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.analytics-period-card > strong { position: relative; z-index: 1; align-self: end; margin-top: 10px; color: #fff; font-size: clamp(30px,4vw,43px); line-height: 1; letter-spacing: -.05em; }
.analytics-period-card > small { position: relative; z-index: 1; color: rgb(255 255 255 / .45); font-size: 9px; }
.analytics-period-card > div { position: absolute; z-index: 2; right: 18px; top: 18px; padding: 6px 9px; color: #9db2c5; background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .07); border-radius: 999px; font-size: 9px; }
.analytics-period-card > div b { color: #a9c4e5; }
.publisher-stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(185px,1fr)); gap: 12px; margin-bottom: 18px; }
.publisher-stat-grid article { position: relative; display: grid; min-height: 125px; padding: 18px; overflow: hidden; background: #fff; border: 1px solid var(--admin-border); border-radius: 15px; box-shadow: 0 10px 30px rgb(15 35 65 / .045); }
.publisher-stat-grid article::after { position: absolute; right: -20px; bottom: -27px; width: 82px; height: 82px; content: ""; background: var(--admin-primary-soft); border-radius: 50%; }
.publisher-stat-grid span { position: relative; z-index: 1; color: #4f6074; font-size: 10px; font-weight: 750; }
.publisher-stat-grid strong { position: relative; z-index: 1; align-self: end; color: var(--admin-text); font-size: 29px; line-height: 1; letter-spacing: -.045em; }
.publisher-stat-grid small { position: relative; z-index: 1; margin-top: 5px; color: var(--admin-muted); font-size: 9px; }
.analytics-table-card h2 { margin-bottom: 14px; }
.analytics-filter { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; align-items: end; gap: 14px; margin-bottom: 12px; }
.analytics-filter label { margin: 0; }
.analytics-filter select[multiple] { min-height: 110px; padding: 6px; background-image: none; }
.analytics-filter select[multiple] option { padding: 7px 8px; border-radius: 6px; }
.analytics-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 0 20px; }
.analytics-summary-grid > div { display: grid; min-height: 105px; align-content: space-between; gap: 12px; padding: 17px; background: #fff; border: 1px solid var(--admin-border); border-radius: 14px; box-shadow: 0 9px 25px rgb(15 35 65 / .04); }
.analytics-summary-grid strong { color: var(--admin-text); font-size: 25px; line-height: 1.05; letter-spacing: -.04em; overflow-wrap: anywhere; }
.analytics-summary-grid span { color: var(--admin-muted); font-size: 9px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.email-variable-catalog { display:grid; gap:10px; }
.email-variable-catalog details { padding:12px 14px; border:1px solid var(--admin-border); border-radius:12px; }
.email-variable-catalog summary { cursor:pointer; font-weight:750; }
.email-variable-catalog details div { display:flex; flex-wrap:wrap; gap:7px; padding-top:12px; }
.email-variable-catalog code { padding:5px 8px; background:#f2f6fb; border-radius:7px; font-size:11px; }
.analytics-subscriber-total { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 850px; }
.dashboard-section-heading { margin-top: 25px; }
.dashboard-visits { margin-bottom: 28px; }
.dashboard-publisher-stats { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 28px; }
.dashboard-system-stats { margin-top: 28px; }
.admin-organization-registration-card .page-heading,.admin-organization-license-card .page-heading { align-items: flex-start; }
.admin-license-state { display: inline-flex; min-height: 31px; align-items: center; padding: 7px 11px; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border: 1px solid #d3e0f0; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.admin-license-list { display: grid; gap: 16px; }
.admin-license-record { overflow: hidden; background: #f8fafd; border: 1px solid #e1e8f1; border-radius: 14px; }
.admin-license-record.is-verified { background: #f3faf6; border-color: #cee7d8; }
.admin-license-summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; cursor: pointer; list-style: none; }
.admin-license-summary::-webkit-details-marker { display: none; }
.admin-license-summary > span:first-child { display: grid; gap: 4px; min-width: 0; }
.admin-license-summary strong { overflow: hidden; color: var(--admin-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-license-summary small { color: var(--admin-muted); font-size: 9px; }
.admin-license-summary-state { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.admin-license-chevron { display: grid; width: 28px; height: 28px; place-items: center; color: var(--admin-primary); background: var(--admin-primary-soft); border-radius: 9px; transition: transform .18s ease; }
.admin-license-record[open] .admin-license-chevron { transform: rotate(180deg); }
.admin-license-content { display: grid; gap: 14px; padding: 0 18px 18px; border-top: 1px solid var(--admin-border); }
.admin-license-content > :first-child { margin-top: 14px; }
.admin-license-open { justify-self: start; }
.admin-license-history { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.admin-license-history h3 { margin: 0 0 10px; font-size: 13px; }
.admin-license-history ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.admin-license-history li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 11px; background: #fff; border: 1px solid #e3e9f0; border-radius: 9px; }
.admin-license-history strong,.admin-license-history span { font-size: 9px; }
.admin-license-history span { color: var(--admin-muted); text-align: right; }
.admin-organization-activities { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.admin-organization-activities h3,.admin-organization-legal-files h3 { margin: 0 0 11px; font-size: 13px; }
.admin-organization-activities ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 22px; margin: 0; padding-left: 18px; color: #4f6074; font-size: 10px; }
.admin-organization-legal-files { display: grid; gap: 9px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.admin-organization-legal-files form { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 11px 12px; background: #f8fafd; border: 1px solid #e3e9f0; border-radius: 11px; }
.admin-organization-legal-files span,.admin-organization-legal-files strong,.admin-organization-legal-files small { display: block; min-width: 0; }
.admin-organization-legal-files span { overflow: hidden; }
.admin-organization-legal-files strong { color: var(--admin-text); font-size: 10px; }
.admin-organization-legal-files small { margin-top: 3px; overflow: hidden; color: var(--admin-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.admin-organization-legal-files .button { flex: 0 0 auto; min-height: 33px; padding: 7px 10px; }
.admin-brand-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 9px; }
.admin-brand-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 12px; background: #f8fafd; border: 1px solid var(--admin-border); border-radius: 10px; }
.admin-brand-list strong { overflow-wrap: anywhere; font-size: 11px; }
.admin-brand-list span { flex: 0 0 auto; padding: 5px 8px; color: var(--admin-primary-dark); background: var(--admin-primary-soft); border-radius: 999px; font-size: 8px; font-weight: 800; }
.admin-organization-decision-card { margin-top: 18px; }
.admin-revoke-verification { display: grid; gap: 12px; max-width: 620px; }

@media (max-width: 1050px) {
    .admin-header { padding: 0 18px; }
    .admin-menu-toggle { display: block; flex: 0 0 auto; margin-right: 12px; }
    .admin-sidebar { visibility: hidden; width: min(310px,86vw); background: #f7faff; box-shadow: 20px 0 60px rgb(35 42 64 / .2); transform: translateX(-105%); transition: transform .22s,visibility .22s; }
    .admin-main { margin-left: 0; }
    .admin-sidebar-backdrop { position: fixed; z-index: 35; inset: 74px 0 0; display: block; visibility: hidden; padding: 0; background: rgb(4 13 29 / .55); border: 0; border-radius: 0; opacity: 0; box-shadow: none; transition: opacity .22s,visibility .22s; }
    .admin-menu-open { overflow: hidden; }
    .admin-menu-open .admin-sidebar { visibility: visible; transform: translateX(0); }
    .admin-menu-open .admin-sidebar-backdrop { visibility: visible; opacity: 1; }
    .admin-menu-open .admin-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .admin-menu-open .admin-menu-toggle span:nth-child(2) { opacity: 0; }
    .admin-menu-open .admin-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
}

@media (max-width: 700px) {
    .admin-header { min-height: 64px; padding: 0 12px; }
    .admin-shell { padding-top: 64px; }
    .admin-sidebar { top: 64px; }
    .admin-sidebar-backdrop { top: 64px; }
    .admin-brand-mark { width: 36px; height: 36px; border-radius: 10px; }
    .admin-brand small,.admin-account > span:last-child { display: none; }
    .admin-account-avatar { width: 34px; height: 34px; }
    .admin-main { min-height: calc(100vh - 64px); padding: 18px 12px 30px; }
    .page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 16px; }
    .page-heading > .button { width: 100%; }
    .form-grid { grid-template-columns: 1fr; gap: 0; }
    .form-grid .wide,.form-grid h2,.form-grid h3 { grid-column: auto; }
    .admin-card { padding: 16px; border-radius: 13px; }
    .stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-card { min-height: 105px; padding: 17px; border-radius: 13px; }
    .stat-card strong { font-size: 25px; }
    .admin-update-notice { align-items: stretch; flex-direction: column; }
    .admin-update-notice .button { width: 100%; }
    .analytics-period-grid,.analytics-subscriber-total { grid-template-columns: 1fr; }
    .analytics-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .analytics-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .analytics-filter { grid-template-columns: 1fr; }
    .dashboard-publisher-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-organization-activities ul { grid-template-columns: 1fr; }
    .table-wrap { overflow: visible; margin: 0; padding: 0; }
    .admin-body table { display: block; width: 100%; min-width: 0; }
    .admin-body table thead { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .admin-body table tbody,.admin-body table tr,.admin-body table td { display: block; width: 100%; }
    .admin-body table tr { overflow: hidden; margin-bottom: 11px; background: #fff; border: 1px solid var(--admin-border); border-radius: 12px; box-shadow: 0 7px 22px rgb(15 35 65 / .035); }
    .admin-body table td { display: grid; grid-template-columns: minmax(104px,38%) minmax(0,1fr); align-items: start; gap: 10px; padding: 11px 12px; overflow-wrap: anywhere; border-bottom: 1px solid #edf1f5; }
    .admin-body table td:last-child { border-bottom: 0; }
    .admin-body table td::before { color: #8795a7; content: attr(data-label); font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
    .admin-body table td.actions { min-width: 0; }
    .admin-body table td.table-empty-cell { display: block; text-align: center; }
    .admin-body table td.table-empty-cell::before { content: none; }
    .admin-body table td .actions { min-width: 0; }
}

@media (max-width: 430px) {
    .admin-brand > span:last-child { display: none; }
    .admin-menu-toggle { margin-right: 8px; }
    .stat-grid { grid-template-columns: 1fr; }
    .analytics-summary-grid { grid-template-columns: 1fr; }
    .dashboard-publisher-stats { grid-template-columns: 1fr; }
    .admin-main .actions { align-items: stretch; flex-direction: column; }
    .admin-main .actions > a,.admin-main .actions > button,.admin-main .actions > form,.admin-main .actions > form button { width: 100%; }
    .admin-organization-legal-files form { align-items: stretch; flex-direction: column; }
    .admin-organization-legal-files .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-sidebar,.admin-sidebar-backdrop { transition: none; }
}

.theme-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:20px; }
.theme-admin-card { overflow:hidden; background:#fff; border:1px solid var(--admin-border); border-radius:14px; }
.theme-admin-card.is-active { border-color:var(--admin-primary); box-shadow:0 0 0 2px rgb(49 95 158 / .09); }
.theme-preview { position:relative; display:grid; grid-template-columns:1.4fr .6fr; grid-template-rows:22px 1fr; gap:8px; height:190px; padding:16px; overflow:hidden; background:#eef3f1; border-bottom:1px solid var(--admin-border); }
.theme-preview span { grid-column:1/-1; background:#17302a; border-radius:5px; }
.theme-preview i { grid-row:2; background:#fff; border-radius:8px; box-shadow:inset 0 30px #17302a; }
.theme-preview b { background:#fff; border-radius:8px; }
.theme-preview b:last-child { position:absolute; right:16px; bottom:16px; width:calc(30% - 10px); height:52px; }
.theme-preview-modern-2026 { background:#f5f6fa; }
.theme-preview-modern-2026 span { background:#fff; border-radius:10px; }
.theme-preview-modern-2026 i { background:linear-gradient(135deg,#171923,#34384d); border-radius:16px; box-shadow:none; }
.theme-preview-modern-2026 b { background:linear-gradient(135deg,#635bff,#18a999); border-radius:14px; opacity:.82; }
.theme-preview-editorial-red { grid-template-columns:34px 1fr 1fr; grid-template-rows:1fr 1fr; padding:0; background:#f4f2ed; }
.theme-preview-editorial-red span { grid-column:1; grid-row:1/-1; background:#101010; border-radius:0; }
.theme-preview-editorial-red i { grid-column:2/-1; grid-row:1; margin:14px 14px 0; background:#e62b2b; border-radius:0; box-shadow:none; }
.theme-preview-editorial-red b { margin:0 0 14px; background:transparent; border:1px solid #777; border-radius:0; }
.theme-preview-editorial-red b:last-child { position:static; width:auto; height:auto; margin-right:14px; }
.theme-preview-paper-academic { display:block; padding:14px; background:#f3ecdc; }
.theme-preview-paper-academic span { display:block; height:30px; background:transparent; border-block:3px double #241d17; border-radius:0; }
.theme-preview-paper-academic i { display:block; height:65px; margin:12px 0; background:transparent; border-block:1px solid #241d17; border-radius:0; box-shadow:none; }
.theme-preview-paper-academic b { display:inline-block; width:47%; height:42px; background:transparent; border-top:1px solid #241d17; border-radius:0; }
.theme-preview-paper-academic b:last-child { position:static; width:47%; height:42px; margin-left:4%; }
.theme-preview-neo-lab { background:#070a0f; }
.theme-preview-neo-lab span { background:#10151d; border:1px solid #253140; }
.theme-preview-neo-lab i { background:#10151d; border:1px solid #b6ff3b; border-radius:2px; box-shadow:inset 0 0 30px rgb(0 217 255 / .15); }
.theme-preview-neo-lab b { background:#10151d; border:1px solid #253140; border-radius:2px; }
.theme-preview-bauhaus { background:#f7f2e8; }
.theme-preview-bauhaus span { background:#ff3d00; border:3px solid #151515; border-radius:0; }
.theme-preview-bauhaus i { background:#ffd500; border:3px solid #151515; border-radius:0; box-shadow:6px 6px 0 #151515; }
.theme-preview-bauhaus b { background:#2f48ff; border:3px solid #151515; border-radius:50%; }
.theme-preview-bauhaus b:last-child { background:#ff3d00; border-radius:0; }
.theme-admin-copy { padding:18px; }
.theme-admin-copy > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.theme-admin-copy h3 { margin:0; }
.theme-admin-copy p { min-height:44px; color:var(--admin-muted); font-size:.82rem; }
.theme-admin-copy small { color:var(--admin-muted); }
.theme-admin-copy .actions { margin-top:16px; }
.button-secondary { color:var(--admin-text)!important; background:#edf1f7!important; }
input[type="color"] { min-height:44px; padding:4px; cursor:pointer; }
@media (max-width:800px) { .theme-admin-grid { grid-template-columns:1fr; } }

/* Управление пользователями: карточка, фильтры и опасные действия в общей сетке референса. */
.admin-user-list-heading,.admin-user-card-heading,.admin-user-table-heading { align-items: flex-start; }
.admin-user-stats { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 18px; }
.admin-user-card { margin-bottom: 18px; }
.admin-user-card h3 { margin: 0 0 12px; color: var(--admin-text); font-size: 14px; }
.admin-user-card-heading h2,.admin-user-table-heading h2 { margin: 0 0 4px; }
.admin-user-card-heading p,.admin-user-table-heading p { margin: 0; }
.admin-user-details { margin-bottom: 0; }
.admin-user-id { overflow-wrap: anywhere; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 10px !important; }
.admin-user-verification-link { margin: 18px 0 0; }
.admin-user-verification-link a { color: var(--admin-primary-dark); font-weight: 750; }
.admin-user-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.admin-user-section { min-width: 0; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.admin-user-columns .admin-user-section { margin-top: 0; padding: 18px; background: #f8faff; border: 1px solid var(--admin-border); border-radius: 13px; }
.admin-user-role-list { display: grid; gap: 8px; margin-bottom: 16px; }
.admin-user-role-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; background: #fff; border: 1px solid var(--admin-border); border-radius: 10px; }
.admin-user-role-list span { display: grid; min-width: 0; }
.admin-user-role-list small { color: var(--admin-muted); font-size: 9px; }
.admin-user-role-list form { flex: 0 0 auto; }
.admin-user-action { display: grid; gap: 10px; }
.admin-user-action label { margin: 0; }
.admin-user-action button { justify-self: start; }
.admin-user-confirm { display: flex !important; align-items: flex-start; gap: 9px; color: var(--admin-muted); font-size: 10px; font-weight: 650; }
.admin-user-confirm input { flex: 0 0 auto; width: 17px !important; min-height: 17px !important; margin-top: 1px; }
.admin-user-filters { display: grid; grid-template-columns: minmax(190px,1.5fr) repeat(3,minmax(135px,1fr)) auto auto; align-items: end; gap: 12px; margin-bottom: 18px; }
.admin-user-filters label { margin: 0; }
.admin-user-filters button,.admin-user-filters .button { min-height: 39px; }
.admin-user-list-card { margin-bottom: 14px; }
.admin-user-table-heading { margin-bottom: 12px; }
.admin-user-pagination { margin-bottom: 18px; }

@media (max-width: 1100px) {
    .admin-user-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-user-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .admin-user-columns,.admin-user-filters { grid-template-columns: 1fr; }
    .admin-user-action button,.admin-user-filters button,.admin-user-filters .button { width: 100%; }
}

/* Изолированное уведомление заблокированной учетной записи без элементов кабинета. */
.blocked-account-card { display: grid; justify-items: start; max-width: 620px; padding: clamp(24px,5vw,48px); }
.blocked-account-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 30px; color: var(--admin-primary-dark); }
.blocked-account-brand img { display: block; object-fit: contain; filter: grayscale(1) sepia(1) saturate(3.2) hue-rotate(175deg) brightness(.76); }
.blocked-account-icon { display: grid; width: 52px; height: 52px; margin-bottom: 18px; place-items: center; color: #9c3542; background: #fff0f2; border: 1px solid #f2c9cf; border-radius: 16px; font-size: 25px; font-weight: 850; }
.blocked-account-card h1 { margin: 3px 0 12px; }
.blocked-account-lead { max-width: 520px; margin: 0; color: var(--admin-muted); line-height: 1.65; }
.blocked-account-support { width: 100%; margin: 26px 0 18px; padding: 18px; color: #405166; background: #eef5ff; border: 1px solid #ceddf1; border-radius: 13px; }
.blocked-account-support p { margin: 7px 0 12px; font-size: 12px; line-height: 1.55; }
.blocked-account-support span { display: inline-flex; padding: 6px 9px; color: var(--admin-primary-dark); background: #fff; border-radius: 8px; font-size: 10px; font-weight: 750; }
.blocked-account-card form,.blocked-account-exit { width: 100%; }


/* Интеграционные дополнения: функции ОРДОО внутри неизмененного каркаса референса. */
.admin-menu-toggle { display: block; flex: 0 0 auto; margin-right: 12px; }
.admin-brand-mark img { display: block; width: 34px; height: 34px; object-fit: contain; filter: grayscale(1) sepia(1) saturate(3.2) hue-rotate(175deg) brightness(.76); }
.auth-showcase-brand img { filter: grayscale(1) sepia(1) saturate(3.2) hue-rotate(175deg) brightness(.76); }
.admin-nav a.is-disabled { cursor: not-allowed; opacity: .45; }
.admin-sidebar-collapsed .admin-sidebar { width: 82px; }
.admin-sidebar-collapsed .admin-main { margin-left: 82px; }
.admin-sidebar-collapsed .admin-nav-group h2,
.admin-sidebar-collapsed .admin-nav-text,
.admin-sidebar-collapsed .admin-nav a small { display: none; }
.admin-sidebar-collapsed .admin-nav-count { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; font-size: 8px; }
.admin-sidebar-collapsed .admin-nav a,
.admin-sidebar-collapsed .admin-sidebar-footer a,
.admin-sidebar-collapsed .admin-sidebar-footer .link-button { justify-content: center; padding-right: 12px; padding-left: 12px; }
.admin-sidebar-collapsed .admin-nav-group { margin-bottom: 12px; }
.admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.payment-provider-card.is-active { border-color: var(--admin-primary); box-shadow: 0 0 0 2px rgb(49 95 158 / .1), var(--admin-shadow); }
.payment-provider-grid .settings-catalog-form { display: grid; gap: 12px; }
.payment-provider-grid .settings-catalog-form label:not(.checkbox) { display: grid; gap: 6px; font-weight: 650; }
.invoice-settings-form { display:grid; gap:18px; }
.invoice-settings-form .admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.invoice-settings-form label:not(.checkbox) { display:grid; gap:7px; font-weight:650; }
@media (max-width:760px) { .invoice-settings-form .admin-form-grid { grid-template-columns:1fr; } }
.billing-admin-filter-card { margin-bottom:18px; }
.billing-admin-filter-card .admin-filters { display:grid; grid-template-columns:minmax(220px,360px) max-content; align-items:end; gap:14px; }
.billing-admin-filter-card .admin-filters label { display:grid; gap:7px; margin:0; font-weight:650; }
.billing-admin-orders .site-asset-heading { margin-bottom:18px; }
.billing-admin-table,.billing-receipt-table { width:100%; table-layout:fixed; }
.billing-admin-table th:nth-child(1) { width:16%; }
.billing-admin-table th:nth-child(2) { width:21%; }
.billing-admin-table th:nth-child(3) { width:18%; }
.billing-admin-table th:nth-child(4) { width:12%; }
.billing-admin-table th:nth-child(5) { width:15%; }
.billing-admin-table th:nth-child(6) { width:18%; }
.billing-receipt-card .site-asset-heading { margin-bottom:18px; }
.billing-receipt-table th:nth-child(1) { width:18%; }
.billing-receipt-table th:nth-child(2) { width:23%; }
.billing-receipt-table th:nth-child(3) { width:21%; }
.billing-receipt-table th:nth-child(4) { width:12%; }
.billing-receipt-table th:nth-child(5) { width:16%; }
.billing-receipt-table th:nth-child(6) { width:10%; }
.billing-admin-table td,.billing-receipt-table td { padding:10px 11px; }
.admin-body .billing-admin-table td.actions,.admin-body .billing-receipt-table td.actions { min-width:0; }
.billing-table-primary { display:grid; justify-items:start; gap:3px; min-width:0; }
.billing-table-primary strong,.billing-table-primary small { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.billing-table-primary strong { color:var(--admin-text); font-size:11px; }
.billing-table-primary small { color:var(--admin-muted); font-size:9px; }
.billing-table-amount { color:var(--admin-text); font-size:12px; white-space:nowrap; }
.admin-status.is-success { color:#17624f; background:#e7f7f1; }
.admin-status.is-pending { color:#755c10; background:#fff5c7; }
.admin-status.is-failed { color:#9b3c48; background:#ffeaed; }
.billing-table-actions { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.admin-main .billing-table-actions button { min-height:30px; padding:6px 9px; border-radius:8px; box-shadow:none; font-size:9px; white-space:nowrap; }
.admin-dialog.billing-action-dialog { width:min(calc(100% - 28px),680px); max-height:min(86vh,820px); padding:0; overflow:auto; color:var(--admin-text); background:#fff; }
.admin-dialog.billing-action-dialog::backdrop { background:rgb(15 28 48 / .62); backdrop-filter:blur(3px); }
.billing-dialog-heading { position:sticky; z-index:2; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 16px; background:#fff; border-bottom:1px solid var(--admin-line); }
.billing-dialog-heading h2,.billing-dialog-heading .eyebrow { margin:0; }
.billing-dialog-heading h2 { margin-top:4px; font-size:20px; }
.admin-body .billing-dialog-heading .admin-dialog-close { float:none; flex:0 0 auto; min-width:34px; min-height:34px; padding:4px; font-size:20px; line-height:1; }
.billing-dialog-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:0; padding:18px 22px; background:#f4f7fb; }
.billing-dialog-summary.is-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
.billing-dialog-summary > div { min-width:0; padding:11px 12px; background:#fff; border:1px solid var(--admin-line); }
.billing-dialog-summary dt { color:var(--admin-muted); font-size:9px; font-weight:750; text-transform:uppercase; }
.billing-dialog-summary dd { margin:4px 0 0; overflow-wrap:anywhere; color:var(--admin-text); font-size:11px; font-weight:650; }
.billing-dialog-form { display:grid; gap:0; padding:20px 22px 22px; }
.billing-dialog-form > label { display:grid; margin:0 0 15px; }
.billing-dialog-form > label.checkbox { display:flex; margin:0 0 18px; padding:12px; background:#f6f8fb; border:1px solid var(--admin-line); border-radius:10px; }
.billing-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; padding:0 22px 22px; }
.billing-dialog-form .billing-dialog-actions { padding:0; }
@media (max-width:760px) { .billing-admin-filter-card .admin-filters { grid-template-columns:1fr; } .billing-dialog-summary,.billing-dialog-summary.is-details { grid-template-columns:1fr; } }
.admin-filter-actions { margin-bottom: 18px; }
.admin-main .admin-filter-actions > a.button { color: #fff; background: linear-gradient(135deg,var(--admin-primary),#4f7fbd); border-color: transparent; }
.moderation-actions { align-items: flex-start; flex-direction: column; }
.moderation-reason-form { display: grid !important; grid-template-columns: minmax(190px,1fr) auto auto; align-items: center; gap: 6px; width: min(100%,560px); }
.moderation-reason-form input { min-height: 35px !important; }
.backup-actions { display: flex; align-items: flex-start; gap: 6px; }
.backup-delete summary { list-style: none; }
.backup-delete summary::-webkit-details-marker { display: none; }
.backup-delete-panel { width: 260px; margin-top: 8px; padding: 14px; background: #f7f9fb; border: 1px solid var(--admin-border); border-radius: 10px; }
.backup-delete-panel label { display: flex; align-items: flex-start; margin: 0 0 11px; }
.verification-card-heading,.verification-queue-heading { align-items: flex-start; }
.verification-card-heading h2,.verification-queue-heading h2 { margin-bottom: 4px; }
.verification-card-heading p,.verification-queue-heading p { margin: 0; }
.verification-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 22px; }
.verification-details dt { color: var(--admin-muted); font-size: 10px; }
.verification-details dd { margin: 3px 0 0; font-size: 12px; }
.verification-details .grid-column-wide { grid-column: 1/-1; }
.verification-section { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.verification-section h3 { margin: 0 0 12px; }
.verification-editor { margin-top: 22px; padding: 16px 18px; background: #f8faff; border: 1px solid var(--admin-border); border-radius: 12px; }
.verification-editor > summary { color: var(--admin-primary-dark); font-size: 12px; font-weight: 800; cursor: pointer; }
.verification-editor .verification-section { margin-top: 14px; }
.verification-editor .wide { grid-column: 1/-1; }
.verification-editor [hidden] { display: none !important; }
.verification-queue-heading form { display: grid; grid-template-columns: minmax(170px,240px) auto; align-items: end; }
.verification-queue-heading select { min-height: 39px; }
.auth-page { min-height: 100vh; background: var(--admin-bg); }
.auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 24px; }
.auth-showcase { display: none; }
.auth-panel { width: min(100%,32rem); }
.auth-card { width: 100%; margin: 0; }
.auth-card h1 { margin-top: 0; color: var(--admin-text); }
.auth-user-link { margin: 22px 0 0; color: var(--admin-muted); font-size: 12px; }
.auth-bootstrap { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--admin-border); }
.auth-bootstrap summary { color: var(--admin-muted); font-size: 11px; cursor: pointer; }
.admin-breadcrumb { display: flex; gap: 7px; margin-bottom: 18px; color: var(--admin-muted); font-size: 10px; }
.admin-breadcrumb i { font-style: normal; }
.admin-status { display: inline-flex; padding: 4px 7px; background: #f1f5f8; border-radius: 7px; font-size: 10px; }
.admin-state p { margin: 7px 0 0; }
.admin-dialog { width: min(100% - 32px,560px); padding: 24px; border: 0; border-radius: 16px; box-shadow: var(--admin-shadow); }
.admin-dialog::backdrop { background: rgb(4 13 29 / .55); }
.admin-dialog-close { float: right; }
.site-settings-grid { align-items: start; }
.site-asset-card { display: grid; gap: 18px; }
.site-asset-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.site-asset-heading h2,.site-asset-heading .eyebrow { margin: 0; }
.site-asset-heading > span { padding: 6px 9px; color: var(--admin-primary); background: var(--admin-primary-soft); border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.site-asset-preview { display: grid; min-height: 170px; padding: 24px; place-items: center; color: var(--admin-muted); background: linear-gradient(145deg,#f7faff,#edf3fb); border: 1px dashed #cbd9ea; border-radius: 16px; }
.site-asset-preview.is-logo img { display: block; width: auto; max-width: min(100%,420px); max-height: 120px; object-fit: contain; }
.site-asset-preview.is-favicon img { display: block; width: 96px; height: 96px; object-fit: contain; }
.site-asset-preview strong { font-size: 11px; }
.site-asset-meta { margin: -6px 0 0; color: var(--admin-muted); font-size: 10px; }
.site-asset-card form { display: grid; }
.settings-catalog-card { display: grid; gap: 18px; margin-top: 22px; }
.settings-inline-form { display: grid; grid-template-columns: minmax(220px,360px) max-content; align-items: end; gap: 14px; }
.settings-catalog-create,.settings-catalog-record { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: #fff; }
.settings-catalog-create > summary,.settings-catalog-record > summary { display: flex; min-height: 58px; padding: 14px 16px; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.settings-catalog-create > summary::-webkit-details-marker,.settings-catalog-record > summary::-webkit-details-marker { display: none; }
.settings-catalog-create > summary { color: var(--admin-primary); font-weight: 800; background: var(--admin-primary-soft); }
.settings-catalog-record > summary span:first-child { display: grid; gap: 4px; min-width: 0; }
.settings-catalog-record > summary strong,.settings-catalog-record > summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-catalog-record > summary small { color: var(--admin-muted); }
.settings-catalog-list { display: grid; gap: 10px; }
.settings-catalog-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 18px; border-top: 1px solid var(--admin-line); }
.settings-catalog-form .is-wide { grid-column: span 2; }
.settings-catalog-form > button { align-self: end; }
.settings-status-form { display: flex; padding: 0 18px 18px; justify-content: flex-end; }
.tariff-catalog-card .settings-catalog-form { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px 18px; padding: 24px; }
.tariff-catalog-card .settings-catalog-form > label:not(.checkbox) { display: grid; grid-column: auto; align-self: start; gap: 7px; margin: 0; }
.tariff-catalog-card .settings-catalog-form > label:nth-of-type(3) { grid-column:1/-1; }
.tariff-catalog-card .settings-catalog-form > label.checkbox { grid-column: auto; align-self: center; min-height:44px; margin:0; padding:11px 13px; background:#f8faff; border:1px solid var(--admin-line); border-radius:11px; }
.tariff-catalog-card .settings-catalog-form > fieldset { display: grid; grid-column: auto; align-content: start; gap: 10px; min-width: 0; max-height: 320px; margin: 0; padding: 18px; overflow-y: auto; background:#fbfcff; border: 1px solid var(--admin-line); border-radius: 12px; }
.tariff-catalog-card .settings-catalog-form > fieldset legend { padding: 0 7px; color: var(--admin-text); font-size: 11px; font-weight: 800; }
.tariff-catalog-card .settings-catalog-form > fieldset .muted { margin: 0 0 4px; }
.tariff-catalog-card .settings-catalog-form > fieldset label.checkbox { min-height: 30px; margin: 0; padding: 3px 0; }
.tariff-catalog-card .settings-catalog-form > button { grid-column: 1 / -1; justify-self: start; min-width: 220px; margin-top: 2px; }
@media (max-width: 860px) {
  .settings-inline-form,.settings-catalog-form { grid-template-columns: 1fr; }
  .settings-catalog-form .is-wide { grid-column: auto; }
  .settings-catalog-record > summary { align-items: flex-start; }
  .tariff-catalog-card .settings-catalog-form { grid-template-columns: 1fr; padding: 16px; }
  .tariff-catalog-card .settings-catalog-form > label:not(.checkbox),.tariff-catalog-card .settings-catalog-form > label:nth-of-type(3),.tariff-catalog-card .settings-catalog-form > label.checkbox,.tariff-catalog-card .settings-catalog-form > fieldset,.tariff-catalog-card .settings-catalog-form > button { grid-column: 1; }
  .tariff-catalog-card .settings-catalog-form > fieldset { max-height: 260px; }
  .tariff-catalog-card .settings-catalog-form > button { width: 100%; }
}
.admin-organization-detail-grid { align-items: start; margin-bottom: 18px; }
.admin-detail-list { display: grid; gap: 0; margin: 16px 0 0; }
.admin-detail-list > div { display: grid; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--admin-border); grid-template-columns: minmax(120px,.7fr) minmax(0,1.3fr); }
.admin-detail-list > div:last-child { border-bottom: 0; }
.admin-detail-list dt { color: var(--admin-muted); font-size: 10px; font-weight: 720; }
.admin-detail-list dd { margin: 0; overflow-wrap: anywhere; color: var(--admin-text); font-size: 12px; }
.admin-moderation-decision-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 18px; }
.admin-moderation-decision-grid form { display: grid; align-content: start; gap: 12px; padding: 16px; background: #f8faff; border: 1px solid var(--admin-border); border-radius: 13px; }
.admin-moderation-decision-grid label { margin: 0; }
.admin-moderation-decision-grid textarea { min-height: 92px; resize: vertical; }
.admin-moderation-decision-grid button { justify-self: start; }
@media (max-width: 1050px) {
    .admin-sidebar-collapsed .admin-sidebar { width: min(310px,86vw); }
    .admin-sidebar-collapsed .admin-main { margin-left: 0; }
    .admin-moderation-decision-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .admin-grid { grid-template-columns: 1fr; }
    .admin-detail-list > div { grid-template-columns: 1fr; gap: 4px; }
    .admin-moderation-decision-grid button { width: 100%; }
    .moderation-reason-form { grid-template-columns: 1fr; }
    .verification-details { grid-template-columns: 1fr; }
    .verification-editor .wide { grid-column: auto; }
    .verification-queue-heading form { grid-template-columns: 1fr; width: 100%; }
}
.email-settings-panel { display:grid; gap:24px; padding-top:24px; }
.email-template-editor { display:grid; gap:22px; }
.email-editor-mode { display:flex; flex-wrap:wrap; gap:18px; padding:16px 18px; border:1px solid var(--line,#d9e1ec); border-radius:14px; }
.email-code-editor { position:relative; display:block; min-height:440px; background:#132033; border:1px solid #253a57; border-radius:12px; overflow:hidden; }
.email-code-editor pre,.email-template-editor textarea[data-email-source] { box-sizing:border-box; width:100%; min-height:440px; margin:0; padding:18px; white-space:pre-wrap; overflow-wrap:normal; font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; tab-size:4; }
.email-code-editor pre { position:absolute; inset:0; z-index:1; color:#d7e2f2; background:#132033; pointer-events:none; overflow:auto; }
.email-template-editor textarea[data-email-source] { position:relative; z-index:2; color:transparent; caret-color:#fff; background:transparent; border:0; resize:vertical; }
.email-template-editor textarea[data-email-source].is-plain-text { color:#d7e2f2; background:#132033; }
.email-code-editor .syntax-tag { color:#79c0ff; }
.email-code-editor .syntax-attr { color:#d2a8ff; }
.email-code-editor .syntax-string { color:#a5d6ff; }
.email-code-editor .syntax-variable { color:#ffa657; font-weight:700; }
.email-editor-preview { display:grid; gap:10px; }
.email-editor-preview iframe { width:100%; min-height:520px; background:#fff; border:1px solid var(--line,#d9e1ec); border-radius:14px; }
.admin-entitlements-page { display:grid; gap:18px; }
.admin-entitlements-page > .admin-card { margin:0; }
.admin-entitlements-page details { overflow:hidden; margin:16px 0; background:#f8faff; border:1px solid var(--admin-line); border-radius:14px; }
.admin-entitlements-page details > summary { padding:14px 16px; color:var(--admin-primary-dark); font-weight:800; cursor:pointer; }
.admin-entitlements-page details[open] > summary { background:var(--admin-primary-soft); border-bottom:1px solid var(--admin-line); }
.admin-entitlements-page .admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; padding:18px; }
.admin-entitlements-page .admin-form-grid + .admin-form-grid { border-top:1px solid var(--admin-line); }
.admin-entitlements-page .admin-form-grid > label:not(.checkbox) { display:grid; gap:7px; margin:0; font-weight:650; }
.admin-entitlements-page .admin-form-span,.admin-entitlements-page .admin-form-grid > button { grid-column:1/-1; }
.admin-entitlements-page .admin-form-grid > button { justify-self:start; min-width:190px; }
.admin-entitlements-page table td { vertical-align:top; }
@media (max-width:760px) { .admin-entitlements-page .admin-form-grid { grid-template-columns:1fr; padding:14px; } .admin-entitlements-page .admin-form-span,.admin-entitlements-page .admin-form-grid > button { grid-column:1; } }
