/* ==========================================================================
   Yönetim konsolu — /scraper/admin
   panel.css'in editoryal dilini devralır; burada yalnızca sayfaya özel
   düzenler var (giriş ekranı, konsol blokları, kaynak satırları).
   ========================================================================== */

.admin-body{padding-bottom:80px}
.admin-head{padding:clamp(38px,5vw,64px) 0 0}
.admin-head h1{font-size:clamp(40px,6vw,72px)}
.admin-head .lede{max-width:52ch}

/* --------------------------------------------------------------- giriş */
.login-wrap{min-height:calc(100vh - 62px);display:grid;align-items:center;padding:40px 0 80px}
.login-inner{max-width:420px}
.login-inner h1{font-size:clamp(44px,7vw,72px);margin:14px 0 16px}
.login-note{color:var(--muted);font-weight:300;font-size:14.5px;line-height:1.7;margin-bottom:8px}
.login-inner .gate-form{max-width:none}
.login-foot{margin-top:34px;padding-top:16px;border-top:1px solid var(--line-soft);display:flex;gap:18px;flex-wrap:wrap}

/* --------------------------------------------------------------- konsol */
.console{display:grid;gap:0;margin-top:clamp(36px,5vw,60px)}
.cblock{padding:34px 0 44px;border-top:1px solid var(--line)}
.cblock:first-child{border-top:1px solid var(--line)}
.cblock-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:18px}
.cblock-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3vw,32px);line-height:1.1;margin-top:6px;letter-spacing:-.01em}
.cblock-tools{display:flex;gap:8px;flex-wrap:wrap}
.cblock .kv{max-width:640px;margin-bottom:22px}
.cblock .kv>div{padding:11px 0;font-size:13px}

/* durum ızgarası */
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.status-cell{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.status-cell span.k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.status-cell b{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.01em}
.status-cell small{display:block;font-family:var(--mono);font-size:9.5px;color:var(--faint);margin-top:4px}
.status-cell .ok{color:var(--green)}
.status-cell .warn{color:#ff8a5c}

/* kaynak satırları */
.src-list{display:grid;gap:0;border-top:1px solid var(--line)}
.src{padding:16px 0;border-bottom:1px solid var(--line-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.src.is-off{opacity:.5}
.src-name{font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.src-name .tag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:2px 6px;color:var(--faint)}
.src-name .tag.ok{color:var(--green);border-color:rgba(79,209,139,.35)}
.src-name .tag.bad{color:#ff8a5c;border-color:rgba(255,138,92,.35)}
.src-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--faint)}
.src-url{margin-top:6px;font-family:var(--mono);font-size:10px;color:#6f6e69;word-break:break-all}
.src-fields{margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--faint);opacity:.85}
.src-err{margin-top:6px;font-family:var(--mono);font-size:10px;color:#ff8a5c;word-break:break-word}
.src-act{display:flex;gap:6px;flex:none}
.mini-btn{font-family:var(--mono);font-size:11px;border:1px solid var(--line);color:var(--muted);width:30px;height:28px;display:grid;place-items:center}
.mini-btn:hover{color:var(--text);border-color:#3a3a3a}
.mini-btn:disabled{opacity:.4;cursor:not-allowed}
.form-msg{font-family:var(--mono);font-size:10.5px;color:var(--accent);margin-top:10px;min-height:15px;word-break:break-all}
.form-msg.ok{color:var(--green)}
.key-out{font-family:var(--mono);font-size:11px;color:var(--text);background:var(--bg-soft);border:1px solid var(--line);padding:10px;margin-top:10px;word-break:break-all;display:none}
.key-out.on{display:block}
.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:start}
@media (max-width:900px){
    .two-col{grid-template-columns:minmax(0,1fr);gap:28px}
    .src{grid-template-columns:minmax(0,1fr)}
    .src-act{justify-content:flex-start}
}
