:root{
  --fam-primary:#006664;
  --fam-primary-dark:#004a49;
  --fam-primary-deep:#003837;
  --fam-primary-soft:#e6f5f4;
  --fam-sky:#8fd8f3;
  --fam-sky-strong:#61c3e7;
  --fam-sky-soft:#edfaff;
  --fam-bg:#f5fbfc;
  --fam-card:#ffffff;
  --fam-border:#d6e7eb;
  --fam-text:#12353a;
  --fam-muted:#5f7f85;
  --fam-shadow:0 20px 60px rgba(0, 77, 76, .12);
  --fam-shadow-soft:0 8px 24px rgba(0, 77, 76, .08);
  --fam-radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Kanit',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  color:var(--fam-text) !important;
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(143,216,243,.40), transparent 24rem),
    radial-gradient(circle at top right, rgba(0,102,100,.14), transparent 28rem),
    linear-gradient(180deg, #f9feff 0%, #f2fbfb 44%, #eef8fb 100%) !important;
  padding-top:92px !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0));
}
a{color:var(--fam-primary);transition:all .18s ease}
a:hover{color:var(--fam-primary-dark)}
img{max-width:100%;height:auto}
body>.container,
body>.container-fluid,
.login-box,
.center-box,
.result-box,
.card,
.table-responsive,
.modal-content,
.offcanvas,
.tab-content{
  border:1px solid rgba(214,231,235,.95) !important;
  border-radius:var(--fam-radius) !important;
  box-shadow:var(--fam-shadow-soft) !important;
}
body>.container,
body>.container-fluid,
.login-box,
.center-box,
.result-box{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(12px) saturate(160%);
}
.container,.container-fluid{background:rgba(255,255,255,.9) !important}
body>.container,body>.container-fluid{padding:28px !important}
.login-box,.center-box,.result-box{padding:26px !important}
.card,.table-responsive,.tab-content,.modal-content{background:#fff !important}
hr,.border,.border-top,.border-bottom{border-color:rgba(214,231,235,.95) !important}
h1,h2,h3,h4,h5,h6{color:var(--fam-primary-dark) !important;letter-spacing:-.02em;font-weight:700}
.text-muted,.small,.term-label,footer,.form-text{color:var(--fam-muted) !important}
.lead{color:#2a5961}
.form-control,.form-select,.input-group-text{
  border:1px solid #c8dde2 !important;
  border-radius:15px !important;
  min-height:46px;
  box-shadow:none !important;
  background:#fff !important;
}
.form-control:focus,.form-select:focus{
  border-color:var(--fam-sky-strong) !important;
  box-shadow:0 0 0 .25rem rgba(97,195,231,.18) !important;
}
textarea.form-control{min-height:110px}
label,.form-label{font-weight:600;color:#23484e}
.btn{
  border-radius:999px !important;
  font-weight:700 !important;
  padding:.64rem 1.1rem !important;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  box-shadow:none !important;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary,.btn-success-custom,.btn-success,.receive-btn{
  background:linear-gradient(135deg,var(--fam-primary) 0%, var(--fam-primary-dark) 100%) !important;
  border-color:var(--fam-primary) !important;
  color:#fff !important;
}
.btn-primary:hover,.btn-success-custom:hover,.btn-success:hover,.receive-btn:hover{
  background:linear-gradient(135deg,var(--fam-primary-dark) 0%, var(--fam-primary-deep) 100%) !important;
  border-color:var(--fam-primary-dark) !important;
}
.btn-outline-primary{
  border-color:var(--fam-primary) !important;
  color:var(--fam-primary) !important;
  background:#fff !important;
}
.btn-outline-primary:hover{background:var(--fam-primary) !important;color:#fff !important}
.btn-outline-success,.btn-outline-secondary{
  border-color:#b8d7df !important;
  color:#2d5960 !important;
  background:#fff !important;
}
.btn-outline-success:hover,.btn-outline-secondary:hover{background:var(--fam-sky-soft) !important;color:var(--fam-primary-dark) !important}
.alert{border:0 !important;border-radius:18px !important;box-shadow:var(--fam-shadow-soft)}
.alert-success{background:#e8f8f3 !important;color:#185942 !important}
.alert-danger{background:#fff0f0 !important;color:#8b2430 !important}
.alert-warning{background:#fff9e8 !important;color:#7a5a08 !important}
.alert-info{background:#edf8ff !important;color:#135670 !important}
.badge,.badge-status{
  border-radius:999px !important;
  padding:.5rem .8rem !important;
  font-weight:700 !important;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}
.bg-secondary{background:#8ca2a8 !important}
.bg-warning{background:#ffe48d !important;color:#6a4d00 !important}
.bg-info{background:#cbefff !important;color:#0b6178 !important}
.bg-success{background:#d8f4eb !important;color:#156349 !important}
.bg-danger{background:#ffe2e6 !important;color:#8b2430 !important}
.bg-dark{background:#294a52 !important;color:#fff !important}
.table{margin-bottom:0 !important;background:#fff;vertical-align:middle}
.table th,.table td{padding:.82rem .8rem !important}
.table thead th{
  position:sticky;top:0;z-index:1;
  background:linear-gradient(180deg,#effafd 0%,#ddf4fb 100%) !important;
  color:var(--fam-primary-dark) !important;
  border-bottom:1px solid #c7e3ea !important;
  white-space:nowrap;
}
.table tbody tr:hover{background:#f3fbfd !important}
.table-responsive{overflow:auto;background:#fff}
.nav-tabs{gap:.55rem;border-bottom:none !important;overflow:auto;flex-wrap:nowrap;padding-bottom:.35rem}
.nav-tabs .nav-link{
  white-space:nowrap;
  border:1px solid #cfe3e7 !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#355e64 !important;
}
.nav-tabs .nav-link.active{
  background:linear-gradient(135deg,var(--fam-primary) 0%, var(--fam-primary-dark) 100%) !important;
  color:#fff !important;
  border-color:var(--fam-primary) !important;
}
.dropdown-menu{
  border:1px solid rgba(214,231,235,.98) !important;
  border-radius:18px !important;
  box-shadow:var(--fam-shadow) !important;
  padding:.55rem !important;
}
.dropdown-item{border-radius:12px;padding:.62rem .8rem !important}
.dropdown-item:hover{background:var(--fam-sky-soft) !important}
.pagination{gap:.35rem;flex-wrap:wrap}
.pagination .page-link{
  border-radius:999px !important;
  border:1px solid #cfe1e6 !important;
  color:var(--fam-primary) !important;
  padding:.55rem .82rem !important;
}
.pagination .page-item.active .page-link,
.pagination .page-link:hover{background:var(--fam-primary) !important;border-color:var(--fam-primary) !important;color:#fff !important}
.logo,.system-logo,.header-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.08))}
.captcha-box{
  background:linear-gradient(180deg,#f5fdff 0%,#ebf8ff 100%) !important;
  border:1px solid #c8e8f1 !important;
  color:var(--fam-primary-dark) !important;
  border-radius:16px !important;
  padding:.75rem 1rem !important;
}
footer{
  margin-top:26px !important;
  background:linear-gradient(180deg,rgba(236,251,255,.85) 0%,rgba(230,247,246,.95) 100%);
  border:1px solid rgba(214,231,235,.95);
  border-radius:18px;
  padding:14px 16px !important;
}
.admin-profile-dropdown{top:82px !important;right:14px !important;z-index:1080 !important}
.admin-profile-dropdown img{border:3px solid #fff;box-shadow:0 12px 28px rgba(0,0,0,.15)}
.admin-menu-toggle{
  border:1px solid rgba(255,255,255,.24) !important;
  background:linear-gradient(135deg,var(--fam-primary) 0%, var(--fam-primary-dark) 100%) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:.62rem 1rem !important;
  font-weight:800 !important;
  box-shadow:0 14px 34px rgba(0,77,76,.22) !important;
}
.admin-menu-toggle:hover,.admin-menu-toggle:focus{
  background:linear-gradient(135deg,var(--fam-primary-dark) 0%, var(--fam-primary-deep) 100%) !important;
  color:#fff !important;
}
.header-logo img,.logo img{max-height:72px;object-fit:contain}

.ed-brand-ribbon{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1100;
  padding:12px 18px;
  background:linear-gradient(135deg, rgba(0,102,100,.96) 0%, rgba(11,128,141,.94) 60%, rgba(97,195,231,.92) 100%);
  box-shadow:0 10px 34px rgba(0,77,76,.18);
  backdrop-filter:blur(10px) saturate(160%);
}
.ed-brand-ribbon__inner{
  max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:14px;color:#fff;
}
.ed-brand-ribbon__logo{
  width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 44px;border:1px solid rgba(255,255,255,.18)
}
.ed-brand-ribbon__logo img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}
.ed-brand-ribbon__text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ed-brand-ribbon__eyebrow{font-size:.76rem;opacity:.88;letter-spacing:.03em;text-transform:uppercase}
.ed-brand-ribbon__title{font-size:1rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-brand-ribbon__subtitle{font-size:.82rem;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-brand-ribbon__tag{margin-left:auto;background:rgba(255,255,255,.16);padding:.44rem .8rem;border-radius:999px;font-weight:700;font-size:.84rem;border:1px solid rgba(255,255,255,.16)}
.ed-feature-card{
  background:linear-gradient(180deg,#fafdff 0%,#f2fcff 100%);
  border:1px solid #d3eaef;
  border-radius:18px;
  padding:1rem 1.1rem;
  box-shadow:var(--fam-shadow-soft);
}
.ed-inline-note{background:var(--fam-primary-soft);border:1px solid #cfe9e6;border-radius:16px;padding:.8rem 1rem;color:#245158}
.ed-mobile-stack{display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width: 991px){
  body{padding-top:96px !important}
  body>.container,body>.container-fluid,.login-box,.center-box,.result-box{padding:22px !important}
}
@media (max-width: 768px){
  body{padding:88px 12px 12px !important}
  .ed-brand-ribbon{padding:10px 12px}
  .ed-brand-ribbon__title{font-size:.92rem}
  .ed-brand-ribbon__subtitle{font-size:.74rem}
  .ed-brand-ribbon__tag{display:none}
  body>.container,body>.container-fluid,.login-box,.center-box,.result-box{width:100% !important;max-width:100% !important;margin:0 auto 14px !important;padding:18px !important;border-radius:18px !important}
  .container,.container-fluid{padding:18px !important}
  .d-flex,.row{min-width:0}
  .btn{min-height:44px !important}
  form .btn[type="submit"],.login-box .btn,.center-box .btn{width:100% !important}
  .input-group{display:block !important}
  .input-group>.form-control,.input-group>.form-select,.input-group>.btn{width:100% !important;margin-top:.5rem;border-radius:14px !important}
  .table{min-width:780px;font-size:.92rem}
  .admin-profile-dropdown{top:86px !important;right:8px !important;padding:0 !important}
  .admin-profile-dropdown img{width:40px;height:40px}
  .nav-tabs{padding-inline:2px}
}
@media print{
  body{padding-top:0 !important;background:#fff !important}
  .ed-brand-ribbon,.admin-profile-dropdown,.btn,footer,.modal{display:none !important}
  .container,.container-fluid,.login-box,.center-box,.result-box,.table-responsive{box-shadow:none !important;border:0 !important;background:#fff !important}
}


/* FAM button refinement 2026 */
.btn-secondary{
  border-color:#c8dde2 !important;
  background:#fff !important;
  color:#2d5960 !important;
}
.btn-secondary:hover{background:#edfaff !important;color:#006664 !important}
.btn-warning{
  border-color:#c8dde2 !important;
  background:#fff8dc !important;
  color:#5c4a00 !important;
}
.btn-danger{
  background:linear-gradient(135deg,#c2414b,#8b2430) !important;
  border-color:#c2414b !important;
  color:#fff !important;
}
.btn-light{
  border-color:rgba(255,255,255,.70) !important;
  background:rgba(255,255,255,.92) !important;
  color:#006664 !important;
}
.file-item-control{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
  border:1px solid #d6e7eb;
  border-radius:16px;
  padding:.7rem;
  background:#fafdff;
  margin-bottom:.55rem;
}


/* Compact UI pass 2026-07-04: ลดขนาดทุกหน้าไม่ให้ล้นจอ */
:root{
  --fam-radius:14px;
  --fam-shadow:0 12px 30px rgba(0,77,76,.10);
  --fam-shadow-soft:0 5px 16px rgba(0,77,76,.07);
}
html{font-size:15px}
body{
  padding-top:68px !important;
  font-size:.94rem !important;
  line-height:1.45 !important;
}
body>.container,
body>.container-fluid,
.login-box,
.center-box,
.result-box{
  padding:16px !important;
  border-radius:14px !important;
  margin-top:14px !important;
  margin-bottom:14px !important;
}
.container,.container-fluid{max-width:1120px}
.card,.table-responsive,.modal-content,.tab-content,.dashboard-actions,.form-actions,.form-action-bar,.edit-section,.request-log-card,.stat-card{
  border-radius:14px !important;
  padding:.72rem !important;
  box-shadow:var(--fam-shadow-soft) !important;
}
h1{font-size:1.55rem !important} h2{font-size:1.38rem !important} h3{font-size:1.22rem !important} h4{font-size:1.08rem !important} h5{font-size:1rem !important}
.form-control,.form-select,.input-group-text{
  min-height:36px !important;
  border-radius:10px !important;
  font-size:.92rem !important;
  padding:.42rem .62rem !important;
}
textarea.form-control{min-height:78px !important}
label,.form-label{font-size:.9rem !important;margin-bottom:.28rem !important}
.mb-4{margin-bottom:.9rem !important}.mb-3{margin-bottom:.72rem !important}.mt-4{margin-top:.9rem !important}.mt-3{margin-top:.72rem !important}.p-4{padding:.9rem !important}.p-3{padding:.75rem !important}
.btn{
  min-height:34px !important;
  padding:.38rem .68rem !important;
  font-size:.88rem !important;
  line-height:1.25 !important;
  gap:.28rem !important;
}
.btn-lg{min-height:40px !important;font-size:.96rem !important;padding:.46rem .8rem !important}
.btn-sm{min-height:28px !important;font-size:.78rem !important;padding:.26rem .5rem !important}
.badge,.badge-status{padding:.32rem .55rem !important;font-size:.78rem !important;box-shadow:none !important}
.table{font-size:.88rem !important}.table th,.table td{padding:.46rem .52rem !important}.table thead th{font-size:.84rem !important}
.pagination .page-link{padding:.34rem .55rem !important;font-size:.84rem !important}
.dropdown-menu{border-radius:14px !important;padding:.35rem !important}.dropdown-item{padding:.42rem .58rem !important;font-size:.88rem !important}
.ed-brand-ribbon{padding:7px 12px !important}.ed-brand-ribbon__inner{gap:9px !important}.ed-brand-ribbon__logo{width:34px !important;height:34px !important;flex-basis:34px !important;border-radius:10px !important}.ed-brand-ribbon__logo img{width:28px !important;height:28px !important}.ed-brand-ribbon__eyebrow{font-size:.66rem !important}.ed-brand-ribbon__title{font-size:.86rem !important}.ed-brand-ribbon__subtitle{font-size:.72rem !important}
.admin-profile-dropdown{top:64px !important;right:10px !important}.admin-menu-toggle{padding:.4rem .68rem !important;font-size:.84rem !important;min-height:34px !important}.admin-profile-dropdown img{width:34px !important;height:34px !important}
.dashboard-hero,.edit-hero,.header-logo{
  border-radius:16px !important;
  padding:.72rem .86rem !important;
  margin-bottom:.8rem !important;
  box-shadow:0 10px 24px rgba(0,77,76,.12) !important;
}
.dashboard-hero img,.header-logo img,.edit-hero img{height:38px !important;max-height:38px !important;padding:4px !important;border-radius:10px !important}
.stat-grid{gap:.55rem !important;margin:.65rem 0 .78rem !important}.stat-card{padding:.65rem !important}.stat-label{font-size:.78rem !important}.stat-value{font-size:1.26rem !important;margin-top:.2rem !important}.dashboard-actions .btn{min-height:32px !important}
.file-item-control{border-radius:12px !important;padding:.45rem !important;gap:.42rem !important}.request-log-item{margin-bottom:.55rem !important}.request-log-meta{font-size:.78rem !important}
footer{font-size:.8rem !important;padding:9px 12px !important;margin-top:14px !important;border-radius:12px !important}
@media (max-width:768px){
  body{padding:62px 8px 8px !important;font-size:.9rem !important}
  body>.container,body>.container-fluid,.login-box,.center-box,.result-box{padding:12px !important;margin-top:8px !important}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .dashboard-actions{display:grid !important;grid-template-columns:1fr !important;gap:.45rem !important}
  .dashboard-actions .btn,.form-actions .btn,.form-action-bar .btn{width:100% !important}
  .table{font-size:.82rem !important;min-width:680px !important}
  .ed-brand-ribbon__subtitle{display:none !important}
}


/* Staff compact layout refinement: show real data sooner, Thai-date friendly screens */
body.staff-compact-page{padding-top:58px !important;background:#f4fbfb !important;}
.staff-compact-page .container,
.staff-compact-page .container-fluid{max-width:1180px !important;}
.staff-compact-page .staff-page-shell{margin-top:8px !important;padding:12px !important;border-radius:13px !important;}
.staff-compact-page .staff-hero{
  background:linear-gradient(135deg,rgba(0,102,100,.98),rgba(13,126,139,.92));
  color:#fff;border-radius:13px;padding:.55rem .72rem;margin-bottom:.58rem;
  box-shadow:0 8px 20px rgba(0,77,76,.12);
}
.staff-compact-page .staff-hero h3,
.staff-compact-page .staff-hero h4,
.staff-compact-page .staff-hero .small,
.staff-compact-page .staff-hero .term-label{color:#fff !important;}
.staff-compact-page .staff-hero img{height:30px !important;max-height:30px !important;width:auto;object-fit:contain;background:rgba(255,255,255,.16);border-radius:8px;padding:3px;}
.staff-compact-page .staff-hero-title{font-size:1.04rem !important;margin:0 !important;line-height:1.2;}
.staff-compact-page .staff-hero-subtitle{font-size:.78rem !important;opacity:.9;}
.staff-compact-page .dashboard-top-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:.58rem;align-items:stretch;margin-bottom:.62rem;}
.staff-compact-page .staff-panel{background:#fff;border:1px solid #d6e7eb;border-radius:13px;padding:.55rem;box-shadow:0 4px 12px rgba(0,77,76,.055);}
.staff-compact-page .dashboard-actions{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem;margin-top:.48rem;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;}
.staff-compact-page .dashboard-actions .btn{justify-content:flex-start;min-height:30px !important;font-size:.8rem !important;padding:.32rem .52rem !important;}
.staff-compact-page .stat-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.42rem !important;margin:0 !important;}
.staff-compact-page .stat-card{padding:.48rem !important;border-radius:12px !important;min-height:58px;}
.staff-compact-page .stat-label{font-size:.72rem !important;color:#5f7f85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.staff-compact-page .stat-value{font-size:1.12rem !important;line-height:1.1;margin-top:.16rem !important;}
.staff-compact-page .request-table-title{font-size:.95rem !important;}
.staff-compact-page .table{font-size:.82rem !important;}
.staff-compact-page .table th,.staff-compact-page .table td{padding:.34rem .42rem !important;}
.staff-compact-page .form-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.54rem .7rem;}
.staff-compact-page .form-compact-grid .full{grid-column:1/-1;}
.staff-compact-page .form-compact-grid .mb-3{margin-bottom:0 !important;}
.staff-compact-page .form-actions,.staff-compact-page .form-action-bar{margin-top:.65rem;padding:.48rem !important;}
.staff-compact-page .compact-date-hint{font-size:.78rem;color:#5f7f85;margin-top:.22rem;}
.staff-compact-page .request-log-card{padding:.65rem !important;margin-top:.8rem !important;}
.staff-compact-page .request-log-item{margin-bottom:.45rem !important;padding-left:.62rem !important;}
.staff-compact-page .chart-card{height:240px !important;min-height:240px !important;padding:.6rem !important;}
.staff-compact-page .chart-card canvas{height:185px !important;max-height:185px !important;}
.staff-compact-page .analysis-filter-grid{align-items:end;}
.staff-compact-page .analysis-filter-grid .form-label{font-size:.78rem !important;}
@media (max-width: 992px){
  .staff-compact-page .dashboard-top-grid{grid-template-columns:1fr;}
  .staff-compact-page .dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 768px){
  body.staff-compact-page{padding:58px 8px 8px !important;}
  .staff-compact-page .form-compact-grid{grid-template-columns:1fr;}
  .staff-compact-page .dashboard-actions{grid-template-columns:1fr;}
  .staff-compact-page .staff-hero{align-items:flex-start !important;}
  .staff-compact-page .table{min-width:650px !important;}
}

/* KU FAM medium size correction: readable but not oversized */
html{font-size:16px !important;}
body{
  padding-top:76px !important;
  font-size:1rem !important;
}
body>.container,
body>.container-fluid,
.login-box,
.center-box,
.result-box{
  padding:20px !important;
  border-radius:18px !important;
}
.container,.container-fluid{max-width:1180px !important;}
h1{font-size:1.9rem !important;}
h2{font-size:1.65rem !important;}
h3{font-size:1.42rem !important;}
h4{font-size:1.24rem !important;}
h5{font-size:1.1rem !important;}
.form-control,.form-select,.input-group-text{
  min-height:42px !important;
  font-size:.96rem !important;
  border-radius:13px !important;
}
label,.form-label{font-size:.94rem !important;margin-bottom:.34rem !important;}
.btn{
  min-height:38px !important;
  font-size:.94rem !important;
  padding:.48rem .86rem !important;
}
.btn-lg{min-height:46px !important;font-size:1rem !important;padding:.56rem 1rem !important;}
.btn-sm{min-height:32px !important;font-size:.84rem !important;padding:.32rem .58rem !important;}
.badge,.badge-status{padding:.38rem .62rem !important;font-size:.84rem !important;}
.table{font-size:.94rem !important;}
.table th,.table td{padding:.56rem .62rem !important;}
.table thead th{font-size:.9rem !important;}
.pagination .page-link{padding:.4rem .62rem !important;font-size:.9rem !important;}
.dropdown-menu{border-radius:16px !important;padding:.45rem !important;}
.dropdown-item{padding:.5rem .68rem !important;font-size:.94rem !important;}
.ed-brand-ribbon{padding:9px 14px !important;}
.ed-brand-ribbon__inner{gap:11px !important;}
.ed-brand-ribbon__logo{width:40px !important;height:40px !important;flex-basis:40px !important;border-radius:12px !important;}
.ed-brand-ribbon__logo img{width:32px !important;height:32px !important;}
.ed-brand-ribbon__eyebrow{font-size:.72rem !important;}
.ed-brand-ribbon__title{font-size:.94rem !important;}
.ed-brand-ribbon__subtitle{font-size:.78rem !important;}
.admin-profile-dropdown{top:74px !important;right:12px !important;}
.admin-menu-toggle{padding:.48rem .78rem !important;font-size:.9rem !important;min-height:38px !important;}
.admin-profile-dropdown img{width:38px !important;height:38px !important;}
footer{font-size:.88rem !important;padding:11px 14px !important;margin-top:18px !important;border-radius:14px !important;}

body.staff-compact-page{
  padding-top:68px !important;
  background:#f4fbfb !important;
  font-size:.98rem !important;
}
.staff-compact-page .container,
.staff-compact-page .container-fluid{max-width:1220px !important;}
.staff-compact-page .staff-page-shell{
  margin-top:12px !important;
  padding:16px !important;
  border-radius:16px !important;
}
.staff-compact-page .staff-hero{
  padding:.82rem 1rem !important;
  border-radius:16px !important;
  gap:.75rem !important;
}
.staff-compact-page .staff-hero img{
  height:38px !important;
  max-height:38px !important;
  border-radius:10px !important;
  padding:4px !important;
}
.staff-compact-page .staff-hero-title{font-size:1.22rem !important;line-height:1.25 !important;}
.staff-compact-page .staff-hero-subtitle{font-size:.88rem !important;}
.staff-compact-page .dashboard-top-grid{
  grid-template-columns:minmax(0,1fr) 360px !important;
  gap:.8rem !important;
  margin-bottom:.82rem !important;
}
.staff-compact-page .staff-panel{
  border-radius:16px !important;
  padding:.78rem !important;
}
.staff-compact-page .dashboard-actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.5rem !important;
  margin-top:.68rem !important;
}
.staff-compact-page .dashboard-actions .btn{
  min-height:38px !important;
  font-size:.9rem !important;
  padding:.46rem .68rem !important;
}
.staff-compact-page .stat-grid{
  gap:.6rem !important;
}
.staff-compact-page .stat-card{
  padding:.68rem !important;
  border-radius:14px !important;
  min-height:74px !important;
}
.staff-compact-page .stat-label{font-size:.84rem !important;}
.staff-compact-page .stat-value{font-size:1.48rem !important;line-height:1.12 !important;margin-top:.2rem !important;}
.staff-compact-page .request-table-title{font-size:1.08rem !important;}
.staff-compact-page .table{font-size:.92rem !important;}
.staff-compact-page .table th,.staff-compact-page .table td{padding:.52rem .58rem !important;}
.staff-compact-page .form-compact-grid{gap:.72rem .9rem !important;}
.staff-compact-page .form-actions,
.staff-compact-page .form-action-bar{margin-top:.85rem !important;padding:.68rem !important;}
.staff-compact-page .compact-date-hint{font-size:.84rem !important;}
.staff-compact-page .request-log-card{padding:.85rem !important;margin-top:1rem !important;}
.staff-compact-page .request-log-item{margin-bottom:.62rem !important;padding-left:.76rem !important;}
.staff-compact-page .request-log-meta{font-size:.84rem !important;}
.staff-compact-page .chart-card{height:285px !important;min-height:285px !important;padding:.82rem !important;}
.staff-compact-page .chart-card canvas{height:220px !important;max-height:220px !important;}
.staff-compact-page .analysis-filter-grid .form-label{font-size:.88rem !important;}

@media (max-width: 991px){
  body{padding-top:78px !important;}
  body>.container,body>.container-fluid,.login-box,.center-box,.result-box{padding:18px !important;}
  .staff-compact-page .dashboard-top-grid{grid-template-columns:1fr !important;}
  .staff-compact-page .dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 768px){
  body{padding:76px 10px 10px !important;font-size:.96rem !important;}
  body>.container,body>.container-fluid,.login-box,.center-box,.result-box{padding:15px !important;margin-top:10px !important;}
  .table{font-size:.88rem !important;min-width:720px !important;}
  .staff-compact-page .dashboard-actions{grid-template-columns:1fr !important;}
  .staff-compact-page .table{min-width:700px !important;}
  .ed-brand-ribbon__subtitle{display:none !important;}
}


.ku-fam-thai-date-wrap{position:relative;}
.ku-fam-thai-date-input{padding-right:2.35rem !important;}
.ku-fam-thai-date-wrap::after{
  content:'วันที่';
  position:absolute;
  right:.78rem;
  top:.58rem;
  font-size:.76rem;
  font-weight:700;
  color:var(--fam-primary);
  pointer-events:none;
}
.ku-fam-date-format-hint{font-size:.8rem;color:var(--fam-muted);margin-top:.28rem;}
.ku-fam-thai-date-input.is-invalid{border-color:#e36b6b !important;box-shadow:0 0 0 .2rem rgba(227,107,107,.12) !important;}

/* KU FAM custom Thai calendar picker - 2026-07-04 */
.ku-fam-thai-date-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.55rem;
}
.ku-fam-thai-date-input{
  cursor:pointer;
  padding-right:1rem !important;
  background:#fff !important;
}
.ku-fam-thai-date-input.is-empty{color:#8aa0a7 !important}
.ku-fam-thai-date-input[readonly]{caret-color:transparent}
.ku-fam-date-picker-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  min-width:74px;
  min-height:44px;
  padding:.55rem .78rem !important;
  border-radius:14px !important;
  border:1px solid #b9dfe8 !important;
  background:linear-gradient(180deg,#f9feff 0%,#eefbff 100%) !important;
  color:var(--fam-primary-dark) !important;
  font-weight:700 !important;
  box-shadow:0 8px 20px rgba(97,195,231,.12) !important;
}
.ku-fam-date-picker-btn:hover,
.ku-fam-date-picker-btn:focus{
  background:linear-gradient(180deg,#ffffff 0%,#e3f7ff 100%) !important;
  border-color:#8fd8f3 !important;
}
.ku-fam-date-picker-btn__icon{font-size:1.02rem;line-height:1}
.ku-fam-date-picker-btn__label{font-size:.92rem;line-height:1}
.ku-fam-date-format-hint{
  margin-top:.38rem;
  font-size:.84rem;
  color:#6a8a91 !important;
}
.ku-fam-date-popover{
  position:absolute;
  z-index:2500;
  width:min(340px, calc(100vw - 24px));
  background:rgba(255,255,255,.98);
  border:1px solid #cfe8ef;
  border-radius:18px;
  box-shadow:0 22px 44px rgba(0,77,76,.18), 0 8px 18px rgba(0,77,76,.08);
  padding:.9rem;
  backdrop-filter:blur(10px) saturate(160%);
  display:none;
}
.ku-fam-date-popover.is-open{display:block}
.ku-fam-date-popover__header{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
  gap:.45rem;
  margin-bottom:.7rem;
}
.ku-fam-date-month-btn,
.ku-fam-date-nav-btn,
.ku-fam-date-footer-btn{
  border:0;
  background:#fff;
  color:#20474e;
}
.ku-fam-date-nav-btn{
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:1.5rem;
  line-height:1;
  box-shadow:inset 0 0 0 1px #d7ebef;
}
.ku-fam-date-nav-btn:hover,.ku-fam-date-nav-btn:focus{background:#effbff; color:var(--fam-primary)}
.ku-fam-date-month-btn{
  min-height:40px;
  border-radius:12px;
  font-size:1rem;
  font-weight:800;
  background:linear-gradient(180deg,#f5fdff 0%,#ecfaf9 100%);
  box-shadow:inset 0 0 0 1px #d7ebef;
}
.ku-fam-date-popover__weekdays,
.ku-fam-date-popover__grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:.28rem;
}
.ku-fam-date-popover__weekdays{margin-bottom:.32rem}
.ku-fam-date-popover__weekdays div{
  text-align:center;
  font-size:.82rem;
  font-weight:700;
  color:#6c8b93;
  padding:.28rem 0;
}
.ku-fam-date-day{
  min-height:40px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#173f45;
  font-weight:600;
  transition:all .16s ease;
}
.ku-fam-date-day:hover,
.ku-fam-date-day:focus{
  background:#eefaff;
  color:var(--fam-primary-dark);
  transform:translateY(-1px);
}
.ku-fam-date-day.is-other-month{color:#9ab0b6}
.ku-fam-date-day.is-today{box-shadow:inset 0 0 0 2px #8fd8f3}
.ku-fam-date-day.is-selected{
  background:linear-gradient(135deg,var(--fam-primary) 0%, var(--fam-primary-dark) 100%);
  color:#fff;
  box-shadow:0 10px 20px rgba(0,102,100,.22);
}
.ku-fam-date-popover__footer{
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  margin-top:.85rem;
}
.ku-fam-date-footer-btn{
  min-height:38px;
  padding:.45rem .8rem;
  border-radius:12px;
  font-weight:700;
  box-shadow:inset 0 0 0 1px #d7ebef;
}
.ku-fam-date-footer-btn:hover,
.ku-fam-date-footer-btn:focus{background:#eefaff}
.ku-fam-date-footer-btn.is-primary{
  background:linear-gradient(135deg,var(--fam-primary) 0%, var(--fam-primary-dark) 100%);
  color:#fff;
  box-shadow:none;
}
.ku-fam-date-footer-btn.is-primary:hover,
.ku-fam-date-footer-btn.is-primary:focus{background:linear-gradient(135deg,var(--fam-primary-dark) 0%, var(--fam-primary-deep) 100%)}
@media (max-width:768px){
  .ku-fam-thai-date-wrap{grid-template-columns:minmax(0,1fr) 64px}
  .ku-fam-date-picker-btn{min-width:64px;padding:.55rem .55rem !important}
  .ku-fam-date-picker-btn__label{display:none}
  .ku-fam-date-popover{width:min(320px, calc(100vw - 18px));padding:.78rem;border-radius:16px}
  .ku-fam-date-day{min-height:38px}
}


/* KU FAM date picker size correction - icon only and compact calendar */
.ku-fam-thai-date-wrap{
  grid-template-columns:minmax(0,1fr) 48px !important;
  gap:.45rem !important;
}
.ku-fam-date-picker-btn{
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:42px !important;
  height:42px !important;
  padding:0 !important;
  border-radius:13px !important;
  gap:0 !important;
}
.ku-fam-date-picker-btn__icon{
  display:block !important;
  font-size:1.08rem !important;
  line-height:1 !important;
}
.ku-fam-date-picker-btn__label{
  display:none !important;
}
.ku-fam-date-popover{
  width:min(292px, calc(100vw - 20px)) !important;
  padding:.68rem !important;
  border-radius:16px !important;
}
.ku-fam-date-popover__header{
  grid-template-columns:34px 1fr 34px !important;
  gap:.35rem !important;
  margin-bottom:.52rem !important;
}
.ku-fam-date-nav-btn{
  width:34px !important;
  height:34px !important;
  border-radius:10px !important;
  font-size:1.25rem !important;
}
.ku-fam-date-month-btn{
  min-height:34px !important;
  border-radius:10px !important;
  font-size:.92rem !important;
}
.ku-fam-date-popover__weekdays,
.ku-fam-date-popover__grid{
  gap:.18rem !important;
}
.ku-fam-date-popover__weekdays div{
  font-size:.76rem !important;
  padding:.18rem 0 !important;
}
.ku-fam-date-day{
  min-height:32px !important;
  border-radius:9px !important;
  font-size:.88rem !important;
}
.ku-fam-date-popover__footer{
  margin-top:.62rem !important;
}
.ku-fam-date-footer-btn{
  min-height:34px !important;
  padding:.38rem .68rem !important;
  border-radius:10px !important;
  font-size:.86rem !important;
}
@media (max-width:768px){
  .ku-fam-thai-date-wrap{grid-template-columns:minmax(0,1fr) 46px !important}
  .ku-fam-date-picker-btn{width:46px !important;min-width:46px !important;max-width:46px !important;height:40px !important;min-height:40px !important}
  .ku-fam-date-popover{width:min(284px, calc(100vw - 18px)) !important;padding:.62rem !important}
  .ku-fam-date-day{min-height:31px !important;font-size:.84rem !important}
}


/* Fix overlapping date label/icon on all pages */
.ku-fam-thai-date-wrap::after{
  content:none !important;
  display:none !important;
}
.ku-fam-date-picker-btn__label{
  display:none !important;
}
.ku-fam-date-picker-btn{
  overflow:hidden !important;
}

/* KU FAM MyKU theme system-wide refresh */
:root{
  --ku-fam-sidebar:#242b33;
  --ku-fam-sidebar-deep:#1d242c;
  --ku-fam-green:#12b76a;
  --ku-fam-green-dark:#079455;
  --ku-fam-blue:#37b8e8;
  --ku-fam-blue-soft:#eaf8ff;
  --ku-fam-page:#eef3f6;
  --ku-fam-line:#e2e9ef;
  --ku-fam-text:#2c3947;
}
body.ku-fam-has-sidebar{
  padding-left:238px !important;
  padding-top:0 !important;
  background:var(--ku-fam-page) !important;
  color:var(--ku-fam-text) !important;
}
body.ku-fam-has-sidebar .ed-brand-ribbon{display:none !important;}
body.ku-fam-has-sidebar > .container,
body.ku-fam-has-sidebar > .container-fluid,
body.ku-fam-has-sidebar .center-box,
body.ku-fam-has-sidebar .login-box,
body.ku-fam-has-sidebar .result-box{
  margin:18px auto 18px !important;
  max-width:1220px !important;
  border:1px solid var(--ku-fam-line) !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(20,40,55,.07) !important;
  background:#fff !important;
  padding:18px !important;
}
body.ku-fam-has-sidebar h1,
body.ku-fam-has-sidebar h2,
body.ku-fam-has-sidebar h3,
body.ku-fam-has-sidebar h4,
body.ku-fam-has-sidebar h5{color:#273847 !important;}
body.ku-fam-has-sidebar .btn-primary,
body.ku-fam-has-sidebar .btn-success,
body.ku-fam-has-sidebar .receive-btn{
  background:linear-gradient(135deg,var(--ku-fam-green),var(--ku-fam-green-dark)) !important;
  border-color:var(--ku-fam-green) !important;
  color:#fff !important;
}
body.ku-fam-has-sidebar .btn-outline-primary,
body.ku-fam-has-sidebar .btn-outline-success,
body.ku-fam-has-sidebar .btn-outline-secondary,
body.ku-fam-has-sidebar .btn-secondary{
  border-color:#cfe5ee !important;
  background:#fff !important;
  color:#506272 !important;
}
body.ku-fam-has-sidebar .btn-outline-primary:hover,
body.ku-fam-has-sidebar .btn-outline-success:hover,
body.ku-fam-has-sidebar .btn-outline-secondary:hover,
body.ku-fam-has-sidebar .btn-secondary:hover{
  background:var(--ku-fam-blue-soft) !important;
  color:#067647 !important;
}
body.ku-fam-has-sidebar .table-responsive,
body.ku-fam-has-sidebar .card,
body.ku-fam-has-sidebar .tab-content{
  border-radius:14px !important;
  border-color:var(--ku-fam-line) !important;
  box-shadow:0 8px 22px rgba(20,40,55,.06) !important;
}
body.ku-fam-has-sidebar .table thead th{
  background:#f7fafc !important;
  color:#657687 !important;
  border-bottom:1px solid var(--ku-fam-line) !important;
}
body.ku-fam-has-sidebar .table tbody tr:hover{background:#fbfefd !important;}
body.ku-fam-has-sidebar .form-control,
body.ku-fam-has-sidebar .form-select{
  border-radius:10px !important;
  border-color:#d9e4eb !important;
  min-height:40px !important;
}
body.ku-fam-has-sidebar .form-control:focus,
body.ku-fam-has-sidebar .form-select:focus{
  border-color:#9edfc0 !important;
  box-shadow:0 0 0 3px rgba(18,183,106,.10) !important;
}
.ku-fam-global-sidebar{
  position:fixed;
  left:0;top:0;bottom:0;
  width:238px;
  background:linear-gradient(180deg,var(--ku-fam-sidebar) 0%, var(--ku-fam-sidebar-deep) 100%);
  color:#fff;
  z-index:2200;
  overflow:auto;
  box-shadow:8px 0 24px rgba(0,0,0,.08);
}
.ku-fam-global-brand{
  padding:16px 16px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  gap:10px;
}
.ku-fam-global-logo{
  width:40px;height:40px;flex:0 0 40px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
}
.ku-fam-global-logo img{width:32px;height:32px;object-fit:contain;}
.ku-fam-global-brand small{display:block;color:#9fabba;font-size:.72rem;line-height:1.1;}
.ku-fam-global-brand strong{display:block;font-size:.96rem;line-height:1.22;font-weight:700;}
.ku-fam-global-user{
  margin:10px 12px 4px;
  padding:9px 10px;
  border-radius:12px;
  color:#dbe4eb;
  background:rgba(255,255,255,.055);
  display:flex;align-items:center;gap:8px;
  font-size:.86rem;
}
.ku-fam-global-menu{padding:7px 0 14px;}
.ku-fam-global-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#c9d2db;
  padding:10px 14px;
  border-left:4px solid transparent;
  text-decoration:none;
  font-size:.9rem;
  transition:.16s ease;
}
.ku-fam-global-menu a:hover{background:rgba(255,255,255,.05);color:#fff;}
.ku-fam-global-menu a.active{
  background:linear-gradient(90deg,rgba(18,183,106,.20),rgba(55,184,232,.08));
  color:#fff;
  border-left-color:var(--ku-fam-green);
}
.ku-fam-global-menu a span{display:flex;align-items:center;gap:9px;min-width:0;}
.ku-fam-global-menu a span i{font-size:.98rem;}
.ku-fam-global-menu a span:not(.bi){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ku-fam-global-divider{height:1px;background:rgba(255,255,255,.07);margin:6px 12px;}
.ku-fam-global-section{padding:10px 16px 6px;color:#8392a0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.ku-fam-global-toggle{display:none;}
body.ku-fam-has-sidebar footer{
  max-width:1220px;
  margin:16px auto !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid var(--ku-fam-line) !important;
  box-shadow:0 8px 22px rgba(20,40,55,.06) !important;
  color:#6f7f8d !important;
}
@media (max-width:980px){
  body.ku-fam-has-sidebar{padding-left:0 !important;padding-top:56px !important;}
  .ku-fam-global-sidebar{transform:translateX(-100%);transition:transform .22s ease;width:min(286px, 84vw);}
  body.ku-fam-sidebar-open .ku-fam-global-sidebar{transform:translateX(0);}
  .ku-fam-global-toggle{
    display:inline-flex;
    position:fixed;
    top:10px;left:10px;
    z-index:2300;
    align-items:center;gap:7px;
    min-height:40px;
    padding:.45rem .72rem;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,var(--ku-fam-green),var(--ku-fam-green-dark));
    color:#fff;
    box-shadow:0 8px 18px rgba(18,183,106,.24);
    font-family:inherit;
    font-weight:700;
  }
  body.ku-fam-has-sidebar > .container,
  body.ku-fam-has-sidebar > .container-fluid,
  body.ku-fam-has-sidebar .center-box,
  body.ku-fam-has-sidebar .login-box,
  body.ku-fam-has-sidebar .result-box{margin-top:12px !important;}
}

/* Blue accent for KU FAM MyKU theme */
body.ku-fam-has-sidebar .nav-tabs .nav-link.active,
body.ku-fam-has-sidebar .badge.bg-info{
  background:linear-gradient(135deg,var(--ku-fam-blue),#1ea3d5) !important;
  color:#fff !important;
}

/* Fix overlapping date label/icon on all pages */
.ku-fam-thai-date-wrap::after{content:none !important;display:none !important;}
.ku-fam-date-picker-btn__label{display:none !important;}
.ku-fam-date-picker-btn{overflow:hidden !important;}


/* KU FAM consistency pass: same font + icons + legacy-menu behavior */
html,
body,
input,
select,
textarea,
button,
table,
.dropdown-menu,
.modal,
.card,
.btn,
.form-control,
.form-select{
  font-family:'Kanit',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.ku-fam-global-sidebar,
.myku-sidebar,
.ku-fam-global-sidebar *,
.myku-sidebar *{
  font-family:'Kanit',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.ku-fam-global-menu a > span,
.myku-menu a > .left{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-width:0 !important;
}
.ku-fam-global-menu .bi,
.myku-menu .bi,
.myku-btn .bi,
.ku-fam-global-user .bi,
.ku-fam-global-toggle .bi{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:1.1rem !important;
  min-width:1.1rem !important;
  line-height:1 !important;
  text-align:center !important;
}
.ku-fam-global-menu a > .bi,
.myku-menu a > .bi{
  width:.9rem !important;
  min-width:.9rem !important;
  opacity:.72;
}
.ku-fam-global-menu a,
.myku-menu a{
  min-height:42px !important;
}
body.ku-fam-has-sidebar .admin-profile-dropdown,
body.ku-fam-has-sidebar .dropdown.admin-profile-dropdown,
body.ku-fam-has-sidebar .position-fixed.admin-profile-dropdown{
  display:none !important;
}
body.ku-fam-has-sidebar .navbar,
body.ku-fam-has-sidebar .nav,
body.ku-fam-has-sidebar .nav-tabs{
  font-family:'Kanit',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.ku-fam-global-section,
.myku-menu-title{
  font-weight:700 !important;
  letter-spacing:.02em !important;
}

/* KU FAM MyKU page harmonization for staff/admin pages - 2026-07-04 */
body.ku-fam-themed-page{
  font-family:'Kanit',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  background:linear-gradient(180deg,#f1f6f9 0%,#eaf2f6 100%) !important;
}
body.ku-fam-themed-page > .container,
body.ku-fam-themed-page > .container-fluid,
body.ku-fam-themed-page .ku-fam-themed-shell{
  width:min(1220px, calc(100vw - 282px)) !important;
  max-width:1220px !important;
  margin:18px auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 0 14px !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  border:1px solid #dde8ef !important;
  background:linear-gradient(135deg,#ffffff 0%,#f7fcff 55%,#edf9ff 100%) !important;
  box-shadow:0 12px 26px rgba(21,48,63,.07) !important;
}
body.ku-fam-themed-page .ku-fam-page-hero::after{
  content:'';
  grid-column:1/-1;
  height:3px;
  width:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ku-fam-green,#12b76a) 0%,var(--ku-fam-blue,#37b8e8) 100%);
  opacity:.9;
}
body.ku-fam-themed-page .ku-fam-page-hero__icon{
  width:46px;height:46px;
  border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ku-fam-green,#12b76a),var(--ku-fam-blue,#37b8e8));
  color:#fff;
  font-size:1.25rem;
  box-shadow:0 12px 22px rgba(18,183,106,.18);
}
body.ku-fam-themed-page .ku-fam-page-hero__copy{min-width:0;}
body.ku-fam-themed-page .ku-fam-page-hero__eyebrow{
  font-size:.75rem;
  color:#12a76b;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:2px;
}
body.ku-fam-themed-page .ku-fam-page-hero h1,
body.ku-fam-themed-page .ku-fam-page-hero h2,
body.ku-fam-themed-page .ku-fam-page-hero h3,
body.ku-fam-themed-page .ku-fam-page-hero h4,
body.ku-fam-themed-page .ku-fam-page-hero .staff-hero-title{
  margin:0 !important;
  font-size:1.32rem !important;
  line-height:1.25 !important;
  color:#253949 !important;
  font-weight:800 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero p,
body.ku-fam-themed-page .ku-fam-page-hero .staff-hero-subtitle{
  margin:4px 0 0 !important;
  font-size:.9rem !important;
  color:#728392 !important;
}
body.ku-fam-themed-page .ku-fam-hidden-old-title{display:none !important;}
body.ku-fam-themed-page .ku-fam-form-card,
body.ku-fam-themed-page .ku-fam-soft-card,
body.ku-fam-themed-page .tab-content,
body.ku-fam-themed-page .modal-content{
  border:1px solid #dfe9ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(21,48,63,.065) !important;
}
body.ku-fam-themed-page form.ku-fam-form-card{
  padding:14px !important;
  margin-bottom:14px !important;
}
body.ku-fam-themed-page .ku-fam-soft-card,
body.ku-fam-themed-page .card{
  padding:14px !important;
}
body.ku-fam-themed-page .row{
  row-gap:12px !important;
}
body.ku-fam-themed-page label,
body.ku-fam-themed-page .form-label,
body.ku-fam-themed-page .col-form-label{
  font-size:.88rem !important;
  font-weight:700 !important;
  color:#526474 !important;
  margin-bottom:5px !important;
}
body.ku-fam-themed-page .form-control,
body.ku-fam-themed-page .form-select,
body.ku-fam-themed-page .input-group-text{
  min-height:40px !important;
  border-radius:11px !important;
  border-color:#d7e4eb !important;
  font-size:.93rem !important;
}
body.ku-fam-themed-page textarea.form-control{min-height:96px !important;}
body.ku-fam-themed-page .btn{
  min-height:38px !important;
  border-radius:11px !important;
  padding:.48rem .82rem !important;
  font-size:.9rem !important;
  font-weight:700 !important;
  gap:.38rem !important;
}
body.ku-fam-themed-page .btn-primary,
body.ku-fam-themed-page .btn-success,
body.ku-fam-themed-page .btn-success-custom,
body.ku-fam-themed-page .receive-btn{
  background:linear-gradient(135deg,var(--ku-fam-green,#12b76a),var(--ku-fam-green-dark,#079455)) !important;
  border-color:var(--ku-fam-green,#12b76a) !important;
  color:#fff !important;
}
body.ku-fam-themed-page .btn-info,
body.ku-fam-themed-page .btn-outline-info{
  background:#eef9ff !important;
  border-color:#bfe9fa !important;
  color:#127ca3 !important;
}
body.ku-fam-themed-page .btn-warning{
  background:#fff8e6 !important;
  border-color:#ffe2a8 !important;
  color:#946200 !important;
}
body.ku-fam-themed-page .btn-danger{
  background:linear-gradient(135deg,#df5b66,#b4232d) !important;
  border-color:#df5b66 !important;
  color:#fff !important;
}
body.ku-fam-themed-page .btn-outline-primary,
body.ku-fam-themed-page .btn-outline-success,
body.ku-fam-themed-page .btn-outline-secondary,
body.ku-fam-themed-page .btn-secondary{
  background:#fff !important;
  border-color:#cfe3eb !important;
  color:#506574 !important;
}
body.ku-fam-themed-page .btn-outline-primary:hover,
body.ku-fam-themed-page .btn-outline-success:hover,
body.ku-fam-themed-page .btn-outline-secondary:hover,
body.ku-fam-themed-page .btn-secondary:hover{
  background:#eaf8ff !important;
  color:#087a57 !important;
}
body.ku-fam-themed-page .ku-fam-table-card,
body.ku-fam-themed-page .table-responsive{
  border:1px solid #dfe9ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(21,48,63,.055) !important;
  overflow:auto !important;
}
body.ku-fam-themed-page .table{
  font-size:.9rem !important;
  background:#fff !important;
}
body.ku-fam-themed-page .table th,
body.ku-fam-themed-page .table td{
  padding:.56rem .62rem !important;
  vertical-align:middle !important;
  border-color:#edf2f6 !important;
}
body.ku-fam-themed-page .table thead th{
  background:linear-gradient(180deg,#f8fbfd 0%,#eef6fb 100%) !important;
  color:#607586 !important;
  font-weight:800 !important;
  font-size:.82rem !important;
  white-space:nowrap !important;
}
body.ku-fam-themed-page .table tbody tr:hover{background:#fbfefd !important;}
body.ku-fam-themed-page .badge,
body.ku-fam-themed-page .badge-status{
  border-radius:999px !important;
  padding:.35rem .55rem !important;
  font-size:.8rem !important;
}
body.ku-fam-themed-page .alert{
  border-radius:14px !important;
  box-shadow:none !important;
}
body.ku-fam-themed-page .modal-header,
body.ku-fam-themed-page .modal-footer{
  border-color:#edf2f6 !important;
}
body.ku-fam-themed-page footer{
  width:min(1220px, calc(100vw - 282px)) !important;
  max-width:1220px !important;
  margin:16px auto !important;
  padding:12px 14px !important;
}
body.ku-fam-themed-page .admin-profile-dropdown{display:none !important;}
body.ku-fam-themed-page .nav-tabs{
  gap:6px !important;
  padding:4px !important;
  border:1px solid #dfe9ef !important;
  border-radius:14px !important;
  background:#fff !important;
}
body.ku-fam-themed-page .nav-tabs .nav-link{
  border-radius:10px !important;
  border:0 !important;
  padding:.52rem .78rem !important;
  font-size:.9rem !important;
}
body.ku-fam-themed-page .nav-tabs .nav-link.active{
  background:linear-gradient(135deg,var(--ku-fam-green,#12b76a),var(--ku-fam-blue,#37b8e8)) !important;
  color:#fff !important;
}
body.ku-fam-themed-page .pagination .page-link{
  border-radius:10px !important;
  padding:.38rem .6rem !important;
}
body.ku-fam-themed-page .card-header{
  background:linear-gradient(180deg,#fbfdff 0%,#f3f9fc 100%) !important;
  border-color:#edf2f6 !important;
  color:#2f4353 !important;
  font-weight:800 !important;
}
body.ku-fam-themed-page .ku-fam-date-format-hint{font-size:.78rem !important;}
@media (max-width:980px){
  body.ku-fam-themed-page > .container,
  body.ku-fam-themed-page > .container-fluid,
  body.ku-fam-themed-page .ku-fam-themed-shell,
  body.ku-fam-themed-page footer{
    width:calc(100vw - 24px) !important;
    margin:12px auto !important;
  }
  body.ku-fam-themed-page .ku-fam-page-hero{
    grid-template-columns:42px minmax(0,1fr);
    padding:12px !important;
  }
}
@media (max-width:640px){
  body.ku-fam-themed-page .ku-fam-page-hero h1,
  body.ku-fam-themed-page .ku-fam-page-hero h2,
  body.ku-fam-themed-page .ku-fam-page-hero h3,
  body.ku-fam-themed-page .ku-fam-page-hero h4,
  body.ku-fam-themed-page .ku-fam-page-hero .staff-hero-title{font-size:1.12rem !important;}
  body.ku-fam-themed-page .ku-fam-page-hero p,
  body.ku-fam-themed-page .ku-fam-page-hero .staff-hero-subtitle{font-size:.82rem !important;}
  body.ku-fam-themed-page .ku-fam-page-hero__icon{width:40px;height:40px;border-radius:13px;font-size:1.05rem;}
}

/* Fix MyKU page hero consistency after uploaded page-specific headers */
body.ku-fam-themed-page .ku-fam-page-hero.has-actions{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  min-height:0 !important;
  overflow:visible !important;
}
body.ku-fam-themed-page .ku-fam-page-hero.has-actions::after{
  grid-column:1 / -1 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__copy{
  min-width:0 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__copy h1,
body.ku-fam-themed-page .ku-fam-page-hero__copy h2,
body.ku-fam-themed-page .ku-fam-page-hero__copy h3,
body.ku-fam-themed-page .ku-fam-page-hero__copy h4{
  margin:0 !important;
  color:#253949 !important;
  line-height:1.25 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__copy p{
  margin:.18rem 0 0 !important;
  color:#728392 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:7px !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  min-height:26px !important;
  padding:3px 9px !important;
  border-radius:999px !important;
  border:1px solid #cfe8ef !important;
  background:#f6fcff !important;
  color:#407084 !important;
  font-size:.8rem !important;
  font-weight:700 !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-left:auto !important;
}
body.ku-fam-themed-page .ku-fam-page-hero__actions .btn{
  white-space:nowrap !important;
}
body.ku-fam-themed-page .ku-fam-page-hero .ku-page-hero__logo,
body.ku-fam-themed-page .ku-fam-page-hero .ku-page-hero__icon{
  display:none !important;
}
body.ku-fam-themed-page .ku-fam-page-hero .ku-fam-page-hero__icon + .ku-fam-page-hero__icon{
  display:none !important;
}
/* Keep the date button clean if older CSS is still cached/combined */
.ku-fam-thai-date-wrap::after{
  content:none !important;
  display:none !important;
}
.ku-fam-date-picker-btn__label{
  display:none !important;
}
@media (max-width:980px){
  body.ku-fam-themed-page .ku-fam-page-hero.has-actions{
    grid-template-columns:42px minmax(0,1fr) !important;
  }
  body.ku-fam-themed-page .ku-fam-page-hero__actions{
    grid-column:1 / -1 !important;
    width:100% !important;
    justify-content:flex-start !important;
    margin-left:0 !important;
  }
}
@media (max-width:640px){
  body.ku-fam-themed-page .ku-fam-page-hero__actions .btn{
    flex:1 1 150px !important;
  }
}
