:root{
  --brand-red:#e30613;
  --brand-red-2:#ff4b57;
  --brand-blue:#0d57a1;
  --brand-blue-2:#3b8fe0;
  --brand-dark:#101317;
  --brand-soft:#f4f7fb;
  --brand-border:#e6ecf5;
  --brand-text:#243041;
  --brand-muted:#738197;
  --brand-success:#1da56b;
  --sidebar-width:290px;
}
body{
  margin:0;
  color:var(--brand-text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(227,6,19,.06), transparent 25%),
    radial-gradient(circle at right center, rgba(13,87,161,.08), transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#eef3f9 100%);
}
a{text-decoration:none}
.sidebar{
  width:var(--sidebar-width);
  min-height:100vh;
  position:fixed;
  left:0;top:0;
  padding:1.35rem;
  background:linear-gradient(180deg, rgba(15,20,28,.98), rgba(22,29,40,.98));
  box-shadow:20px 0 60px rgba(10,15,25,.16);
}
.brand-panel{
  border-radius:28px;
  overflow:hidden;
  padding:1rem;
  background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05)),
             linear-gradient(135deg, rgba(227,6,19,.22), rgba(13,87,161,.16));
  border:1px solid rgba(255,255,255,.10);
  margin-bottom:1.25rem;
}
.brand-logo-wrap{
  background:#fff;
  border-radius:22px;
  padding:.8rem;
  min-height:118px;
  display:flex;align-items:center;justify-content:center;
}
.brand-logo-wrap img{max-height:90px;width:auto}
.brand-kicker{color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.10em;font-size:.72rem;font-weight:700}
.brand-title{color:#fff;font-size:1.2rem;font-weight:800}
.brand-subtitle{color:rgba(255,255,255,.72);font-size:.88rem}
.sidebar .nav-link{
  color:rgba(255,255,255,.74);
  border-radius:18px;
  padding:.92rem 1rem;
  display:flex;align-items:center;gap:.85rem;
  font-weight:700;margin-bottom:.4rem;
}
.sidebar .nav-link:hover,.sidebar .nav-link.active{
  color:#fff;
  background:linear-gradient(135deg, rgba(227,6,19,.98), rgba(255,87,102,.98));
}
.main{margin-left:var(--sidebar-width);padding:2rem}
.glass-topbar{
  border-radius:26px;
  padding:1rem 1.15rem;
  background:rgba(255,255,255,.70);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 18px 55px rgba(31,41,55,.07);
  margin-bottom:1.25rem;
}
.panel-premium,.card-premium,.mini-premium{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.88);
  border-radius:26px;
  box-shadow:0 16px 45px rgba(31,41,55,.06);
}
.panel-premium,.card-premium{padding:1.2rem}
.mini-premium{padding:1rem}
.hero-premium{
  border-radius:34px;
  color:#fff;
  padding:2rem;
  background:linear-gradient(135deg, rgba(227,6,19,.98) 0%, rgba(176,9,34,.98) 42%, rgba(13,87,161,.96) 100%);
  box-shadow:0 28px 70px rgba(22,27,45,.18);
}
.section-title{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}
.soft-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:#7b8aa0;font-weight:800}
.metric{font-size:1.95rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.muted{color:var(--brand-muted)}
.icon-badge{
  width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:18px;font-size:1.25rem;
  color:var(--brand-red);background:linear-gradient(135deg, rgba(227,6,19,.12), rgba(13,87,161,.12));
}
.form-control,.form-select{
  border-radius:16px;
  min-height:50px;
  border-color:var(--brand-border);
  box-shadow:none !important;
}
.btn{border-radius:16px;font-weight:700;padding:.82rem 1rem}
.btn-brand{color:#fff;border:none;background:linear-gradient(135deg, var(--brand-red), var(--brand-red-2))}
.btn-soft{border:1px solid #e5ebf4;color:#34445a;background:#f4f7fb}
.table-modern thead th{
  background:#f4f7fb;border:none;color:#6d788c;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding:1rem .9rem
}
.table-modern tbody td{border-color:#edf2f7;padding:1rem .9rem;vertical-align:middle}
.table-modern tbody tr:hover{background:#fbfdff}
.table-responsive{border-radius:20px}
.pagination-premium .page-link{
  border:none;min-width:42px;height:42px;border-radius:14px !important;display:flex;align-items:center;justify-content:center;margin:0 .2rem;background:#f4f7fb;color:#36465d;font-weight:700
}
.pagination-premium .page-item.active .page-link{background:linear-gradient(135deg, var(--brand-red), var(--brand-red-2));color:#fff}
.badge-soft-blue{background:rgba(13,87,161,.10); color:var(--brand-blue)}
.badge-soft-red{background:rgba(227,6,19,.10); color:var(--brand-red)}
.badge-soft-green{background:rgba(29,165,107,.12); color:var(--brand-success)}
.hierarchy-card{background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.88);border-radius:24px;box-shadow:0 16px 45px rgba(31,41,55,.06);padding:1.2rem;height:100%}
.hierarchy-list{display:flex;flex-direction:column;gap:.75rem}
.hierarchy-item{border:1px solid #e6edf6;border-radius:18px;background:#f8fbff;padding:1rem;cursor:pointer}
.hierarchy-item.active{background:linear-gradient(135deg, rgba(227,6,19,.10), rgba(13,87,161,.08));border-color:#dbe4f0}
.hierarchy-tag{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.3rem .65rem;background:#eef5ff;color:#31527c;font-size:.8rem;font-weight:700}
.hierarchy-empty{border:2px dashed #d8e1ee;border-radius:18px;padding:1.2rem;background:#fbfdff;color:#738197}
.breadcrumb-card{border-radius:18px;padding:1rem 1.1rem;background:#f8fbff;border:1px solid #e6edf6}
.breadcrumb-steps{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;font-weight:700;color:#33465e}
.breadcrumb-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .7rem;background:#eef5ff;color:#31527c;font-size:.82rem}
.counter-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .7rem;background:#f4f7fb;color:#33465e;font-size:.82rem;font-weight:800}
.action-cell{min-width:170px}
.action-desktop{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.action-mobile{display:none}
.action-btn{
  width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:#f4f7fb;transition:.2s ease
}
.action-btn-view{color:#0d57a1;background:rgba(13,87,161,.10)}
.action-btn-add{color:#1da56b;background:rgba(29,165,107,.12)}
.action-btn-import{color:#e30613;background:rgba(227,6,19,.10)}
.action-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(31,41,55,.10)}
.dropdown-actions .dropdown-menu{border:none;border-radius:16px;box-shadow:0 20px 40px rgba(31,41,55,.12);padding:.6rem}
.dropdown-actions .dropdown-item{border-radius:12px;font-weight:700;padding:.7rem .85rem;display:flex;align-items:center;gap:.65rem}
.selected-training-card,.upload-box,.excel-model-box,.import-confirm-box,.success-hint{border-radius:18px}
.selected-training-card{padding:1rem;background:#f8fbff;border:1px solid #e6edf6}
.upload-box{border:2px dashed #d8e1ee;padding:1.25rem;background:#fbfdff}
.excel-model-box{border:1px solid #e6edf6;overflow:hidden;background:#fff}
.excel-model-head{background:#eef5ff;color:#25405f;font-weight:800;padding:.85rem 1rem;border-bottom:1px solid #e6edf6}
.excel-model-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr))}
.excel-model-cell{padding:.8rem .9rem;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;font-size:.92rem}
.excel-model-header{background:#f8fbff;font-weight:800;color:#33465e}
.import-confirm-box{background:#fff8f8;border:1px solid #ffd7da;padding:1rem}
.success-hint{padding:.9rem 1rem;background:rgba(29,165,107,.10);color:#0d7a4c;font-weight:700}
.chart-real,.chart-small{
  min-height:320px;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.88);box-shadow:0 16px 45px rgba(31,41,55,.05);padding:1rem
}
.chart-small{min-height:280px}
.footer-note{color:#8a95a7;font-size:.9rem;text-align:center;margin-top:1.5rem}
.mini-action-btn{
  width:32px !important;
  height:32px !important;
  border:none !important;
  border-radius:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  transition:.2s ease !important;
}

.mini-action-btn.edit{
  color:#0d57a1 !important;
  background:rgba(13,87,161,.12) !important;
  box-shadow:inset 0 0 0 1px rgba(13,87,161,.08) !important;
}

.mini-action-btn.delete{
  color:#e30613 !important;
  background:rgba(227,6,19,.12) !important;
  box-shadow:inset 0 0 0 1px rgba(227,6,19,.08) !important;
}

.mini-action-btn.edit:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(13,87,161,.16) !important;
}

.mini-action-btn.delete:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(227,6,19,.16) !important;
}
.mini-action-btn.success{
  background: rgba(34, 197, 94, .12);
  color: #15803d;
  border: 1px solid rgba(34, 197, 94, .18);
}

.mini-action-btn.success:hover{
  background: rgba(34, 197, 94, .18);
  color: #166534;
}

.mini-action-btn i{
  font-size:14px;
  line-height:1;
}
.sidebar .nav-link.nav-link-logout{
  color: #e30613 !important;
  border-radius: 14px;
}

.sidebar .nav-link.nav-link-logout:hover i,
.sidebar .nav-link.nav-link-logout:hover span,
.sidebar .nav-link.nav-link-logout:focus i,
.sidebar .nav-link.nav-link-logout:focus span{
  color: #FFF !important;
}
@media (max-width:1199.98px){
  .sidebar{position:static;width:100%;min-height:auto}
  .main{margin-left:0;padding:1rem}
}
@media (max-width:767.98px){
  .action-desktop{display:none}
  .action-mobile{display:block}
  .action-cell{min-width:120px}
  .excel-model-grid{grid-template-columns:1fr}
  .table-modern thead th,.table-modern tbody td{white-space:normal}
}