/* GModLab 21.0.3 — административная панель. */
.admin-shell { width: min(1500px,calc(100% - 48px)); margin: 0 auto; padding: 34px 0 90px; }
.admin-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.admin-page-header h1 { margin: 7px 0 5px; font-family: var(--font-condensed),sans-serif; font-size: clamp(38px,4vw,58px); line-height: 1; letter-spacing: -.04em; }
.admin-page-header p { margin: 0; color: var(--muted); }.admin-header-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }.admin-header-actions svg { width: 16px; }
.admin-shell .php-admin-grid { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 22px; align-items: start; }

.admin-sidebar.php-panel { position: sticky; top: 80px; max-height: calc(100vh - 100px); display: flex; flex-direction: column; padding: 12px; border-radius: 9px; background: #101612; overflow: hidden; }
.admin-sidebar-brand { display: flex; align-items: center; gap: 11px; padding: 10px; border-bottom: 1px solid var(--border); color: inherit; }.admin-sidebar-brand > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 7px; background: rgba(168,255,62,.1); color: var(--accent); }.admin-sidebar-brand svg { width: 19px; }.admin-sidebar-brand strong,.admin-sidebar-brand small { display: block; }.admin-sidebar-brand small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.admin-sidebar .php-admin-menu { display: block; flex: 1; margin: 8px -3px 8px 0; padding-right: 5px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #344038 transparent; }
.admin-menu-group { display: grid; gap: 2px; padding: 8px 0; border-bottom: 1px solid rgba(52,64,56,.65); }.admin-menu-group:last-child { border-bottom: 0; }.admin-menu-group > span { padding: 4px 10px 7px; color: #68756c; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.admin-sidebar .php-admin-menu a { position: relative; min-height: 38px; display: flex; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid transparent; border-radius: 5px; color: #a9b4ab; line-height: 1.2; }.admin-sidebar .php-admin-menu a i { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 4px; background: #171e19; color: #78857b; }.admin-sidebar .php-admin-menu a svg { width: 14px; height: 14px; }.admin-sidebar .php-admin-menu a b { font-size: 11px; font-weight: 650; }.admin-sidebar .php-admin-menu a:hover { border-color: #354238; background: #19211b; color: #fff; }.admin-sidebar .php-admin-menu a:hover i { color: var(--accent); }.admin-sidebar .php-admin-menu a.active { border-color: rgba(168,255,62,.24); background: linear-gradient(90deg,rgba(168,255,62,.12),rgba(168,255,62,.03)); color: #fff; }.admin-sidebar .php-admin-menu a.active i { background: var(--accent); color: #091006; }.admin-sidebar .php-admin-menu a.active em { position: absolute; right: 7px; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.admin-back-link { display: flex; align-items: center; gap: 8px; padding: 10px; border-top: 1px solid var(--border); color: #8d998f; font-size: 11px; }.admin-back-link svg { width: 14px; transform: rotate(180deg); }.admin-back-link:hover { color: var(--accent); }

.admin-content { min-width: 0; }.admin-content > .php-panel,.admin-content > form.php-panel { border-radius: 9px; background: #121914; }.admin-content > .php-panel + .php-panel,.admin-content > form + form,.admin-content > .php-panel + form,.admin-content > form + .php-panel { margin-top: 18px; }
.admin-content .php-section-head { align-items: center; }.admin-content .php-panel h2 { font-size: 22px; }.admin-content .php-form { gap: 18px; }.admin-content .php-form-grid { gap: 18px; }.admin-content .php-form label { color: #c9d1cb; }.admin-content :where(input,select,textarea).php-input,.admin-content .php-form :where(input,select,textarea) { border-radius: 6px; background: #090e0b; }.admin-content .php-table-wrap { border-radius: 9px; }.admin-content .php-table th { background: #0d130f; color: #849087; text-transform: uppercase; letter-spacing: .06em; font-size: 9px; }.admin-content .php-table tr:hover td { background: rgba(168,255,62,.025); }

.admin-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.admin-stat-card { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) 16px; align-items: center; gap: 13px; padding: 18px; border: 1px solid var(--border); border-radius: 8px; background: linear-gradient(145deg,#151d17,#111712); color: inherit; overflow: hidden; }.admin-stat-card:after { content:""; position:absolute; inset:auto -25px -45px auto; width:100px; height:100px; border-radius:50%; background:rgba(168,255,62,.04); }.admin-stat-card:hover { border-color: #536449; transform: translateY(-1px); }.admin-stat-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; background: rgba(168,255,62,.09); color: var(--accent); }.admin-stat-card > span svg { width: 20px; }.admin-stat-card > svg { width: 15px; color: #68736b; }.admin-stat-card small,.admin-stat-card strong,.admin-stat-card em { display: block; }.admin-stat-card small { color: #9aa59c; font-size: 10px; }.admin-stat-card strong { margin: 2px 0; font-size: 27px; line-height: 1; }.admin-stat-card em { color: #727f75; font-size: 9px; font-style: normal; }

.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.75fr); gap: 14px; margin-top: 14px; }.admin-dashboard-grid.lower { grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr); }.admin-dashboard-grid > .php-panel { padding: 22px; border-radius: 9px; background: #121914; }.admin-card-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }.admin-card-head h2 { margin: 4px 0 0 !important; font-size: 22px; }.admin-card-head > a { color: var(--accent); font-size: 10px; }.admin-health { display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; border: 1px solid #3c5435; border-radius: 99px; color: #b9c5bc; font-size: 9px; }.admin-health i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px rgba(168,255,62,.6); }
.admin-service-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.admin-service-list > div { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px; border-radius: 6px; background: #1a221c; }.admin-service-list > div > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 5px; background: #0e1410; color: var(--accent); }.admin-service-list svg { width: 16px; }.admin-service-list strong,.admin-service-list small { display: block; }.admin-service-list small { margin-top: 2px; color: var(--muted); font-size: 9px; }.admin-service-list .php-badge { font-size: 8px; }.admin-card-link { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--border); color: var(--accent); font-size: 10px; }.admin-card-link svg { width: 14px; }

.admin-queue-card .admin-card-head > strong { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(168,255,62,.09); color: var(--accent); font-size: 18px; }.admin-queue-bars { display: grid; gap: 7px; margin-bottom: 15px; }.admin-queue-bars a { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; border-radius: 6px; background: #1a221c; color: inherit; }.admin-queue-bars a:hover { background: #202a22; }.admin-queue-bars a > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 5px; background: #0e1410; color: #98a39b; }.admin-queue-bars svg { width: 15px; }.admin-queue-bars b,.admin-queue-bars small { display: block; }.admin-queue-bars small { color: var(--muted); font-size: 9px; }.admin-queue-bars em { min-width: 25px; padding: 4px 6px; border-radius: 99px; background: #2b342d; color: var(--accent); font-size: 10px; font-style: normal; text-align: center; }.admin-queue-card > .php-button { width: 100%; }
.admin-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.admin-quick-grid a { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 0 11px; align-items: center; padding: 12px; border: 1px solid transparent; border-radius: 6px; background: #1a221c; color: inherit; }.admin-quick-grid a:hover { border-color: #506146; }.admin-quick-grid span { grid-row: 1/3; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 5px; background: #0d130f; color: var(--accent); }.admin-quick-grid svg { width: 17px; }.admin-quick-grid small { color: var(--muted); font-size: 9px; }
.admin-audit-list { display: grid; gap: 7px; }.admin-audit-list > div { display: flex; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(52,64,56,.6); }.admin-audit-list > div:last-child { border-bottom: 0; }.admin-audit-list > div > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #1d261f; color: #839087; }.admin-audit-list svg { width: 13px; }.admin-audit-list b,.admin-audit-list small { display: block; }.admin-audit-list b { font-size: 10px; }.admin-audit-list small { color: var(--muted); font-size: 8px; }.admin-empty-inline { display: grid; justify-items: center; gap: 8px; padding: 30px; color: var(--muted); }.admin-empty-inline svg { width: 25px; }

@media (max-width: 1180px) { .admin-shell .php-admin-grid { grid-template-columns: 240px minmax(0,1fr); }.admin-stat-grid { grid-template-columns: repeat(2,1fr); }.admin-dashboard-grid,.admin-dashboard-grid.lower { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .admin-shell { width: min(100% - 24px,1500px); padding-top: 24px; }.admin-page-header { align-items: flex-start; flex-direction: column; }.admin-header-actions { justify-content: flex-start; }.admin-shell .php-admin-grid { grid-template-columns: 1fr; }.admin-sidebar.php-panel { position: static; max-height: none; }.admin-sidebar .php-admin-menu { display: flex; margin: 8px 0; padding: 0; overflow-x: auto; }.admin-menu-group { min-width: 210px; border-right: 1px solid var(--border); border-bottom: 0; }.admin-back-link { display: none; }.admin-service-list { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .admin-page-header h1 { font-size: 38px; }.admin-header-actions { display: grid; width: 100%; grid-template-columns: 1fr; }.admin-stat-grid { grid-template-columns: 1fr; }.admin-service-list > div { grid-template-columns: 34px minmax(0,1fr); }.admin-service-list .php-badge { grid-column: 2; justify-self: start; }.admin-quick-grid { grid-template-columns: 1fr; }.admin-dashboard-grid > .php-panel { padding: 18px; } }

.admin-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:17px; }.admin-section-title h2 { margin:4px 0 !important; font:700 32px/1 var(--font-condensed),sans-serif; }.admin-section-title p { margin:0 !important; color:var(--muted); }.admin-comment-counters { display:flex; gap:8px; }.admin-comment-counters span { display:flex; align-items:center; gap:6px; padding:8px 10px; border:1px solid var(--border); border-radius:5px; background:#131a15; color:#9ba69d; font-size:9px; }.admin-comment-counters svg { width:14px; color:var(--accent); }.admin-comment-counters b { color:#fff; font-size:13px; }
.admin-comment-filters { display:grid; grid-template-columns:minmax(220px,1fr) 180px auto auto; gap:8px; padding:13px !important; }.admin-comment-filters :where(input,select) { width:100%; min-height:40px; padding:9px 11px; border:1px solid #344039; border-radius:5px; background:#090e0b; color:var(--text); }.admin-comment-list { display:grid; gap:9px; margin-top:14px; }.admin-comment-list > article { padding:17px !important; border-radius:8px !important; }.admin-comment-list > article.is-hidden { opacity:.67; }.admin-comment-list article > header { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; }.admin-comment-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#1d281f; color:var(--accent); font-weight:800; }.admin-comment-list header strong,.admin-comment-list header small { display:block; }.admin-comment-list header small { color:var(--muted); font-size:9px; }.admin-comment-list article > p { margin:13px 0 !important; padding:12px; border-radius:5px; background:#0d130f; overflow-wrap:anywhere; }.admin-comment-list article > footer { display:flex; align-items:center; justify-content:space-between; gap:15px; }.admin-comment-list footer > a { display:flex; align-items:center; gap:6px; color:var(--accent); font-size:10px; }.admin-comment-list footer svg { width:14px; }.admin-comment-list footer > div { display:flex; gap:6px; }.admin-comment-list form { margin:0; }
@media(max-width:700px){.admin-section-title{align-items:flex-start;flex-direction:column}.admin-comment-filters{grid-template-columns:1fr}.admin-comment-list article > footer{align-items:flex-start;flex-direction:column}.admin-comment-list footer > div{width:100%;flex-wrap:wrap}}

/* 21.0.8: увеличенная типографика всей административной панели. */
.admin-shell { font-size:15px; }
.admin-shell .php-admin-grid { grid-template-columns:310px minmax(0,1fr); gap:24px; }
.admin-sidebar-brand { padding:12px; gap:13px; }.admin-sidebar-brand > span { width:42px; height:42px; }.admin-sidebar-brand svg { width:21px; }.admin-sidebar-brand strong { font-size:14px; line-height:1.35; }.admin-sidebar-brand small { margin-top:3px; font-size:11px; }
.admin-menu-group { gap:4px; padding:11px 0; }.admin-menu-group > span { padding:5px 11px 8px; font-size:11px; letter-spacing:.11em; }.admin-sidebar .php-admin-menu a { min-height:45px; gap:12px; padding:9px 11px; }.admin-sidebar .php-admin-menu a i { width:29px; height:29px; flex-basis:29px; }.admin-sidebar .php-admin-menu a svg { width:17px; height:17px; }.admin-sidebar .php-admin-menu a b { font-size:13px; line-height:1.35; }.admin-back-link { padding:12px; font-size:12px; }
.admin-page-header p { font-size:14px; line-height:1.55; }.admin-header-actions .php-button { min-height:43px; font-size:13px; }
.admin-stat-card { grid-template-columns:46px minmax(0,1fr) 18px; gap:14px; padding:20px; }.admin-stat-card > span { width:46px; height:46px; }.admin-stat-card > span svg { width:22px; }.admin-stat-card small { font-size:12px; }.admin-stat-card strong { margin:4px 0; font-size:30px; }.admin-stat-card em { font-size:11px; line-height:1.4; }
.admin-dashboard-grid > .php-panel { padding:25px; }.admin-card-head h2 { font-size:25px; }.admin-health { gap:8px; padding:7px 10px; font-size:11px; }.admin-service-list > div { grid-template-columns:39px minmax(0,1fr) auto; gap:12px; padding:13px; }.admin-service-list > div > span { width:39px; height:39px; }.admin-service-list svg { width:19px; }.admin-service-list strong { font-size:14px; }.admin-service-list small { margin-top:3px; font-size:11px; line-height:1.4; }.admin-service-list .php-badge { font-size:10px; }.admin-card-link { font-size:12px; }
.admin-queue-card .admin-card-head > strong { width:46px; height:46px; font-size:20px; }.admin-queue-bars { gap:9px; }.admin-queue-bars a { grid-template-columns:38px minmax(0,1fr) auto; gap:12px; padding:13px; }.admin-queue-bars a > span { width:38px; height:38px; }.admin-queue-bars svg { width:18px; }.admin-queue-bars b { font-size:14px; }.admin-queue-bars small { margin-top:2px; font-size:11px; line-height:1.4; }.admin-queue-bars em { min-width:29px; padding:5px 7px; font-size:12px; }.admin-queue-card > .php-button { min-height:43px; font-size:13px; }
.admin-quick-grid { gap:10px; }.admin-quick-grid a { grid-template-columns:42px minmax(0,1fr); gap:1px 13px; padding:15px; }.admin-quick-grid span { width:42px; height:42px; }.admin-quick-grid svg { width:20px; }.admin-quick-grid b { font-size:14px; }.admin-quick-grid small { margin-top:3px; font-size:11px; line-height:1.4; }
.admin-audit-list { gap:9px; }.admin-audit-list > div { gap:12px; padding-bottom:10px; }.admin-audit-list > div > span { width:33px; height:33px; }.admin-audit-list svg { width:15px; }.admin-audit-list b { font-size:13px; }.admin-audit-list small { margin-top:2px; font-size:11px; line-height:1.4; }
.admin-content .php-panel h2 { font-size:25px; }.admin-content .php-panel h3 { font-size:19px; }.admin-content :where(p,label,li,td) { font-size:14px; }.admin-content :where(small,.php-muted) { font-size:12px; line-height:1.5; }.admin-content .php-form label { font-size:14px; }.admin-content .php-form :where(input,select,textarea),.admin-content .php-input { min-height:43px; font-size:14px; }.admin-content .php-button { min-height:40px; font-size:13px; }.admin-content .php-table th { font-size:11px; }.admin-content .php-table td { font-size:13px; }.admin-content .php-badge { font-size:11px; }
.admin-comment-counters span { font-size:11px; }.admin-comment-counters b { font-size:15px; }.admin-comment-list header small { font-size:11px; }.admin-comment-list footer > a { font-size:12px; }

@media(max-width:1180px){.admin-shell .php-admin-grid{grid-template-columns:270px minmax(0,1fr)}}
@media(max-width:820px){.admin-shell .php-admin-grid{grid-template-columns:1fr}.admin-sidebar .php-admin-menu a{min-height:43px}}
