:root{--bg:#0f141a;--card:#18212a;--border:#26323f;--txt:#e8edf2;--muted:#8ca0b3;--accent:#ff5722;--accent2:#ff7a50;--ok:#2ec4b6;--warn:#ffc107;--err:#ef4444;--r:10px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5}
a{color:inherit;text-decoration:none}
.wrap{display:flex;min-height:100vh}
.side{width:220px;background:var(--card);border-right:1px solid var(--border);padding:20px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.logo{font-size:20px;font-weight:800;padding:0 20px 20px;color:var(--accent)}
.nav a{display:flex;gap:10px;padding:11px 20px;color:var(--muted);font-size:14px;border-left:3px solid transparent}
.nav a:hover{color:var(--txt);background:#1e2935}
.nav a.on{color:var(--accent);border-left-color:var(--accent);background:#1e2935}
.main{flex:1;padding:24px;max-width:1400px}
h1.title{font-size:22px;margin-bottom:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-bottom:16px}
.card h2{font-size:15px;margin-bottom:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
button,.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;background:#26323f;color:var(--txt);transition:.2s;display:inline-flex;gap:6px;align-items:center}
button:hover{opacity:.85}
button:disabled{opacity:.4;cursor:not-allowed}
.prim{background:var(--accent);color:#fff}
.okb{background:var(--ok);color:#05201e}
.dan{background:var(--err);color:#fff}
.dan{background:var(--err);color:#fff}
.wrn{background:var(--warn);color:#332600}
.sm{padding:6px 10px;font-size:12px}
input,textarea,select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#0b1015;color:var(--txt);font-size:14px;font-family:inherit}
input:focus,textarea:focus{outline:none;border-color:var(--accent)}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:10px;text-align:left;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-size:12px;text-transform:uppercase}
.badge{padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase}
.b-pending{background:#343f4c;color:#a9b8c6}
.b-downloading{background:#1e3a8a;color:#bfdbfe}
.b-ready{background:#0f463d;color:#6ee7b6}
.b-streaming{background:var(--accent);color:#fff}
.b-done{background:#26323f;color:#7d8f9e}
.b-error{background:#7f1d1d;color:#fecaca}
.stat{text-align:center}
.stat .n{font-size:26px;font-weight:800}
.stat .l{font-size:12px;color:var(--muted);margin-top:4px}
.bar{height:7px;background:#0b1015;border-radius:4px;overflow:hidden;margin-top:8px}
.bar i{display:block;height:100%;background:var(--accent)}
.logs{background:#0b1015;border-radius:8px;padding:12px;font-family:monospace;font-size:12px;height:480px;overflow-y:auto}
.logs div{padding:3px 0;border-bottom:1px solid #151d26}
.logs .t{color:#556677}
.logs .error{color:#fca5a5}
.thumb{width:90px;height:50px;object-fit:cover;border-radius:6px;background:#0b1015}
.toast{position:fixed;bottom:20px;right:20px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--ok);padding:12px 18px;border-radius:8px;z-index:999;display:none}
.toast.e{border-left-color:var(--err)}
.log-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}
.log-box{width:360px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:32px}
@media(max-width:900px){.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}.side{width:64px}.nav a span,.logo span{display:none}}

/* ============================================================
   MOBIL VERSIYA - AzNews TV panel
   ============================================================ */

/* --- Planshet (900px alti) --- */
@media (max-width: 900px) {
  .main { padding: 16px; }
  .g4 { grid-template-columns: repeat(2, 1fr); }
  .g2 { grid-template-columns: 1fr; }
}

/* --- Telefon (768px alti) --- */
@media (max-width: 768px) {
  body { -webkit-text-size-adjust: 100%; }

  /* Sidebar -> asha\u011f\u0131 tab-bar */
  .wrap { flex-direction: column; min-height: 100vh; }

  .side {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    top: auto;
    width: 100%;
    height: auto;
    padding: 0;
    border-right: none;
    border-top: 1px solid var(--border);
    z-index: 100;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: env(safe-area-inset-bottom);
  }

  .logo { display: none; }

  .nav {
    display: flex;
    justify-content: flex-start;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .nav::-webkit-scrollbar { display: none; }

  .nav a {
    flex-direction: column;
    gap: 3px;
    padding: 9px 14px;
    border-left: none;
    border-top: 2px solid transparent;
    font-size: 10px;
    white-space: nowrap;
    min-width: 62px;
    align-items: center;
    text-align: center;
  }
  .nav a b { font-size: 15px; font-weight: 700; }
  .nav a span { display: block !important; font-size: 10px; }
  .nav a.on { border-left-color: transparent; border-top-color: var(--accent); }

  /* Esas sahe - tab-bar ucun yer burax */
  .main {
    padding: 14px 12px 84px;
    max-width: 100%;
  }

  h1.title { font-size: 19px; margin-bottom: 14px; }

  .card { padding: 14px; margin-bottom: 12px; border-radius: 12px; }
  .card h2 { font-size: 13px; }

  /* Grid -> tek sutun */
  .g4, .g2 { grid-template-columns: repeat(2, 1fr); gap: 10px; }

  /* Duymeler - barmaq ucun rahat */
  button, .btn {
    padding: 11px 15px;
    font-size: 14px;
    min-height: 42px;
  }
  button.sm, .sm { padding: 7px 11px; font-size: 12px; min-height: 34px; }

  /* Form elementleri - iOS zoom-un qarshisini alir */
  input, textarea, select {
    font-size: 16px;
    padding: 11px 12px;
    min-height: 44px;
  }
  label { font-size: 12px; }

  /* Cedveller - ufuqi surushme */
  .card > table,
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  th, td { padding: 9px 8px; font-size: 13px; }
  th { font-size: 10px; }

  /* Statistika kartlari */
  .stat .n { font-size: 21px; }
  .stat .l { font-size: 11px; }

  /* Badge-ler */
  .badge { font-size: 10px; padding: 2px 7px; }

  /* Uzun metnler kesilsin */
  td:first-child { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
}

/* --- Kichik telefon (430px alti) --- */
@media (max-width: 430px) {
  .main { padding: 12px 10px 84px; }
  h1.title { font-size: 17px; }
  .g4, .g2 { grid-template-columns: 1fr; }
  .card { padding: 12px; }
  .nav a { padding: 8px 11px; min-width: 56px; }
  .nav a b { font-size: 14px; }
  .nav a span { font-size: 9px; }
  .stat .n { font-size: 19px; }
  td:first-child { max-width: 150px; }
}

/* --- Ufuqi telefon --- */
@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px) {
  .side { position: relative; border-top: none; }
  .wrap { flex-direction: row; }
  .side { width: 60px; height: 100vh; position: sticky; top: 0; }
  .nav { flex-direction: column; }
  .nav a span { display: none !important; }
  .main { padding-bottom: 20px; }
}

/* --- Panel-spesifik duzelishler (AI Musiqi, Skecler, Arxiv) --- */
@media (max-width: 768px) {
  .mst, .kst, .tstats { grid-template-columns: repeat(2, 1fr) !important; }
  .mrow, .krow, .tfil { flex-direction: column; align-items: stretch; }
  .mfld, .kfld { width: 100%; }
  .mfld input, .mfld select, .kfld input, .kfld select { min-width: 100%; }
  .mbtn, .kbtn { width: 100%; justify-content: center; }
  .mtabs, .ktabs { gap: 5px; }
  .mtb, .ktb { padding: 8px 11px; font-size: 12px; }
  .mtab, .ktab, .ttab { font-size: 12px; }
  .mtab th, .ktab th, .ttab th { font-size: 10px; padding: 8px 7px; }
  .mtab td, .ktab td, .ttab td { padding: 8px 7px; }
  .gcard textarea { font-size: 13px; }
}

@media (max-width: 430px) {
  .mst, .kst, .tstats { grid-template-columns: repeat(2, 1fr) !important; }
  .mstat b, .kstat b { font-size: 18px; }
  .mstat span, .kstat span { font-size: 10px; }
}
