/* TFD Professional UI/UX consistency layer */
:root{
  --tfd-ink:#241f1b;
  --tfd-muted:#756b5f;
  --tfd-surface:#fffdf8;
  --tfd-soft:#fbf6ec;
  --tfd-soft-2:#f6efe2;
  --tfd-line:#e8ddcb;
  --tfd-line-strong:#d8c8af;
  --tfd-gold:#c99132;
  --tfd-gold-soft:#fff2d3;
  --tfd-brown:#2a231d;
  --tfd-brown-2:#3a2e24;
  --tfd-teal:#1f766b;
  --tfd-green:#23724d;
  --tfd-red:#b63f2f;
  --tfd-shadow:0 16px 38px rgba(45,36,26,.075);
  --tfd-shadow-soft:0 8px 22px rgba(45,36,26,.055);
  --tfd-radius:18px;
}
html{scroll-behavior:smooth;}
body.td-v40-body, body{
  background:#fbf6ec!important;
  color:var(--tfd-ink)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.td-v40-main{background:linear-gradient(180deg,#fbf6ec 0%,#f7efe2 100%)!important;}
.td-v40-content{padding:22px!important;max-width:1560px;width:100%;}
.td-v40-topbar{background:rgba(255,253,248,.94)!important;border-bottom:1px solid var(--tfd-line)!important;box-shadow:0 10px 24px rgba(42,35,29,.045)!important;}
.td-v40-topbar-inner{min-height:68px!important;gap:16px!important;}
.td-v40-mini-label{letter-spacing:.08em!important;text-transform:uppercase!important;font-size:10px!important;font-weight:900!important;color:#8a7049!important;}
.td-v40-page-title{font-size:18px!important;font-weight:900!important;color:var(--tfd-ink)!important;}
.td-v40-search{height:42px!important;border:1px solid var(--tfd-line)!important;background:#fffdf8!important;border-radius:14px!important;box-shadow:0 8px 18px rgba(45,36,26,.04)!important;}
.td-v40-search input{font-weight:700!important;color:var(--tfd-ink)!important;}
.td-v40-search input::placeholder{color:#9b8d7a!important;}
.td-v40-search kbd{background:#f8efe0!important;border-color:#eadcc7!important;color:#765b2e!important;}
.td-v40-icon-btn,.td-v40-install,.td-v40-logout,.td-personal-dashboard-link,.td-active-session-pill{
  border-radius:12px!important;box-shadow:none!important;text-decoration:none!important;
}
.td-v40-icon-btn{border:1px solid var(--tfd-line)!important;background:#fffdf8!important;color:#5f4b31!important;width:40px!important;height:40px!important;display:inline-grid!important;place-items:center!important;}
.td-v40-icon-btn:hover{background:#fff3d8!important;border-color:#d7b56f!important;}
.td-v40-install{background:#f6efe2!important;border:1px solid var(--tfd-line)!important;color:#5b4526!important;font-weight:850!important;}
.td-v40-logout{background:#2a231d!important;color:#f9e2b4!important;border:1px solid rgba(255,255,255,.1)!important;font-weight:850!important;}
.td-v40-user{background:#fff8eb!important;border:1px solid var(--tfd-line)!important;border-radius:14px!important;padding:6px 10px!important;}
.td-v40-user strong{font-size:12px!important;color:var(--tfd-ink)!important;}
.td-v40-user small{font-size:10.5px!important;color:var(--tfd-muted)!important;}
.td-v40-user img{width:32px!important;height:32px!important;border-radius:50%!important;background:#fff!important;border:1px solid #eadcc7!important;}
.td-v40-sidebar{background:linear-gradient(180deg,#211b16 0%,#2e241c 56%,#1a1511 100%)!important;border-right:1px solid rgba(0,0,0,.28)!important;box-shadow:14px 0 34px rgba(42,35,29,.14)!important;}
.td-v50-brand{padding:15px 14px 12px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
.td-v50-logo.td-institute-logo{width:48px!important;height:48px!important;box-shadow:0 8px 18px rgba(0,0,0,.22)!important;}
.td-v50-brand-copy strong{font-size:13.3px!important;font-weight:900!important;color:#fff7e8!important;}
.td-v50-brand-copy span{color:#c7b8a2!important;font-size:10.8px!important;}
.td-v50-user-card{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.09)!important;border-radius:12px!important;}
.td-v50-menu-heading{font-size:10px!important;color:#a89476!important;letter-spacing:.12em!important;}
.td-v50-group-title,.td-v50-single{border-radius:11px!important;min-height:39px!important;}
.td-v50-group-title:hover,.td-v50-single:hover{background:rgba(255,255,255,.075)!important;}
.td-v50-group-title.active,.td-v50-single.active{background:#3a2d1f!important;border-color:rgba(201,145,50,.35)!important;color:#fff!important;}
.td-v50-group-icon{background:rgba(255,255,255,.07)!important;color:#e0ad55!important;}
.td-v50-group-title.active .td-v50-group-icon{background:#c99132!important;color:#21160c!important;}
.td-v50-submenu{border-left:1px solid rgba(255,255,255,.10)!important;gap:3px!important;}
.td-v50-subitem{border-radius:8px!important;font-weight:650!important;}
.td-v50-subitem.active{background:#fff1ce!important;color:#2c1e0e!important;font-weight:850!important;}
/* Generic page shells */
.tz-card,.tz-card-soft,.td-v40-card,.td-card,.td-card-soft,.td-smart-panel,.td-v49-panel,.lms-card,.td-training-card,.td-att-card,.exam-card,.hr-card,.kh-card,.ss-panel,.report-card,.front-card,.student-card,.td-acad-card,.expense-card,.behavior-card,.download-card,.certificate-card,.settings-card,.glass-card,.bg-white.border,.bg-white\/90,.bg-white\/95{
  background:var(--tfd-surface)!important;
  border:1px solid var(--tfd-line)!important;
  border-radius:var(--tfd-radius)!important;
  box-shadow:var(--tfd-shadow-soft)!important;
}
.tz-card:hover,.td-v40-card:hover,.lms-card:hover,.td-training-card:hover,.td-att-card:hover,.hr-card:hover,.kh-card:hover,.ss-panel:hover,.report-card:hover,.td-acad-card:hover,.expense-card:hover,.behavior-card:hover,.download-card:hover{
  border-color:#dcc9a9!important;
}
/* Page headings across old/new modules */
.tz-page-title,.ss-title,.td-page-title,.td-title,.td-training-title,.td-att-hero h1,.exam-head h1,.hr-title,.lms-page-title,.kh-title,.v54-title,.v56-title,h1{
  color:var(--tfd-ink)!important;
  letter-spacing:-.025em!important;
}
.ss-title-kicker,.td-att-kicker,.td-training-kicker,.lms-kicker,.hr-kicker,.kh-kicker,.v54-eyebrow,.v56-kicker{
  color:#9a6a21!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  font-weight:900!important;
}
.tz-subtitle,.ss-subtitle,.td-subtitle,.td-muted,.td-training-muted,.lms-muted,.hr-sub,.kh-muted,p.text-slate-500,p.text-slate-600,p.text-gray-500,p.text-gray-600{
  color:var(--tfd-muted)!important;
}
/* Hero/header panels: keep institutional, remove overly decorative feel */
.brand-gradient,.td-training-hero,.td-att-hero,.exam-head,.hr-hero,.kh-hero,.lms-hero,.phase3-hero,.v54-hero,.v56-hero,.bg-gradient-to-r{
  background:linear-gradient(135deg,#2b241d,#3a2c20)!important;
  border:1px solid rgba(201,145,50,.22)!important;
  box-shadow:var(--tfd-shadow)!important;
  border-radius:20px!important;
}
.brand-gradient *, .td-training-hero *, .td-att-hero *, .exam-head *, .hr-hero *, .kh-hero *, .lms-hero *, .phase3-hero *, .v54-hero *, .v56-hero *, .bg-gradient-to-r *{
  color:#fff6e7!important;
}
/* Forms */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.tz-input,.tz-select,.tz-textarea,.td-training-field,.lms-form input,.lms-form select,.lms-form textarea,.hr-input,.kh-input,.exam-input,.td-att-input{
  border:1px solid #dccdb8!important;
  background:#fffdf8!important;
  color:var(--tfd-ink)!important;
  border-radius:12px!important;
  padding:.68rem .82rem!important;
  min-height:40px;
  box-shadow:none!important;
}
textarea{min-height:96px;}
input:focus,select:focus,textarea:focus,.tz-input:focus,.td-training-field:focus,.hr-input:focus,.kh-input:focus,.exam-input:focus,.td-att-input:focus{
  outline:none!important;
  border-color:#c99132!important;
  box-shadow:0 0 0 3px rgba(201,145,50,.14)!important;
}
label,.tz-label,.td-training-label,.hr-label,.kh-label,.exam-label,.td-att-label{
  color:#574636!important;
  font-weight:850!important;
  font-size:12px!important;
}
/* Buttons */
button,.tz-btn,.td-btn,.td-v40-btn,.td-training-btn,.lms-btn,.hr-btn,.kh-btn,.exam-btn,.td-att-btn,.ss-btn,.btn-primary,.btn-soft,.inline-flex.items-center.justify-center{
  border-radius:12px!important;
  font-weight:850!important;
}
.tz-btn-primary,.td-btn-primary,.td-v40-btn.primary,.td-training-btn.primary,.lms-btn.primary,.hr-btn.primary,.kh-btn.primary,.exam-btn.primary,.td-att-btn.primary,.btn-primary{
  background:#2b241d!important;
  color:#f7d993!important;
  border:1px solid rgba(201,145,50,.28)!important;
  box-shadow:0 10px 22px rgba(42,35,29,.13)!important;
}
.tz-btn-light,.td-btn-light,.btn-soft,.lms-btn,.hr-btn,.kh-btn,.exam-btn,.td-att-btn{
  background:#fff8eb!important;
  color:#4c3a23!important;
  border:1px solid #e3d3bd!important;
}
button:hover,.tz-btn:hover,.td-btn:hover,.td-training-btn:hover,.lms-btn:hover,.hr-btn:hover,.kh-btn:hover,.exam-btn:hover,.td-att-btn:hover{filter:none!important;transform:translateY(-1px);}
/* Tables */
.table-responsive,.overflow-x-auto,.td-table-wrap,.lms-table-wrap{border-radius:14px;}
table,.tz-table,.td-v40-table,.td-v49-table,.td-smart-table,.lms-table,.td-training-table,.hr-table,.kh-table,.exam-table,.td-att-table,.report-table{
  width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fffdf8!important;border:1px solid var(--tfd-line)!important;border-radius:14px!important;overflow:hidden!important;
}
table th,.tz-table th,.td-v40-table th,.td-v49-table th,.td-smart-table th,.lms-table th,.td-training-table th,.hr-table th,.kh-table th,.exam-table th,.td-att-table th,.report-table th{
  background:#f7eddd!important;color:#5f4a30!important;font-size:11px!important;letter-spacing:.075em!important;text-transform:uppercase!important;font-weight:900!important;padding:12px 14px!important;border-bottom:1px solid var(--tfd-line)!important;text-align:left!important;
}
table td,.tz-table td,.td-v40-table td,.td-v49-table td,.td-smart-table td,.lms-table td,.td-training-table td,.hr-table td,.kh-table td,.exam-table td,.td-att-table td,.report-table td{
  padding:12px 14px!important;border-bottom:1px solid #f1e8da!important;vertical-align:top!important;color:#332920!important;
}
table tr:last-child td{border-bottom:0!important;}
table tbody tr:hover td{background:#fff8eb!important;}
/* Badges / statuses */
.tz-pill,.td-badge,.td-v40-badge,.td-v49-badge,.td-smart-badge,.lms-badge,.td-training-badge,.hr-badge,.kh-badge,.exam-badge,.td-att-badge,.badge{
  border-radius:999px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.015em!important;padding:5px 9px!important;border:1px solid transparent!important;
}
.lms-badge.green,.td-badge-green,.badge-success,.status-approved{background:#e9f7f1!important;color:#196642!important;border-color:#bfe3d1!important;}
.lms-badge.gold,.badge-warning,.status-pending{background:#fff2d3!important;color:#8a5b0f!important;border-color:#ead19a!important;}
.lms-badge.red,.badge-danger,.status-rejected{background:#fff0ec!important;color:#a93c2e!important;border-color:#f3c1b6!important;}
/* Empty states */
.tz-empty,.td-empty,.lms-empty,.td-training-empty,.hr-empty,.kh-empty,.exam-empty,.td-att-empty,.empty-polished,.text-center.text-slate-500{
  border:1px dashed #d9c9b0!important;background:#fff8eb!important;border-radius:16px!important;color:#735f49!important;font-weight:750!important;padding:18px!important;
}
/* Filters */
form[class*="filter"],.filter-card,.search-card,.td-filter,.lms-filter,.hr-filter,.kh-filter,.exam-filter,.td-att-filter{
  background:#fffdf8!important;border:1px solid var(--tfd-line)!important;border-radius:16px!important;box-shadow:var(--tfd-shadow-soft)!important;
}
/* Alerts */
.td-v40-alert{border-radius:14px!important;border:1px solid transparent!important;box-shadow:none!important;font-weight:750!important;}
.td-v40-alert.success{background:#eaf8f0!important;border-color:#bfe6d1!important;color:#185f40!important;}
.td-v40-alert.warning{background:#fff3d8!important;border-color:#ebd39d!important;color:#7a4f0d!important;}
.td-v40-alert.danger{background:#fff0ec!important;border-color:#f1c1b8!important;color:#943225!important;}
/* Pagination */
nav[role="navigation"] a,nav[role="navigation"] span{border-radius:10px!important;}
/* Keep pages readable on mobile */
@media(max-width:900px){
  .td-v40-content{padding:14px!important;}
  .td-v40-topbar-inner{gap:8px!important;}
  .td-v40-search{display:none!important;}
  table{font-size:13px!important;}
  table th,table td{padding:10px!important;}
  .grid,.lms-grid,.td-training-grid{grid-template-columns:1fr!important;}
}
@media print{
  .td-v40-topbar,.td-v40-sidebar,.no-print,.td-v50-sidebar{display:none!important;}
  .td-v40-content{padding:0!important;background:#fff!important;}
  .tz-card,.td-v40-card,.lms-card,.td-training-card,.hr-card,.kh-card,.exam-card,.td-att-card{box-shadow:none!important;border-color:#ddd!important;}
}
