@import "https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=Tajawal:wght@400;500;700&display=swap";
:root{--brand-gold:#d97706;--brand-gold-hover:#b45309;--brand-gold-light:#fef3c7;--brand-gold-border:#fde68a;--brand-violet:#7c3aed;--brand-violet-hover:#6d28d9;--brand-violet-light:#ede9fe;--brand-violet-border:#ddd6fe;--brand-cyan:#0284c7;--brand-cyan-hover:#0369a1;--brand-cyan-light:#e0f2fe;--brand-cyan-border:#bae6fd;--bg-main:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-muted:#f1f5f9;--bg-subtle:#f8fafc;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--primary:#7c3aed;--primary-hover:#6d28d9;--primary-light:#ede9fe;--primary-border:#ddd6fe;--secondary:#0ea5e9;--secondary-light:#f0f9ff;--success:#10b981;--success-light:#ecfdf5;--success-border:#a7f3d0;--warning:#f59e0b;--warning-light:#fffbeb;--warning-border:#fde68a;--danger:#ef4444;--danger-light:#fef2f2;--danger-border:#fecaca;--border:#e2e8f0;--border-subtle:#f1f5f9;--input-border:#cbd5e1;--radius-xs:.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000d;--font-family:"Cairo", "Tajawal", sans-serif}@media (prefers-color-scheme:dark){:root{--bg-main:#090d16;--bg-card:#0f172a;--bg-card-hover:#17243d;--bg-muted:#1e293b;--bg-subtle:#090e1a;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--primary:#8b5cf6;--primary-hover:#a78bfa;--primary-light:#8b5cf626;--primary-border:#8b5cf659;--secondary:#38bdf8;--secondary-light:#38bdf826;--brand-gold:#f59e0b;--brand-gold-hover:#fbbf24;--brand-gold-light:#f59e0b26;--brand-gold-border:#f59e0b59;--border:#1e293b;--border-subtle:#141d2f;--input-border:#334155}}*{box-sizing:border-box;margin:0;padding:0}img,svg,video{max-width:100%;display:block}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-family);text-align:right;-webkit-font-smoothing:antialiased;direction:rtl;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}.app-layout{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-card);z-index:30;border-left:1.5px solid #f59e0b2e;flex-direction:column;width:270px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;box-shadow:-4px 0 20px #0003}.main-container{background-color:var(--bg-main);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background-color:var(--bg-card);z-index:20;border-bottom:1.5px solid #f59e0b2e;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #00000026}.content-area{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-family:Cairo,sans-serif;font-weight:700}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-full{width:100%}.h-full{height:100%}.w-8{width:2rem}.h-8{height:2rem}.w-9{width:2.25rem}.h-9{height:2.25rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-11{width:2.75rem}.h-11{height:2.75rem}.w-12{width:3rem}.h-12{height:3rem}.w-14{width:3.5rem}.h-14{height:3.5rem}.w-16{width:4rem}.h-16{height:4rem}.w-18{width:4.5rem}.h-18{height:4.5rem}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.brand-logo-container{border-radius:var(--radius-md);background-color:#000;border:1.5px solid #f59e0b66;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;padding:2px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000004d}.brand-logo-img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}.topbar-logo-container{border-radius:var(--radius-sm);background-color:#000;border:1px solid #f59e0b66;flex-shrink:0;justify-content:center;align-items:center;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;max-height:38px;padding:2px;display:flex;overflow:hidden}.badge-logo-container{background-color:#000;border:1px solid #f59e0b80;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;padding:1px;display:flex;overflow:hidden}.receipt-logo-container{border-radius:var(--radius-md);background-color:#000;border:1.5px solid #f59e0b66;flex-shrink:0;justify-content:center;align-items:center;width:56px;min-width:56px;max-width:56px;height:56px;min-height:56px;max-height:56px;margin-bottom:.5rem;padding:2px;display:flex;overflow:hidden}.m-0{margin:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.border{border:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.cards-grid-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (max-width:1200px){.kpi-grid-4,.cards-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.kpi-grid-4,.cards-grid-3{grid-template-columns:1fr}.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}.topbar{padding:0 1rem}.content-area{padding:1rem}}.school-brand-card{text-align:center;background:linear-gradient(#141024d9 0%,#0b0e18f2 100%);border:1.5px solid #f59e0b4d;border-radius:16px;flex-direction:column;align-items:center;margin-bottom:1.35rem;padding:1.15rem .85rem;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #00000073,inset 0 1px #f59e0b40}.school-brand-card:hover{border-color:#f59e0b80;box-shadow:0 8px 26px #0000008c,inset 0 1px #f59e0b59}.school-brand-card:before{content:"";background:linear-gradient(90deg,#0000,#f59e0b,#0000);height:2px;position:absolute;top:0;left:15%;right:15%}.school-logo-frame{background:#06080d;border:1.5px solid #f59e0b8c;border-radius:14px;justify-content:center;align-items:center;width:58px;min-width:58px;height:58px;min-height:58px;margin-bottom:.65rem;padding:4px;display:flex;position:relative;box-shadow:0 4px 14px #0009,0 0 16px #f59e0b2e}.school-logo-frame img{object-fit:contain;width:100%;height:100%}.school-name-ar{color:#fff;letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800;line-height:1.2}.school-badge-en{letter-spacing:.08em;color:#f59e0b;white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:9999px;justify-content:center;align-items:center;margin-top:.35rem;margin-bottom:.65rem;padding:2px 10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.67rem;font-weight:800;display:inline-flex}.school-specialties-bar{background:#0006;border:1px solid #ffffff12;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.35rem .5rem;display:flex}.spec-tag{color:#cbd5e1;white-space:nowrap;font-size:.7rem;font-weight:700}.spec-dot{color:#f59e0b;font-size:.65rem}.topbar-brand-section{align-items:center;gap:.85rem;display:flex}.topbar-logo-box{background-color:#06080d;border:1.5px solid #f59e0b80;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:3px;display:flex;box-shadow:0 2px 10px #0006,0 0 10px #f59e0b26}.topbar-logo-box img{object-fit:contain;width:100%;height:100%}.topbar-brand-details{flex-direction:column;gap:.25rem;display:flex}.topbar-brand-title-row{align-items:center;gap:.65rem;display:flex}.topbar-school-title{color:var(--foreground);font-size:1.05rem;font-weight:800;line-height:1}.topbar-school-badge{letter-spacing:.08em;color:#f59e0b;white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b52;border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.66rem;font-weight:800}.topbar-tagline-row{color:var(--muted);align-items:center;gap:.4rem;font-size:.72rem;display:flex}.topbar-tag-item{color:#e2e8f0;font-weight:600}.topbar-tag-sep{color:#f59e0b}.topbar-admin-badge{color:#c4b5fd;background:#7c3aed2e;border:1px solid #7c3aed59;border-radius:4px;margin-right:.35rem;padding:1px 7px;font-size:.65rem;font-weight:700}.brand-box{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.5rem .5rem 1.5rem;display:flex}.brand-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #4f46e559}.nav-link{border-radius:var(--radius-md);color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.8rem 1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.nav-link:hover{color:#fbbf24;background-color:#f59e0b1f;transform:translate(-4px)}.nav-link.active{color:#fbbf24;background:linear-gradient(135deg,#f59e0b38 0%,#7c3aed4d 100%);border-right:4px solid #f59e0b;box-shadow:0 4px 16px #f59e0b33}.nav-link-content{align-items:center;gap:.75rem;display:flex}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .25s;position:relative;overflow:hidden}.card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md)}.kpi-card{border-radius:var(--radius-lg);background-color:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;width:4px;height:100%;position:absolute;top:0;right:0}.kpi-card.kpi-success:before{background:var(--success)}.kpi-card.kpi-warning:before{background:var(--warning)}.kpi-card.kpi-secondary:before{background:var(--secondary)}.kpi-card.kpi-danger:before{background:var(--danger)}.kpi-card.kpi-purple:before{background:#8b5cf6}.kpi-card.kpi-gold:before{background:var(--brand-gold)}.finance-tabs-nav{background-color:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:.5rem;width:100%;margin-bottom:1.5rem;padding:.5rem;display:flex;overflow-x:auto;box-shadow:0 4px 20px #00000026}.finance-tab-item{border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;outline:none;flex:1;justify-content:center;align-items:center;gap:.65rem;padding:.85rem 1rem;font-family:Cairo,sans-serif;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.finance-tab-item:hover{background-color:var(--bg-muted);color:var(--text-main);transform:translateY(-1px)}.finance-tab-item.active{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border-color:#ffffff26;font-weight:800;box-shadow:0 6px 20px #7c3aed66;color:#fff!important}.finance-tab-badge{border-radius:9999px;justify-content:center;align-items:center;padding:.15rem .55rem;font-family:monospace;font-size:.75rem;font-weight:800;display:inline-flex}.finance-tab-item.active .finance-tab-badge{color:#fff;background:#ffffff40}.finance-tab-item:not(.active) .finance-tab-badge{color:var(--primary);background:#7c3aed26;border:1px solid #7c3aed40}.finance-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:1100px){.finance-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.finance-grid-3{grid-template-columns:1fr}}.finance-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:900px){.finance-grid-2{grid-template-columns:1fr}}.finance-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:1100px){.finance-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.finance-grid-4{grid-template-columns:1fr}}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:Cairo,sans-serif;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#0b0f19;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:1px solid #fbbf24;font-weight:800;box-shadow:0 4px 14px #f59e0b59}.btn-primary:hover{color:#000;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:translateY(-1px);box-shadow:0 6px 20px #f59e0b80}.btn-secondary{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:1px solid #8b5cf680;font-weight:700;box-shadow:0 4px 14px #7c3aed59}.btn-secondary:hover{color:#fff;background:linear-gradient(135deg,#a78bfa 0%,#8b5cf6 100%);transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed80}.btn-cyan{color:#fff;background:linear-gradient(135deg,#38bdf8 0%,#0ea5e9 100%);border:1px solid #38bdf880;font-weight:700;box-shadow:0 4px 14px #0ea5e959}.btn-cyan:hover{background:linear-gradient(135deg,#7dd3fc 0%,#0284c7 100%);transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e980}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:#059669}.btn-outline{background-color:var(--bg-card);border-color:var(--border);color:var(--text-main)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.btn-outline-primary{border-color:var(--primary-border);color:var(--primary);background-color:#0000}.btn-outline-primary:hover{background-color:var(--primary-light);border-color:var(--primary)}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;line-height:1.25;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-success{background-color:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background-color:var(--warning-light);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background-color:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.badge-neutral{background-color:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border)}.badge-outline{color:var(--text-main);border:1px solid var(--border);background-color:#0000}.btn-danger{background-color:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-outline-danger{color:var(--danger);border:1px solid var(--danger-border);background-color:#0000}.btn-outline-danger:hover{background-color:var(--danger-light);border-color:var(--danger)}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-main);font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-main);background-color:var(--bg-card);border:1px solid var(--input-border);border-radius:var(--radius-md);padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e526}.table-wrapper{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;text-align:right;width:100%;font-size:.9375rem}.data-table th{background-color:var(--bg-subtle);color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:1rem 1.25rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:1rem 1.25rem}.data-table tbody tr:hover{background-color:var(--primary-light)}.data-table tbody tr:last-child td{border-bottom:none}.modal-overlay{z-index:999;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172aa6;animation:.2s ease-out forwards fadeIn;position:absolute;inset:0}.modal-content{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:10;width:100%;max-width:560px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) forwards scaleUp;position:relative;overflow-y:auto}.modal-content-lg{max-width:750px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border);background-color:var(--bg-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.modal-close-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.modal-close-btn:hover{background-color:var(--bg-muted);color:var(--text-main)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.receipt-paper{color:#1e293b;border-radius:var(--radius-lg);background:#fff;border:2px dashed #cbd5e1;padding:2rem;font-family:Cairo,sans-serif;position:relative}.receipt-header{text-align:center;border-bottom:2px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1rem}.receipt-stamp{color:#10b981;opacity:.85;border:3px double #10b981;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto;font-size:.85rem;font-weight:800;display:flex;transform:rotate(-15deg)}.student-badge-container{justify-content:center;padding:1rem 0;display:flex}.student-badge{color:#0f172a;background:#fff;border:2px solid #cbd5e1;border-radius:1rem;width:420px;font-family:Cairo,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #00000026}.badge-header{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#4338ca 100%);border-bottom:3px solid #f59e0b;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.badge-school-icon{background:#fff3;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.badge-school-title{color:#fff;font-size:.85rem;font-weight:800;line-height:1.2}.badge-school-sub{color:#c7d2fe;font-size:.65rem}.badge-year-tag{color:#78350f;white-space:nowrap;background:#f59e0b;border:1px solid #d97706;border-radius:9999px;padding:.2rem .5rem;font-size:.65rem;font-weight:800}.badge-body{background:#fff;align-items:center;gap:1rem;padding:1rem;display:flex}.badge-photo-box{background-color:#f8fafc;border:2px solid #4338ca;border-radius:.625rem;flex-shrink:0;width:90px;height:110px;overflow:hidden;box-shadow:0 2px 5px #0000000d}.badge-photo-img{object-fit:cover;width:100%;height:100%;display:block}.badge-photo-placeholder{background-color:#f1f5f9;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.badge-info-box{flex:1;min-width:0}.badge-student-name{color:#1e1b4b;margin-bottom:.35rem;font-size:1.15rem;font-weight:800;line-height:1.25}.badge-data-row{align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:.8rem;display:flex}.badge-label{color:#64748b;font-size:.75rem}.badge-value{color:#0f172a}.badge-courses-section{background:#f8fafc;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0;padding:.5rem 1rem}.badge-course-chip{color:#3730a3;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.badge-footer{background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.badge-barcode-box{flex-direction:column;align-items:center;display:flex}.barcode-lines{align-items:flex-end;gap:2px;height:28px;display:flex}.b-bar{background-color:#0f172a;height:100%}.b-w1{width:1.5px}.b-w2{width:3px}.b-w3{width:4.5px}.badge-stamp-box{color:#059669;border:2px dashed #059669;border-radius:.5rem;flex-direction:column;align-items:center;padding:.25rem .6rem;font-size:.7rem;font-weight:800;display:flex;transform:rotate(-5deg)}.teacher-badge{color:#0f172a;background:#fff;border:2px solid #10b981;border-radius:1rem;width:430px;font-family:Cairo,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #00000026}.badge-header-teacher{color:#fff;background:linear-gradient(135deg,#064e3b 0%,#065f46 45%,#047857 100%);border-bottom:3px solid #f59e0b;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.badge-teacher-tag{color:#78350f;white-space:nowrap;background:#f59e0b;border:1px solid #d97706;border-radius:9999px;padding:.2rem .6rem;font-size:.65rem;font-weight:800}.badge-photo-box-teacher{border-color:#059669}.badge-stamp-teacher{color:#0284c7;border-color:#0284c7}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}@page{margin:4mm;size:auto}html,body{color:#0f172a!important;background:#fff!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.sidebar,.topbar,.main-header,.no-print,.modal-backdrop,.modal-header,.modal-close-btn,.modal-footer{display:none!important}.modal-overlay{background:0 0!important;border:none!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-content,.modal-content-lg{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-body{margin:0!important;padding:0!important;overflow:visible!important}.student-badge-container{justify-content:center!important;margin:0!important;padding:0!important;display:flex!important}.student-badge{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;border:1.5px solid #0f172a!important;margin:0 auto!important}.receipt-paper{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;border:1.5px solid #0f172a!important;width:100%!important;max-width:650px!important;margin:0 auto!important}}
