
/* ============================================================
   Step 17
   1. professional PDF reports restored (statistics + full)
   2. "Umumiy statistika" button -> "Faqat statistika"
   3. 3D effect on the currently-chosen sidebar item
   4. admin: hide a test from every student (config/hiddenTests)
   5. colourful status dots on atmos / womenviol / univviol /
      ibodullayev / tobelik
   6. Sozlamalar -> "Xavfsizlik" card
   7. "Tasdiqlanganlar" link shows only after 2 failed logins
   ============================================================ */

/* ---- 3. chosen sidebar item: raised 3D ---- */
.side-item.active{
  transform:translateY(-1px);
  box-shadow:0 9px 0 -3px rgba(120,26,0,.34),
             0 18px 30px -14px rgba(245,52,10,.7),
             inset 0 1px 0 rgba(255,255,255,.38) !important;
  transition:transform .08s ease, box-shadow .15s ease;
}
.side-item.active:active{
  transform:translateY(2px);
  box-shadow:0 3px 0 -2px rgba(120,26,0,.4),
             0 8px 16px -10px rgba(245,52,10,.6),
             inset 0 2px 6px rgba(0,0,0,.25) !important;
}

/* ---- 5. colourful dots on the items that had none ---- */
.side-item.at-nav .at-dot{ display:none !important; }
.side-item.at-nav::after,
.side-item.bs-nav[data-view="womenviol"]::after,
.side-item.bs-nav[data-view="univviol"]::after,
.side-item.bs-nav[data-view="ibodullayev"]::after,
.side-item.bs-nav[data-view="tobelik"]::after{
  content:""; margin-left:auto; width:9px; height:9px; border-radius:50%;
  flex:none; box-shadow:0 0 0 3px rgba(0,0,0,.14);
}
.side-item.at-nav::after{ background:#22c55e; }
.side-item.bs-nav[data-view="womenviol"]::after{ background:#ec4899; }
.side-item.bs-nav[data-view="univviol"]::after{ background:#8b5cf6; }
.side-item.bs-nav[data-view="ibodullayev"]::after{ background:#06b6d4; }
.side-item.bs-nav[data-view="tobelik"]::after{ background:#ef4444; }
.side-item.active::after{ box-shadow:0 0 0 3px rgba(255,255,255,.35) !important; }

/* ---- 4. hidden-from-students test in the sidebar ---- */
.side-item.f17-hidden{ display:none !important; }

/* ---- 4. admin "show / hide tests" section ---- */
.f17-htsec .f17ht-hint{
  font-size:12.5px; color:#64748b; font-weight:600; margin:2px 0 12px; line-height:1.5;
}
body.tl-dark .f17-htsec .f17ht-hint{ color:#9fb0bc; }
.f17-htsec .f17ht-row{
  display:flex; align-items:center; gap:10px; background:#fff;
  border:1.5px solid #e6ebf0; border-radius:12px; padding:11px 13px; margin-bottom:8px;
  font-size:13.5px; cursor:pointer;
}
body.tl-dark .f17-htsec .f17ht-row{ background:#1b2330; border-color:#2b3946; }
.f17-htsec .f17ht-row b{ color:#0f172a; font-weight:700; }
body.tl-dark .f17-htsec .f17ht-row b{ color:#f1f5f9; }
.f17-htsec .f17ht-row input{ width:18px; height:18px; flex:none; cursor:pointer; }
.f17-htsec .f17ht-st{
  margin-left:auto; font-size:11px; font-weight:800; padding:3px 10px; border-radius:999px;
}
.f17-htsec .f17ht-st.on{ background:#dcfce7; color:#15803d; }
.f17-htsec .f17ht-st.off{ background:#fee2e2; color:#b91c1c; }

/* ---- 6. Xavfsizlik card in Sozlamalar ---- */
.f17-xsec{
  margin-top:14px; border-radius:18px; padding:18px 18px 6px;
  background:linear-gradient(160deg,#0f766e0d,#1d4ed80d);
  border:1px solid #cbd5e1;
}
body.tl-dark .f17-xsec{ background:linear-gradient(160deg,#0f766e26,#1d4ed824); border-color:#31425c; }
.f17-xsec .f17-xh{
  display:flex; align-items:center; gap:9px; font-size:16px; font-weight:800;
  color:#0f4c5c; margin:0 0 10px;
}
body.tl-dark .f17-xsec .f17-xh{ color:#8fd3d0; }
.f17-xsec .f17-xh svg{ width:22px; height:22px; stroke:currentColor; flex:none; }
.f17-xsec ul{ margin:0; padding:0 0 0 4px; list-style:none; }
.f17-xsec li{
  position:relative; padding:0 0 12px 22px; font-size:13px; line-height:1.6; color:#334155;
}
body.tl-dark .f17-xsec li{ color:#c7d2dc; }
.f17-xsec li::before{
  content:""; position:absolute; left:2px; top:7px; width:9px; height:9px;
  border-radius:50%; background:#0f9b8e; box-shadow:0 0 0 3px rgba(15,155,142,.18);
}

/* ---- APPOINTMENT VIEW: explicit ink for every part (all themes) ---- */
/* hero (always dark brown gradient) -> light text */
#view-appt .ap-hero,
#view-appt .ap-hero *,
#view-appt .ap-hero h2,
#view-appt .ap-hero p{ color:#ffffff !important; }
#view-appt .ap-hero .kick{ color:#ffcda3 !important; }
#view-appt .ap-hero p{ color:#efe4da !important; }

/* week toggle */
#view-appt .ap-week{ background:#f1ece7 !important; }
#view-appt .ap-week button{ color:#5b4d42 !important; }
#view-appt .ap-week button.on{ background:#ffffff !important; color:#241812 !important; }
body.tl-dark #view-appt .ap-week{ background:#241f1b !important; }
body.tl-dark #view-appt .ap-week button{ color:#d8ccbe !important; }
body.tl-dark #view-appt .ap-week button.on{ background:#e9d9cc !important; color:#241812 !important; }

/* day picker */
#view-appt .ap-days button{ background:#ffffff !important; color:#4a4038 !important; border-color:#e5ddd5 !important; }
#view-appt .ap-days button .d{ color:#8a7c70 !important; }
#view-appt .ap-days button.on{ background:#241812 !important; border-color:#241812 !important; }
#view-appt .ap-days button.on,
#view-appt .ap-days button.on .d,
#view-appt .ap-days button.on *{ color:#ffffff !important; }
body.tl-dark #view-appt .ap-days button{ background:#1f1b17 !important; color:#e7ddd2 !important; border-color:#4a4038 !important; }
body.tl-dark #view-appt .ap-days button .d{ color:#b6ada2 !important; }
body.tl-dark #view-appt .ap-days button.on{ background:#e9d9cc !important; }
body.tl-dark #view-appt .ap-days button.on,
body.tl-dark #view-appt .ap-days button.on .d,
body.tl-dark #view-appt .ap-days button.on *{ color:#241812 !important; }

/* legend */
#view-appt .ap-legend{ color:#5b5048 !important; }
#view-appt .ap-legend span{ color:inherit !important; }
body.tl-dark #view-appt .ap-legend{ color:#c9bcae !important; }

/* slots — keep white on the saturated fills, dark on the pale ones */
#view-appt .ap-slot,
#view-appt .ap-slot small,
#view-appt .ap-slot.free,
#view-appt .ap-slot.free *,
#view-appt .ap-slot.res,
#view-appt .ap-slot.res *,
#view-appt .ap-slot.mine,
#view-appt .ap-slot.mine *{ color:#ffffff !important; }
#view-appt .ap-slot.blk,
#view-appt .ap-slot.blk *{ color:#3a2c00 !important; }
#view-appt .ap-slot.past,
#view-appt .ap-slot.past *{ color:#7c7168 !important; }
body.tl-dark #view-appt .ap-slot.past,
body.tl-dark #view-appt .ap-slot.past *{ color:#b6ada2 !important; }

/* "Mening qabullarim" */
#view-appt .ap-mine h3{ color:#241812 !important; }
body.tl-dark #view-appt .ap-mine h3{ color:#f4ece2 !important; }
#view-appt .ap-mine-row .info b{ color:#241812 !important; }
#view-appt .ap-mine-row .info span{ color:#7a6c60 !important; }
body.tl-dark #view-appt .ap-mine-row .info b{ color:#f4ece2 !important; }
body.tl-dark #view-appt .ap-mine-row .info span{ color:#c3b7a9 !important; }

/* the booking confirmation modal text */
#apOv .ap-card, #apOv .ap-card h3, #apOv .ap-card .when,
#apOv .ap-card label, #apOv .ap-card p{ color:#1b2733 !important; }
#apOv .ap-card .back{ color:#5b4d42 !important; }
body.tl-dark #apOv .ap-card, body.tl-dark #apOv .ap-card h3,
body.tl-dark #apOv .ap-card .when, body.tl-dark #apOv .ap-card label,
body.tl-dark #apOv .ap-card p{ color:#e8eef4 !important; }

/* ================================================================
   ADMIN PANEL — section titles that feat-16 over-whitened.
   These sections are LIGHT cards sitting inside the dark overlay,
   so their headings must be DARK (light only when .tl-dark flips
   the card itself). #adminShell prefix + !important to outrank
   feat-16's blanket #adminShell rules.
   ================================================================ */

/* 1 + 4 — "Talabalar uchun parolni qayta tiklash" /
           "Testlarni ko'rsatish / berkitish" summary titles */
#adminShell .pr-sec > summary,
#adminShell .pr-sec > summary span,
#adminShell #prSec #prTitle,
#adminShell #f17HideSec #f17htTitle{ color:#17202b !important; }
body.tl-dark #adminShell .pr-sec > summary,
body.tl-dark #adminShell .pr-sec > summary span,
body.tl-dark #adminShell #prSec #prTitle,
body.tl-dark #adminShell #f17HideSec #f17htTitle{ color:#eef4f8 !important; }
#adminShell .pr-sec > summary .chev,
#adminShell #f17HideSec > summary .chev{ color:#8a94a0 !important; }

/* 4 — hide-tests body text on the white rows */
#adminShell .f17-htsec .f17ht-hint{ color:#475569 !important; }
#adminShell .f17-htsec .f17ht-row b{ color:#0f172a !important; }
body.tl-dark #adminShell .f17-htsec .f17ht-hint{ color:#9fb0bc !important; }
body.tl-dark #adminShell .f17-htsec .f17ht-row b{ color:#eef2f6 !important; }

/* 2 — custom-section editor: "Testlar va savollar" + its note/list */
#adminShell .cs-cfg .cc-h{ color:#1a1410 !important; }
#adminShell .cs-cfg .cc-h .cc-ic,
#adminShell .cs-cfg .cc-h .cc-ic svg{ color:#2c3e2a !important; stroke:#2c3e2a !important; }
#adminShell .cs-cfg .cc-note{ color:#5c5750 !important; }
#adminShell .cs-cfg .cc-empty{ color:#8a8078 !important; }
#adminShell .cs-cfg .cci-txt b{ color:#1a1410 !important; }
#adminShell .cs-cfg .cci-txt span{ color:#6b625a !important; }

/* 3 — infografika heading "Filtrlangan talabalar bo'yicha yig'ma ko'rsatkichlar"
       (white card -> dark teal ink, matching the body of that card) */
#adminShell .gsx-h,
#adminShell .gsx-h b,
#adminShell .gsx-h *{ color:#0f3d47 !important; }
#adminShell .gsx-h span{ color:#5c7684 !important; }

/* 5 — student-list order circles: white digits on the navy chip */
#adminShell .admin-card .ac-num,
#adminShell .admin-card .ac-num *{ color:#ffffff !important; }
#adminShell .admin-card .ac-num{ background:#1e293b !important; }

/* ---- 1/2. two PDF buttons keep the 3D press ---- */
#adminShell .pd15{ box-shadow:0 5px 0 -2px rgba(0,0,0,.28), 0 12px 20px -12px rgba(0,0,0,.5); }
#adminShell .pd15:active{ transform:translateY(3px); box-shadow:0 2px 0 -1px rgba(0,0,0,.3); }
