/* =====================================================================
   SDMSYS PANEL — DIZAYN
   ===================================================================== */

:root{
  --brand:#6D5BD0; --brand-dark:#5344ad; --brand-light:#EEECFB;
  --ink:#1D1B26; --ink-2:#55536A; --ink-3:#8B89A0;
  --line:#E6E4F0; --bg:#F5F4FA; --card:#fff;
  --ok:#14A870; --ok-bg:#E4F6EE;
  --warn:#E8961E; --warn-bg:#FDF1DF;
  --danger:#E0455A; --danger-bg:#FCE9EC;
  --shadow:0 1px 2px rgba(29,27,38,.06),0 4px 16px rgba(29,27,38,.05);
}

[data-bs-theme="dark"]{
  --brand:#8B7BE8; --brand-dark:#A395F0; --brand-light:#2A2540;
  --ink:#E8E6F2; --ink-2:#A8A5BD; --ink-3:#7B7894;
  --line:#302C42; --bg:#16141F; --card:#1E1B2A;
  --ok:#35C68C; --ok-bg:#16342A;
  --warn:#F0A83A; --warn-bg:#3A2C14;
  --danger:#F0637A; --danger-bg:#3A1E24;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);
}

body{
  background:var(--bg); color:var(--ink); font-size:15px;
  font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
a{text-decoration:none; color:var(--brand)}
a:hover{color:var(--brand-dark)}
code{color:var(--brand-dark); background:transparent}

.hint{font-size:13px; color:var(--ink-3)}
.txt-ok{color:var(--ok)} .txt-warn{color:var(--warn)}
.txt-danger{color:var(--danger)} .txt-ink-3{color:var(--ink-3)}

/* ---------- Yuqori panel ---------- */
.topbar{
  background:var(--card); border-bottom:1px solid var(--line);
  padding:13px 22px; display:flex; align-items:center; gap:10px;
  position:sticky; top:0; z-index:100;
}
.logo{font-size:19px; font-weight:700; letter-spacing:2px; color:var(--brand)}
.logo-big{font-size:30px; font-weight:700; letter-spacing:3px; color:var(--brand)}

.icon-btn{
  width:36px; height:36px; border-radius:9px; border:1px solid var(--line);
  background:var(--card); color:var(--ink-2); display:inline-flex;
  align-items:center; justify-content:center; font-size:16px; transition:.13s;
}
.icon-btn:hover{background:var(--brand-light); color:var(--brand-dark); border-color:var(--brand)}
.icon-btn:active{transform:scale(.93)}

.wrap{max-width:1280px; margin:0 auto; padding:22px}
@media(max-width:575px){ .wrap{padding:14px} }

/* ---------- Kartalar ---------- */
.card-x{
  background:var(--card); border:1px solid var(--line);
  border-radius:14px; box-shadow:var(--shadow);
}

.stat{
  display:block; background:var(--card); border:1px solid var(--line);
  border-radius:14px; padding:15px 17px; height:100%;
  box-shadow:var(--shadow); color:var(--ink); transition:.14s;
}
a.stat:hover{border-color:var(--brand); transform:translateY(-2px)}
.stat-on{border-color:var(--brand); background:var(--brand-light)}
.stat .lbl{font-size:11.5px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.4px; font-weight:600}
.stat .val{font-size:25px; font-weight:600; margin-top:3px; line-height:1.15}
.stat .val.ok{color:var(--ok)}
.stat .val.warn{color:var(--warn)}
.stat .val.danger{color:var(--danger)}
.stat-ico{font-size:19px; color:var(--ink-3); opacity:.5}

/* ---------- Belgilar ---------- */
.badge-x{
  padding:5px 11px; border-radius:20px; font-size:12px;
  font-weight:500; display:inline-block; white-space:nowrap;
}
.badge-ok{background:var(--ok-bg); color:var(--ok)}
.badge-warn{background:var(--warn-bg); color:#A9670C}
.badge-danger{background:var(--danger-bg); color:var(--danger)}
[data-bs-theme="dark"] .badge-warn{color:var(--warn)}

/* ---------- Tugmalar ---------- */
.btn{border-radius:10px; font-weight:500}
.btn-brand{background:var(--brand); border-color:var(--brand); color:#fff}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark); border-color:var(--brand-dark); color:#fff}
.btn-soft{background:var(--brand-light); color:var(--brand-dark); border:none}
.btn-soft:hover{background:var(--brand-light); color:var(--brand-dark); filter:brightness(.95)}

/* ---------- Formalar ---------- */
.form-control,.form-select{
  border-radius:10px; border-color:var(--line); padding:9px 12px;
  background:var(--card); color:var(--ink);
}
.form-control:focus,.form-select:focus{
  border-color:var(--brand); box-shadow:0 0 0 3px rgba(109,91,208,.15);
  background:var(--card); color:var(--ink);
}
.form-label{font-size:13px; font-weight:500; color:var(--ink-2); margin-bottom:4px}

/* ---------- Jadval ---------- */
.table{color:var(--ink); margin-bottom:0}
.table thead th{
  background:var(--bg); font-size:11.5px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--ink-2); white-space:nowrap;
  border-bottom:1px solid var(--line); font-weight:600;
}
.table>:not(caption)>*>*{padding:12px 14px; background:transparent}
.table td{border-color:var(--line); vertical-align:middle}
.table tbody tr:hover td{background:var(--bg)}
.row-blocked td{opacity:.65}

/* ---------- Modal ---------- */
.modal-content{border:none; border-radius:18px; background:var(--card); color:var(--ink)}
.modal-header,.modal-footer{border-color:var(--line)}

/* ---------- Bo'sh holat ---------- */
.empty{text-align:center; padding:44px 20px; color:var(--ink-3)}
.empty i{font-size:40px; opacity:.35; display:block; margin-bottom:12px}

/* ---------- UUID ---------- */
.uuid-box{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  background:var(--bg); border:1px solid var(--line);
  border-radius:9px; padding:8px 11px;
}
.uuid-box code{font-size:12.5px; word-break:break-all}

/* ---------- Kirish sahifasi ---------- */
.login-body{background:linear-gradient(160deg,#F3F1FC,#E9E6F9); min-height:100vh}
[data-bs-theme="dark"] .login-body{background:linear-gradient(160deg,#16141F,#1E1B2A)}
.login-wrap{display:flex; align-items:center; justify-content:center; min-height:100vh; padding:20px}
.login-card{
  background:var(--card); padding:38px 34px; border-radius:20px;
  box-shadow:0 8px 32px rgba(29,27,38,.14); width:100%; max-width:380px;
  border:1px solid var(--line);
}

/* ---------- Alert ---------- */
.alert{border-radius:12px; border:1px solid transparent}
.alert-info{background:var(--brand-light); border-color:var(--line); color:var(--ink)}
.alert-warning{background:var(--warn-bg); border-color:transparent; color:#8A5A0B}
.alert-danger{background:var(--danger-bg); border-color:transparent; color:var(--danger)}
.alert-success{background:var(--ok-bg); border-color:transparent; color:var(--ok)}
[data-bs-theme="dark"] .alert-warning{color:var(--warn)}
