:root{
  --brand-50:#f0fdf4;
  --brand-100:#dcfce7;
  --brand-200:#bbf7d0;
  --brand-300:#86efac;
  --brand-400:#4ade80;
  --brand-500:#22c55e;
  --brand-600:#16a34a;
  --brand-700:#15803d;
  --brand-800:#166534;
  --brand-900:#14532d;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#e5e7eb;
  --bg:#f0fdf4;
  --bs-body-font-family:"Trebuchet MS",Trebuchet,Arial,Helvetica,sans-serif;
  --bs-font-sans-serif:"Trebuchet MS",Trebuchet,Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:
  radial-gradient(1200px 600px at 10% 0%, rgba(34,197,94,.16) 0%, rgba(34,197,94,0) 60%),
  radial-gradient(900px 500px at 90% 15%, rgba(21,128,61,.12) 0%, rgba(21,128,61,0) 55%),
  linear-gradient(180deg,#f0fdf4 0%, #ecfccb 100%);
  color:var(--text);
  font-family:"Trebuchet MS",Trebuchet,Arial,Helvetica,sans-serif
}
body, .form-control, .form-select, textarea, input, select, button{font-size:16px}
input,select,textarea,button{font-family:inherit}
a{color:inherit}
a.btn{text-decoration:none}
.btn{background:var(--brand-600);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background .15s ease,transform .05s ease}
.btn:hover{background:var(--brand-700)}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:linear-gradient(180deg, rgba(34,197,94,.96), rgba(22,163,74,.96))}
.btn.secondary:hover{background:linear-gradient(180deg, rgba(22,163,74,.98), rgba(21,128,61,.98))}
.btn .bi{color:inherit}
.btn:focus,.btn:focus-visible,.btn:active:focus{outline:0!important;box-shadow:none!important}
.stepper{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:16px 0 18px}
.stepper .step{display:flex;align-items:center;gap:10px;user-select:none;cursor:pointer}
.stepper .circle{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;border:2px solid var(--border);background:#fff;color:#334155}
.stepper .label{font-size:14px;color:var(--muted);font-weight:800;letter-spacing:.2px}
.stepper .line{width:80px;max-width:12vw;height:2px;background:var(--border);border-radius:2px}
.stepper .step.active .circle{background:linear-gradient(180deg, rgba(21,128,61,.98), rgba(13,72,44,.98));border-color:rgba(21,128,61,.98);color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.14)}
.stepper .step.active .label{color:var(--brand-900)}
.stepper .step.done .circle{background:linear-gradient(180deg, rgba(22,163,74,.98), rgba(13,72,44,.98));border-color:rgba(22,163,74,.98);color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.12)}
.stepper .line.done{background:var(--brand-500)}
.msdd{position:relative}
.msdd-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px}
.msdd-toggle:focus{border-color:rgba(22,163,74,.55);box-shadow:0 0 0 .2rem rgba(22,163,74,.18)}
.msdd-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-weight:600}
.msdd-caret{color:#64748b;transition:transform .15s ease}
.msdd.open .msdd-caret{transform:rotate(180deg)}
.msdd-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:50;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.10);padding:10px;display:none;max-height:280px;overflow:auto;counter-reset:msddopt}
.msdd.open .msdd-menu{display:block}
.msdd-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}
.msdd-item::before{counter-increment:msddopt;content:counter(msddopt) ".";display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.18);color:var(--brand-800);font-weight:900}
.msdd-item:hover{background:#f1f5f9}
.msdd-item input{width:16px;height:16px;accent-color:var(--brand-600)}
.msdd-other{margin-top:8px}
.card{border-color:rgba(22,163,74,.18);border-radius:16px;box-shadow:0 12px 28px rgba(13,72,44,.08)}
.card-header{border-top-left-radius:16px!important;border-top-right-radius:16px!important;background:linear-gradient(180deg, rgba(240,253,244,1) 0%, rgba(220,252,231,1) 100%);border-bottom:1px solid rgba(22,163,74,.18)}
.card-body{padding:18px}
.seg{border-color:var(--border)}
input,select,textarea,.form-control,.form-select{border-color:#d1d5db;border-radius:12px}
textarea.form-control,textarea{min-height:44px}
input.form-control,input,select.form-select,select{min-height:44px}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:rgba(22,163,74,.65);box-shadow:0 0 0 .2rem rgba(22,163,74,.18);outline:0}
.form-check-input:checked{background-color:var(--brand-600);border-color:var(--brand-600)}
.input-group-text{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.18);color:var(--brand-800)}
.input-group-text .bi{color:var(--brand-700)}
#skillsTable thead th{font-size:12px;white-space:nowrap}
#skillsTable td{vertical-align:middle}
#skillsTable .skills-actions{width:1%;white-space:nowrap}
#skillsTable .skills-actions-inner{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#skillsTable .skills-actions .btn{background:#eef2f7;color:#0f172a;border:1px solid #d1d5db;box-shadow:none;font-weight:700;padding:6px 10px;border-radius:10px}
#skillsTable .skills-actions .btn:hover{background:#e2e8f0}
#skillsTable .skills-actions .btn .bi{color:#0f172a}
#skillsTable .skills-actions .btn.danger{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
#skillsTable .skills-actions .btn.danger:hover{background:#fecaca}
#skillsTable .skills-actions .btn.danger .bi{color:#7f1d1d}
#c2c3Table thead th{font-size:12px;white-space:nowrap}
#c2c3Table td{vertical-align:middle}
#c2c3Table .c2c3-actions{width:1%;white-space:nowrap;text-align:right}
#c2c3Table .c2c3-actions .btn{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
#c2c3Table .c2c3-actions .btn:hover{background:#fecaca}
#c2c3Table .c2c3-actions .btn .bi{color:#7f1d1d}
#ageGenderQualTable{min-width:1200px}
#ageGenderQualTable thead th{font-size:11px;white-space:nowrap}
#ageGenderQualTable td{vertical-align:middle}
#ageGenderQualTable input.form-control{min-width:90px}
#ageGenderQualTable thead .wd-group{background:#f8fafc;border-bottom:1px solid var(--border);font-size:12px;font-weight:800;color:#0f172a}
#ageGenderQualTable thead .wd-subhead th{background:#fff;font-weight:700}
#ageGenderQualTable thead .wd-total{background:#f8fafc;font-weight:800}
#ageGenderQualTable thead th.wd-split{border-left:2px solid var(--border)}
#ageGenderQualTable tbody td:nth-child(7),
#ageGenderQualTable tfoot th:nth-child(7){border-left:2px solid var(--border)}
#ageGenderQualTable tbody td:nth-child(12),
#ageGenderQualTable tfoot th:nth-child(12){border-left:2px solid var(--border)}
.card-header .bi,.panel-h .bi{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(21,128,61,.98), rgba(13,72,44,.98));
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  flex:0 0 auto;
  font-size:14px;
}
.card-body label,.card-body .form-label{font-weight:800;color:#0f172a;line-height:1.35}
.card-body label{margin-top:12px}
.card-body label:first-child{margin-top:0}
.card-body .text-muted{color:#64748b!important}
.login-body .fw-semibold,.login-body .fw-bold{font-weight:700!important}
.field-num{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:999px;background:linear-gradient(180deg, rgba(22,163,74,.98), rgba(13,72,44,.98));color:#fff;font-weight:900;margin-right:10px;padding:0 10px;box-shadow:0 10px 22px rgba(0,0,0,.14);font-size:13px;letter-spacing:.2px}
.field-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.18);color:var(--brand-800);font-size:12px;flex:0 0 auto}
header.app{background:linear-gradient(90deg,var(--brand-700),var(--brand-600));color:#fff;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
header.app .app-bar{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
header.app .app-left{justify-self:start;display:flex;align-items:center}
header.app .app-right{justify-self:end;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
header.app .app-title{text-align:center}
header.app .app-title-main{font-weight:900;line-height:1.1;font-size:22px;letter-spacing:.2px}
header.app .app-title-sub{font-size:16px;opacity:.96}
header.app .app-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
header.app .app-nav .btn{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 18px rgba(0,0,0,.10);font-weight:800}
header.app .app-nav .btn:hover{background:rgba(255,255,255,.22);transform:none}
header.app .app-nav .btn.secondary{background:rgba(255,255,255,.14)}
header.app .app-nav .btn.secondary:hover{background:rgba(255,255,255,.22)}
header.app .app-nav .btn.active{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.95);color:var(--brand-900)}
header.app .app-nav .btn.active .bi{color:var(--brand-700)}
@media (max-width: 900px){
  header.app .app-bar{grid-template-columns:1fr;justify-items:center;text-align:center}
  header.app .app-left,header.app .app-right{justify-self:center}
  header.app .app-right{justify-content:center}
  header.app .app-nav{justify-content:center}
  header.app .app-title-main{font-size:20px}
  header.app .app-title-sub{font-size:15px}
}
footer.app{background:#fff;border-top:1px solid var(--border);color:var(--muted);padding:18px;text-align:center;font-size:14px;line-height:1.6}

.container-fluid.page{width:100%}
.container-xxl{max-width:100%!important}

.page{max-width:none}
.table{--bs-table-color:var(--text)}
.table thead th{background:linear-gradient(180deg, rgba(240,253,244,1) 0%, rgba(220,252,231,1) 100%);border-bottom:1px solid rgba(22,163,74,.18);font-weight:900;color:#064e3b;position:sticky;top:0;z-index:2}
.table tbody tr:hover{background:#f8fafc}
.table td,.table th{padding:.65rem .75rem}
@media (max-width: 600px){
  .container-fluid.page{padding-left:12px!important;padding-right:12px!important}
  .container-xxl{padding-left:0!important;padding-right:0!important}
  .stepper{gap:10px}
  .stepper .line{display:none}
  .stepper .circle{width:34px;height:34px}
  .stepper .label{font-size:11px}
  .grid-2{grid-template-columns:1fr!important}
  .grid-3{grid-template-columns:1fr!important}
  .chips{grid-template-columns:1fr!important}
  .card-header{flex-wrap:wrap}
  .btn{width:100%}
  header.app .app-nav .btn{width:auto}
  .tablewrap{overflow:auto}
  table.table{min-width:720px}
  #ageGenderQualTable{min-width:1040px}
  #ageGenderQualTable input.form-control{min-width:74px}
  .msdd-menu{position:fixed;left:10px;right:10px;bottom:10px;top:auto;max-height:60vh}
  footer.app{font-size:13px}
}
