/* Trainer Management System - Unified visual theme */
:root{--tms-primary:#17365d;--tms-primary-dark:#102744;--tms-accent:#c49a42;--tms-bg:#f4f6f9;--tms-surface:#ffffff;--tms-text:#243447;--tms-muted:#64748b;--tms-border:#dbe3ec;--tms-success:#16794b;--tms-warning:#a85b08;--tms-danger:#b42332;--tms-radius:12px;--tms-shadow:0 5px 18px rgba(16,39,68,.09)}
html{color-scheme:light}body{font-family:Inter,"Segoe UI",Arial,sans-serif!important;background:var(--tms-bg)!important;color:var(--tms-text)!important;line-height:1.55}h1,h2,h3,h4,h5{color:var(--tms-primary-dark)}a{color:var(--tms-primary);text-underline-offset:3px}a:hover{color:var(--tms-accent)}button,.btn,input[type=submit],input[type=button],input[type=reset],.button{border-radius:8px!important;transition:background-color .15s ease,box-shadow .15s ease;cursor:pointer}button,.btn,input[type=submit],input[type=button],.button{font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea{border:1px solid var(--tms-border)!important;border-radius:8px!important;padding:9px 11px;max-width:100%;box-sizing:border-box;background:#fff;color:var(--tms-text)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(22,140,140,.2);border-color:var(--tms-accent)!important}table{border-collapse:collapse!important;width:100%;background:var(--tms-surface)}th{background:#eaf1f8!important;color:var(--tms-primary-dark)!important;font-weight:700}th,td{border-color:var(--tms-border)!important;padding:10px 12px}tr:nth-child(even) td{background:#f8fafc}tr:hover td{background:#eef7f8}.card,.stat-card,.panel,.content-card,.dashboard-card,.form-card,.report-card{border:1px solid var(--tms-border)!important;border-radius:var(--tms-radius)!important;box-shadow:var(--tms-shadow)!important;background:var(--tms-surface)}hr{border:0;border-top:1px solid var(--tms-border)}.alert,.message,.notice{border-radius:9px}nav a,.sidebar a{border-radius:7px}.badge,.status-badge{border-radius:999px;font-weight:700;padding:4px 9px}.container,.main-content,.content,.page-content{max-width:1440px}img{max-width:100%;height:auto} @media(max-width:768px){body{font-size:15px}table{display:block;overflow-x:auto;white-space:nowrap}button,.btn,input[type=submit]{min-height:38px}}

/* Khmer Angkor Wat visual identity — shared across application pages */
body{
 background-color:#f4f6f9!important;
 background-image:url("../brand/angkor-wat-motif.svg"),linear-gradient(135deg,#f7f8fb 0%,#eef2f7 100%)!important;
 background-repeat:no-repeat,no-repeat!important;
 background-position:right 18px bottom 12px,center!important;
 background-size:min(62vw,820px) auto,cover!important;
 background-attachment:fixed,fixed!important;
}
.sidebar,aside.sidebar,.sidebar-menu{
 border-right:1px solid rgba(196,154,66,.32)!important;
}
.topbar,header,.page-header{
 border-bottom-color:rgba(196,154,66,.42)!important;
}
/* Dashboard banner uses the real Angkor Wat panorama defined in index.php. */
.welcome-banner{
 background-image:linear-gradient(90deg,rgba(5,29,67,.80) 0%,rgba(8,40,83,.34) 43%,rgba(8,39,78,.06) 100%),url("../brand/angkor-wat-dashboard-banner.jpg")!important;
 background-position:center,center 48%!important;
 background-repeat:no-repeat,no-repeat!important;
 background-size:cover,cover!important;
 border:1px solid rgba(222,190,119,.38)!important;
 box-shadow:0 12px 30px rgba(16,39,68,.16)!important;
}
.brand-logo,.brand-icon,.stat-icon{
 border-color:rgba(196,154,66,.25)!important;
}
.card,.stat-card,.panel,.content-card,.dashboard-card,.form-card,.report-card{
 border-color:rgba(196,154,66,.20)!important;
}
button,.btn,input[type=submit],input[type=button],.button{
 transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
button:hover,.btn:hover,input[type=submit]:hover,.button:hover{
 box-shadow:0 4px 12px rgba(16,39,68,.13)!important;
}
th{
 background:#e9eef4!important;
 border-bottom:2px solid rgba(196,154,66,.45)!important;
}
a:hover{color:#a77a20!important}
@media(max-width:768px){
 body{background-size:95vw auto,cover!important;background-position:right bottom 8px,center!important}
 .welcome-banner{background-size:cover,cover!important;background-position:center,center 48%!important}
}

/* Khmer Angkor Wat identity - shared theme for application pages */
:root {
  --tms-primary:#123b72;
  --tms-primary-dark:#08264d;
  --tms-accent:#c49a42;
  --tms-bg:#eef3fb;
  --tms-surface:#ffffff;
  --tms-text:#193251;
  --tms-muted:#6a7f9c;
  --tms-border:#d9e4f2;
  --tms-success:#13845e;
  --tms-warning:#b87912;
  --tms-danger:#b72e3c;
  --tms-radius:14px;
  --tms-shadow:0 6px 20px rgba(8,36,76,.07);
}
body {
  background:
    radial-gradient(ellipse at 95% 0%,rgba(196,154,66,.07),transparent 27%),
    #eef3fb !important;
  color:#193251 !important;
}
h1,h2,h3,h4,h5 { color:#09264d; }
header,.topbar,.navbar {
  background:#fff !important;
  border-bottom:1px solid #d9e4f2 !important;
}
.sidebar,aside.sidebar,.side-menu,.sidebar-menu {
  background:linear-gradient(180deg,#061d3d 0%,#0b3265 72%,#09254b 100%) !important;
  color:#f3f7ff !important;
  border-color:rgba(196,154,66,.32) !important;
}
.sidebar a,.side-menu a,.sidebar-menu a {
  color:#d9e5f7 !important;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.sidebar a:hover,.side-menu a:hover,.sidebar-menu a:hover {
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
}
.sidebar a.active,.sidebar .active,.side-menu a.active,.sidebar-menu a.active,
.nav-link.active {
  color:#09264c !important;
  background:linear-gradient(100deg,#f5d47f,#c9952f) !important;
  border-color:#f6df9e !important;
}
.sidebar .brand-title,.sidebar .logo-title { color:#fff !important; }
.sidebar .brand-subtitle,.sidebar .logo-subtitle { color:#c5d4eb !important; }
.card,.panel,.content-card,.form-card,.report-card,.stat-card,.dashboard-card {
  border-color:#dbe5f2 !important;
  border-radius:14px !important;
  box-shadow:0 6px 20px rgba(8,36,76,.06) !important;
}
table { border-color:#d9e4f2 !important; }
th { background:#eaf1f9 !important;color:#09264d !important; }
tr:nth-child(even) td { background:#f8fbff; }
button,.btn,input[type=submit],input[type=button],.button {
  border-radius:9px !important;
}
.btn-primary,button.primary,.button-primary {
  background:linear-gradient(120deg,#174a87,#0c2d5b) !important;
  border-color:#174a87 !important;
  color:#fff !important;
}
.btn-primary:hover,button.primary:hover,.button-primary:hover {
  background:linear-gradient(120deg,#0c2d5b,#c49a42) !important;
}
.badge,.status-badge { font-weight:700; }
.alert,.message,.notice { border-radius:10px !important; }

/* Matching Khmer gold/navy login styling */
.login-card {
  border:1px solid rgba(196,154,66,.38) !important;
  border-radius:20px !important;
  box-shadow:0 20px 55px rgba(8,36,76,.12),0 0 0 5px rgba(196,154,66,.035) !important;
}
.login-card h2,.brand h1 { color:#09264d !important; }
.brand-icon {
  background:linear-gradient(135deg,#123b72,#08264d) !important;
  border:1px solid #c49a42 !important;
  box-shadow:0 10px 25px rgba(8,36,76,.18) !important;
}
.login-button {
  background:linear-gradient(115deg,#123b72,#09264d 70%,#b58b35) !important;
  box-shadow:0 6px 16px rgba(8,36,76,.15);
}
.login-button:hover {
  background:linear-gradient(115deg,#09264d,#c49a42) !important;
}

