/* =============================================================================
   SOZOIC EXPANSION — assets/css/admin.css
   Общие стили админки и публичных окон (модули sz-*, карточка сайта, вкладки).
   Подключается после style.css. Тёмная тема по умолчанию.
   ============================================================================= */

.module-section { background:#151515; border:1px solid #222; border-radius:6px; padding:18px; margin-bottom:60px; color:#eee; }
.module-title { color:gold; font-weight:bold; font-size:115%; letter-spacing:1px; margin-bottom:14px; border-bottom:1px solid #333; padding-bottom:8px; }

.sz-row { display:flex; gap:10px; align-items:center; }
.sz-between { justify-content:space-between; }
.sz-wrap { flex-wrap:wrap; }
.sz-topbar { background:#111; padding:10px 15px; border-radius:4px; border:1px solid #222; margin-bottom:20px; }
.sz-muted { color:#888; }
.sz-small { font-size:82%; }
.sz-ok { color:#00e05a; }
.sz-gold { color:gold; }
.sz-red { color:#ff4d2e; }
.sz-mono { font-family:monospace; }
.sz-empty { text-align:center; padding:20px; color:#666; }
.sz-link-red { color:#ff4d2e; text-decoration:none; padding:5px 10px; font-size:85%; }

.sz-btn { display:inline-block; border:none; border-radius:4px; padding:8px 16px; font-weight:bold; cursor:pointer; font-size:90%; text-decoration:none; line-height:1.2; transition:all .2s; }
.sz-btn:hover { filter:brightness(1.15); transform:translateY(-1px); }
.sz-btn-sm { padding:5px 12px; font-size:82%; }
.sz-btn-xs { padding:3px 8px; font-size:80%; }
.sz-btn-gold { background:gold; color:#000; }
.sz-btn-red { background:#ff4d2e; color:#fff; }
.sz-btn-green { background:#00e05a; color:#000; }
.sz-btn-grey { background:#444; color:#fff; }
.sz-btn-blue { background:#3b82f6; color:#fff; }

.sz-badge { display:inline-block; background:#333; color:gold; padding:2px 8px; border-radius:3px; font-size:78%; font-weight:bold; text-decoration:none; }
.sz-badge-active { background:gold; color:#000; }
.sz-badge-red { background:#5a1a10; color:#ff8a70; }
.sz-badge-green { background:#0f3d22; color:#00e05a; }
.sz-pill { background:#000; padding:2px 8px; border-radius:3px; font-size:90%; }

.sz-input, .sz-form-box input, .sz-form-box textarea, .sz-form-box select, .form-box input, .form-box textarea, .form-box select {
    width:100%; background:#0a0a0a; border:1px solid #444; color:#fff; padding:8px; border-radius:4px; box-sizing:border-box; font-family:monospace; font-size:90%;
}
.sz-filter .sz-input, .sz-filter select.sz-input { width:auto; padding:5px 8px; font-size:85%; }
.sz-filter { display:flex; gap:10px; flex-wrap:wrap; align-items:center; background:#111; padding:12px; border-radius:4px; border:1px solid #333; margin-bottom:12px; }
.sz-filter label { color:gold; font-size:80%; font-weight:bold; display:flex; align-items:center; gap:5px; }

.sz-form-box { background:#111; padding:15px; border-radius:4px; border:1px solid #333; margin-bottom:20px; }
.sz-form-box label, .form-box label { display:block; color:gold; font-size:85%; margin:8px 0 4px; font-weight:bold; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-full { grid-column:span 2; }
@media (max-width:700px){ .form-grid { grid-template-columns:1fr; } .form-full { grid-column:span 1; } }

.sz-note { background:#0a0a0a; border:1px solid #333; padding:10px 12px; border-radius:4px; font-size:85%; color:#aaa; margin-bottom:14px; line-height:1.5; }
.sz-note code { color:gold; }
.sz-note-warn { border-color:#8a5a00; color:#f0c060; }
.sz-note-ok { border-color:#00e05a; }
.sz-note-danger { border-color:#ff4d2e; background:#2a0000; color:#ff8a70; }
.sz-details { margin-top:14px; background:#111; border:1px solid #333; border-radius:4px; padding:10px 12px; }
.sz-details summary { cursor:pointer; color:gold; font-weight:bold; font-size:88%; }
.sz-details > *:not(summary) { margin-top:10px; }

.sz-scroll { max-height:420px; overflow-y:auto; border:1px solid #333; border-radius:4px; background:#1a1a1a; box-shadow:inset 0 2px 8px rgba(0,0,0,.5); }
.sz-table { width:100%; border-collapse:collapse; font-size:85%; }
.sz-table thead { position:sticky; top:0; background:#222; z-index:1; }
.sz-table th { text-align:left; padding:8px 12px; color:gold; border-bottom:1px solid #444; }
.sz-table td { padding:6px 12px; border-bottom:1px solid #252525; }
.sz-table tr:hover td { background:#202020; }
.sz-kv { font-size:85%; margin-top:8px; border-collapse:collapse; width:100%; }
.sz-kv td { padding:3px 8px; border-bottom:1px solid #222; vertical-align:top; }
.sz-kv td:first-child { color:gold; white-space:nowrap; width:130px; }

.sz-cards { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.sz-card { background:#111; padding:10px 15px; border-radius:4px; border:1px solid #333; flex:1; min-width:130px; }
.sz-card-label { color:#666; font-size:72%; letter-spacing:.5px; }
.sz-card-value { font-size:135%; font-weight:bold; }

.sz-site-list { padding:12px; }
.sz-site-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #252525; }
.sz-site-row:last-child { border-bottom:none; }
.gear-btn { background:none; border:none; color:gold; cursor:pointer; font-size:120%; vertical-align:middle; margin-left:8px; transition:transform .3s; }
.gear-btn:hover { transform:rotate(90deg); }
.cluster-select { background:#222; color:gold; border:1px solid gold; padding:5px 10px; border-radius:4px; font-weight:bold; cursor:pointer; }

.sz-pre-box { background:#000; color:#00e05a; padding:15px; border:1px solid gold; font-family:monospace; max-height:340px; overflow-y:auto; font-size:82%; text-align:left; border-radius:4px; }
.sz-pre-box pre { white-space:pre-wrap; margin:0; word-break:break-all; }
.sz-pre-danger { border-color:#ff4d2e; max-height:260px; margin-bottom:14px; }
.copy-btn { background:gold; color:#000; font-weight:bold; border:none; padding:8px 18px; border-radius:4px; cursor:pointer; font-size:88%; margin-bottom:10px; transition:all .2s; }
.copy-btn:hover { background:#fff; transform:scale(1.05); }
.copy-btn.copied { background:#00e05a; }

.site-card-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:1000; overflow-y:auto; padding:40px 20px; }
.site-card-box { background:#151515; border:1px solid #333; max-width:780px; margin:0 auto; border-radius:6px; padding:25px; box-shadow:0 0 25px rgba(0,0,0,.7); position:relative; }
.card-close { position:absolute; top:12px; right:18px; font-size:26px; color:#ff4d2e; cursor:pointer; background:none; border:none; }
.tabs-header { display:flex; gap:5px; border-bottom:1px solid #333; margin-bottom:20px; flex-wrap:wrap; }
.tab-btn { background:#222; border:1px solid #333; border-bottom:none; color:#aaa; padding:8px 14px; border-radius:4px 4px 0 0; cursor:pointer; font-size:88%; }
.tab-btn.active { background:gold; color:#000; font-weight:bold; border-color:gold; }
.tab-content { display:none; }
.tab-content.active { display:block; }
.btn-save { background:#00e05a; color:#000; font-weight:bold; padding:10px 20px; border:none; border-radius:4px; cursor:pointer; width:100%; margin-top:20px; font-size:110%; }

.sz-flash { text-align:center; font-weight:bold; padding:10px; border-radius:4px; margin:10px auto; max-width:900px; }
.sz-flash-error { color:#ff4d2e; border:1px solid #ff4d2e; background:#1a0505; }
.sz-flash-success { color:#00e05a; border:1px solid #00e05a; background:#051a0a; }