/* CFMA Website Styles - cfmsanambra.org */


:root {
  --green:#006B35; --green-dark:#004D26; --green-light:#008A45;
  --gold:#C8981A; --gold-light:#F5C842;
  --white:#FFFFFF; --off-white:#F4F7F4;
  --gray:#555; --light-gray:#E8EDE8; --text:#1A1A1A; --red:#B71C1C;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Merriweather',serif}
a{text-decoration:none}

/* TOPBAR */
.topbar{background:var(--green-dark);padding:7px 5%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.topbar-left{display:flex;gap:24px;flex-wrap:wrap}
.topbar-item{color:rgba(255,255,255,.85);font-size:12px;display:flex;align-items:center;gap:6px}
.topbar-item span{color:var(--gold-light)}
.topbar-right{display:flex;gap:8px}
.tsoc{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:white;font-size:11px;font-weight:700;cursor:pointer;transition:background .2s}
.tsoc:hover{background:var(--gold)}

/* SITE HEADER */
.site-header{background:white;border-bottom:4px solid var(--green);padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.school-identity{display:flex;align-items:center;gap:18px}
.school-crest{width:90px;height:90px;min-width:90px;display:flex;align-items:center;justify-content:center}
.crest-cross{font-size:26px;color:white;line-height:1}
.crest-abbr{color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:1px;margin-top:2px}
.school-name-main{font-family:'Merriweather',serif;font-size:clamp(15px,2vw,24px);font-weight:900;color:var(--green-dark);line-height:1.2;text-transform:uppercase;letter-spacing:.5px}
.school-name-main span{color:var(--red)}
.school-motto{font-size:13px;color:var(--gold);font-style:italic;font-weight:600;margin-top:4px}
.school-location{font-size:12px;color:var(--gray);margin-top:3px}
.header-right{text-align:right}
.header-est{font-size:12px;color:var(--gray)}
.header-est strong{display:block;font-size:22px;color:var(--green);font-family:'Merriweather',serif}
.header-affil{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.affil-badge{background:var(--green);color:white;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 10px;border-radius:2px;text-transform:uppercase}
.affil-badge.gold{background:var(--gold);color:var(--green-dark)}

/* NAV */
nav{background:var(--green);position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between}
.nav-links{display:flex;list-style:none}
.nav-links li a{display:block;padding:15px 16px;color:rgba(255,255,255,.9);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s}
.nav-links li a:hover,.nav-links li a.active{color:var(--gold-light);border-bottom-color:var(--gold-light)}
.nav-apply{background:var(--gold);color:var(--green-dark);padding:9px 20px;border-radius:3px;font-size:13px;font-weight:700;cursor:pointer;border:none;font-family:'Open Sans',sans-serif;transition:background .2s;white-space:nowrap}
.nav-apply:hover{background:var(--gold-light)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.hamburger span{width:22px;height:2px;background:white;border-radius:2px}
.mobile-nav{display:none;background:var(--green-dark)}
.mobile-nav a{display:block;padding:13px 5%;color:rgba(255,255,255,.85);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-nav a:hover{color:var(--gold-light);background:rgba(0,0,0,.15)}
.mobile-nav.open{display:block}

/* HERO */
#home{background:var(--green-dark);position:relative;overflow:hidden;padding:70px 5% 60px;min-height:500px;display:flex;align-items:center}
.hero-pattern{position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(45deg,white 0%,white 1px,transparent 0%,transparent 50%);background-size:20px 20px}
.hero-flag{position:absolute;right:-20px;top:50%;transform:translateY(-50%);opacity:.06;font-size:300px;pointer-events:none;line-height:1}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;position:relative;z-index:2}
.hero-tag{display:inline-block;background:rgba(200,152,26,.2);border:1px solid var(--gold);color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;border-radius:2px;margin-bottom:18px}
.hero-inner h1{font-size:clamp(28px,4vw,52px);color:white;font-weight:900;line-height:1.15;margin-bottom:14px;text-transform:uppercase}
.hero-inner h1 em{color:var(--gold-light);font-style:normal}
.hero-motto-bar{background:rgba(200,152,26,.18);border-left:4px solid var(--gold);padding:11px 16px;margin-bottom:26px;color:rgba(255,255,255,.9);font-style:italic;font-size:15px;border-radius:0 4px 4px 0}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-white{background:white;color:var(--green-dark);padding:12px 26px;border-radius:3px;font-weight:700;font-size:14px;cursor:pointer;border:none;font-family:'Open Sans',sans-serif;transition:all .2s}
.btn-white:hover{background:var(--gold-light)}
.btn-ghost{background:transparent;color:white;padding:12px 26px;border-radius:3px;font-weight:700;font-size:14px;cursor:pointer;border:2px solid rgba(255,255,255,.45);font-family:'Open Sans',sans-serif;transition:all .2s}
.btn-ghost:hover{border-color:white;background:rgba(255,255,255,.1)}
.hero-stats-box{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:26px 22px;display:flex;flex-direction:column;gap:18px;min-width:180px}
.h-stat-num{font-family:'Merriweather',serif;font-size:34px;font-weight:900;color:var(--gold-light);line-height:1}
.h-stat-lbl{color:rgba(255,255,255,.6);font-size:11px;margin-top:3px;text-transform:uppercase;letter-spacing:1px}
.h-stat-div{height:1px;background:rgba(255,255,255,.1)}

/* TICKER */
.ticker-bar{background:var(--gold);padding:9px 5%;display:flex;align-items:center;gap:14px;overflow:hidden}
.ticker-lbl{background:var(--green-dark);color:white;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 12px;border-radius:2px;white-space:nowrap;text-transform:uppercase}
.ticker-track{overflow:hidden;flex:1}
.ticker-inner{display:flex;gap:60px;white-space:nowrap;animation:ticker 35s linear infinite}
.ticker-inner span{font-size:13px;font-weight:600;color:var(--green-dark)}
.ticker-inner span::before{content:'◆ '}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION COMMONS */
section{padding:70px 5%}
.max-w{max-width:1200px;margin:0 auto}
.sec-label{display:inline-flex;align-items:center;gap:10px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.sec-label::before,.sec-label::after{content:'';display:inline-block;height:2px;width:28px;background:var(--green)}
.sec-title{font-size:clamp(22px,3vw,36px);font-weight:900;color:var(--green-dark);line-height:1.2;margin-bottom:14px;text-transform:uppercase}
.sec-desc{color:var(--gray);font-size:15px;line-height:1.8;max-width:600px}
.sec-divider{height:4px;background:linear-gradient(90deg,var(--green),var(--gold),var(--green));border:none}

/* ABOUT */
#about{background:white}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.about-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.abadge{background:var(--green);color:white;padding:6px 16px;font-size:12px;font-weight:700;border-radius:3px}
.abadge.gold{background:var(--gold);color:var(--green-dark)}
.about-text p{color:var(--gray);font-size:15px;line-height:1.9;margin-bottom:14px}
.principles{margin-top:28px}
.prin{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--light-gray)}
.prin:last-child{border-bottom:none}
.prin-icon{width:40px;height:40px;min-width:40px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:16px}
.prin h4{font-size:15px;font-weight:700;color:var(--green-dark);margin-bottom:3px}
.prin p{font-size:13px;color:var(--gray);line-height:1.6}
.about-visual{display:flex;flex-direction:column;gap:16px}
.about-img{background:var(--green);border-radius:6px;height:260px;display:flex;align-items:center;justify-content:center;border:3px solid var(--gold);position:relative;overflow:hidden}
.about-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.04) 1px,transparent 0%,transparent 50%);background-size:14px 14px}
.about-img span{font-size:80px;position:relative;z-index:1}
.astats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.astat{background:var(--off-white);border:1px solid var(--light-gray);border-top:3px solid var(--green);border-radius:4px;padding:18px 12px;text-align:center}
.astat-n{font-family:'Merriweather',serif;font-size:28px;font-weight:900;color:var(--green)}
.astat-l{font-size:11px;color:var(--gray);margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.motto-blk{background:var(--green-dark);border-radius:4px;padding:20px 22px;color:white;text-align:center;border:2px solid var(--gold)}
.motto-blk strong{display:block;color:var(--gold-light);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.motto-blk p{font-style:italic;font-size:14px;color:rgba(255,255,255,.85)}

/* ACADEMICS */
#academics{background:var(--off-white)}
.aca-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-bottom:50px}
.levels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.lvl{background:white;border:1px solid var(--light-gray);border-left:4px solid var(--green);border-radius:4px;padding:16px}
.lvl h4{font-size:15px;font-weight:700;color:var(--green-dark);margin-bottom:5px}
.lvl p{font-size:13px;color:var(--gray);line-height:1.6}
.subj-box{background:white;border:1px solid var(--light-gray);border-radius:6px;padding:24px;margin-bottom:14px}
.subj-box h4{font-size:14px;font-weight:700;color:var(--green-dark);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--light-gray)}
.subj-tags{display:flex;flex-wrap:wrap;gap:8px}
.stag{background:rgba(0,107,53,.08);color:var(--green-dark);font-size:12px;font-weight:600;padding:4px 12px;border-radius:2px;border:1px solid rgba(0,107,53,.2)}
.exams-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.exam-card{background:white;border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:4px;padding:22px 18px;text-align:center}
.exam-icon{font-size:34px;margin-bottom:10px}
.exam-card h4{font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:6px}
.exam-card p{font-size:13px;color:var(--gray);line-height:1.6}

/* ADMISSIONS */
#admissions{background:var(--green-dark)}
#admissions .sec-title{color:white}
#admissions .sec-label{color:var(--gold-light)}
#admissions .sec-label::before,#admissions .sec-label::after{background:var(--gold)}
#admissions .sec-desc{color:rgba(255,255,255,.6)}
.adm-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.req-list{margin-top:28px}
.req{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.req:last-child{border-bottom:none}
.req-num{width:32px;height:32px;min-width:32px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:var(--green-dark)}
.req h4{color:white;font-size:15px;font-weight:700;margin-bottom:3px}
.req p{color:rgba(255,255,255,.55);font-size:13px;line-height:1.6}
.fees-box{background:rgba(255,255,255,.06);border:1px solid rgba(200,152,26,.3);border-radius:6px;padding:22px;margin-top:26px}
.fees-box h4{color:var(--gold-light);font-size:13px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}
.fee-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}
.fee-row:last-child{border-bottom:none}
.fee-row span:first-child{color:rgba(255,255,255,.7)}
.fee-row span:last-child{color:white;font-weight:700}
.adm-form{background:white;border-radius:6px;padding:34px;border-top:5px solid var(--gold)}
.adm-form h3{font-size:20px;font-weight:900;color:var(--green-dark);margin-bottom:5px}
.adm-form .fsub{color:var(--gray);font-size:13px;margin-bottom:22px}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:11px;font-weight:700;color:var(--green-dark);margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase}
.fg input,.fg select,.fg textarea{width:100%;padding:11px 14px;border:1.5px solid #ccc;border-radius:3px;font-size:14px;font-family:'Open Sans',sans-serif;color:var(--text);outline:none;transition:border-color .2s;background:#fafafa}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--green);background:white}
.fg textarea{resize:vertical;min-height:85px}
.sbtn{width:100%;background:var(--green);color:white;border:none;border-radius:3px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s;text-transform:uppercase;letter-spacing:1px}
.sbtn:hover{background:var(--green-light)}

/* RESULTS */
#results{background:white}
.rtabs{display:flex;gap:0;border-bottom:2px solid var(--light-gray);margin-bottom:32px}
.rtab{padding:12px 26px;font-size:13px;font-weight:700;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;transition:all .2s;font-family:'Open Sans',sans-serif;background:none;border-top:none;border-left:none;border-right:none}
.rtab.active{color:var(--green);border-bottom-color:var(--green)}
.rtab:hover{color:var(--green)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.search-box{background:var(--off-white);border:1px solid var(--light-gray);border-top:4px solid var(--green);border-radius:4px;padding:28px;margin-bottom:24px}
.search-box h4{font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:18px}
.srow{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}
.srow .fg{margin-bottom:0}
.sbtn2{background:var(--green);color:white;border:none;border-radius:3px;padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap}
.sbtn2:hover{background:var(--green-light)}
.result-card{display:none}
.rcard-head{background:var(--green-dark);padding:18px 24px;border-radius:4px 4px 0 0;display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.rh-f .rh-lbl{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:1.5px;text-transform:uppercase}
.rh-f .rh-v{font-size:16px;font-weight:700;color:white;margin-top:2px}
.rh-f .rh-v.gold{color:var(--gold-light);font-family:'Merriweather',serif;font-size:20px}
.rcard-actions{margin-left:auto;display:flex;gap:8px}
.ra-btn{padding:8px 16px;border-radius:3px;font-size:13px;font-weight:700;cursor:pointer;border:none;font-family:'Open Sans',sans-serif}
.ra-btn.print{background:var(--gold);color:var(--green-dark)}
.ra-btn.close{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.2)}
.rcard-table{border:1px solid var(--light-gray);border-top:none;border-radius:0 0 4px 4px;overflow:hidden}
table.rt{width:100%;border-collapse:collapse}
table.rt th{background:var(--green);color:white;padding:11px 14px;font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.5px}
table.rt td{padding:12px 14px;font-size:14px;border-bottom:1px solid var(--light-gray)}
table.rt tr:last-child td{border-bottom:none}
table.rt tr:hover td{background:rgba(0,107,53,.04)}
.gpill{display:inline-block;padding:3px 11px;border-radius:2px;font-weight:700;font-size:12px}
.ga{background:rgba(0,150,0,.1);color:#006600}
.gb{background:rgba(0,100,200,.1);color:#0044aa}
.gc{background:rgba(200,152,26,.15);color:#7a5600}
.gd{background:rgba(255,140,0,.12);color:#a05000}
.gf{background:rgba(200,0,0,.1);color:#aa0000}
.no-result{text-align:center;padding:46px 20px;color:var(--gray);background:var(--off-white);border-radius:4px;display:none}
.no-result .nri{font-size:42px;margin-bottom:12px}
/* teacher portal */
.t-divider{text-align:center;margin:44px 0 24px;position:relative}
.t-divider::before{content:'';display:block;height:1px;background:var(--light-gray);position:absolute;top:50%;left:0;right:0}
.t-divider span{background:white;padding:0 18px;font-size:12px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:2px;position:relative;z-index:1}
.t-access-btn{display:block;margin:0 auto;background:var(--green-dark);color:white;border:none;border-radius:3px;padding:12px 34px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s;text-transform:uppercase;letter-spacing:1px}
.t-access-btn:hover{background:var(--green)}
.login-box{display:none;max-width:400px;margin:22px auto 0;background:var(--off-white);border:1px solid var(--light-gray);border-top:4px solid var(--green-dark);border-radius:4px;padding:30px}
.login-box h4{font-size:17px;font-weight:900;color:var(--green-dark);margin-bottom:4px}
.login-box .lsub{font-size:13px;color:var(--gray);margin-bottom:22px}
.lhint{font-size:12px;color:var(--gray);text-align:center;margin-top:12px}
.upload-portal{display:none;background:var(--off-white);border:1px solid var(--light-gray);border-radius:6px;overflow:hidden;margin-top:22px}
.portal-head{background:var(--green-dark);padding:18px 26px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.portal-head h4{color:white;font-size:17px}
.portal-head p{color:rgba(255,255,255,.6);font-size:13px}
.logout-btn{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.2);padding:7px 16px;border-radius:3px;cursor:pointer;font-family:'Open Sans',sans-serif;font-size:13px;font-weight:600}
.portal-body{padding:28px}
.instr{background:rgba(0,107,53,.06);border:1px solid rgba(0,107,53,.2);border-left:4px solid var(--green);border-radius:3px;padding:16px 18px;margin-bottom:24px}
.instr h5{font-size:14px;font-weight:700;color:var(--green-dark);margin-bottom:8px}
.instr ol{padding-left:18px;color:var(--gray);font-size:14px;line-height:2}
.tpl-btn{background:none;border:none;color:var(--green);font-weight:700;cursor:pointer;font-size:14px;text-decoration:underline;padding:0}
.drop-zone{border:2.5px dashed #ccc;border-radius:6px;background:white;padding:46px 22px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:18px}
.drop-zone:hover{border-color:var(--green);background:rgba(0,107,53,.02)}
.dz-icon{font-size:46px;margin-bottom:12px}
.drop-zone h5{font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:5px}
.drop-zone p{color:var(--gray);font-size:13px;margin-bottom:14px}
.browse-btn{display:inline-block;background:var(--green);color:white;padding:9px 22px;border-radius:3px;font-size:13px;font-weight:700}
.prog-wrap{display:none;margin-bottom:18px}
.prog-info{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:7px}
.prog-bg{background:var(--light-gray);border-radius:100px;height:8px;overflow:hidden}
.prog-bar{height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:100px;transition:width .3s;width:0%}
.preview-sec{display:none}
.preview-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.preview-head h5{font-size:16px;font-weight:700;color:var(--green-dark)}
.pstats{font-size:13px;color:var(--gray)}
.pv-acts{display:flex;gap:8px}
.pvbtn{padding:7px 14px;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;border:none;font-family:'Open Sans',sans-serif}
.pvbtn.danger{background:rgba(183,28,28,.1);color:var(--red);border:1px solid rgba(183,28,28,.2)}
.pvbtn.more{background:var(--green-dark);color:white}
.preview-tw{overflow-x:auto;border-radius:4px;border:1px solid var(--light-gray)}

/* CONTACT */
#contact{background:var(--off-white)}
.con-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.campuses{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.camp{background:white;border:1px solid var(--light-gray);border-left:5px solid var(--green);border-radius:3px;padding:16px 18px}
.camp.main{border-left-color:var(--gold)}
.camp-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:5px}
.camp.main .camp-badge{color:var(--gold)}
.camp h4{font-size:15px;font-weight:700;color:var(--green-dark);margin-bottom:3px}
.camp p{font-size:13px;color:var(--gray);line-height:1.6}
.cdetails{display:flex;flex-direction:column;gap:14px}
.cdet{display:flex;gap:14px;align-items:flex-start}
.cdet-icon{width:38px;height:38px;min-width:38px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:15px}
.cdet h5{font-size:13px;font-weight:700;color:var(--green-dark);margin-bottom:2px}
.cdet p{font-size:13px;color:var(--gray)}
.con-form{background:white;border:1px solid var(--light-gray);border-top:5px solid var(--green);border-radius:4px;padding:34px}
.con-form h3{font-size:21px;font-weight:900;color:var(--green-dark);margin-bottom:20px}
.csend{width:100%;background:var(--green);color:white;border:none;border-radius:3px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s;text-transform:uppercase;letter-spacing:1px}
.csend:hover{background:var(--green-light)}

/* FOOTER */
footer{background:var(--green-dark)}
.footer-top{padding:48px 5% 38px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}
.fb-name{color:white;font-size:16px;font-weight:900;margin-bottom:4px;text-transform:uppercase}
.fb-motto{color:var(--gold-light);font-size:12px;font-style:italic;margin-bottom:14px}
.footer-brand p{color:rgba(255,255,255,.55);font-size:13px;line-height:1.8}
.fcol h5{color:white;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid rgba(200,152,26,.35)}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.fcol ul li a{color:rgba(255,255,255,.55);font-size:13px;cursor:pointer;transition:color .2s}
.fcol ul li a:hover{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 5%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;max-width:1200px;margin:0 auto}
.footer-bottom p{color:rgba(255,255,255,.4);font-size:12px}
.ng-flag{display:flex;gap:3px;align-items:center}
.nf{width:16px;height:26px;border-radius:2px}
.nf.g{background:#008751}
.nf.w{background:white}


/* NURSERY & PRIMARY */
#earlyyears{background:white}
.ey-hero{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);border-radius:6px;padding:36px 36px 36px 36px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:50px;position:relative;overflow:hidden}
.ey-hero::before{content:'🌟';position:absolute;right:30px;top:50%;transform:translateY(-50%);font-size:160px;opacity:.07;pointer-events:none}
.ey-hero h3{font-size:clamp(20px,2.5vw,32px);font-weight:900;color:white;line-height:1.2;margin-bottom:10px;text-transform:uppercase}
.ey-hero h3 em{color:var(--gold-light);font-style:normal}
.ey-hero p{color:rgba(255,255,255,.75);font-size:15px;line-height:1.8}
.ey-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ey-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:white;font-size:11px;font-weight:700;padding:4px 12px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px}
.ey-badge.gold{background:var(--gold);color:var(--green-dark);border-color:var(--gold)}
.ey-right{display:flex;flex-direction:column;gap:12px}
.ey-stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.ey-stat-icon{font-size:28px;min-width:36px;text-align:center}
.ey-stat h5{color:white;font-size:15px;font-weight:700;margin-bottom:2px}
.ey-stat p{color:rgba(255,255,255,.6);font-size:12px}

.school-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}
.tier-card{border:1px solid var(--light-gray);border-radius:5px;overflow:hidden;transition:box-shadow .2s}
.tier-card:hover{box-shadow:0 6px 24px rgba(0,107,53,.1)}
.tier-head{padding:22px 20px 18px;text-align:center;position:relative}
.tier-head.nursery{background:linear-gradient(135deg,#FF9A00,#FFB84D)}
.tier-head.primary{background:linear-gradient(135deg,#0077C2,#29A8E0)}
.tier-head.secondary{background:linear-gradient(135deg,var(--green-dark),var(--green))}
.tier-icon{font-size:44px;margin-bottom:10px}
.tier-head h4{color:white;font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.tier-head p{color:rgba(255,255,255,.8);font-size:12px;margin-top:4px}
.tier-badge{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.2);color:white;font-size:10px;font-weight:700;padding:3px 9px;border-radius:2px;letter-spacing:.5px}
.tier-body{padding:20px}
.tier-body ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.tier-body ul li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gray)}
.tier-body ul li::before{content:'✓';color:var(--green);font-weight:700;font-size:13px;margin-top:1px;min-width:14px}
.tier-footer{padding:14px 20px;background:var(--off-white);border-top:1px solid var(--light-gray);text-align:center}
.tier-footer span{font-size:12px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.5px}

.ey-subjects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:50px}
.ey-subj-card{background:var(--off-white);border:1px solid var(--light-gray);border-radius:5px;overflow:hidden}
.ey-subj-head{padding:16px 20px;display:flex;align-items:center;gap:12px}
.ey-subj-head.nursery-bg{background:linear-gradient(90deg,#FF9A00,#FFB84D)}
.ey-subj-head.primary-bg{background:linear-gradient(90deg,#0077C2,#29A8E0)}
.ey-subj-head span{font-size:22px}
.ey-subj-head h4{color:white;font-size:15px;font-weight:700}
.ey-subj-body{padding:16px 20px}

.ey-activities{background:var(--off-white);border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:5px;padding:28px}
.ey-activities h4{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--light-gray)}
.act-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.act-item{text-align:center;background:white;border:1px solid var(--light-gray);border-radius:4px;padding:18px 10px}
.act-item .act-icon{font-size:30px;margin-bottom:8px}
.act-item p{font-size:12px;font-weight:600;color:var(--green-dark);line-height:1.4}


/* SETUP GUIDE */
#setupguide{background:var(--green-dark)}
.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.setup-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden}
.setup-card-head{padding:20px 22px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.setup-num{width:34px;height:34px;min-width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;color:var(--green-dark)}
.setup-card-head h4{color:white;font-size:16px;font-weight:700}
.setup-card-head p{color:rgba(255,255,255,.5);font-size:12px;margin-top:2px}
.setup-card-body{padding:20px 22px}
.setup-card-body ol{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.setup-card-body ol li{color:rgba(255,255,255,.7);font-size:13px;line-height:1.6}
.setup-card-body ol li strong{color:var(--gold-light)}
.code-box{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:14px 16px;font-family:monospace;font-size:12px;color:#7CFC88;margin-top:12px;white-space:pre-wrap;word-break:break-all;line-height:1.7}
.copy-btn{background:var(--gold);color:var(--green-dark);border:none;padding:7px 16px;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;margin-top:10px;width:100%}
.copy-btn:hover{background:var(--gold-light)}
.setup-note{background:rgba(200,152,26,.12);border:1px solid rgba(200,152,26,.25);border-radius:4px;padding:14px 16px;margin-top:16px;color:rgba(255,255,255,.7);font-size:12px;line-height:1.7}
.setup-note strong{color:var(--gold-light)}
@media(max-width:900px){.setup-grid{grid-template-columns:1fr}}

/* TOAST */
.toast{position:fixed;bottom:22px;right:22px;z-index:9999;background:var(--green-dark);color:white;padding:14px 20px;border-radius:4px;font-size:14px;font-weight:500;border-left:4px solid var(--gold);box-shadow:0 8px 30px rgba(0,0,0,.25);transform:translateY(80px);opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:10px;max-width:340px}
.toast.show{transform:translateY(0);opacity:1}

/* REVEAL */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:900px){
  .hamburger{display:flex}
  .nav-links,.nav-apply{display:none}
  .about-grid,.adm-grid,.con-grid,.aca-intro{grid-template-columns:1fr;gap:36px}
  .exams-grid,.levels{grid-template-columns:1fr 1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-stats-box{flex-direction:row;min-width:auto;gap:0}
  .h-stat{flex:1}
  .h-stat-div{display:none}
  .footer-top{grid-template-columns:1fr 1fr}
  .srow{grid-template-columns:1fr}
  .frow2{grid-template-columns:1fr}
  .site-header{flex-direction:column;text-align:center}
  .header-right{text-align:center}
  .header-affil{justify-content:center}
  .topbar{display:none}
  .rtabs{flex-wrap:wrap}
}
@media(max-width:600px){
  .exams-grid{grid-template-columns:1fr}
  .astats{grid-template-columns:repeat(3,1fr)}
  .footer-top{grid-template-columns:1fr}
  .hero-stats-box{display:none}
}
#earlyyears{background:white}
.ey-hero{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);border-radius:6px;padding:36px 36px 36px 36px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:50px;position:relative;overflow:hidden}
.ey-hero::before{content:'🌟';position:absolute;right:30px;top:50%;transform:translateY(-50%);font-size:160px;opacity:.07;pointer-events:none}
.ey-hero h3{font-size:clamp(20px,2.5vw,32px);font-weight:900;color:white;line-height:1.2;margin-bottom:10px;text-transform:uppercase}
.ey-hero h3 em{color:var(--gold-light);font-style:normal}
.ey-hero p{color:rgba(255,255,255,.75);font-size:15px;line-height:1.8}
.ey-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ey-badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:white;font-size:11px;font-weight:700;padding:4px 12px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px}
.ey-badge.gold{background:var(--gold);color:var(--green-dark);border-color:var(--gold)}
.ey-right{display:flex;flex-direction:column;gap:12px}
.ey-stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.ey-stat-icon{font-size:28px;min-width:36px;text-align:center}
.ey-stat h5{color:white;font-size:15px;font-weight:700;margin-bottom:2px}
.ey-stat p{color:rgba(255,255,255,.6);font-size:12px}

.school-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}
.tier-card{border:1px solid var(--light-gray);border-radius:5px;overflow:hidden;transition:box-shadow .2s}
.tier-card:hover{box-shadow:0 6px 24px rgba(0,107,53,.1)}
.tier-head{padding:22px 20px 18px;text-align:center;position:relative}
.tier-head.nursery{background:linear-gradient(135deg,#FF9A00,#FFB84D)}
.tier-head.primary{background:linear-gradient(135deg,#0077C2,#29A8E0)}
.tier-head.secondary{background:linear-gradient(135deg,var(--green-dark),var(--green))}
.tier-icon{font-size:44px;margin-bottom:10px}
.tier-head h4{color:white;font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.tier-head p{color:rgba(255,255,255,.8);font-size:12px;margin-top:4px}
.tier-badge{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.2);color:white;font-size:10px;font-weight:700;padding:3px 9px;border-radius:2px;letter-spacing:.5px}
.tier-body{padding:20px}
.tier-body ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.tier-body ul li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gray)}
.tier-body ul li::before{content:'✓';color:var(--green);font-weight:700;font-size:13px;margin-top:1px;min-width:14px}
.tier-footer{padding:14px 20px;background:var(--off-white);border-top:1px solid var(--light-gray);text-align:center}
.tier-footer span{font-size:12px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.5px}

.ey-subjects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:50px}
.ey-subj-card{background:var(--off-white);border:1px solid var(--light-gray);border-radius:5px;overflow:hidden}
.ey-subj-head{padding:16px 20px;display:flex;align-items:center;gap:12px}
.ey-subj-head.nursery-bg{background:linear-gradient(90deg,#FF9A00,#FFB84D)}
.ey-subj-head.primary-bg{background:linear-gradient(90deg,#0077C2,#29A8E0)}
.ey-subj-head span{font-size:22px}
.ey-subj-head h4{color:white;font-size:15px;font-weight:700}
.ey-subj-body{padding:16px 20px}

.ey-activities{background:var(--off-white);border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:5px;padding:28px}
.ey-activities h4{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--light-gray)}
.act-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.act-item{text-align:center;background:white;border:1px solid var(--light-gray);border-radius:4px;padding:18px 10px}
.act-item .act-icon{font-size:30px;margin-bottom:8px}
.act-item p{font-size:12px;font-weight:600;color:var(--green-dark);line-height:1.4}

#setupguide{background:var(--green-dark)}
.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.setup-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden}
.setup-card-head{padding:20px 22px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.setup-num{width:34px;height:34px;min-width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;color:var(--green-dark)}
.setup-card-head h4{color:white;font-size:16px;font-weight:700}
.setup-card-head p{color:rgba(255,255,255,.5);font-size:12px;margin-top:2px}
.setup-card-body{padding:20px 22px}
.setup-card-body ol{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.setup-card-body ol li{color:rgba(255,255,255,.7);font-size:13px;line-height:1.6}
.setup-card-body ol li strong{color:var(--gold-light)}
.code-box{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:14px 16px;font-family:monospace;font-size:12px;color:#7CFC88;margin-top:12px;white-space:pre-wrap;word-break:break-all;line-height:1.7}
.copy-btn{background:var(--gold);color:var(--green-dark);border:none;padding:7px 16px;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;margin-top:10px;width:100%}
.copy-btn:hover{background:var(--gold-light)}
.setup-note{background:rgba(200,152,26,.12);border:1px solid rgba(200,152,26,.25);border-radius:4px;padding:14px 16px;margin-top:16px;color:rgba(255,255,255,.7);font-size:12px;line-height:1.7}
.setup-note strong{color:var(--gold-light)}
@media(max-width:900px){.setup-grid{grid-template-columns:1fr}}


/* ── ID CARD SECTION ── */
#idcards{background:var(--off-white)}
.idcard-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.idcard-form-box{background:white;border:1px solid var(--light-gray);border-radius:6px;overflow:hidden}
.idcard-form-head{background:var(--green-dark);padding:20px 24px}
.idcard-form-head h3{color:white;font-size:18px;font-weight:700}
.idcard-form-head p{color:rgba(255,255,255,.6);font-size:12px;margin-top:4px}
.idcard-form-body{padding:24px}
.id-fg{margin-bottom:16px}
.id-fg label{display:block;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.id-fg input,.id-fg select{width:100%;padding:11px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;color:#222;outline:none;transition:border-color .2s;background:white}
.id-fg input:focus,.id-fg select:focus{border-color:var(--green)}
.id-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.passport-upload{border:2px dashed var(--light-gray);border-radius:4px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--off-white);position:relative}
.passport-upload:hover{border-color:var(--green);background:rgba(0,107,53,.03)}
.passport-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.passport-preview{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--green);margin:0 auto 8px;display:block}
.passport-icon{font-size:36px;margin-bottom:8px}
.passport-upload p{font-size:12px;color:var(--gray)}
.passport-upload strong{font-size:13px;color:var(--green);display:block;margin-bottom:4px}
.id-gen-btn{width:100%;background:var(--green);color:white;border:none;padding:14px;border-radius:4px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;margin-top:6px;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.id-gen-btn:hover{background:var(--green-dark)}

/* ── ID Card Preview ── */
.idcard-preview-box{position:sticky;top:90px}
.idcard-preview-box h4{font-size:14px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.idcard-wrap{display:flex;flex-direction:column;gap:16px}
.id-card{width:100%;max-width:340px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.18);font-family:'Open Sans',sans-serif;position:relative}
/* Front */
.idc-front{background:linear-gradient(160deg,#004D26 0%,#006B35 60%,#008A44 100%);padding:0 0 20px;position:relative}
.idc-front-header{background:rgba(0,0,0,.2);padding:10px 16px;display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--gold)}
.idc-crest{width:36px;height:36px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:var(--green-dark);flex-shrink:0}
.idc-school-name{color:white;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.35}
.idc-school-motto{color:rgba(255,255,255,.55);font-size:7.5px;font-style:italic;margin-top:2px}
.idc-body{padding:14px 16px 0;display:flex;gap:14px;align-items:flex-start}
.idc-passport{width:72px;height:86px;border-radius:4px;object-fit:cover;border:2px solid var(--gold);flex-shrink:0;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:28px}
.idc-info{flex:1}
.idc-label{font-size:7.5px;color:var(--gold-light);text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin-bottom:1px;margin-top:8px}
.idc-label:first-child{margin-top:0}
.idc-value{font-size:12px;color:white;font-weight:700;line-height:1.3}
.idc-value.large{font-size:14px}
.idc-id-band{background:var(--gold);margin:12px 16px 0;border-radius:3px;padding:6px 10px;display:flex;justify-content:space-between;align-items:center}
.idc-id-band span{font-size:8px;color:var(--green-dark);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.idc-id-band strong{font-size:13px;color:var(--green-dark);font-weight:900;letter-spacing:1px}
.idc-type-badge{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:white;font-size:8px;font-weight:700;padding:3px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px}
/* Back */
.idc-back{background:white;padding:0 0 16px}
.idc-back-header{background:var(--green-dark);padding:8px 14px;border-bottom:2px solid var(--gold)}
.idc-back-header p{color:rgba(255,255,255,.7);font-size:8px;text-align:center;letter-spacing:.5px;text-transform:uppercase}
.idc-back-body{padding:12px 14px}
.idc-back-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f0f0f0;font-size:10px}
.idc-back-row:last-child{border-bottom:none}
.idc-back-row span{color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.4px;font-size:9px}
.idc-back-row strong{color:#222;font-weight:700}
.idc-barcode{margin:10px 14px 0;background:#f5f5f5;border-radius:3px;padding:8px;text-align:center}
.idc-barcode-lines{display:flex;gap:2px;justify-content:center;margin-bottom:4px;height:20px;align-items:flex-end}
.idc-barcode-lines div{background:#222;border-radius:1px}
.idc-barcode p{font-size:8px;color:#888;letter-spacing:2px;font-family:monospace}
.idc-back-footer{margin:10px 14px 0;background:#f9f9f9;border:1px solid #eee;border-radius:3px;padding:8px 10px;font-size:8.5px;color:#888;line-height:1.6;text-align:center}

.idcard-actions{display:flex;gap:12px;margin-top:16px;max-width:340px;margin-left:auto;margin-right:auto}
.idc-btn{flex:1;padding:11px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;border:none;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.idc-btn.print{background:var(--green);color:white}
.idc-btn.print:hover{background:var(--green-dark)}
.idc-btn.download{background:var(--gold);color:var(--green-dark)}
.idc-btn.download:hover{background:var(--gold-light)}
.idc-empty{text-align:center;padding:50px 20px;color:var(--gray);background:white;border:2px dashed var(--light-gray);border-radius:8px}
.idc-empty .icon{font-size:48px;margin-bottom:12px}
.idc-empty p{font-size:14px}
@media(max-width:900px){.idcard-layout{grid-template-columns:1fr}.idcard-preview-box{position:static}.id-frow{grid-template-columns:1fr}}

/* HERO SLIDESHOW */
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;z-index:0}
.hero-slide.active{opacity:1}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,77,38,.85) 0%,rgba(0,107,53,.75) 60%,rgba(0,122,61,.7) 100%);z-index:1}
#home .hero-pattern,#home .hero-flag,#home .hero-inner{position:relative;z-index:2}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.6);cursor:pointer;transition:all .3s}
.hero-dot.active{background:var(--gold);border-color:var(--gold);transform:scale(1.2)}

/* ── DATABASE SECTION ── */
#database{background:#f4f7f4}
.db-admin-only{display:none}
.db-login-box{max-width:400px;margin:0 auto;background:white;border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:6px;padding:36px;text-align:center}
.db-login-box h3{font-size:20px;color:var(--green-dark);margin-bottom:8px}
.db-login-box p{color:var(--gray);font-size:13px;margin-bottom:24px}
.db-tabs{display:flex;border-bottom:2px solid var(--light-gray);margin-bottom:28px;flex-wrap:wrap;gap:4px}
.db-tab{padding:10px 20px;font-size:13px;font-weight:700;cursor:pointer;border:none;background:none;color:var(--gray);border-bottom:3px solid transparent;transition:all .2s;font-family:'Open Sans',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.db-tab.active{color:var(--green);border-bottom-color:var(--green)}
.db-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;align-items:center}
.db-search{flex:1;min-width:180px;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s}
.db-search:focus{border-color:var(--green)}
.db-filter{padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;background:white;cursor:pointer}
.db-filter:focus{border-color:var(--green)}
.db-add-btn{background:var(--green);color:white;border:none;padding:10px 20px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap;transition:background .2s;display:flex;align-items:center;gap:6px}
.db-add-btn:hover{background:var(--green-dark)}
.db-export-btn{background:var(--gold);color:var(--green-dark);border:none;padding:10px 18px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap;transition:background .2s}
.db-stats-bar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.db-stat{background:white;border:1px solid var(--light-gray);border-left:4px solid var(--green);border-radius:4px;padding:10px 16px;font-size:13px;color:var(--gray)}
.db-stat strong{display:block;font-size:20px;font-weight:900;color:var(--green-dark);font-family:'Merriweather',serif}
.db-table-wrap{background:white;border-radius:6px;overflow:hidden;border:1px solid var(--light-gray);overflow-x:auto}
.db-table{width:100%;border-collapse:collapse;min-width:700px}
.db-table th{background:var(--green-dark);color:white;padding:12px 14px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.db-table td{padding:11px 14px;border-bottom:1px solid var(--light-gray);font-size:13px;vertical-align:middle}
.db-table tr:last-child td{border-bottom:none}
.db-table tr:hover td{background:#f9fdf9}
.db-passport-cell{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--green);display:block}
.db-passport-placeholder{width:44px;height:44px;border-radius:50%;background:var(--light-gray);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--gray)}
.db-gender-m{background:rgba(0,107,53,.1);color:var(--green-dark);padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700}
.db-gender-f{background:rgba(183,28,28,.1);color:#B71C1C;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700}
.db-campus-badge{background:rgba(200,152,26,.15);color:#7A5C00;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700}
.db-role-badge{padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700}
.db-role-student{background:rgba(0,107,53,.1);color:var(--green-dark)}
.db-role-staff{background:rgba(59,130,246,.1);color:#1E40AF}
.db-role-nursery{background:rgba(249,115,22,.1);color:#C2410C}
.db-role-primary{background:rgba(139,92,246,.1);color:#6D28D9}
.db-action-btn{background:none;border:1px solid var(--light-gray);border-radius:3px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:all .2s;margin-right:4px}
.db-action-btn.edit{color:var(--green);border-color:var(--green)}
.db-action-btn.edit:hover{background:var(--green);color:white}
.db-action-btn.del{color:#B71C1C;border-color:#B71C1C}
.db-action-btn.del:hover{background:#B71C1C;color:white}
.db-empty{text-align:center;padding:50px 20px;color:var(--gray)}
.db-empty .icon{font-size:40px;margin-bottom:12px}

/* Modal */
.db-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9998;align-items:center;justify-content:center;padding:20px}
.db-modal-overlay.open{display:flex}
.db-modal{background:white;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.db-modal-head{background:var(--green-dark);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0}
.db-modal-head h3{color:white;font-size:17px}
.db-modal-close{background:none;border:none;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer;line-height:1}
.db-modal-body{padding:24px}
.db-mfg{margin-bottom:16px}
.db-mfg label{display:block;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.db-mfg input,.db-mfg select{width:100%;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s}
.db-mfg input:focus,.db-mfg select:focus{border-color:var(--green)}
.db-passport-upload-wrap{border:2px dashed var(--light-gray);border-radius:4px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}
.db-passport-upload-wrap:hover{border-color:var(--green);background:rgba(0,107,53,.02)}
.db-passport-upload-wrap input{position:absolute;inset:0;opacity:0;cursor:pointer}
.db-modal-foot{padding:16px 24px;border-top:1px solid var(--light-gray);display:flex;gap:10px;justify-content:flex-end}
.db-save-btn{background:var(--green);color:white;border:none;padding:11px 28px;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif}
.db-cancel-btn{background:white;color:var(--gray);border:1px solid var(--light-gray);padding:11px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Open Sans',sans-serif}
@media(max-width:700px){.db-controls{flex-direction:column}.db-search{width:100%}}

/* SUBJECTS SELECTOR */
.subj-section{margin-top:4px}
.subj-section-title{font-size:11px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--light-gray)}
.subj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.subj-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text);padding:4px 6px;border-radius:3px;cursor:pointer;transition:background .15s;user-select:none}
.subj-check:hover{background:rgba(0,107,53,.06)}
.subj-check input[type=checkbox]{accent-color:var(--green);width:14px;height:14px;cursor:pointer;flex-shrink:0}
.subj-tags-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;min-height:24px}
.subj-tag{background:rgba(0,107,53,.1);color:var(--green-dark);border:1px solid rgba(0,107,53,.2);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px}
/* DB table subjects column */
.db-subj-list{display:flex;flex-wrap:wrap;gap:3px;max-width:220px}
.db-subj-tag{background:rgba(0,107,53,.08);color:var(--green-dark);font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px;white-space:nowrap}

/* ── SUBJECTS SECTION ── */
#subjects{background:white}
.subj-level-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px}
.slvl-tab{padding:9px 18px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;border:2px solid var(--light-gray);background:white;color:var(--gray);font-family:'Open Sans',sans-serif;text-transform:uppercase;letter-spacing:.5px;transition:all .2s}
.slvl-tab:hover{border-color:var(--green);color:var(--green)}
.slvl-tab.active{background:var(--green);color:white;border-color:var(--green)}
.slvl-tab.nursery-tab.active{background:#FF9A00;border-color:#FF9A00;color:white}
.slvl-tab.primary-tab.active{background:#0077C2;border-color:#0077C2;color:white}
.slvl-tab.jss-tab.active{background:var(--green-dark);border-color:var(--green-dark);color:white}
.slvl-tab.ss-tab.active{background:#7B1FA2;border-color:#7B1FA2;color:white}
.subj-panel{display:none}
.subj-panel.active{display:block}
.subj-panel-header{border-radius:6px;padding:24px 28px;margin-bottom:28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.subj-panel-header.nursery{background:linear-gradient(135deg,#FF9A00,#FFB84D)}
.subj-panel-header.primary{background:linear-gradient(135deg,#0077C2,#29A8E0)}
.subj-panel-header.jss{background:linear-gradient(135deg,#2E7D32,#43A047)}
.subj-panel-header.ss{background:linear-gradient(135deg,#7B1FA2,#9C27B0)}
.subj-panel-header .ph-icon{font-size:48px}
.subj-panel-header h3{color:white;font-size:22px;font-weight:900;margin-bottom:4px}
.subj-panel-header p{color:rgba(255,255,255,.8);font-size:13px;line-height:1.6}
.subj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-bottom:28px}
.subj-card{background:white;border:1px solid var(--light-gray);border-radius:5px;overflow:hidden;transition:box-shadow .2s}
.subj-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.subj-card-head{padding:12px 16px;display:flex;align-items:center;gap:10px}
.subj-card-icon{font-size:22px;width:36px;text-align:center}
.subj-card-head h5{font-size:14px;font-weight:700;color:white;line-height:1.2}
.subj-card-body{padding:12px 16px}
.subj-card-body ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.subj-card-body ul li{font-size:13px;color:var(--gray);display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.subj-card-body ul li::before{content:'•';color:var(--green);font-weight:900;flex-shrink:0;margin-top:1px}
.subj-card-body ul li.core::before{content:'★';color:var(--gold);font-weight:900;flex-shrink:0}
.subj-key{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px;font-size:12px;color:var(--gray)}
.subj-key span{display:flex;align-items:center;gap:5px;font-weight:600}
.ss-stream-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.ss-stream-tab{padding:8px 18px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;border:1.5px solid var(--light-gray);background:white;color:var(--gray);font-family:'Open Sans',sans-serif;transition:all .2s}
.ss-stream-tab.active{background:#7B1FA2;color:white;border-color:#7B1FA2}
.ss-stream-panel{display:none}
.ss-stream-panel.active{display:block}
.note-box{background:rgba(200,152,26,.08);border:1px solid rgba(200,152,26,.25);border-left:4px solid var(--gold);border-radius:4px;padding:14px 18px;font-size:13px;color:var(--gray);line-height:1.7;margin-top:20px}
.note-box strong{color:var(--green-dark)}
@media(max-width:600px){.subj-grid{grid-template-columns:1fr}}

/* SUBJECT CHECKBOXES IN DB MODAL */
.subj-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:220px;overflow-y:auto;padding:10px;border:1.5px solid var(--light-gray);border-radius:4px;background:white}
.subj-check-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;padding:3px 2px;border-radius:3px;transition:background .15s}
.subj-check-item:hover{background:rgba(0,107,53,.05)}
.subj-check-item input[type=checkbox]{accent-color:var(--green);width:15px;height:15px;cursor:pointer;flex-shrink:0}
.subj-check-item.core{font-weight:700;color:var(--green-dark)}
.subj-note{font-size:11px;color:var(--gray);font-style:italic;margin-top:6px}
.db-subj-display{display:flex;flex-wrap:wrap;gap:4px}
.db-subj-tag{background:rgba(0,107,53,.1);color:var(--green-dark);font-size:10px;font-weight:700;padding:2px 8px;border-radius:100px}

/* ── FEE PAYMENT TRACKER ── */
#feepayment{background:var(--off-white)}
.fee-login-box{max-width:400px;margin:0 auto;background:white;border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:6px;padding:36px;text-align:center}
.fee-panel{display:none}
.fee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}
.fee-stat{background:white;border:1px solid var(--light-gray);border-radius:6px;padding:20px;text-align:center;border-top:4px solid var(--green)}
.fee-stat.unpaid{border-top-color:#DC2626}
.fee-stat.partial{border-top-color:var(--gold)}
.fee-stat.total{border-top-color:#2563EB}
.fee-stat-num{font-size:32px;font-weight:900;font-family:'Merriweather',serif;color:var(--green-dark);line-height:1}
.fee-stat-num.red{color:#DC2626}
.fee-stat-num.gold{color:#B45309}
.fee-stat-num.blue{color:#1D4ED8}
.fee-stat-label{font-size:12px;color:var(--gray);margin-top:6px;font-weight:600}
.fee-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.fee-search{flex:1;min-width:180px;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none}
.fee-search:focus{border-color:var(--green)}
.fee-filter{padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;background:white;cursor:pointer;outline:none}
.fee-add-btn{background:var(--green);color:white;border:none;padding:10px 20px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap}
.fee-table-wrap{background:white;border-radius:6px;overflow:hidden;border:1px solid var(--light-gray);overflow-x:auto}
.fee-table{width:100%;border-collapse:collapse;min-width:750px}
.fee-table th{background:var(--green-dark);color:white;padding:12px 14px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.fee-table td{padding:11px 14px;border-bottom:1px solid var(--light-gray);font-size:13px;vertical-align:middle}
.fee-table tr:last-child td{border-bottom:none}
.fee-table tr:hover td{background:#fafdf9}
.fee-status{padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;display:inline-block}
.fee-status.paid{background:rgba(5,150,105,.1);color:#047857}
.fee-status.unpaid{background:rgba(220,38,38,.1);color:#B91C1C}
.fee-status.partial{background:rgba(245,158,11,.1);color:#B45309}
.fee-action{background:none;border:1px solid var(--light-gray);border-radius:3px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:all .2s;margin-right:4px}
.fee-action.mark-paid{color:var(--green);border-color:var(--green)}
.fee-action.mark-paid:hover{background:var(--green);color:white}
.fee-action.receipt{color:#2563EB;border-color:#2563EB}
.fee-action.receipt:hover{background:#2563EB;color:white}
.fee-action.del{color:#DC2626;border-color:#DC2626}
.fee-action.del:hover{background:#DC2626;color:white}
/* Fee Modal */
.fee-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9997;align-items:center;justify-content:center;padding:20px}
.fee-modal-overlay.open{display:flex}
.fee-modal{background:white;border-radius:8px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.fee-modal-head{background:var(--green-dark);padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-radius:8px 8px 0 0}
.fee-modal-head h3{color:white;font-size:16px;font-weight:700}
.fee-modal-body{padding:24px}
.fee-mfg{margin-bottom:15px}
.fee-mfg label{display:block;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.fee-mfg input,.fee-mfg select{width:100%;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none}
.fee-mfg input:focus,.fee-mfg select:focus{border-color:var(--green)}
.fee-modal-foot{padding:14px 24px;border-top:1px solid var(--light-gray);display:flex;gap:10px;justify-content:flex-end}
@media(max-width:900px){.nb-grid{grid-template-columns:1fr}.fee-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fee-grid{grid-template-columns:1fr}}

/* ── FEE PAYMENT TRACKER ── */
#fees{background:var(--off-white)}
.fee-login-box{max-width:400px;margin:0 auto;background:white;border:1px solid var(--light-gray);border-top:4px solid var(--gold);border-radius:6px;padding:36px;text-align:center}
.fee-admin-panel{display:none}
.fee-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}
.fee-stat{background:white;border:1px solid var(--light-gray);border-radius:6px;padding:20px;text-align:center;border-top:4px solid var(--green)}
.fee-stat.danger{border-top-color:#B71C1C}
.fee-stat.warning{border-top-color:var(--gold)}
.fee-stat.info{border-top-color:#2563EB}
.fee-stat-num{font-size:28px;font-weight:900;font-family:'Merriweather',serif;color:var(--green-dark);margin-bottom:4px}
.fee-stat.danger .fee-stat-num{color:#B71C1C}
.fee-stat.warning .fee-stat-num{color:#8B6508}
.fee-stat-label{font-size:12px;color:var(--gray);font-weight:600}
.fee-controls{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.fee-search{flex:1;min-width:160px;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none}
.fee-search:focus{border-color:var(--green)}
.fee-filter{padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:13px;font-family:'Open Sans',sans-serif;outline:none;background:white;cursor:pointer}
.fee-add-btn{background:var(--green);color:white;border:none;padding:10px 18px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;white-space:nowrap;transition:background .2s}
.fee-add-btn:hover{background:var(--green-dark)}
.fee-table-wrap{background:white;border-radius:6px;overflow:hidden;border:1px solid var(--light-gray);overflow-x:auto}
.fee-table{width:100%;border-collapse:collapse;min-width:700px}
.fee-table th{background:var(--green-dark);color:white;padding:11px 14px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.fee-table td{padding:11px 14px;border-bottom:1px solid var(--light-gray);font-size:13px;vertical-align:middle}
.fee-table tr:last-child td{border-bottom:none}
.fee-table tr:hover td{background:#fafcfa}
.fee-status{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.fee-paid{background:rgba(5,150,105,.1);color:#047857}
.fee-partial{background:rgba(245,158,11,.1);color:#B45309}
.fee-owing{background:rgba(239,68,68,.1);color:#B91C1C}
.fee-action-btn{background:none;border:1px solid var(--light-gray);border-radius:3px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:all .2s;margin-right:4px}
.fee-action-btn.pay{color:var(--green);border-color:var(--green)}
.fee-action-btn.pay:hover{background:var(--green);color:white}
.fee-action-btn.receipt{color:#2563EB;border-color:#2563EB}
.fee-action-btn.receipt:hover{background:#2563EB;color:white}
.fee-action-btn.del{color:#B71C1C;border-color:#B71C1C}
.fee-action-btn.del:hover{background:#B71C1C;color:white}
.fee-progress{height:6px;background:var(--light-gray);border-radius:100px;overflow:hidden;margin-top:4px;width:100px}
.fee-progress-bar{height:100%;border-radius:100px;transition:width .4s}

/* Fee Modal */
.fee-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9996;align-items:center;justify-content:center;padding:20px}
.fee-modal-overlay.open{display:flex}
.fee-modal{background:white;border-radius:8px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.fee-modal-head{background:var(--green-dark);padding:18px 22px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}
.fee-modal-head h3{color:white;font-size:16px;font-weight:700}
.fee-modal-body{padding:22px}
.fee-fg{margin-bottom:14px}
.fee-fg label{display:block;font-size:11px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.fee-fg input,.fee-fg select{width:100%;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s}
.fee-fg input:focus,.fee-fg select:focus{border-color:var(--green)}
.fee-modal-foot{padding:14px 22px;border-top:1px solid var(--light-gray);display:flex;gap:10px;justify-content:flex-end}
.fee-save-btn{background:var(--green);color:white;border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif}
.fee-cancel-btn{background:white;color:var(--gray);border:1px solid var(--light-gray);padding:10px 18px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Open Sans',sans-serif}
@media(max-width:900px){.fee-stats{grid-template-columns:1fr 1fr}.cal-layout{grid-template-columns:1fr}}
@media(max-width:600px){.fee-stats{grid-template-columns:1fr 1fr}.fee-controls{flex-direction:column}}

/* ── FEE PAYMENT TRACKER ── */
#fees{background:var(--off-white)}
.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:1200px;margin:0 auto}
.fee-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.fee-stat{background:white;border:1px solid var(--light-gray);border-radius:6px;padding:16px;border-left:4px solid var(--green);text-align:center}
.fee-stat.danger{border-left-color:#DC2626}
.fee-stat.warning{border-left-color:#D97706}
.fee-stat strong{display:block;font-size:24px;font-weight:900;color:var(--green-dark);font-family:'Merriweather',serif}
.fee-stat span{font-size:12px;color:var(--gray)}
.fee-search-box{background:white;border-radius:6px;border:1px solid var(--light-gray);overflow:hidden;margin-bottom:0}
.fee-search-head{background:var(--green-dark);padding:14px 20px}
.fee-search-head h4{color:white;font-size:14px;font-weight:700}
.fee-status-table-wrap{background:white;border-radius:6px;border:1px solid var(--light-gray);overflow:hidden;overflow-x:auto}
.fee-table{width:100%;border-collapse:collapse;min-width:500px}
.fee-table th{background:var(--green-dark);color:white;padding:11px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.fee-table td{padding:11px 14px;border-bottom:1px solid var(--light-gray);font-size:13px}
.fee-table tr:last-child td{border-bottom:none}
.fee-table tr:hover td{background:#f9fdf9}
.fee-badge{padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700}
.fee-badge.paid{background:rgba(5,150,105,.1);color:#047857}
.fee-badge.partial{background:rgba(245,158,11,.1);color:#B45309}
.fee-badge.unpaid{background:rgba(220,38,38,.1);color:#B91C1C}
.fee-action-btn{background:none;border:1px solid var(--light-gray);border-radius:3px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:all .2s;margin-right:4px}
.fee-action-btn.mark-paid{color:var(--green);border-color:var(--green)}
.fee-action-btn.mark-paid:hover{background:var(--green);color:white}
.fee-action-btn.receipt{color:#1D4ED8;border-color:#1D4ED8}
.fee-action-btn.receipt:hover{background:#1D4ED8;color:white}
/* Fee modal */
.fee-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9997;align-items:center;justify-content:center;padding:20px}
.fee-modal-overlay.open{display:flex}
.fee-modal{background:white;border-radius:8px;width:100%;max-width:460px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.fee-modal-head{background:var(--green-dark);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.fee-modal-head h3{color:white;font-size:16px;font-weight:700}
.fee-mfg{margin-bottom:14px}
.fee-mfg label{display:block;font-size:11px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.fee-mfg input,.fee-mfg select{width:100%;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s}
.fee-mfg input:focus,.fee-mfg select:focus{border-color:var(--green)}
@media(max-width:900px){.nb-grid,.fee-grid{grid-template-columns:1fr}.fee-summary-cards{grid-template-columns:1fr 1fr}}

/* ── CAREERS SECTION ── */
#careers{background:white}
.careers-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:60px}
.careers-intro-img{background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:8px;padding:40px;text-align:center;position:relative;overflow:hidden}
.careers-intro-img::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.03) 1px,transparent 0%,transparent 50%);background-size:14px 14px}
.careers-intro-img .big-icon{font-size:80px;position:relative;z-index:1}
.careers-intro-img h3{color:white;font-size:22px;font-weight:700;margin-top:16px;position:relative;z-index:1}
.careers-intro-img p{color:rgba(255,255,255,.7);font-size:13px;margin-top:8px;position:relative;z-index:1;line-height:1.7}
.careers-perks{display:flex;flex-direction:column;gap:16px}
.career-perk{display:flex;gap:14px;align-items:flex-start}
.career-perk-icon{width:44px;height:44px;min-width:44px;border-radius:8px;background:rgba(0,107,53,.1);display:flex;align-items:center;justify-content:center;font-size:20px}
.career-perk h4{font-size:15px;font-weight:700;color:var(--green-dark);margin-bottom:3px}
.career-perk p{font-size:13px;color:var(--gray);line-height:1.6}

.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}
.job-card{background:var(--off-white);border:1px solid var(--light-gray);border-radius:8px;overflow:hidden;transition:all .25s;position:relative}
.job-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,107,53,.12);border-color:var(--green)}
.job-card-head{background:var(--green-dark);padding:20px;position:relative}
.job-card-head.gold{background:linear-gradient(135deg,#7A5C00,#C8981A)}
.job-card-head.blue{background:linear-gradient(135deg,#1E3A5F,#2563EB)}
.job-card-head.purple{background:linear-gradient(135deg,#4C1D95,#7C3AED)}
.job-card-head.red{background:linear-gradient(135deg,#7F1D1D,#B91C1C)}
.job-card-head.teal{background:linear-gradient(135deg,#134E4A,#0D9488)}
.job-icon{font-size:36px;margin-bottom:10px}
.job-card-head h3{color:white;font-size:16px;font-weight:700;line-height:1.2}
.job-type-badge{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.2);color:white;font-size:10px;font-weight:700;padding:3px 9px;border-radius:100px;letter-spacing:.5px;text-transform:uppercase}
.job-card-body{padding:18px}
.job-card-body p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:14px}
.job-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.job-tag{background:white;border:1px solid var(--light-gray);color:var(--gray);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px}
.job-apply-btn{width:100%;background:var(--green);color:white;border:none;padding:10px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s}
.job-apply-btn:hover{background:var(--green-dark)}
.job-apply-btn.gold-btn{background:linear-gradient(135deg,#7A5C00,#C8981A)}
.job-apply-btn.blue-btn{background:#2563EB}
.job-apply-btn.purple-btn{background:#7C3AED}
.job-apply-btn.red-btn{background:#B91C1C}
.job-apply-btn.teal-btn{background:#0D9488}

/* Career Application Form */
.career-form-wrap{background:var(--off-white);border-radius:8px;overflow:hidden;border:1px solid var(--light-gray)}
.career-form-head{background:var(--green-dark);padding:24px 28px;display:flex;align-items:center;gap:16px}
.career-form-head div h3{color:white;font-size:20px;font-weight:700}
.career-form-head div p{color:rgba(255,255,255,.6);font-size:12px;margin-top:4px}
.career-form-body{padding:28px}
.cf2-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf2-fg{margin-bottom:16px}
.cf2-fg label{display:block;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px}
.cf2-fg input,.cf2-fg select,.cf2-fg textarea{width:100%;padding:11px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;color:#222;outline:none;transition:border-color .2s;background:white}
.cf2-fg input:focus,.cf2-fg select:focus,.cf2-fg textarea:focus{border-color:var(--green)}
.cf2-fg textarea{resize:vertical;min-height:100px}
.career-submit-btn{width:100%;background:var(--green);color:white;border:none;padding:14px;border-radius:4px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px}
.career-submit-btn:hover{background:var(--green-dark)}
.career-success{display:none;text-align:center;padding:40px 20px}
.career-success .icon{font-size:60px;margin-bottom:16px}
.career-success h3{color:var(--green-dark);font-size:22px;font-weight:700;margin-bottom:8px}
.career-success p{color:var(--gray);font-size:14px;line-height:1.7;max-width:400px;margin:0 auto 20px}

/* Delivery status */
.career-delivery{display:none;margin-bottom:16px}
.career-delivery-row{display:flex;gap:8px;flex-wrap:wrap}
.cd-badge{display:flex;align-items:center;gap:6px;background:white;border:1px solid var(--light-gray);border-radius:3px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--gray)}

@media(max-width:900px){.careers-intro{grid-template-columns:1fr}.jobs-grid{grid-template-columns:1fr}.cf2-row{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════
   STUDENT PORTAL
══════════════════════════════════════════════ */
#portal{background:var(--off-white);min-height:100vh}

/* Login */
.portal-login-wrap{max-width:440px;margin:0 auto;padding-top:20px}
.portal-login-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.1)}
.portal-login-head{background:linear-gradient(135deg,var(--green-dark),var(--green));padding:36px 32px;text-align:center}
.portal-login-head img{width:80px;height:80px;object-fit:contain;margin-bottom:14px;border-radius:8px}
.portal-login-head h2{color:white;font-size:22px;font-weight:700}
.portal-login-head p{color:rgba(255,255,255,.7);font-size:13px;margin-top:6px}
.portal-login-body{padding:32px}
.pl-fg{margin-bottom:18px}
.pl-fg label{display:block;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px}
.pl-fg input{width:100%;padding:12px 16px;border:1.5px solid var(--light-gray);border-radius:6px;font-size:15px;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s}
.pl-fg input:focus{border-color:var(--green)}
.portal-login-btn{width:100%;background:var(--green);color:white;border:none;padding:14px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;font-family:'Open Sans',sans-serif;transition:background .2s}
.portal-login-btn:hover{background:var(--green-dark)}
.portal-login-err{display:none;background:rgba(183,28,28,.08);border:1px solid rgba(183,28,28,.2);border-radius:6px;padding:10px 14px;color:#B91C1C;font-size:13px;font-weight:600;margin-bottom:16px}
.portal-login-hint{text-align:center;color:var(--gray);font-size:12px;margin-top:16px;line-height:1.6}

/* Dashboard */
.portal-dashboard{display:none}
.portal-topbar{background:var(--green-dark);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:72px;z-index:100;border-bottom:2px solid var(--gold)}
.portal-topbar-left{display:flex;align-items:center;gap:14px}
.portal-topbar-left .p-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.portal-topbar-left h4{color:white;font-size:15px;font-weight:700}
.portal-topbar-left p{color:rgba(255,255,255,.6);font-size:11px;margin-top:1px}
.portal-logout-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:white;padding:8px 18px;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;font-family:'Open Sans',sans-serif;transition:all .2s}
.portal-logout-btn:hover{background:rgba(255,255,255,.2)}

/* Portal Nav Tabs */
.portal-nav{background:white;border-bottom:2px solid var(--light-gray);padding:0 5%;display:flex;gap:0;overflow-x:auto}
.portal-nav-tab{padding:14px 22px;font-size:13px;font-weight:700;color:var(--gray);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:all .2s;font-family:'Open Sans',sans-serif;white-space:nowrap;display:flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.5px}
.portal-nav-tab:hover{color:var(--green)}
.portal-nav-tab.active{color:var(--green);border-bottom-color:var(--green)}

/* Portal content */
.portal-content{padding:36px 5%;max-width:1200px;margin:0 auto}
.portal-panel{display:none}
.portal-panel.active{display:block}

/* Profile panel */
.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.profile-card{background:white;border-radius:10px;overflow:hidden;border:1px solid var(--light-gray);text-align:center}
.profile-card-head{background:linear-gradient(135deg,var(--green-dark),var(--green));padding:30px 20px}
.profile-photo{width:100px;height:100px;border-radius:50%;border:4px solid var(--gold);object-fit:cover;margin:0 auto 14px;display:block;background:rgba(255,255,255,.1)}
.profile-photo-empty{width:100px;height:100px;border-radius:50%;border:4px solid var(--gold);background:rgba(255,255,255,.15);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:40px}
.profile-name{color:white;font-size:18px;font-weight:700}
.profile-id-badge{display:inline-block;background:var(--gold);color:var(--green-dark);font-size:12px;font-weight:700;padding:4px 14px;border-radius:100px;margin-top:8px}
.profile-card-body{padding:20px}
.profile-detail{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--light-gray);font-size:13px}
.profile-detail:last-child{border:none}
.profile-detail span{color:var(--gray);font-weight:600}
.profile-detail strong{color:var(--green-dark);text-align:right;max-width:55%}
.profile-info-grid{background:white;border-radius:10px;border:1px solid var(--light-gray);padding:28px}
.profile-info-grid h3{font-size:17px;font-weight:700;color:var(--green-dark);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--light-gray);display:flex;align-items:center;gap:8px}
.pinfo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pinfo-item{background:var(--off-white);border-radius:6px;padding:14px 16px}
.pinfo-item .pi-label{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.pinfo-item .pi-val{font-size:14px;font-weight:700;color:var(--green-dark)}

/* Fees panel */
.portal-fee-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.portal-fee-card{background:white;border-radius:8px;padding:22px;border:1px solid var(--light-gray);text-align:center;border-top:4px solid var(--green)}
.portal-fee-card.owing{border-top-color:#B91C1C}
.portal-fee-card.partial{border-top-color:var(--gold)}
.portal-fee-num{font-size:26px;font-weight:900;font-family:'Merriweather',serif;color:var(--green-dark);margin-bottom:4px}
.portal-fee-card.owing .portal-fee-num{color:#B91C1C}
.portal-fee-card.partial .portal-fee-num{color:#8B6508}
.portal-fee-label{font-size:12px;color:var(--gray);font-weight:600}
.fee-history-table{background:white;border-radius:8px;overflow:hidden;border:1px solid var(--light-gray)}
.fee-history-table table{width:100%;border-collapse:collapse}
.fee-history-table th{background:var(--green-dark);color:white;padding:11px 16px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.fee-history-table td{padding:12px 16px;border-bottom:1px solid var(--light-gray);font-size:13px}
.fee-history-table tr:last-child td{border:none}

/* ID Card panel */
.portal-idcard-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.portal-idcard-actions{display:flex;gap:12px}

/* Results panel */
.portal-results-filter{background:white;border-radius:8px;padding:20px;border:1px solid var(--light-gray);margin-bottom:24px;display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.prf-fg{flex:1;min-width:140px}
.prf-fg label{display:block;font-size:11px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.prf-fg select{width:100%;padding:10px 14px;border:1.5px solid var(--light-gray);border-radius:4px;font-size:14px;font-family:'Open Sans',sans-serif;outline:none;background:white}
.prf-fg select:focus{border-color:var(--green)}
.portal-no-results{text-align:center;padding:50px;background:white;border-radius:8px;color:var(--gray)}
.portal-no-results .icon{font-size:48px;margin-bottom:12px}

/* Welcome banner */
.portal-welcome{background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:10px;padding:28px 32px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.portal-welcome h3{color:white;font-size:22px;font-weight:700}
.portal-welcome p{color:rgba(255,255,255,.7);font-size:13px;margin-top:4px}
.portal-quick-stats{display:flex;gap:24px;flex-wrap:wrap}
.pqs{text-align:center}
.pqs-num{font-size:24px;font-weight:900;color:var(--gold);font-family:'Merriweather',serif}
.pqs-label{font-size:11px;color:rgba(255,255,255,.6);font-weight:600}

@media(max-width:900px){
  .profile-grid{grid-template-columns:1fr}
  .portal-fee-summary{grid-template-columns:1fr 1fr}
  .pinfo-grid{grid-template-columns:1fr}
  .portal-results-filter{flex-direction:column}
  .portal-nav-tab{padding:12px 14px;font-size:11px}
}
@media(max-width:600px){.portal-fee-summary{grid-template-columns:1fr}}

/* ── Curriculum tabs ── */
.cur-tab{background:white;border:2px solid var(--light-gray);color:var(--green-dark);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:700;cursor:pointer;font-family:"Open Sans",sans-serif;transition:all .2s}
.cur-tab:hover{border-color:var(--green);color:var(--green)}
.cur-tab.cur-active{background:var(--green-dark);color:white;border-color:var(--green-dark)}
.cur-panel{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
