/* APG SCHOOL | FORM1 BRAND DESIGN V2
 * Official brand colors: #425CC7 (blue), #FFB71B (gold), #132048 (navy)
 * Official typeface: HT Mosafer Rounded. Browser-local licensed copy is used
 * when available; Cairo is a web fallback. No proprietary font files shipped.
 */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');
@font-face{font-family:'HT Mosafer Rounded';src:local('HT Mosafer Rounded'),local('HT-Mosafer Rounded'),local('HT MosaferRounded');font-display:swap}
:root{
 --navy:#132048;--blue:#425CC7;--blue2:#344DAF;--gold:#FFB71B;
 --muted:#60718C;--bg:#F3F6FC;--line:#DFE6F2;--white:#FFFFFF;
 --green:#16775B;--red:#AD3D52;--shadow:0 18px 45px rgba(19,32,72,.09);
 --font:'HT Mosafer Rounded','Cairo',Tahoma,'Trebuchet MS',Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--bg);font-family:var(--font);font-weight:600;line-height:1.5}button,input,select,textarea{font:inherit}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{cursor:pointer}
/* Branded navigation + genuine horizontal school lockup */
.top{background:var(--navy);color:white;border-bottom:4px solid var(--gold);box-shadow:0 7px 25px rgba(19,32,72,.12)}
.top-inner{max-width:1250px;min-height:98px;padding:13px 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:17px;min-width:0;color:#fff;text-decoration:none}
.brand-logo-wrap{flex:none;display:flex;justify-content:center;align-items:center;width:143px;height:76px;background:#fff;border-radius:14px;padding:8px 11px;box-shadow:0 5px 15px rgba(0,0,0,.12)}
.brand-logo{width:124px;height:63px;object-fit:contain;display:block}
.brand-copy{display:flex;min-width:0;flex-direction:column;gap:2px;line-height:1.26}
.brand-copy strong{font-size:21px;letter-spacing:-.3px;font-weight:900}
.brand-small{font-size:11px;letter-spacing:.2px;color:#DFE6FA;font-weight:650;line-height:1.5;display:block}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.top-link,.lang{font-size:12px;font-weight:800;padding:11px 17px;border:1px solid rgba(255,255,255,.23);border-radius:11px;color:#fff;background:rgba(255,255,255,.09);transition:.2s ease}
.top-link:hover,.lang:hover{border-color:var(--gold);background:rgba(255,255,255,.16)}
.lang{font-family:var(--font)}
/* Welcome / campaign banner */
.container{max-width:1250px;padding:0 24px;margin:auto}
.hero{background:linear-gradient(118deg,#253D91 0%,#425CC7 70%,#526DD2 100%);color:#fff;position:relative;overflow:hidden;padding:55px 54px 47px;border-radius:0 0 27px 27px;box-shadow:0 11px 30px rgba(66,92,199,.12)}
.hero::before{content:'';position:absolute;pointer-events:none;width:400px;height:400px;right:-128px;top:-190px;border:66px solid rgba(255,183,27,.90);border-radius:50%;transform:rotate(28deg)}
.hero::after{content:'';position:absolute;pointer-events:none;width:290px;height:290px;border:48px solid rgba(255,255,255,.09);right:54px;bottom:-240px;border-radius:50%}
.hero>*{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-weight:900;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.hero-dot{display:inline-block;background:var(--gold);height:8px;width:8px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,183,27,.18)}
.hero h1{font-size:clamp(31px,4.6vw,52px);letter-spacing:-1.3px;line-height:1.31;margin:13px 0 13px;max-width:760px;font-weight:900}
.hero p{font-size:15px;color:#E7ECFF;line-height:1.85;max-width:710px;margin:0;font-weight:550}
.hero-tiles{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:25px}
.hero-tiles>span{background:rgba(12,27,89,.20);border:1px solid rgba(255,255,255,.24);border-radius:11px;padding:10px 15px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.hero-tiles b{font-size:17px;color:var(--gold)}
/* Browsable forms */
.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:39px 1px 20px}
.section-top h2{font-size:24px;font-weight:900;letter-spacing:-.5px;margin:0 0 6px}
.section-top p{font-size:13px;font-weight:550;color:var(--muted);margin:0}
.searchbox{background:white;min-width:280px;max-width:365px;width:100%;height:48px;border-radius:12px;border:1px solid #D7E0F0;display:flex;align-items:center;gap:10px;padding:0 15px;box-shadow:0 4px 15px #13204806}
.searchbox>span{font-size:23px;color:var(--blue)}.searchbox input{width:100%;background:transparent;border:0;outline:0;color:var(--navy);font-size:13px}.searchbox:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,92,199,.10)}
.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;padding-bottom:40px}
.form-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:24px;border-radius:17px;min-height:255px;display:flex;flex-direction:column;box-shadow:0 7px 26px rgba(19,32,72,.05);transition:box-shadow .2s,transform .2s,border-color .2s}
.form-card:hover{transform:translateY(-4px);border-color:#9CACDF;border-top-color:var(--gold);box-shadow:0 16px 28px rgba(19,32,72,.11)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.form-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:#EDF1FF;color:var(--blue);font-size:23px}
.state{display:inline-flex;align-items:center;background:#E7F5EF;color:#14694D;padding:7px 12px;border-radius:100px;font-size:11px;font-weight:800;white-space:nowrap}
.state.upcoming{background:#FFF4D9;color:#835907}.state.closed{background:#FBEDEF;color:#A44255}
.form-card h3{font-size:18px;line-height:1.45;font-weight:900;margin:18px 0 7px;overflow-wrap:anywhere}
.form-card p{color:var(--muted);font-size:13px;font-weight:550;line-height:1.75;margin:0 0 15px;flex:1}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.meta{font-size:11px;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 17px;font-size:12px;font-weight:850;background:var(--blue);color:#fff;white-space:nowrap;transition:background .2s,transform .2s}
.button:hover{background:var(--blue2);transform:translateY(-1px)}
.button.light{background:#EDF1FD;color:var(--blue2)}.button.light:hover{background:#DBE4FF}
.button.warning{background:#FFF3D9;color:#795306}.button.danger{background:#FCECEE;color:var(--red)}.button.disabled{background:#E9EDF5;color:#7887A0;cursor:default;transform:none}.button.small{padding:8px 12px;font-size:11px}
.empty{padding:42px 28px;text-align:center;background:#fff;border:1px dashed #CCD6E7;border-radius:15px;color:var(--muted);font-size:13px}
.footer{max-width:1250px;margin:auto;padding:26px 24px 39px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#687994;font-size:12px}
/* Secure forms & login */
.auth-shell{max-width:520px;margin:68px auto 94px;padding:0 18px}
.panel{background:white;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:18px;padding:30px;box-shadow:var(--shadow)}
.panel h1,.panel h2{font-size:25px;margin:0 0 10px;font-weight:900;line-height:1.35}
.panel-intro{font-size:13px;line-height:1.85;color:var(--muted);font-weight:550;margin-bottom:21px}
.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:850;color:#2C3F75;margin-bottom:8px}
.input,textarea,select{display:block;width:100%;min-height:44px;border-radius:11px;border:1px solid #C8D4EA;background:#fff;color:var(--navy);padding:11px 13px;outline:0;font-size:13px}
.input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #425CC71C}
textarea{min-height:100px;resize:vertical}.hint{font-size:11px;line-height:1.7;color:#7988A3;margin-top:6px}
.error,.success{padding:12px 14px;border-radius:11px;font-size:12px;line-height:1.7;margin:12px 0}
.error{border:1px solid #F3C8CE;background:#FFF0F1;color:#95293C}.success{border:1px solid #B5E5CD;background:#EAF9F1;color:#176247}
/* Administrator console */
.admin-wrap{max-width:1260px;padding:34px 24px 74px;margin:auto}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.admin-head h1{font-size:29px;margin:6px 0 7px;font-weight:900;line-height:1.25}
.admin-head p{font-size:13px;color:var(--muted);margin:0}
.pill-row{display:flex;gap:13px;flex-wrap:wrap;margin:25px 0}
.metric{background:white;flex:1;min-width:180px;border:1px solid var(--line);border-left:4px solid var(--gold);padding:18px 20px;border-radius:13px;box-shadow:0 4px 14px #13204808}
.metric b{color:var(--blue);font-weight:900;font-size:29px;display:block;line-height:1.2;margin-bottom:4px}
.metric small{color:var(--muted);font-size:11px}
.table-wrap{background:white;border:1px solid var(--line);border-radius:15px;overflow-x:auto;box-shadow:0 5px 24px #13204808}
table{border-collapse:collapse;width:100%;font-size:12px;text-align:start}th{font-weight:850;font-size:11px;color:#314A8F;background:#EDF1FB;white-space:nowrap;text-align:start;padding:15px}td{vertical-align:middle;border-top:1px solid #E6EBF6;padding:14px 15px}
td strong{font-size:13px;max-width:300px;display:block;overflow-wrap:anywhere}
.sub{color:var(--muted);font-size:11px}.row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.row-actions form{display:inline}.inline{display:inline}
.layout-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-row{display:flex;align-items:center;gap:10px;font-size:13px;margin:8px 0 14px}.choice-row input{width:17px;height:17px}
.mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 22px}.form-fields{max-width:970px}
.section-heading{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.4px;margin:27px 0 13px;text-transform:uppercase}
.top-note{background:#FFFBF0;color:#6F551D;border:1px solid #F9E4A6;border-radius:11px;padding:14px 17px;line-height:1.8;margin:18px 0;font-size:12px}
.flex{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.link{color:var(--blue);font-weight:850}.link:hover{text-decoration:underline}
.mini-label{color:#8692A8;font-size:11px}.statbox{display:flex;gap:10px}.badge-count{background:#E9EEFC;color:#3758B1;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:850}.status-text{font-size:13px;color:var(--muted)}
html[dir=rtl] .hero::before{right:auto;left:-128px}html[dir=rtl] .hero::after{right:auto;left:54px}
html[dir=rtl] .searchbox input{text-align:right}html[dir=rtl] .metric{border-left:1px solid var(--line);border-right:4px solid var(--gold)}
@media(max-width:960px){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:44px 34px}.section-top{flex-direction:column;align-items:stretch}.searchbox{max-width:none}}
@media(max-width:600px){.top-inner{padding:12px 16px;min-height:80px;gap:11px}.brand{gap:9px}.brand-logo-wrap{width:91px;height:54px;padding:5px;border-radius:10px}.brand-logo{width:82px;height:43px}.brand-copy strong{font-size:15px}.brand-small{font-size:9px}.top-actions{gap:5px}.top-link{display:none}.lang{padding:9px 10px;font-size:11px}.container{padding:0 15px}.hero{padding:38px 22px 35px;border-radius:0 0 22px 22px}.hero::before{width:220px;height:220px;border-width:37px;top:-100px;right:-100px}.hero h1{font-size:31px}.hero p{font-size:13px}.grid-cards{grid-template-columns:1fr;gap:13px}.form-card{min-height:210px}.section-top{padding-top:32px}.admin-wrap{padding:25px 15px}.admin-head{align-items:stretch;flex-direction:column}.layout-two{grid-template-columns:1fr}.panel{padding:22px}.auth-shell{margin:38px auto 70px}.footer{padding:22px 16px 36px;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
