:root{
	--primary-green:#16A34A;
	--dark-green:#065F46;
	--light-green:#DCFCE7;
	--emerald-green:#10B981;
	--orange:#F97316;
	--dark-orange:#C2410C;
	--light-orange:#FFEDD5;
	--yellow:#FACC15;
	--dark-yellow:#CA8A04;
	--light-yellow:#FEF9C3;
	--bg-main:#F8FAFC;
	--card-bg:#FFFFFF;
	--text-dark:#1E293B;
	--text-muted:#64748B;
	--border:#E2E8F0;
	--danger:#DC2626;
}

*{box-sizing:border-box}
body{background:var(--bg-main);color:var(--text-dark);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}

/* Global helpers */
.app-body{min-height:100vh;background:linear-gradient(135deg,var(--light-green) 0%, #FFF7ED 45%, var(--light-yellow) 100%);}
.container-fluid.p-4{padding:2rem!important}

/* Auth pages */
.auth-body{min-height:100vh;background:linear-gradient(135deg,var(--light-green),var(--light-orange));display:flex;align-items:center}
.auth-card{max-width:520px;margin:auto;border-radius:20px;background:var(--card-bg);box-shadow:0 10px 30px rgba(2,6,23,0.08)}

/* Sidebar */
.sidebar{width:260px;min-height:100vh;background:var(--dark-green);position:fixed;left:0;top:0;z-index:1000;transition:all .25s ease;overflow-y:auto;padding-bottom:80px}
.sidebar .brand{font-weight:800;color:var(--light-yellow);font-size:1.15rem;padding:20px;display:flex;align-items:center;gap:10px}
.sidebar .brand i{color:var(--yellow);}
.sidebar .menu{padding:8px 12px}
.sidebar a{display:flex;align-items:center;gap:12px;color:#E6F9F0;text-decoration:none;padding:10px 14px;border-radius:12px;margin:6px 6px}
.sidebar a i{width:26px;text-align:center}
.sidebar a:hover{background:var(--light-yellow);color:var(--dark-green);transform:translateY(-2px)}
.sidebar a.active{background:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,0.08)}
.sidebar .user-area{position:absolute;bottom:16px;width:100%;padding:12px}

/* Content & Topbar */
.content{margin-left:260px;min-height:100vh}
.topbar{background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:500;box-shadow:0 4px 12px rgba(2,6,23,0.04)}
.page-title{font-weight:800;color:var(--dark-green);margin:0}

/* Cards & metrics */
.card{background:var(--card-bg);border-radius:16px;border:1px solid var(--border);box-shadow:0 8px 24px rgba(2,6,23,0.04)}
.stat-card{padding:1rem;border-radius:16px}
.stat-card .stat-icon{height:48px;width:48px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center}
.stat-icon-green{background:var(--primary-green)}
.stat-icon-emerald{background:var(--emerald-green)}
.stat-icon-yellow{background:var(--yellow);color:var(--dark-green)}
.stat-icon-orange{background:var(--orange)}
.stat-icon-red{background:var(--danger)}
.stat-card .stat-value{font-size:1.25rem;font-weight:800;color:var(--text-dark)}
.stat-card .stat-label{color:var(--text-muted);font-size:0.85rem}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(2,6,23,0.08)}

/* Buttons */
.btn-green{background:var(--primary-green);color:#fff;border-radius:12px;padding:.6rem .9rem;font-weight:600}
.btn-green:hover{background:var(--emerald-green);transform:scale(1.02)}
.btn-orange{background:var(--orange);color:#fff;border-radius:12px;padding:.6rem .9rem;font-weight:600}
.btn-yellow{background:var(--yellow);color:var(--dark-green);border-radius:12px;padding:.6rem .9rem;font-weight:600}
.btn-danger-custom{background:var(--danger);color:#fff;border-radius:12px;padding:.6rem .9rem;font-weight:600}
.btn-outline-orange{border:1px solid var(--orange);color:var(--orange);background:transparent;border-radius:12px}
.btn:focus{box-shadow:0 6px 20px rgba(16,163,74,0.12)}

/* Tables */
.table-modern{border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.table-modern thead th{background:var(--dark-green);color:#fff;border:0;font-weight:700}
.table-modern tbody tr:hover{background:var(--light-yellow)}
.table-modern tbody td{vertical-align:middle}

/* Badges */
.badge-present{background:var(--light-green);color:var(--dark-green);padding:.35rem .6rem;border-radius:999px}
.badge-late{background:var(--light-yellow);color:var(--dark-orange);padding:.35rem .6rem;border-radius:999px}
.badge-absent{background:#fee2e2;color:var(--danger);padding:.35rem .6rem;border-radius:999px}
.badge-active{background:var(--light-green);color:var(--dark-green);padding:.35rem .6rem;border-radius:999px}
.badge-inactive{background:var(--light-orange);color:var(--dark-orange);padding:.35rem .6rem;border-radius:999px}

/* Forms */
.form-modern .form-label{font-weight:700;color:var(--dark-green)}
.form-modern .form-control{border-radius:10px;padding:.7rem .9rem;border:1px solid var(--border)}
.form-modern .form-control:focus{border-color:var(--primary-green);box-shadow:0 6px 20px rgba(16,163,74,0.08)}
.form-note{background:var(--light-yellow);padding:.6rem .8rem;border-radius:10px;color:var(--dark-green)}

/* Modals */
.modal-modern .modal-content{border-radius:14px}
.modal-modern .modal-header{background:linear-gradient(90deg,var(--primary-green),var(--orange));color:#fff;border-bottom:0;border-top-left-radius:14px;border-top-right-radius:14px}

/* Footer */
.footer-note{font-size:.9rem;color:var(--text-muted);padding:1rem 2rem}

/* Responsive */
.mobile-toggle{display:none}
/* Sidebar responsiveness: keep sidebar hidden and overlay-like on small screens */
@media(max-width: 992px){
  .sidebar{transform:translateX(-110%)}
  .sidebar.open{transform:translateX(0)}
  .content{margin-left:0}
  .mobile-toggle{display:inline-flex}
  .table-responsive{font-size:.9rem}
}

/* Sidebar scroll helpers (Up/Down navigation) */
.sidebar-scroll-wrap{position:relative; height:calc(100vh - 210px); overflow:hidden;}
.sidebar-scroll{height:100%; overflow-y:auto; padding-right:6px;}
.sidebar-scroll::-webkit-scrollbar{width:8px}
.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.25);border-radius:999px}
.sidebar-scroll::-webkit-scrollbar-track{background:transparent}
.sidebar-scroll-btn{position:sticky; z-index:2; display:flex; justify-content:center; align-items:center; width:100%; height:34px; border:0; background:rgba(255,255,255,0.06); color:#e6f9f0; border-radius:0;}
.sidebar-scroll-btn:hover{background:rgba(255,255,255,0.12)}
.sidebar-scroll-btn:active{transform:translateY(1px)}



/* Sidebar backdrop for small screens */
.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:1040;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
.sidebar.open + .sidebar-backdrop{opacity:1;visibility:visible}
.sidebar-backdrop.hidden{opacity:0;visibility:hidden}

/* Small-screen adjustments to improve spacing and readability */
@media(max-width:576px){
	.container-fluid.p-4{padding:1rem!important}
	.topbar .input-group{min-width:140px}
	.dashboard-section-title{font-size:1rem}
	.table-modern td::before{width:45%}
	.card-body{padding:.9rem}
	.btn-green, .btn-outline-orange{padding:.45rem .8rem}
}
/* Utility gradient */
.gradient-brand{background:linear-gradient(135deg,var(--light-green),var(--light-orange),var(--light-yellow));}

/* Small helpers */
.text-muted-small{color:var(--text-muted);font-size:.9rem}

/* Bootstrap overrides for consistent theme */
.btn-primary{background:var(--primary-green);border-color:var(--primary-green);color:#fff}
.btn-primary:hover{background:var(--emerald-green);border-color:var(--emerald-green)}
.btn-success{background:var(--primary-green);border-color:var(--primary-green);color:#fff}
.btn-warning{background:var(--yellow);border-color:var(--dark-yellow);color:var(--dark-green)}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.card .btn-outline-secondary{border-color:var(--border);color:var(--text-muted)}



/* ===== Belgut TTI clean responsive fix pack ===== */
html{font-size:16px}
body{font-size:16px;line-height:1.5}
.sidebar{width:260px;overflow:hidden;display:flex;flex-direction:column}
.sidebar .brand{min-height:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar a{font-size:.94rem;min-height:42px;white-space:normal;line-height:1.25;gap:10px}
.sidebar a span{display:block;overflow:visible;text-overflow:clip;word-break:normal}
.sidebar a i{flex:0 0 24px;width:24px}
.sidebar .user-area{position:static;margin-top:auto;width:auto;background:rgba(255,255,255,.04)}
.content{margin-left:260px!important;width:calc(100% - 260px);max-width:calc(100% - 260px);overflow-x:hidden}
.container-fluid.p-4{max-width:100%;overflow-x:hidden}
.page-shell{width:100%;max-width:100%;overflow-x:hidden}
.smart-page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.smart-page-header h1{font-size:1.45rem;font-weight:800;color:var(--dark-green);margin:0}
.smart-page-header p{font-size:.94rem;color:var(--text-muted);margin:.25rem 0 0}
.smart-card{border-radius:16px;box-shadow:0 8px 24px rgba(2,6,23,.05)}
.smart-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.smart-table-wrap table{min-width:820px}
.table-modern th,.table-modern td{font-size:.92rem;padding:.75rem .8rem;vertical-align:middle}
.table-modern thead th{white-space:nowrap}
.btn-sm{font-size:.82rem;padding:.38rem .58rem;border-radius:10px}
.form-label{font-size:.9rem;font-weight:700;color:var(--dark-green)}
.form-control,.form-select{font-size:.96rem;border-radius:10px;border-color:var(--border);padding:.55rem .75rem}
.form-control:focus,.form-select:focus{border-color:var(--primary-green);box-shadow:0 0 0 .2rem rgba(22,163,74,.12)}
.modal-modern{border:0;border-radius:16px;overflow:hidden}
.modal-modern .modal-header{background:linear-gradient(90deg,var(--primary-green),var(--orange));color:#fff}
.modal-modern .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.badge-active,.badge-inactive,.badge-present,.badge-late,.badge-absent{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;min-width:68px}
@media(max-width:992px){
  .sidebar{transform:translateX(-110%);z-index:1050}
  .sidebar.open,.sidebar.show{transform:translateX(0)}
  .content{margin-left:0!important;width:100%;max-width:100%}
  .smart-page-header h1{font-size:1.25rem}
  .topbar{padding-left:1rem!important;padding-right:1rem!important}
}
@media(max-width:576px){
  body{font-size:15.5px}
  .container-fluid.p-4{padding:1rem!important}
  .smart-page-header{align-items:flex-start}
  .smart-page-header .btn{width:100%}
  .stat-card .stat-value{font-size:1.1rem}
  .table-modern th,.table-modern td{font-size:.86rem;padding:.6rem}
}


/* Dashboard improvement pack */
.dashboard-insight-card{border-radius:16px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 24px rgba(2,6,23,.05)}
.dashboard-insight-card .metric-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:999px;background:var(--light-green);color:var(--dark-green);font-weight:700;font-size:.82rem}
.user-greeting{display:flex;align-items:center;gap:.75rem}
.user-avatar{width:44px;height:44px;border-radius:14px;background:var(--primary-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.btn-outline-success,.btn-outline-warning{border-radius:12px;font-weight:700}

.bg-success-subtle{background:#e8f7ef!important}.border-success-subtle{border-color:#bce3cc!important}


/* Trainer/HOD unified module polish */
.smart-table-wrap .dataTables_wrapper{width:100%}
.smart-page-header .btn i,.card .btn i{margin-right:.25rem}
.bg-info{background:#0ea5e9!important}
.badge.bg-info{color:#fff!important}
.form-modern .form-select{border-radius:10px;padding:.55rem .75rem;border:1px solid var(--border)}
.card.smart-card h5{color:var(--dark-green);font-weight:800}


/* Production-ready modules: setup wizard, audit, reports, verification */
.erp-hero-card{background:linear-gradient(135deg,#065F46 0%,#16A34A 48%,#F97316 100%);color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 18px 45px rgba(6,95,70,.18)}
.erp-hero-card h1{font-size:2rem;font-weight:900;margin:0}.erp-hero-card p{opacity:.92;margin:.5rem 0 0}
.module-tile{border:0;border-radius:1.25rem;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.07);transition:.2s ease;height:100%}.module-tile:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.10)}
.module-icon{width:48px;height:48px;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.module-icon-green{background:#DCFCE7;color:#065F46}.module-icon-orange{background:#FFEDD5;color:#C2410C}.module-icon-yellow{background:#FEF9C3;color:#854D0E}
.letterhead{border:2px solid #065F46;border-radius:1rem;background:#fff;overflow:hidden}.letterhead-top{background:linear-gradient(90deg,#065F46,#16A34A,#FACC15,#F97316);height:10px}.letterhead-body{padding:1.5rem}.letterhead-title{color:#065F46;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.verify-card{max-width:850px;margin:2rem auto;background:#fff;border-radius:1.5rem;box-shadow:0 18px 45px rgba(15,23,42,.12);overflow:hidden}.verify-header{background:linear-gradient(135deg,#065F46,#16A34A,#F97316);color:#fff;padding:1.5rem}.verify-badge{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.45rem .8rem;font-weight:800}.verify-valid{background:#DCFCE7;color:#065F46}.verify-invalid{background:#FEE2E2;color:#991B1B}
.setup-step{border-left:5px solid #16A34A;background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 10px 25px rgba(15,23,42,.06);margin-bottom:1rem}.setup-step h5{color:#065F46;font-weight:800}
.audit-row-critical{background:#fff7ed!important}.report-filter-card{background:linear-gradient(135deg,#fff,#DCFCE7,#FEF9C3);border-radius:1.25rem;border:0;box-shadow:0 10px 25px rgba(15,23,42,.07)}
@media print{.sidebar,.topbar,.btn,.no-print,.sidebar-backdrop{display:none!important}.content{margin-left:0!important}.container-fluid{padding:0!important}.smart-card,.module-tile{box-shadow:none!important;border:1px solid #ddd!important}.letterhead{border:1px solid #065F46!important}}
