:root{--navy:#0a2d67;--blue:#124fa8;--gold:#d8ad19;--bg:#f4f6f9;--text:#1a2433;--muted:#657184;--border:#d9e0ea;--white:#fff;--shadow:0 6px 18px rgba(20,38,70,.06);--radius:12px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:'Cairo','Tahoma','Arial',sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:275px;background:linear-gradient(180deg,#061f55,#082c72);color:#fff;position:fixed;right:0;top:0;bottom:0;padding:16px 12px;display:flex;flex-direction:column;z-index:20;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:10px 10px 18px;border-bottom:1px solid rgba(255,255,255,.13);margin-bottom:10px}.brand strong{display:block;font-size:18px}.brand small{opacity:.72}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#fff,#dcecff);color:var(--navy);display:grid;place-items:center;font-size:28px;font-weight:800}.brand-mark.lg{width:64px;height:64px;font-size:30px;margin:auto}.nav-label{font-size:12px;opacity:.55;padding:15px 10px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;margin:3px 0;color:rgba(255,255,255,.85);font-size:15px;transition:.2s}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:inset 3px 0 0 var(--gold);color:#fff}.nav-item i{width:18px;text-align:center}.logout{margin-top:auto}.main-area{margin-right:275px;width:calc(100% - 275px);min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:15}.top-title strong{display:block;font-size:22px}.top-title small{color:var(--muted);font-size:12px}.user-menu{display:flex;align-items:center;gap:9px}.avatar{width:40px;height:40px;border-radius:50%;background:#edf4ff;color:var(--blue);display:grid;place-items:center;font-weight:800}.user-name{font-size:14px}.page-container{padding:28px;max-width:1500px;margin:auto}.footer{text-align:center;color:#94a0b4;font-size:12px;padding:18px}.mobile-only{display:none}.hero{background:linear-gradient(135deg,#0b3480,#0d5bd3);color:#fff;border-radius:14px;padding:28px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.08);left:-70px;bottom:-100px}.hero h1{margin:0 0 8px;font-size:24px}.hero p{margin:0;color:rgba(255,255,255,.75)}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.stat,.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:17px;display:flex;align-items:center;justify-content:space-between}.stat .icon{width:44px;height:44px;border-radius:14px;background:#eef4ff;color:var(--blue);display:grid;place-items:center}.stat b{font-size:26px;display:block}.stat span{font-size:13px;color:var(--muted)}.card{padding:18px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title h3{margin:0;font-size:18px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-card{padding:18px;background:#fff;border:1px solid var(--border);border-radius:12px;transition:.2s}.subject-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.subject-icon{width:48px;height:48px;border-radius:14px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:22px;margin-bottom:12px}.subject-card h3{margin:0 0 3px}.subject-card p{margin:0;color:var(--muted);font-size:14px}.subject-meta{display:flex;justify-content:space-between;gap:8px;margin:14px 0;font-size:13px;color:var(--muted)}.btn{border:0;border-radius:11px;padding:11px 16px;font-family:inherit;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--navy);color:#fff}.btn.blue{background:#eaf2ff;color:var(--blue)}.btn.warning{background:#fff6d2;color:#8b6800}.btn.danger{background:#feecec;color:#b42318}.btn.success{background:#eaf8ef;color:#10723b}.btn.secondary{background:#f0f3f8;color:#334155}.wide{width:100%}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}.search{display:flex;gap:8px;flex:1;max-width:500px}.input,.search input,select,textarea,input{font-family:inherit;border:1px solid var(--border);border-radius:11px;padding:10px 12px;background:#fff;outline:none;width:100%;font-size:14px}.input:focus,select:focus,textarea:focus,input:focus{border-color:#93b3ef;box-shadow:0 0 0 3px rgba(13,79,189,.08)}textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.one{grid-template-columns:1fr}.form-grid label{font-size:12px;font-weight:600}.form-grid label input,.form-grid label select,.form-grid label textarea{margin-top:7px;font-weight:400}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:15px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--border);text-align:right;font-size:12px}.table th{background:#f8fafc;color:#556274;font-size:12px}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.badge-success{background:#eaf8ef;color:#10723b}.badge-danger{background:#feecec;color:#b42318}.badge-warning{background:#fff6d2;color:#8b6800}.badge-muted{background:#eef1f5;color:#5d6a7b}.alert{padding:11px 14px;border-radius:12px;margin-bottom:14px;font-size:14px}.alert.danger{background:#fff0f0;color:#a91c1c;border:1px solid #ffd2d2}.alert.success{background:#eefaf2;color:#146c38;border:1px solid #c9efd8}.profile-grid{display:grid;grid-template-columns:300px 1fr;gap:16px}.profile-card{text-align:center}.profile-avatar{width:92px;height:92px;background:#edf4ff;color:var(--blue);border-radius:28px;display:grid;place-items:center;font-size:36px;font-weight:800;margin:0 auto 13px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail{background:#f8fafc;border-radius:12px;padding:11px}.detail small{display:block;color:var(--muted);font-size:12px}.detail b{display:block;font-size:14px;margin-top:3px}.progress{height:9px;background:#eef1f5;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#56a1ff);border-radius:99px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#dfeaff,transparent 36%),linear-gradient(135deg,#f3f7fc,#e7effa)}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:14px;padding:34px;box-shadow:0 25px 70px rgba(8,31,78,.12)}.login-brand{text-align:center;margin-bottom:20px}.login-brand h1{font-size:24px;margin:14px 0 5px}.login-brand p{margin:0;color:var(--muted);font-size:12px}.password-wrap{position:relative}.password-wrap input{padding-left:42px}.password-toggle{position:absolute;left:7px;top:6px;border:0;background:transparent;width:30px;height:30px;color:#758096;cursor:pointer}.login-note{text-align:center;margin-top:15px;color:var(--muted);font-size:12px}.empty{padding:36px;text-align:center;color:var(--muted)}.action-row{display:flex;gap:7px;flex-wrap:wrap}.section-gap{margin-top:18px}.kpi-card{display:flex;align-items:center;gap:13px}.kpi-card .icon{flex:0 0 48px}.subtle{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.sidebar{width:245px}.main-area{margin-right:245px;width:calc(100% - 245px)}}
@media(max-width:780px){.sidebar{transform:translateX(100%);transition:.25s;width:280px}.sidebar.open{transform:translateX(0)}.main-area{margin-right:0;width:100%}.mobile-only{display:inline-flex}.topbar{padding:0 16px}.page-container{padding:18px}.user-name{display:none}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.hero h1{font-size:20px}.hero{padding:20px}.table{min-width:680px}}
@media(max-width:480px){.stats{grid-template-columns:1fr}.stat{padding:14px}.top-title strong{font-size:17px}.page-container{padding:14px}.toolbar{align-items:stretch}.search{max-width:none}.btn{padding:9px 12px}.card{padding:14px}}
.password-tools{display:grid;gap:8px;margin-top:7px}.password-actions{display:flex;gap:7px;flex-wrap:wrap}.password-hint{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:400}.password-tools .password-wrap input{margin-top:0}.password-tools .password-toggle{top:6px}.password-tools .btn{font-size:11px;padding:8px 11px}

/* Official institutional typography / readability overrides */
body{font-size:15px;line-height:1.7}
.topbar,.sidebar,.page-container,.card,.stat,.subject-card,.login-card{font-size:15px}
.top-title strong{font-weight:800;letter-spacing:.1px}
.nav-item{font-weight:600;min-height:44px}
.nav-label{font-weight:700}
.btn{font-weight:700;min-height:42px}
.input,select,textarea,input{font-size:14px;min-height:44px}
.table th{font-size:13px;font-weight:800}
.table td{font-size:14px}
.card-title h3{font-size:18px;font-weight:800}
.subject-card h3{font-size:18px}
.badge{font-size:12px}
.form-grid label{font-size:14px}
.detail small{font-size:12px}
.detail b{font-size:15px}
.subtle{font-size:13px}
.hero h1{font-size:28px;font-weight:800}
.hero p{font-size:14px}
.footer{font-size:12px}
.login-brand h1{font-size:24px;font-weight:800}
.login-brand p{font-size:13px}
.login-note{font-size:12px}
/* calmer official visual language */
.hero{box-shadow:none;border:1px solid rgba(255,255,255,.12)}
.stat,.card,.subject-card{box-shadow:0 4px 14px rgba(19,38,70,.05)}
.sidebar{box-shadow:-3px 0 16px rgba(0,0,0,.05)}
@media(max-width:780px){.top-title strong{font-size:18px}.page-container{padding:18px}.hero h1{font-size:23px}.table th,.table td{font-size:13px}}

/* Al-Khairat official visual system */
:root{--navy:#0b2f6b;--blue:#1767b9;--gold:#e8ad22;--bg:#f6f8fb;--border:#d7e0ea;--text:#182230;--muted:#66758a}
body{font-size:16px;line-height:1.75;letter-spacing:0}
.sidebar{background:linear-gradient(180deg,#082a63 0%,#0c4b8d 100%);width:292px;padding:18px 14px}
.main-area{margin-right:292px;width:calc(100% - 292px)}
.brand-official{padding:6px 8px 18px;gap:12px}.brand-logo-wrap{width:62px;height:62px;background:#fff;border-radius:12px;padding:4px;display:grid;place-items:center;flex:0 0 62px}.brand-logo{width:100%;height:100%;object-fit:contain}.brand strong{font-size:19px}.brand small{font-size:13px}
.nav-item{font-size:16px;min-height:48px;border-radius:9px}.nav-label{font-size:13px;color:rgba(255,255,255,.72);padding-top:18px}.topbar{height:88px;padding:0 30px}.top-title strong{font-size:23px}.top-title small{font-size:13px}.avatar{width:44px;height:44px}.page-container{padding:30px;max-width:1600px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-heading h1{margin:0;font-size:30px;font-weight:800;color:var(--navy)}.page-heading p{margin:5px 0 0;color:var(--muted);font-size:15px}.eyebrow{font-size:13px;color:var(--blue);font-weight:800;margin-bottom:4px}.page-actions{display:flex;gap:9px;flex-wrap:wrap}
.hero{border-radius:10px;padding:30px;background:linear-gradient(135deg,#0b2f6b,#1767b9)}.hero h1{font-size:30px}.hero p{font-size:15px}
.stats-strong .stat{min-height:120px}.stat,.card,.subject-card{border-radius:9px}.stat{padding:19px}.stat b{font-size:29px}.stat span{font-size:14px}.stat .icon{width:48px;height:48px}
.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-split{display:grid;grid-template-columns:minmax(330px,410px) 1fr;gap:18px}.card{padding:21px}.card-title h3{font-size:19px}.input,select,textarea,input{font-size:15px;min-height:48px;border-radius:8px}.btn{font-size:15px;min-height:46px;border-radius:8px}.table th,.table td{font-size:14px;padding:14px}.table th{font-size:14px}.badge{font-size:13px}.form-grid label{font-size:14px}.info-box{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #d8e5f5;background:#f4f8fd;color:#466078;border-radius:8px;font-size:13px}.form-span{grid-column:1/-1}.no-margin{margin-bottom:0!important}.compact-search{max-width:460px}.cell-sub{display:block;color:var(--muted);font-size:12px}.section-caption{font-weight:800;color:var(--navy);font-size:17px;margin:22px 0 10px}.text-link{color:var(--blue);font-weight:700}.metric-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.metric-row:last-child{border-bottom:0}.notice-card{display:flex;align-items:center;gap:13px}.notice-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff6d7;color:#9a6e00;border-radius:8px;flex:0 0 48px}.notice-card strong{font-size:16px}.notice-card p{margin:2px 0;color:var(--muted);font-size:13px}.notice-card .btn{margin-right:auto}.list-rows{display:grid;gap:4px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row strong{display:block;font-size:14px}.list-row small{color:var(--muted);font-size:12px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-btn{border:1px solid var(--border);padding:16px;border-radius:8px;display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:700}.quick-btn i{color:var(--blue)}
.profile-avatar.sm{width:48px;height:48px;border-radius:12px;font-size:18px;margin:0}.profile-avatar.lg{width:96px;height:96px;font-size:38px}.profile-mini{display:flex;align-items:center;gap:11px}.profile-mini strong{display:block;font-size:15px}.profile-mini small{display:block;color:var(--muted);font-size:12px}.student-result{display:flex;align-items:center;justify-content:space-between}.student-result:hover{border-color:#a8c4e5;background:#fbfdff}.search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search{display:flex;align-items:center;gap:10px}.global-search>i{color:var(--blue);font-size:20px}.search-card{padding:15px}.search-card input{border:0;background:#f6f8fb}.detail-3{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-code{font-weight:800;color:var(--blue);margin:6px 0 12px}.qr-box{display:grid;place-items:center;margin:18px auto 6px;padding:10px;width:max-content;border:1px solid var(--border);background:#fff}.qr-note{font-size:12px;color:var(--muted)}
.digital-card{background:#fff;border:1px solid #cfd9e6;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(10,43,92,.08)}.digital-brand{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:4px solid var(--gold);background:#f7fafc}.digital-brand img{width:62px;height:48px;object-fit:contain}.digital-brand strong{display:block;color:var(--navy);font-size:17px}.digital-brand small{color:var(--muted)}.digital-body{display:grid;grid-template-columns:120px 1fr 170px;gap:20px;align-items:center;padding:26px}.digital-info h2{font-size:24px;margin:0 0 4px;color:var(--navy)}.digital-qr{text-align:center}.digital-qr>div{display:inline-block;padding:8px;border:1px solid var(--border);background:#fff}.digital-qr small{display:block;color:var(--muted);margin-top:5px}
.scan-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px}.qr-reader{width:100%;max-width:520px;margin:auto}.scan-status{text-align:center;color:var(--muted);padding:13px}.help-step{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.help-step:last-child{border-bottom:0}.help-step span{width:30px;height:30px;display:grid;place-items:center;background:#eef5fd;color:var(--blue);border-radius:50%;font-weight:800}.help-step p{margin:0;font-size:14px}
.attendance-batch>label{display:block;max-width:280px;margin-bottom:15px}.attendance-table select{min-width:140px}.form-footer{display:flex;justify-content:flex-end;margin-top:15px}
.receipt-page{padding:20px;background:#eef2f7;min-height:100vh}.receipt-actions{display:flex;gap:8px;max-width:820px;margin:0 auto 14px}.receipt-card{max-width:820px;margin:auto;background:#fff;border:1px solid #d3dbe6;padding:32px;box-shadow:0 12px 35px rgba(0,0,0,.07)}.receipt-head{display:flex;align-items:center;gap:18px;border-bottom:2px solid var(--gold);padding-bottom:18px}.receipt-head img{width:100px;height:70px;object-fit:contain}.receipt-head h1{margin:0;color:var(--navy);font-size:22px}.receipt-head p{margin:3px 0;color:var(--muted)}.receipt-number{text-align:left;margin:18px 0;font-size:14px}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-grid>div{padding:12px;background:#f7f9fc;border:1px solid #e0e6ee}.receipt-grid span,.receipt-note span{display:block;color:var(--muted);font-size:12px}.receipt-grid b{display:block;margin-top:4px}.receipt-amount{display:flex;justify-content:space-between;align-items:center;padding:20px;margin:18px 0;background:#f3f8ff;border:1px solid #cfe0f4}.receipt-amount strong{font-size:25px;color:var(--blue)}.receipt-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.receipt-footer{display:flex;justify-content:space-between;gap:10px;margin-top:30px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.logo-preview{display:flex;align-items:center;gap:20px}.logo-preview img{width:140px;height:100px;object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px}
@media(max-width:1100px){.sidebar{width:250px}.main-area{margin-right:250px;width:calc(100% - 250px)}.admin-split{grid-template-columns:1fr}.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}.digital-body{grid-template-columns:100px 1fr 150px}.detail-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.sidebar{width:285px}.main-area{margin-right:0;width:100%}.page-container{padding:18px}.topbar{height:72px;padding:0 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:24px}.page-actions{width:100%}.page-actions .btn{flex:1}.stats{grid-template-columns:1fr 1fr}.cards,.cards-3,.cards-2,.search-results{grid-template-columns:1fr}.digital-body{grid-template-columns:1fr;text-align:center}.digital-info .detail-list{grid-template-columns:1fr 1fr}.digital-body .profile-avatar{margin:auto}.receipt-card{padding:20px}.receipt-grid{grid-template-columns:1fr}.receipt-footer{flex-direction:column}.global-search{flex-wrap:wrap}.global-search input{min-width:0}.notice-card{align-items:flex-start;flex-wrap:wrap}.notice-card .btn{margin-right:0}.form-span{grid-column:1}.table{min-width:760px}}
@media(max-width:480px){body{font-size:15px}.stats{grid-template-columns:1fr}.digital-info .detail-list{grid-template-columns:1fr}.page-container{padding:14px}.card{padding:16px}.btn{min-height:44px}.hero h1{font-size:23px}.top-title strong{font-size:18px}}
@media print{.no-print{display:none!important}.receipt-page{background:#fff;padding:0}.receipt-card{border:0;box-shadow:none;max-width:none}}

.top-notify{position:relative;width:40px;height:40px;display:grid;place-items:center;color:var(--navy);font-size:19px}.notify-count{position:absolute;top:-1px;right:-1px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#c62828;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #fff}.login-logo{width:108px;height:82px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:10px;padding:7px;display:grid;place-items:center}.login-logo img{width:100%;height:100%;object-fit:contain}.login-card{padding:36px}.login-brand h1{font-size:25px;color:var(--navy)}

/* Final requested refinements */
.brand-logo-wrap{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);padding:8px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.04)}
.brand-logo{object-fit:contain}.credentials-cell{display:flex;align-items:center;gap:7px}.credential-reveal{border:0;background:#eef4fb;color:#0b2f6b;width:34px;height:34px;border-radius:7px;cursor:pointer}.credential-reveal.revealed{background:#eaf7ef;color:#1b6b3a}.secret-mask{letter-spacing:2px;color:#66758a}.search-panel{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.search-panel label{flex:1;min-width:240px}.search-panel .btn{white-space:nowrap}.profile-print-actions{margin-bottom:18px}
.receipt-a4{width:210mm;min-height:297mm;margin:20px auto;padding:16mm;background:#fff;box-sizing:border-box;border:1px solid #d7e0ea;color:#182230}.receipt-a4-head{display:flex;align-items:center;gap:20px;border-bottom:3px solid #e8ad22;padding-bottom:16px}.receipt-a4-head img{width:110px;height:88px;object-fit:contain}.receipt-a4-head h1{margin:0;font-size:24px;color:#0b2f6b}.receipt-a4-head p{margin:5px 0;color:#66758a}.receipt-a4-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.receipt-a4-meta>div,.receipt-a4-grid>div{padding:14px;border:1px solid #d7e0ea;background:#f8fafc}.receipt-a4-meta span,.receipt-a4-grid span{display:block;color:#66758a;font-size:12px}.receipt-a4-meta b,.receipt-a4-grid b{display:block;margin-top:5px;font-size:16px}.receipt-a4-amount{margin:24px 0;padding:22px;border:2px solid #0b2f6b;background:#f3f8ff;display:flex;justify-content:space-between;align-items:center}.receipt-a4-amount span{font-size:16px;font-weight:700;color:#0b2f6b}.receipt-a4-amount strong{font-size:30px;color:#0b2f6b}.receipt-a4-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.receipt-a4-note{margin-top:20px;padding:14px;border-top:1px solid #d7e0ea}.receipt-a4-footer{display:flex;justify-content:space-between;margin-top:65mm;padding-top:14px;border-top:1px solid #d7e0ea;color:#66758a;font-size:12px}@page{size:A4 portrait;margin:0}@media print{.receipt-a4{margin:0;width:210mm;min-height:297mm;border:0;box-shadow:none}.receipt-page{padding:0}}@media(max-width:780px){.receipt-a4{width:100%;min-height:auto;margin:0;padding:18px}.receipt-a4-grid,.receipt-a4-meta{grid-template-columns:1fr}.receipt-a4-footer{margin-top:100px}.search-panel{align-items:stretch}.search-panel label{min-width:100%}.search-panel .btn{flex:1}}

/* Final UI refinements: official header, typography, print-friendly layout */
html,body{font-family:'Noto Kufi Arabic','Tahoma','Arial',sans-serif;font-size:16px}
.sidebar .brand-official{background:#fff;color:var(--navy);margin:-18px -14px 12px;padding:14px 16px 16px;border-bottom:4px solid var(--gold);box-shadow:0 2px 0 rgba(7,38,88,.08)}
.sidebar .brand-official strong{color:var(--navy);font-size:18px}.sidebar .brand-official small{color:#657184;opacity:1;font-size:12px}
.sidebar .brand-logo-wrap{width:70px;height:70px;flex:0 0 70px;background:#fff;border:1px solid #d8e0ea;border-radius:50%;padding:5px;box-shadow:0 2px 8px rgba(12,42,87,.10)}
.table th,.table td{font-size:14px}.input,select,textarea,input{font-size:15px}.card-title h3{font-size:19px}.btn{font-size:15px}
.search-panel{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.search-panel label{flex:1;min-width:240px}.search-panel .btn{white-space:nowrap}
@media(max-width:780px){.sidebar .brand-official{margin:-18px -14px 12px}.sidebar .brand-logo-wrap{width:64px;height:64px;flex-basis:64px}.table th,.table td{font-size:13px}}

/* Final refinement - official sidebar identity, typography, and one-page A4 receipt */
html,body{font-family:'Noto Kufi Arabic','Tahoma','Arial',sans-serif;font-size:17px}
.sidebar .brand-official{background:#fff;color:var(--navy);margin:-18px -14px 12px;padding:10px 12px 12px;border-bottom:4px solid var(--gold);box-shadow:0 2px 0 rgba(7,38,88,.08);display:flex;align-items:center;justify-content:center;min-height:188px}
.sidebar .brand-sidebar-logo{display:block;width:225px;max-width:100%;height:auto;object-fit:contain}
.nav-item{font-size:15.5px}
.nav-label{font-size:12.5px}
.table th,.table td{font-size:14.5px}
.input,select,textarea,input{font-size:15.5px}
.card-title h3{font-size:19.5px}
.btn{font-size:15.5px}
.top-title strong{font-size:22px}
@media(max-width:780px){.sidebar .brand-official{min-height:170px}.sidebar .brand-sidebar-logo{width:205px}.table th,.table td{font-size:13.5px}}
/* Latest visual corrections */
.sidebar .brand-official{background:#fff!important;color:var(--navy)!important;margin:-18px -14px 12px!important;padding:8px 10px 10px!important;border-bottom:4px solid var(--gold);display:flex;align-items:center;justify-content:center;min-height:182px;overflow:hidden}
.sidebar .brand-sidebar-logo{display:block!important;width:235px!important;max-width:100%!important;height:165px!important;max-height:165px!important;object-fit:contain!important;margin:0 auto!important}
.sidebar nav .nav-label:first-of-type{margin-top:2px}
@media(max-width:780px){.sidebar .brand-official{min-height:165px!important}.sidebar .brand-sidebar-logo{width:215px!important;height:150px!important;max-height:150px!important}}

/* Requested portal refinements */
.credentials-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.credential-reveal{border:0;background:#eef4fb;color:#0b2f6b;width:32px;height:32px;border-radius:7px;cursor:pointer}.credential-reveal.revealed{background:#eaf7ef;color:#1b6b3a}.secret-mask{letter-spacing:2px;color:#66758a}.tag-list{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eef4fb;color:#0b2f6b;border:1px solid #d8e3ef;font-weight:600}.attendance-mini{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;color:#66758a;font-size:12px}.attendance-mini span{background:#f7f9fc;border:1px solid #e0e7ef;border-radius:7px;padding:4px 7px}.group-card{border:1px solid #d8e0ea;border-radius:12px;background:#fff;overflow:hidden}.group-card summary{cursor:pointer;list-style:none;padding:15px 16px;display:flex;justify-content:space-between;align-items:center;color:#0b2f6b}.group-card summary::-webkit-details-marker{display:none}.group-card summary span{display:flex;gap:10px;align-items:center}.group-card summary small{color:#66758a}.group-students{padding:0 12px 12px}.inline-form{margin:0}.inline-form select{min-width:90px}.request-list{display:grid;gap:12px}.request-item{border:1px solid #d8e0ea;border-radius:10px;padding:13px;background:#fbfcfe}.request-item-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#66758a;font-size:12px}.request-item-head strong{color:#0b2f6b;margin-left:auto}.request-item p{margin:10px 0;line-height:1.9;white-space:normal}.admin-reply{padding:10px 12px;background:#eef8f1;border-right:3px solid #2e8b57;border-radius:7px;line-height:1.8}.chat-layout{display:grid;grid-template-columns:300px 1fr;padding:0;overflow:hidden;min-height:600px}.chat-contacts{border-left:1px solid #d8e0ea;background:#f7f9fc}.chat-contact-title{padding:16px;font-weight:800;color:#0b2f6b;border-bottom:1px solid #d8e0ea}.chat-contact{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e5eaf0;color:#182230;text-decoration:none}.chat-contact:hover,.chat-contact.active{background:#eaf2fb}.chat-contact b{display:block}.chat-contact small{display:block;color:#66758a;margin-top:2px}.avatar.small{width:38px;height:38px;min-width:38px;font-size:14px}.chat-window{display:flex;flex-direction:column;min-width:0}.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #d8e0ea}.chat-head strong{display:block;color:#0b2f6b}.chat-head small{display:block;color:#66758a;font-size:11px}.chat-messages{flex:1;min-height:420px;max-height:520px;overflow:auto;padding:18px;background:#f5f7fa;display:flex;flex-direction:column;gap:9px}.chat-bubble{max-width:75%;padding:9px 12px;border-radius:12px;line-height:1.8;box-shadow:0 1px 2px rgba(0,0,0,.05)}.chat-bubble.mine{align-self:flex-start;background:#dcecfb;border-bottom-left-radius:4px}.chat-bubble.theirs{align-self:flex-end;background:#fff;border-bottom-right-radius:4px}.chat-bubble small{display:block;font-size:9px;color:#748092;margin-top:3px}.chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid #d8e0ea;background:#fff}.chat-compose textarea{flex:1;resize:none}.chat-compose .btn{align-self:end}.chat-empty{display:grid;place-items:center;height:100%;min-height:500px}
@media(max-width:850px){.chat-layout{grid-template-columns:1fr}.chat-contacts{border-left:0;border-bottom:1px solid #d8e0ea;max-height:220px;overflow:auto}.chat-messages{max-height:55vh}.chat-bubble{max-width:88%}}

/* 2026-09-30 refinements */
.login-page{background:radial-gradient(circle at 15% 10%,#dfeeff 0,transparent 38%),linear-gradient(135deg,#f4f8fd,#eaf1fa)}
.login-card-official{width:min(460px,100%);padding:34px 32px;border-radius:18px}
.login-card-official .login-logo{width:118px;height:94px;border:0;background:#fff;padding:5px;margin-bottom:8px}
.login-card-official .login-brand h1{font-size:27px;margin:8px 0 4px}
.login-card-official .login-brand p{font-size:13px}
.login-error{display:flex;align-items:center;gap:8px;margin:14px 0}
.login-submit{height:50px}
.notify-link{cursor:pointer;text-decoration:none}
.notify-link:hover{background:#eef4fb;border-radius:10px}
.stage-tabs{display:flex;gap:8px;flex-wrap:wrap}
.stage-tab{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--navy);font-weight:700}
.stage-tab:hover,.stage-tab.active{background:#eaf2ff;border-color:#b8d2f4;color:var(--blue)}
.modal{position:fixed;inset:0;background:rgba(7,27,57,.48);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}
.modal.open{display:flex}
.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.18)}
.icon-btn{border:0;background:#edf2f8;color:#223450;border-radius:8px;width:38px;height:38px;cursor:pointer;font-size:20px}
.inline-percent{display:flex;align-items:flex-end;gap:8px}.inline-percent label{min-width:160px}
.notification-card{padding:0;overflow:hidden}.notification-list{display:grid}.notification-item{display:flex;gap:13px;padding:16px;border-bottom:1px solid var(--border);align-items:flex-start}.notification-item:hover{background:#f7fbff}.notification-item:last-child{border-bottom:0}.notification-item p{margin:3px 0;color:#344257;line-height:1.8}.notification-item small{color:var(--muted);font-size:11px}.notification-icon{width:40px;height:40px;border-radius:10px;background:#edf4ff;color:var(--blue);display:grid;place-items:center;flex:0 0 40px}
.backup-card{text-align:center;padding:36px}.backup-icon{width:72px;height:72px;margin:0 auto 12px;border-radius:18px;background:#edf4ff;color:var(--blue);display:grid;place-items:center;font-size:30px}.backup-card h2{margin:5px 0 7px}.backup-card p{max-width:700px;margin:0 auto 18px;color:var(--muted);line-height:2}.backup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.backup-steps>div{background:#f7f9fc;border:1px solid var(--border);border-radius:10px;padding:15px}.backup-steps b{width:30px;height:30px;border-radius:50%;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 8px}.backup-steps span{display:block;font-size:13px;line-height:1.8}
@media(max-width:900px){.backup-steps{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.login-card-official{padding:26px 20px}.login-card-official .login-brand h1{font-size:22px}.backup-steps{grid-template-columns:1fr}.inline-percent{align-items:stretch;flex-direction:column}.inline-percent .btn{margin-top:0!important}}

/* 2026-10-03 refinements */
.notification-item.unread{background:#f4f8ff;border-right:3px solid var(--brand-blue)}
.notification-item.unread .notification-icon{box-shadow:0 0 0 4px rgba(11,92,171,.08)}
.group-bulk-form .group-tools{align-items:flex-end;gap:10px;flex-wrap:wrap}
.group-bulk-form .group-tools label{margin:0}
@media(max-width:700px){.group-bulk-form .group-tools{display:grid;grid-template-columns:1fr}.group-bulk-form .group-tools .action-row{display:flex;flex-wrap:wrap}}
.searchable-field{position:relative}
.searchable-field input{width:100%}
