*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
background:#f8f8f8;
color:#222;
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 60px;
background:#fff;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
position:sticky;
top:0;
z-index:1000;
}

.logo-box{
display:flex;
align-items:center;
gap:15px;
}

.logo{
width:90px;
}

.logo-box h2{
color:#e5006d;
font-size:38px;
}

.logo-box p{
color:#666;
}

nav ul{
display:flex;
gap:30px;
list-style:none;
}

nav ul li a{
text-decoration:none;
color:#111;
font-weight:500;
transition:0.3s;
}

nav ul li a:hover{
color:#e5006d;
}

.call-btn{
background:#e5006d;
color:#fff;
padding:15px 20px;
border-radius:12px;
display:flex;
align-items:center;
gap:10px;
font-weight:600;
}

.hero{
padding:80px 60px;
display:flex;
align-items:center;
justify-content:space-between;
background:#fff3f8;
}

.hero-text{
width:50%;
}

.hero-text h1{
font-size:72px;
line-height:1.1;
margin-bottom:20px;
}

.hero-text span{
color:#e5006d;
}

.hero-text p{
font-size:20px;
line-height:1.7;
margin-bottom:30px;
}

.hero-buttons{
display:flex;
gap:20px;
}

.btn{
padding:15px 35px;
border-radius:10px;
text-decoration:none;
font-weight:600;
display:inline-block;
}

.btn-primary{
background:#e5006d;
color:#fff;
}

.btn-secondary{
border:2px solid #e5006d;
color:#e5006d;
}

.hero-image img{
width:550px;
border-radius:30px;
}

.section-title{
text-align:center;
font-size:48px;
margin:60px 0 40px;
}

.section-title span{
color:#e5006d;
}

.course-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
padding:0 60px 60px;
}

.course-card{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
transition:0.3s;
}

.course-card:hover{
transform:translateY(-8px);
}

.course-card img{
width:100%;
height:220px;
object-fit:cover;
}

.course-content{
padding:20px;
}

.course-content h3{
margin-bottom:10px;
color:#e5006d;
}

.course-content p{
line-height:1.7;
margin-bottom:15px;
}

.small-btn{
display:inline-block;
padding:10px 20px;
background:#e5006d;
color:#fff;
border-radius:8px;
text-decoration:none;
}

.branches{
padding:60px;
}

.branch-card{
display:grid;
grid-template-columns:1fr 1fr;
background:#fff;
margin-bottom:30px;
border-radius:20px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

.branch-info{
padding:40px;
}

.branch-info h2{
color:#e5006d;
margin-bottom:15px;
}

.branch-info p{
line-height:1.9;
}

.map iframe{
width:100%;
height:100%;
border:0;
}

.footer{
background:#e5006d;
padding:30px 60px;
margin-top:50px;
}

.footer-box{
display:flex;
justify-content:space-between;
align-items:center;
color:#fff;
}

.enrol-btn{
background:#17a34a;
padding:15px 35px;
border-radius:10px;
color:#fff;
text-decoration:none;
font-weight:600;
}

.contact-section{
padding:60px;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.contact-form{
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

.contact-form input,
.contact-form textarea,
.contact-form select{
width:100%;
padding:15px;
margin-bottom:20px;
border:1px solid #ddd;
border-radius:10px;
outline:none;
}

.contact-form button{
background:#e5006d;
color:#fff;
padding:15px;
border:none;
width:100%;
border-radius:10px;
font-size:18px;
cursor:pointer;
}

@media(max-width:992px){

.hero{
flex-direction:column;
}

.hero-text{
width:100%;
}

.hero-image img{
width:100%;
margin-top:40px;
}

.course-grid{
grid-template-columns:repeat(2,1fr);
}

.branch-card{
grid-template-columns:1fr;
}

.contact-section{
grid-template-columns:1fr;
}

.header{
flex-direction:column;
gap:20px;
}
}


@media(max-width:768px){

.course-grid{
grid-template-columns:1fr;
}

.hero-text h1{
font-size:48px;
}

.section-title{
font-size:36px;
}
}

/* =========================================================
   PLACEHOLDER GRADIENTS FOR MISSING IMAGES
   (real images dropped into /assets later will override these)
   ========================================================= */
.logo{
background:linear-gradient(135deg,#e5006d,#ff5ba0);
border-radius:12px;
min-height:60px;
object-fit:cover;
}
.hero-image img,
.course-card img,
.branch-card .map img,
.testimonial-card img{
background:linear-gradient(135deg,#ffd6e8,#ffe9f2);
}
.course-card img{
display:block;
}
img{
color:transparent; /* hide alt text flash */
}

/* =========================================================
   SHARED BRAND BADGE
   ========================================================= */
.brand-badge{
width:46px;height:46px;border-radius:12px;
background:linear-gradient(135deg,#e5006d,#ff5ba0);
color:#fff;display:flex;align-items:center;justify-content:center;
font-size:22px;flex-shrink:0;
}

/* =========================================================
   LOGIN PAGE
   ========================================================= */
.login-page{
min-height:100vh;
display:flex;align-items:center;justify-content:center;
background:linear-gradient(135deg,#e5006d 0%,#7a0039 100%);
padding:20px;
}
.login-wrap{width:100%;max-width:420px;}
.login-card{
background:#fff;border-radius:24px;padding:45px 40px;
box-shadow:0 30px 70px rgba(0,0,0,0.25);
}
.login-brand{text-align:center;margin-bottom:30px;}
.login-brand .brand-badge{margin:0 auto 14px;width:60px;height:60px;font-size:28px;border-radius:16px;}
.login-brand h2{font-size:30px;color:#222;}
.login-brand h2 span{color:#e5006d;}
.login-brand p{color:#888;font-size:14px;margin-top:4px;}
.login-form label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:8px;}
.input-icon{position:relative;margin-bottom:20px;}
.input-icon i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#e5006d;}
.input-icon input{
width:100%;padding:14px 14px 14px 44px;
border:1.5px solid #eee;border-radius:12px;font-size:15px;outline:none;transition:.2s;
}
.input-icon input:focus{border-color:#e5006d;box-shadow:0 0 0 3px rgba(229,0,109,.12);}
.btn-block{
width:100%;padding:14px;border:none;border-radius:12px;cursor:pointer;
background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;font-size:16px;font-weight:600;
display:flex;align-items:center;justify-content:center;gap:8px;transition:.2s;
}
.btn-block:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(229,0,109,.35);}
.login-foot{text-align:center;color:#aaa;font-size:12px;margin-top:24px;}

/* =========================================================
   ALERTS
   ========================================================= */
.alert{padding:14px 18px;border-radius:12px;margin-bottom:22px;font-size:14px;display:flex;align-items:center;gap:10px;}
.alert-error{background:#fdecef;color:#c00047;border:1px solid #f7c5d4;}
.alert-success{background:#e8f8ef;color:#0c7a3e;border:1px solid #b9e8cd;}

/* =========================================================
   ERP LAYOUT
   ========================================================= */
.erp-body{background:#f4f5fa;color:#2b2b40;}
.sidebar{
position:fixed;left:0;top:0;width:260px;height:100vh;overflow:auto;
background:linear-gradient(180deg,#1f1330,#3a0d29);
padding:22px 16px;z-index:1000;
}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:6px 8px 22px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:16px;}
.sidebar-brand h2{color:#fff;font-size:22px;line-height:1;}
.sidebar-brand h2 span{color:#ff7ab0;}
.sidebar-brand small{color:#b59cc0;font-size:11px;}
.sidebar-nav a{
display:flex;align-items:center;gap:12px;
padding:11px 14px;margin-bottom:4px;border-radius:10px;
color:#cdbcd8;text-decoration:none;font-size:14px;font-weight:500;transition:.18s;
}
.sidebar-nav a i{width:18px;text-align:center;font-size:15px;}
.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.sidebar-nav a.active{background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;box-shadow:0 6px 16px rgba(229,0,109,.4);}
.sidebar-nav .nav-label{color:#8b7796;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:16px 14px 8px;}
.sidebar-nav .logout-link{color:#ff9ab5;}
.sidebar-nav .logout-link:hover{background:rgba(229,0,109,.18);color:#fff;}

.erp-main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column;}
.topbar{
display:flex;align-items:center;justify-content:space-between;
background:#fff;padding:18px 30px;box-shadow:0 1px 10px rgba(0,0,0,.05);
position:sticky;top:0;z-index:900;
}
.topbar-title h1{font-size:22px;color:#2b2b40;}
.topbar-actions{display:flex;align-items:center;gap:18px;color:#777;font-size:13px;}
.topbar-user{background:#fff3f8;color:#e5006d;padding:8px 14px;border-radius:20px;font-weight:600;}
.erp-content{padding:28px 30px;flex:1;}
.erp-foot{padding:18px 30px;color:#999;font-size:12px;border-top:1px solid #eee;}

/* ---- stat cards ---- */
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:26px;}
.stat-card{background:#fff;border-radius:18px;padding:22px;display:flex;align-items:center;gap:16px;box-shadow:0 6px 20px rgba(0,0,0,.05);}
.sc-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;}
.sc-pink .sc-icon{background:linear-gradient(135deg,#e5006d,#ff5ba0);}
.sc-blue .sc-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa);}
.sc-green .sc-icon{background:linear-gradient(135deg,#17a34a,#4ade80);}
.sc-amber .sc-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);}
.sc-meta span{font-size:26px;font-weight:700;color:#2b2b40;display:block;line-height:1.1;}
.sc-meta p{color:#888;font-size:13px;margin-top:2px;}

/* ---- quick actions ---- */
.quick-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px;}
.quick-actions .qa{
background:#fff;border-radius:12px;padding:14px 20px;text-decoration:none;color:#2b2b40;
font-weight:500;font-size:14px;display:flex;align-items:center;gap:10px;
box-shadow:0 4px 14px rgba(0,0,0,.05);transition:.18s;
}
.quick-actions .qa i{color:#e5006d;}
.quick-actions .qa:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.1);}

/* ---- panels / cards ---- */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.panel,.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 6px 20px rgba(0,0,0,.05);}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.panel-head h3{font-size:17px;color:#2b2b40;}
.panel-head a,.link{color:#e5006d;text-decoration:none;font-size:13px;font-weight:600;}
.panel-head a:hover,.link:hover{text-decoration:underline;}
.card{margin-bottom:24px;}
.card-title{font-size:18px;color:#2b2b40;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.card-title i{color:#e5006d;}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.card-head .card-title{margin-bottom:0;}

/* ---- tables ---- */
.table-wrap{overflow-x:auto;}
.data-table{width:100%;border-collapse:collapse;}
.data-table thead th{
text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;
color:#8a8aa3;padding:12px 14px;border-bottom:2px solid #f0f0f5;
}
.data-table tbody td{padding:14px;border-bottom:1px solid #f3f3f8;font-size:14px;color:#3a3a55;}
.data-table tbody tr:hover{background:#fafaff;}
.data-table .empty{text-align:center;color:#aaa;padding:30px;}

.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;display:inline-block;}
.avatar-placeholder{
width:42px;height:42px;border-radius:50%;
background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;
display:inline-flex;align-items:center;justify-content:center;font-weight:600;
}
.avatar-placeholder.big{width:110px;height:110px;font-size:42px;}

/* ---- badges & pills ---- */
.badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;}
.badge-danger{background:#fdecef;color:#c00047;}
.badge-success{background:#e8f8ef;color:#0c7a3e;}
.badge-info{background:#eaf2ff;color:#2563eb;}
.badge-mode{background:#f3eefb;color:#7c3aed;}
.pill{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;}
.pill-danger{background:#fdecef;color:#c00047;}
.pill-success{background:#e8f8ef;color:#0c7a3e;}

/* ---- action icons ---- */
.actions{display:flex;gap:8px;}
.act{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;transition:.15s;}
.act-view{background:#eaf2ff;color:#2563eb;}
.act-edit{background:#fff3f8;color:#e5006d;}
.act-del{background:#fdecef;color:#c00047;}
.act:hover{transform:translateY(-2px);}

/* ---- forms ---- */
.form-card.narrow{max-width:560px;}
.styled-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;}
.styled-form .field{display:flex;flex-direction:column;margin-bottom:18px;}
.styled-form .form-grid .field{margin-bottom:0;}
.styled-form label{font-size:13px;font-weight:600;color:#555;margin-bottom:8px;}
.styled-form input,.styled-form select,.styled-form textarea{
padding:12px 14px;border:1.5px solid #eee;border-radius:10px;font-size:14px;outline:none;
font-family:'Poppins',sans-serif;transition:.18s;background:#fff;
}
.styled-form input:focus,.styled-form select:focus,.styled-form textarea:focus{
border-color:#e5006d;box-shadow:0 0 0 3px rgba(229,0,109,.1);
}
.btn-primary-erp{
background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;border:none;cursor:pointer;
padding:13px 26px;border-radius:10px;font-size:14px;font-weight:600;
display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:.18s;
}
.btn-primary-erp.sm{padding:9px 16px;font-size:13px;}
.btn-primary-erp:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(229,0,109,.35);}
.btn-ghost{
background:#f3f3f8;color:#555;border:none;cursor:pointer;
padding:13px 24px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;
display:inline-flex;align-items:center;gap:8px;transition:.18s;
}
.btn-ghost:hover{background:#e9e9f2;}
.form-actions{display:flex;gap:12px;align-items:center;}

/* ---- student profile ---- */
.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start;}
.profile-card{text-align:center;}
.profile-photo{margin-bottom:16px;}
.profile-photo img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #fff3f8;}
.profile-card h2{font-size:22px;color:#2b2b40;}
.profile-card .muted{color:#e5006d;font-weight:600;margin-bottom:18px;}
.profile-meta{list-style:none;text-align:left;margin-bottom:20px;}
.profile-meta li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f3f3f8;font-size:14px;color:#444;}
.profile-meta li span{color:#999;font-size:13px;}
.profile-actions{display:flex;gap:10px;justify-content:center;}
.fee-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
.fee-summary.small{margin-bottom:20px;}
.fs-box{background:#fff;border-radius:14px;padding:18px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.05);}
.fs-box span{display:block;font-size:12px;color:#999;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;}
.fs-box strong{font-size:22px;}
.fs-total strong{color:#2563eb;}
.fs-paid strong{color:#0c7a3e;}
.fs-pending strong{color:#c00047;}

/* =========================================================
   RECEIPT
   ========================================================= */
.receipt-page{background:#f4f5fa;display:flex;justify-content:center;padding:40px 20px;}
.receipt{background:#fff;max-width:560px;width:100%;border-radius:18px;padding:40px;box-shadow:0 10px 40px rgba(0,0,0,.08);}
.receipt-head{text-align:center;border-bottom:2px dashed #eee;padding-bottom:22px;margin-bottom:22px;}
.receipt-head .brand-badge{margin:0 auto 12px;width:54px;height:54px;font-size:26px;}
.receipt-head h1{font-size:28px;color:#222;}
.receipt-head h1 span{color:#e5006d;}
.receipt-head p{color:#888;font-size:13px;margin-top:4px;}
.receipt-meta{display:flex;justify-content:space-between;margin-bottom:22px;}
.receipt-meta span{display:block;color:#999;font-size:12px;}
.receipt-meta strong{font-size:16px;color:#2b2b40;}
.receipt-table{width:100%;border-collapse:collapse;margin-bottom:22px;}
.receipt-table td{padding:13px 0;border-bottom:1px solid #f3f3f8;font-size:15px;}
.receipt-table td:first-child{color:#888;}
.receipt-table td:last-child{text-align:right;font-weight:600;color:#2b2b40;}
.receipt-table .amount-row td{font-size:20px;color:#e5006d;border-bottom:none;padding-top:18px;}
.receipt-note{text-align:center;color:#aaa;font-size:12px;margin-bottom:24px;}
.receipt-actions{display:flex;gap:12px;justify-content:center;}
@media print{
  .no-print{display:none!important;}
  .receipt-page{background:#fff;padding:0;}
  .receipt{box-shadow:none;}
}

/* =========================================================
   TESTIMONIALS / STATS (public, used by testimonials.php)
   ========================================================= */
.testimonial-section{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0 60px 60px;}
.testimonial-card{background:#fff;border-radius:20px;padding:28px;text-align:center;box-shadow:0 5px 20px rgba(0,0,0,.08);}
.testimonial-card img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:14px;background:linear-gradient(135deg,#ffd6e8,#ffe9f2);}
.testimonial-card h3{color:#2b2b40;margin-bottom:4px;}
.testimonial-card .course{color:#e5006d;font-weight:600;font-size:13px;margin-bottom:12px;}
.testimonial-card p{color:#666;line-height:1.7;font-size:14px;margin-bottom:12px;}
.testimonial-card .stars{color:#fbbf24;font-size:18px;}
.stats-section{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:0 60px 70px;}
.stat-box{background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;border-radius:20px;padding:34px;text-align:center;}
.stat-box h2{font-size:38px;margin-bottom:6px;}
.stat-box p{font-size:14px;opacity:.95;}

/* =========================================================
   WHY CHOOSE US (public)
   ========================================================= */
.features-section{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0 60px 70px;}
.feature-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:.3s;}
.feature-card:hover{transform:translateY(-8px);}
.feature-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#e5006d,#ff5ba0);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:18px;}
.feature-card h3{color:#2b2b40;margin-bottom:10px;}
.feature-card p{color:#666;line-height:1.7;}

/* =========================================================
   RESPONSIVE (ERP)
   ========================================================= */
@media(max-width:1100px){
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .dash-grid{grid-template-columns:1fr;}
  .profile-grid{grid-template-columns:1fr;}
  .testimonial-section,.features-section{grid-template-columns:1fr 1fr;}
  .stats-section{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .sidebar{transform:translateX(-100%);transition:.3s;}
  .erp-main{margin-left:0;}
  .styled-form .form-grid{grid-template-columns:1fr;}
  .stat-cards{grid-template-columns:1fr;}
  .fee-summary{grid-template-columns:1fr;}
  .testimonial-section,.features-section,.stats-section{grid-template-columns:1fr;padding-left:24px;padding-right:24px;}
}
