/* Trimex Experience Refresh — presentation layer only; existing PHP workflows/schema remain intact. */
:root{--tx-brand:#79001b;--tx-brand-dark:#570014;--tx-brand-2:#9e1232;--tx-ink:#20283a;--tx-muted:#697386;--tx-bg:#f4f6fa;--tx-line:#e5e9f1;--tx-card:#fff;--tx-shadow:0 8px 26px rgba(28,39,60,.055);--tx-shadow-hover:0 14px 32px rgba(28,39,60,.10);--tx-radius:16px}
html{scroll-behavior:smooth}body{background:var(--tx-bg);color:var(--tx-ink);line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:#f7dbe2;color:var(--tx-brand-dark)}
/* Sidebar/navigation */
.sidebar{background:linear-gradient(180deg,#79001b 0%,#600016 100%)!important;box-shadow:5px 0 24px rgba(44,10,20,.08);border-right:1px solid rgba(255,255,255,.07)}
.brand{padding:20px 17px!important}.brand img{box-shadow:0 2px 8px rgba(0,0,0,.08)}.brand h2{letter-spacing:-.25px}.user{padding:16px 17px!important}.avatar{box-shadow:0 0 0 3px rgba(255,255,255,.15)}
.menu{padding:13px!important}.menu a{border:1px solid transparent;min-height:43px;display:flex;align-items:center;gap:10px;margin:3px 0!important;padding:11px 13px!important;border-radius:11px!important;color:rgba(255,255,255,.86);font-weight:500;transition:background .18s ease,color .18s ease,transform .18s ease}.menu a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important;transform:translateX(2px)}.menu a.active{background:#fff!important;color:var(--tx-brand)!important;box-shadow:0 5px 14px rgba(20,0,5,.12);font-weight:700}.logout a{box-shadow:0 3px 10px rgba(0,0,0,.08)}
/* Main content rhythm */
.main{padding:clamp(16px,2.4vw,32px)!important;min-width:0}.header{align-items:flex-start;margin-bottom:26px!important;gap:16px}.header h1{font-size:clamp(23px,2vw,30px)!important;color:var(--tx-ink)!important;letter-spacing:-.8px;font-weight:750;line-height:1.2}.header p{color:var(--tx-muted)!important;font-size:13px;margin-top:7px}.header-date,.date-badge,.date-box{border:1px solid var(--tx-line);box-shadow:none!important;border-radius:12px;color:var(--tx-brand)!important}
/* Panels and metrics */
.card,.panel,.table-card,.table-box,.profile-card,.summary,.summary-card,.stat{border:1px solid var(--tx-line)!important;border-radius:var(--tx-radius)!important;box-shadow:var(--tx-shadow)!important;transition:box-shadow .18s ease,border-color .18s ease;min-width:0}.card:hover,.panel:hover,.table-card:hover,.table-box:hover{box-shadow:var(--tx-shadow-hover)!important}.card,.panel,.table-card,.table-box,.profile-card{padding:clamp(15px,1.6vw,23px)!important}.card h2,.panel h2,.panel h3,.table-card h2,.profile-card h2{color:var(--tx-ink)!important;font-weight:700;letter-spacing:-.35px}.summary,.summary-card,.stat{position:relative;overflow:hidden;padding:20px!important}.summary:before,.summary-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 4px 4px 0;background:var(--tx-brand)}.summary p,.summary-card p,.stat p{color:var(--tx-muted)!important;font-size:12px;letter-spacing:.1px}.summary h2,.summary-card h2,.summary h3,.summary-card h3{color:var(--tx-ink)!important;font-size:clamp(23px,2vw,30px)!important;font-weight:750;letter-spacing:-.8px}.stat{background:linear-gradient(135deg,var(--tx-brand),#9a1230)!important;color:white!important}.stat p,.stat h1{color:#fff!important}.cards,.stats,.summary-grid{gap:16px!important}
/* Forms */
input,select,textarea{border:1px solid #d9dfeb!important;border-radius:10px!important;background:#fff;color:var(--tx-ink);min-height:42px;padding:10px 12px!important;box-shadow:0 1px 2px rgba(16,24,40,.02);transition:border-color .16s ease,box-shadow .16s ease}textarea{min-height:96px}input:hover,select:hover,textarea:hover{border-color:#b7c0d1!important}input:focus,select:focus,textarea:focus{border-color:var(--tx-brand-2)!important;box-shadow:0 0 0 3px rgba(121,0,27,.09)!important;outline:none}label,.form-group label{color:#414b5d!important;font-weight:600!important;font-size:12px!important}input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--tx-brand)}
/* Buttons */
button,.btn,a.btn,.submit-btn,.btn-primary,.btn-save,.action-btn,.edit-btn,.btn-edit,.btn-record,.print-btn{border-radius:10px!important;min-height:40px;font-weight:650!important;letter-spacing:.05px;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}button:hover,.btn:hover,a.btn:hover,.submit-btn:hover,.btn-primary:hover,.btn-save:hover,.action-btn:hover,.edit-btn:hover,.btn-edit:hover,.btn-record:hover,.print-btn:hover{filter:brightness(.97);box-shadow:0 5px 13px rgba(48,17,25,.12);transform:translateY(-1px)}button:active,.btn:active{transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(121,0,27,.2);outline-offset:2px}
/* Tables: stronger hierarchy, clearer scanning */
.table-wrap,.table-container,.table-responsive,.table-box{max-width:100%;overflow-x:auto;border-radius:12px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}thead th{background:#f7f8fb!important;color:#566074!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.45px;font-weight:750!important;border-bottom:1px solid var(--tx-line)!important;padding:13px 14px!important;white-space:nowrap}tbody td{padding:12px 14px!important;border-bottom:1px solid #edf0f5!important;color:#344054;vertical-align:middle}tbody tr:nth-child(even) td{background:#fbfcfe!important}tbody tr:hover td{background:#fff5f7!important}tbody tr:last-child td{border-bottom:0!important}td,th{line-height:1.5}.badge,.status-badge,.status-pill,.course-badge,.program-badge{border-radius:999px!important;font-weight:700!important;letter-spacing:.05px;white-space:nowrap}
/* Feedback, notices and empty states */
.alert,.success,.error,.message,.notice{border-radius:12px;line-height:1.55;padding:13px 15px}.success{background:#ecfdf3!important;color:#067647!important;border-color:#abefc6!important}.error{background:#fff1f0!important;color:#b42318!important;border-color:#fecdca!important}.section,.content-section{margin-top:22px}.divider,hr{border:0;border-top:1px solid var(--tx-line);margin:20px 0}
/* Login/signup pages */
.login-container,.login-box,.login-card,.auth-card,.signup-container{border:1px solid rgba(229,233,241,.9);border-radius:22px;box-shadow:0 24px 70px rgba(37,20,28,.12);background:rgba(255,255,255,.97)}
/* Responsive */
@media(max-width:1000px){.main{padding:18px!important}.cards,.stats,.summary-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important}.header{flex-wrap:wrap}}
@media(max-width:760px){.sidebar{width:220px!important}.main{margin-left:220px!important;padding:15px!important}.header h1{font-size:23px!important}.form-grid,.filter-grid,.form-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.main{margin-left:0!important;padding:13px!important}.header{margin-bottom:17px!important}.header h1{font-size:22px!important}.cards,.stats,.summary-grid,.form-grid,.filter-grid,.form-row{grid-template-columns:minmax(0,1fr)!important}.card,.panel,.table-card,.table-box,.profile-card{padding:14px!important}.table-wrap table,.table-container table,.table-responsive table{min-width:650px}.button-row,.filter-actions,.actions,.action-group{display:flex;flex-wrap:wrap;gap:8px}.header-date,.date-badge,.date-box{white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Accessibility fix: ensure text remains readable on saturated summary cards. */
.summary.green, .summary.orange, .summary.red, .summary.blue,
.summary-card.green, .summary-card.orange, .summary-card.red, .summary-card.blue {
  color: #ffffff !important;
  border-color: transparent !important;
}
.summary.green, .summary-card.green { background: #168747 !important; }
.summary.orange, .summary-card.orange { background: #b94708 !important; }
.summary.red, .summary-card.red { background: #bd2026 !important; }
.summary.blue, .summary-card.blue { background: #174fbf !important; }
.summary.green p, .summary.green h2, .summary.green h3,
.summary.orange p, .summary.orange h2, .summary.orange h3,
.summary.red p, .summary.red h2, .summary.red h3,
.summary.blue p, .summary.blue h2, .summary.blue h3,
.summary-card.green p, .summary-card.green h2, .summary-card.green h3,
.summary-card.orange p, .summary-card.orange h2, .summary-card.orange h3,
.summary-card.red p, .summary-card.red h2, .summary-card.red h3,
.summary-card.blue p, .summary-card.blue h2, .summary-card.blue h3 {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.summary.green:before, .summary.orange:before, .summary.red:before, .summary.blue:before,
.summary-card.green:before, .summary-card.orange:before, .summary-card.red:before, .summary-card.blue:before {
  background: rgba(255,255,255,.72) !important;
}
/* Keep the neutral grade/status card readable as well. */
.summary:not(.green):not(.orange):not(.red):not(.blue) p,
.summary:not(.green):not(.orange):not(.red):not(.blue) h2,
.summary:not(.green):not(.orange):not(.red):not(.blue) h3 {
  color: #20283a !important;
}
