/* Training Unit v1.2.1 — approved visual system */
:root{
  --bg:#f7f7fc;
  --card:#ffffff;
  --ink:#241f4d;
  --muted:#6d6a82;
  --line:#e3e0f1;
  --brand:#4640AE;
  --brand2:#332a67;
  --yellow:#FFE063;
  --orange:#F87535;
  --peach:#F8A97F;
  --ok:#19724b;
  --bad:#b42318;
  --warn:#946200;
  --shadow:0 8px 25px rgba(70,64,174,.09)
}
html{scroll-behavior:smooth}
body,button,input,select,textarea{font-family:"Sakkal Majalla",Tahoma,"Segoe UI",Arial,sans-serif}
body{font-size:17px;background:linear-gradient(180deg,#fbfaff 0,#f7f7fc 100%);color:var(--ink)}
aside{background:linear-gradient(180deg,#332a67 0,#282253 100%)}
.brand b{color:var(--yellow);font-size:24px}.brand small{color:#fff}.nav{font-size:16px}.nav.active,.nav:hover{background:rgba(255,224,99,.16);color:#fff}.nav.active{border-right-color:var(--yellow)}
.top{background:rgba(250,249,255,.96);border-color:#dedaf0}.content{padding-bottom:48px}
h1{background:var(--yellow);color:#332a67;border-color:#e2c84b;box-shadow:0 5px 15px rgba(70,64,174,.09)}
h2{color:#332a67}.card{border-color:#e4e0f3;box-shadow:var(--shadow)}
.btn{font-weight:700}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.dark{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover,.btn.dark:hover{filter:brightness(.95)}
.specialty-name-chip,.specialty-tag{background:var(--brand);border-color:#38328f;color:var(--yellow)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(70,64,174,.12);border-color:var(--brand)}
th{background:#fff7cf;color:#332a67}.table-wrap{scrollbar-color:var(--brand) #efedf8;scrollbar-width:auto;position:relative}.table-wrap::-webkit-scrollbar{height:17px;width:12px}.table-wrap::-webkit-scrollbar-thumb{background:var(--brand);border:3px solid #efedf8;border-radius:12px}.table-wrap::-webkit-scrollbar-track{background:#efedf8}
.v121-filter-bar{position:sticky;top:61px;z-index:22;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 6px 16px rgba(70,64,174,.08);margin-bottom:12px}
.v121-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v121-toolbar>*{flex:0 1 auto}.v121-toolbar input,.v121-toolbar select{width:auto;min-width:150px}
.v121-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px;margin-bottom:12px}.v121-tabs .btn.active{background:var(--brand);border-color:var(--brand);color:#fff}
.v121-panel{display:none}.v121-panel.active{display:block}
.v121-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.v121-kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;min-height:88px}.v121-kpi b{display:block;color:#332a67}.v121-kpi strong{font-size:25px;color:var(--brand)}
.v121-status-ok{color:var(--ok)}.v121-status-warn{color:var(--warn)}.v121-status-bad{color:var(--bad)}
.v121-check-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:8px}.v121-check{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}.v121-check input{width:auto;margin-top:5px}
.v121-drop{border:2px dashed #b9b4dd;background:#fbfaff;border-radius:14px;padding:22px;text-align:center}.v121-drop.drag{border-color:var(--orange);background:#fff8f2}
.v121-progress-back{position:fixed;inset:0;z-index:1200;background:rgba(31,27,65,.55);display:none;align-items:center;justify-content:center;padding:18px}.v121-progress-back.open{display:flex}.v121-progress-box{width:min(520px,96vw);background:#fff;border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.v121-progress-track{height:12px;background:#eceaf6;border-radius:99px;overflow:hidden;margin:12px 0}.v121-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--orange));transition:width .25s ease}.v121-progress-stage{color:var(--muted)}
.v121-density-compact table th,.v121-density-compact table td{padding:4px 6px;font-size:11px}.v121-density-compact .card{padding:10px}.v121-density-compact input,.v121-density-compact select,.v121-density-compact textarea{padding:5px 7px}
.v121-health-details{font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:11px;direction:ltr;text-align:left;word-break:break-all;background:#f7f6fb;border-radius:8px;padding:8px}
.v121-rule-type{display:inline-flex;padding:2px 7px;border-radius:999px;background:#ece9fb;color:#40358a;font-size:10px;font-weight:800}.v121-rule-status{display:inline-flex;padding:2px 7px;border-radius:999px;background:#eaf7f0;color:#176642;font-size:10px;font-weight:800}
.v121-overdue{background:#fff0ef!important}.v121-due-soon{background:#fff9dc!important}.v121-locked-finance{background:#f2f1f5;color:#777}
.v121-empty{padding:28px;text-align:center;color:var(--muted)}
.v121-page-note{border-right:5px solid var(--brand);background:#f2f0ff;border-radius:10px;padding:9px 12px;margin:10px 0}
@media(max-width:1050px){.v121-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}.v121-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body{font-size:16px}.v121-kpis,.v121-check-grid{grid-template-columns:1fr}.v121-filter-bar{top:0}.v121-toolbar>*{width:100%!important}.v121-toolbar input,.v121-toolbar select{min-width:0}.top{flex-wrap:wrap}}
