:root{--p:#0d6efd;--p2:color-mix(in srgb,var(--p) 55%,#000);--ink:#1e2433;--soft:#f4f6fb}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--soft)}
h1,h2,h3,h4,.brand{font-family:'Playfair Display',serif}
.navbar{background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 4px 20px rgba(0,0,0,.15)}
.navbar .nav-link{color:rgba(255,255,255,.8);border-radius:50px;padding:.4rem 1rem!important;margin:0 2px;transition:.2s}
.navbar .nav-link:hover,.navbar .nav-link.active{background:rgba(255,255,255,.18);color:#fff}
.brand{font-weight:700;letter-spacing:.3px}
.hero{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:5rem 0 6rem;position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}
.hero:before{width:420px;height:420px;right:-120px;top:-140px}.hero:after{width:260px;height:260px;left:-80px;bottom:-120px}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700}
.pill{display:inline-block;padding:.35rem 1rem;border-radius:50px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);font-size:.85rem}
.btn{border-radius:50px;padding:.55rem 1.4rem;font-weight:500}
.btn-light{color:var(--p2)}
.lift{margin-top:-3.5rem;position:relative}
.feat{background:#fff;border:0;border-radius:20px;padding:1.6rem;box-shadow:0 10px 30px rgba(30,36,51,.08);height:100%;transition:.25s}
.feat:hover{transform:translateY(-6px)}
.ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;margin-bottom:1rem}
.page-title{font-weight:700;margin-bottom:1.5rem;position:relative;padding-bottom:.6rem}
.page-title:after{content:"";position:absolute;left:0;bottom:0;width:60px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--p),var(--p2))}
.card,.table{border:0;border-radius:18px}
.card{box-shadow:0 8px 28px rgba(30,36,51,.07)}
.table{overflow:hidden;box-shadow:0 8px 28px rgba(30,36,51,.06)}
.table th{background:var(--p);color:#fff;border:0;font-weight:500}
.form-control,.form-select{border-radius:12px;padding:.65rem .9rem;border:1.5px solid #e0e5ef}
.form-control:focus{border-color:var(--p);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--p) 20%,transparent)}
.alert{border:0;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.login-card{max-width:430px;margin:1rem auto;background:#fff;padding:2.2rem;border-radius:24px;box-shadow:0 20px 50px rgba(30,36,51,.15);border-top:6px solid var(--p)}
.kc{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(30,36,51,.1);height:100%;transition:.3s;display:flex;flex-direction:column}
.kc:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(30,36,51,.18)}
.kc-img{display:flex;position:relative;height:240px}.kc-img img{width:50%;height:100%;object-fit:cover}
.kc-img .no{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font:700 1.5rem 'Playfair Display',serif;display:grid;place-items:center;border:4px solid #fff;z-index:2}
.kc-b{padding:2rem 1.3rem 1.3rem;flex:1;text-align:center}
.kc-b h5{font-weight:700;margin-bottom:.2rem}.kc-b .sub{color:#7a8296;font-size:.8rem;margin-bottom:.8rem}
.kc-b .vm{text-align:left;font-size:.85rem;background:var(--soft);border-radius:14px;padding:.8rem 1rem;margin-bottom:.8rem}
.side{background:#fff;min-height:calc(100vh - 62px);box-shadow:4px 0 20px rgba(30,36,51,.05);padding:1rem .7rem}
.side .nav-link{color:var(--ink);border-radius:12px;padding:.65rem 1rem;margin-bottom:3px}
.side .nav-link:hover{background:var(--soft)}.side .nav-link.active{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.stat{border-radius:20px;padding:1.2rem 1.4rem;color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 10px 25px rgba(30,36,51,.15)}
.stat small{opacity:.85}.stat h3{margin:.2rem 0 0;font-weight:700}
footer{color:#8b93a7;font-size:.85rem;padding:2rem 0}
.cdb{background:rgba(255,255,255,.16);backdrop-filter:blur(8px);border-radius:16px;padding:.7rem .4rem;min-width:70px;text-align:center;border:1px solid rgba(255,255,255,.25)}
.cdb b{display:block;font:700 1.8rem 'Playfair Display',serif;line-height:1.1}.cdb small{font-size:.7rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}
.progress{border-radius:50px;height:22px}.progress-bar{background:linear-gradient(90deg,var(--p),var(--p2))}
