body{background:#f4f6f9}.sidebar{min-height:calc(100vh - 56px);background:#fff;border-right:1px solid #e5e7eb}.sidebar a{display:block;padding:.7rem .8rem;color:#253047;text-decoration:none;border-radius:.5rem}.sidebar a:hover{background:#eef2ff}.card{border:0;box-shadow:0 2px 12px rgba(0,0,0,.06)}.cert-stage{position:relative;background:#fff;background-size:100% 100%;background-repeat:no-repeat;box-shadow:0 0 12px rgba(0,0,0,.2);overflow:hidden}.cert-field{position:absolute;cursor:move;user-select:none;white-space:pre-wrap}.cert-field.selected{outline:2px dashed #0d6efd}@media(max-width:991px){.sidebar{min-height:auto}}
/* ===== Login SISTE-KENYEMC v1.3 ===== */
.login-page{--keny-teal:#22b8cf;--keny-cyan:#15aabf;--keny-indigo:#4c6ef5;--keny-purple:#7048e8;--keny-green:#20c997;--keny-ink:#24304a;--keny-muted:#72809a;margin:0;min-height:100vh;background:#f7f8ff;color:var(--keny-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr)}.login-brand-panel{position:relative;overflow:hidden;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem);background:linear-gradient(135deg,rgba(34,184,207,.50),rgba(76,110,245,.52) 48%,rgba(112,72,232,.58)),url("../img/login-background.svg") center/cover no-repeat;color:#fff}.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.login-brand-panel:before{width:460px;height:460px;right:-170px;top:-150px;background:rgba(255,255,255,.09)}.login-brand-panel:after{width:320px;height:320px;left:-150px;bottom:-100px;border:1px solid rgba(255,255,255,.16)}.login-brand-content{position:relative;z-index:1;max-width:680px}.brand-mark{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.30);box-shadow:0 18px 45px rgba(37,33,94,.22);font-size:2.25rem}.brand-mark-sm{width:52px;height:52px;border-radius:15px;font-size:1.55rem;background:linear-gradient(135deg,var(--keny-teal),var(--keny-indigo) 55%,var(--keny-purple));color:#fff;box-shadow:0 10px 24px rgba(76,110,245,.20);flex:0 0 auto}.brand-kicker,.login-eyebrow{font-size:.73rem;letter-spacing:.16em;font-weight:800}.brand-kicker{color:rgba(255,255,255,.84)}.login-brand-copy{max-width:600px;color:rgba(255,255,255,.91);line-height:1.65;font-size:1.08rem;text-shadow:0 1px 12px rgba(21,33,73,.12)}.login-feature-list{display:grid;gap:1rem;max-width:590px}.login-feature{display:flex;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:18px;backdrop-filter:blur(9px);box-shadow:0 10px 28px rgba(43,40,107,.10)}.login-feature-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.19);font-size:1.25rem;flex:0 0 auto}.login-feature strong{display:block;font-size:.95rem}.login-feature small{display:block;color:rgba(255,255,255,.78);margin-top:.16rem}.login-brand-footer{position:absolute;left:clamp(3rem,7vw,7rem);bottom:2rem;z-index:1;color:rgba(255,255,255,.67);font-size:.78rem;letter-spacing:.03em}.login-form-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem clamp(1.4rem,5vw,5rem);background:radial-gradient(circle at 100% 0,rgba(112,72,232,.12),transparent 28%),radial-gradient(circle at 0 100%,rgba(34,184,207,.10),transparent 31%),linear-gradient(145deg,#fbfdff 0%,#f7f8ff 58%,#faf7ff 100%)}.login-form-panel:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-150px;bottom:10%;background:rgba(32,201,151,.07);pointer-events:none}.login-card-wrap{position:relative;z-index:1;width:100%;max-width:475px;padding:clamp(1.2rem,2vw,1.7rem);border-radius:26px;background:rgba(255,255,255,.78);border:1px solid rgba(76,110,245,.10);box-shadow:0 24px 60px rgba(74,75,145,.10);backdrop-filter:blur(10px)}.login-mobile-brand{display:flex;align-items:center;gap:.8rem}.login-eyebrow{display:inline-block;color:var(--keny-indigo);background:rgba(76,110,245,.08);padding:.42rem .68rem;border-radius:999px}.login-heading h2{font-size:2rem;background:linear-gradient(90deg,#33415f,var(--keny-indigo),var(--keny-purple));-webkit-background-clip:text;background-clip:text;color:transparent}.login-alert{border:0;border-radius:14px;background:#fff0f4;color:#a61d43;box-shadow:0 6px 20px rgba(166,29,67,.08)}.login-form .form-label{font-size:.9rem;color:#34415d}.login-input-group{border:1px solid #d9e0f0;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-input-group:hover{border-color:#c7d0ea}.login-input-group:focus-within{border-color:var(--keny-indigo);box-shadow:0 0 0 4px rgba(76,110,245,.12);transform:translateY(-1px)}.login-input-group .input-group-text{border:0;background:#fff;color:var(--keny-indigo);padding-left:1rem;padding-right:.55rem}.login-input-group .form-control{height:54px;border:0;background:#fff;padding-left:.55rem;box-shadow:none!important;color:#26334f}.login-input-group .form-control::placeholder{color:#a1abc0}.btn-password-toggle{border:0;background:#fff;color:#74829b;padding:0 1rem}.btn-password-toggle:hover,.btn-password-toggle:focus{background:#f8f9ff;color:var(--keny-purple)}.btn-login{height:56px;border:0;border-radius:14px;padding:0 1.2rem;display:flex;align-items:center;justify-content:center;gap:.8rem;background:linear-gradient(100deg,var(--keny-teal) 0%,var(--keny-indigo) 52%,var(--keny-purple) 100%);color:#fff;font-weight:750;letter-spacing:.01em;box-shadow:0 14px 30px rgba(76,110,245,.27);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.btn-login:hover,.btn-login:focus{color:#fff;transform:translateY(-2px);filter:saturate(1.1) brightness(1.03);box-shadow:0 18px 35px rgba(76,110,245,.34)}.btn-login i{transition:transform .16s ease}.btn-login:hover i{transform:translateX(3px)}.login-security-note{display:flex;align-items:center;justify-content:center;gap:.45rem;color:#7b879d;font-size:.8rem}.login-security-note i{color:var(--keny-green)}.login-form-footer{position:absolute;bottom:1.4rem;color:#9aa4b6;font-size:.75rem}.login-page input:-webkit-autofill,.login-page input:-webkit-autofill:hover,.login-page input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#26334f;transition:background-color 5000s ease-in-out 0s}@media(max-width:991.98px){.login-shell{display:block}.login-form-panel{min-height:100vh;padding-top:2.5rem;padding-bottom:5rem}.login-card-wrap{max-width:520px}.login-heading h2{font-size:1.8rem}}@media(max-width:575.98px){.login-form-panel{justify-content:flex-start;padding:1.5rem 1.15rem 4.5rem}.login-card-wrap{max-width:none;padding:1.25rem;border-radius:22px}.login-mobile-brand{margin-top:.25rem}.login-heading{margin-top:2.4rem}.login-heading h2{font-size:1.65rem}.login-form-footer{left:1rem;right:1rem;text-align:center}.login-input-group .form-control{height:52px}}
.sidebar-label{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#9aa4b2;padding:.25rem .8rem .45rem}.sidebar hr{border-color:#e9edf3}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;color:#6b7280;background:#f8fafc}.badge{font-weight:650}.navbar-brand{letter-spacing:-.01em}.form-label{font-weight:600;color:#374151}


/* ===== SISTE-KENYEMC Panel v1.5 ===== */
:root{
  --keny-teal:#22b8cf;
  --keny-cyan:#15aabf;
  --keny-indigo:#4c6ef5;
  --keny-purple:#7048e8;
  --keny-green:#20c997;
  --keny-blue:#228be6;
  --keny-ink:#24304a;
  --keny-muted:#75819a;
  --keny-bg:#f6f8fd;
  --keny-border:#e7eaf3;
}
.admin-page{background:var(--keny-bg);color:var(--keny-ink);min-height:100vh;}
.keny-navbar{
  position:fixed;top:0;left:0;right:0;height:72px;z-index:1040;
  background:linear-gradient(105deg,#20b8c8 0%,#4c6ef5 52%,#7048e8 100%);
  box-shadow:0 12px 28px rgba(59,73,154,.18);
}
.keny-navbar .navbar-brand{color:#fff;font-size:1.05rem;letter-spacing:-.02em}
.nav-brand-mark{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:0 8px 18px rgba(30,44,100,.16)}
.btn-menu{color:#fff;border:1px solid rgba(255,255,255,.25);font-size:1.25rem;padding:.25rem .55rem}
.btn-menu:hover,.btn-menu:focus{color:#fff;background:rgba(255,255,255,.12)}
.user-menu{display:flex;align-items:center;gap:.65rem;border:0;color:#fff;padding:.35rem .5rem .35rem .35rem;border-radius:14px}
.user-menu:hover,.user-menu:focus,.user-menu.show{color:#fff;background:rgba(255,255,255,.12)}
.user-menu strong{display:block;font-size:.82rem;line-height:1.1}
.user-menu small{display:block;font-size:.65rem;color:rgba(255,255,255,.72);margin-top:.12rem}
.user-avatar{width:38px;height:38px;border-radius:12px;background:#fff;color:var(--keny-indigo);display:grid;place-items:center;font-size:1rem;box-shadow:0 5px 14px rgba(30,42,100,.16)}

.keny-sidebar{
  --bs-offcanvas-width:270px;
  position:fixed;top:72px;bottom:0;left:0;width:270px;z-index:1030;
  border-right:1px solid rgba(76,110,245,.08);
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 60%,#f8f7ff 100%);
  box-shadow:10px 0 34px rgba(69,77,130,.05);
}
.keny-sidebar .offcanvas-body{overflow-y:auto}
.sidebar-kicker{font-size:.64rem;letter-spacing:.15em;font-weight:850;color:#a0a8bb;padding:.35rem .85rem .6rem}
.sidebar-nav{display:grid;gap:.35rem}
.sidebar-nav a{
  position:relative;display:flex;align-items:center;gap:.85rem;padding:.78rem .9rem;border-radius:13px;
  color:#526079;text-decoration:none;font-size:.89rem;font-weight:650;transition:.18s ease;
}
.sidebar-nav a i{width:22px;text-align:center;font-size:1.05rem;color:#7c89aa;transition:.18s ease}
.sidebar-nav a:hover{color:var(--keny-indigo);background:#f0f3ff;transform:translateX(2px)}
.sidebar-nav a:hover i{color:var(--keny-indigo)}
.sidebar-nav a.active{
  color:#fff;background:linear-gradient(100deg,var(--keny-teal),var(--keny-indigo) 56%,var(--keny-purple));
  box-shadow:0 10px 22px rgba(76,110,245,.20);
}
.sidebar-nav a.active i{color:#fff}
.sidebar-help{display:flex;gap:.7rem;align-items:center;padding:.85rem;border-radius:16px;background:linear-gradient(135deg,rgba(34,184,207,.10),rgba(112,72,232,.09));border:1px solid rgba(76,110,245,.08)}
.sidebar-help-icon{width:38px;height:38px;border-radius:12px;background:#fff;color:var(--keny-green);display:grid;place-items:center;box-shadow:0 6px 16px rgba(52,75,145,.08);flex:0 0 auto}
.sidebar-help strong{display:block;font-size:.78rem}
.sidebar-help small{display:block;color:#8791a6;font-size:.65rem;line-height:1.3;margin-top:.1rem}

.keny-main{margin-left:270px;padding-top:72px;min-height:100vh}
.page-hero{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.55rem 1.7rem;border-radius:22px;overflow:hidden;
  background:linear-gradient(115deg,rgba(34,184,207,.12),rgba(76,110,245,.10) 52%,rgba(112,72,232,.12));
  border:1px solid rgba(76,110,245,.08);
}
.page-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-105px;background:rgba(255,255,255,.55)}
.page-eyebrow,.section-kicker{font-size:.66rem;letter-spacing:.14em;font-weight:850;color:var(--keny-indigo)}
.page-title{font-size:clamp(1.45rem,2.2vw,2.05rem);font-weight:800;margin:.25rem 0 .2rem;letter-spacing:-.03em}
.page-subtitle{color:var(--keny-muted);font-size:.9rem}
.hero-badge{position:relative;z-index:1;align-items:center;gap:.7rem;padding:.8rem 1rem;border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 10px 25px rgba(76,110,245,.08)}
.hero-badge>i{font-size:1.5rem;color:var(--keny-indigo)}
.hero-badge strong,.hero-badge small{display:block}
.hero-badge strong{font-size:.8rem}.hero-badge small{font-size:.68rem;color:#8490a6;margin-top:.12rem}

.stat-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:.9rem;min-height:126px;padding:1.2rem;border-radius:20px;background:#fff;border:1px solid var(--keny-border);box-shadow:0 12px 30px rgba(49,63,115,.06);transition:.18s ease}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(49,63,115,.09)}
.stat-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.25rem;flex:0 0 auto}
.stat-content span{display:block;color:#7d879b;font-size:.78rem;font-weight:650}
.stat-content strong{display:block;font-size:2rem;line-height:1.1;margin-top:.18rem;letter-spacing:-.04em}
.stat-decoration{position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;bottom:-35px;opacity:.11}
.stat-teal .stat-icon{background:rgba(34,184,207,.12);color:var(--keny-teal)}.stat-teal .stat-decoration{background:var(--keny-teal)}
.stat-indigo .stat-icon{background:rgba(76,110,245,.12);color:var(--keny-indigo)}.stat-indigo .stat-decoration{background:var(--keny-indigo)}
.stat-purple .stat-icon{background:rgba(112,72,232,.12);color:var(--keny-purple)}.stat-purple .stat-decoration{background:var(--keny-purple)}
.stat-green .stat-icon{background:rgba(32,201,151,.12);color:var(--keny-green)}.stat-green .stat-decoration{background:var(--keny-green)}
.stat-blue .stat-icon{background:rgba(34,139,230,.12);color:var(--keny-blue)}.stat-blue .stat-decoration{background:var(--keny-blue)}

.card,.panel-card{border:1px solid var(--keny-border);border-radius:18px;box-shadow:0 10px 28px rgba(44,59,112,.055);overflow:hidden}
.card-header{background:linear-gradient(90deg,#fbfcff,#f8f9ff);border-bottom:1px solid var(--keny-border);font-weight:750;color:#36425b}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.quick-action{display:flex;align-items:center;gap:.75rem;text-decoration:none;padding:.9rem;border:1px solid var(--keny-border);border-radius:16px;color:#46536c;background:#fff;transition:.16s ease}
.quick-action:hover{color:var(--keny-indigo);border-color:rgba(76,110,245,.25);background:#fafbff;transform:translateY(-2px)}
.quick-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(34,184,207,.11),rgba(76,110,245,.10));color:var(--keny-indigo);flex:0 0 auto}
.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:.8rem}.quick-action small{color:#8993a7;font-size:.67rem;margin-top:.08rem}
.status-list{display:grid;gap:.75rem}
.status-list>div{display:flex;justify-content:space-between;align-items:center;padding:.82rem .9rem;border-radius:13px;background:#f8faff;font-size:.78rem}
.status-list span{color:#647087}.status-list span i{color:var(--keny-green);margin-right:.35rem}.status-list strong{color:#2d3a52;font-size:.7rem}

.admin-page h1,.admin-page h2,.admin-page h3{font-weight:800;letter-spacing:-.025em;color:#28354e}
.admin-page h2{font-size:1.55rem;margin-bottom:1rem}
.table-responsive{border-radius:16px}
.table{--bs-table-bg:transparent;margin-bottom:0}
.table thead th{background:#f7f9fd;color:#7b8598;border-bottom:1px solid var(--keny-border);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;padding:.85rem}
.table tbody td{padding:.82rem .85rem;border-color:#edf0f6;vertical-align:middle;font-size:.83rem}
.table tbody tr:hover{background:#fafbff}
.form-control,.form-select{border-radius:11px;border-color:#dfe4ee;min-height:42px}
.form-control:focus,.form-select:focus{border-color:var(--keny-indigo);box-shadow:0 0 0 .2rem rgba(76,110,245,.10)}
.form-label{font-size:.8rem;font-weight:700;color:#465169}
.btn{border-radius:11px;font-weight:650}
.btn-primary{border:0;background:linear-gradient(100deg,var(--keny-teal),var(--keny-indigo) 55%,var(--keny-purple));box-shadow:0 7px 16px rgba(76,110,245,.18)}
.btn-primary:hover,.btn-primary:focus{filter:brightness(1.035);box-shadow:0 9px 20px rgba(76,110,245,.24)}
.btn-outline-primary{border-color:rgba(76,110,245,.35);color:var(--keny-indigo)}
.btn-outline-primary:hover{background:var(--keny-indigo);border-color:var(--keny-indigo)}
.badge{border-radius:999px;padding:.45em .7em;font-weight:700}
.dropdown-menu{border-radius:14px;padding:.45rem}
.dropdown-item{border-radius:9px;font-size:.82rem;padding:.55rem .7rem}
.keny-alert{border:0;border-radius:14px;box-shadow:0 8px 20px rgba(50,63,110,.07)}

@media(max-width:991.98px){
  .keny-sidebar{top:0;height:100vh}
  .keny-main{margin-left:0}
  .keny-navbar{height:66px}
  .keny-main{padding-top:66px}
}
@media(max-width:767.98px){
  .quick-grid{grid-template-columns:1fr}
  .page-hero{padding:1.25rem}
  .stat-card{min-height:108px}
}
