:root{color:#17231f;font-synthesis:none;--primary:#174a3d;--primary-dark:#0f342a;--primary-soft:#e6f1ed;--primary-gradient:linear-gradient(135deg, #174a3d 0%, #0d2e25 100%);--accent:#c89b3c;--accent-light:#f4e8c1;--danger:#b42318;--danger-soft:#feeceb;--warning:#9a6700;--warning-soft:#fff3cd;--success:#067647;--success-soft:#e7f6ee;--muted:#5e6e68;--border:#d4ded9;--surface:#fff;--shadow:0 12px 32px #174a3d17;--shadow-auth:0 24px 48px -12px #0f342a29, 0 0 0 1px #fff9 inset;background:#f0f4f2;font-family:Tajawal,Cairo,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html{direction:rtl;background:#f0f4f2}body{background:#f0f4f2;min-height:100vh;margin:0;font-family:Tajawal,Cairo,sans-serif;font-weight:400;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding-bottom:78px}.topbar{background:var(--primary-gradient);color:#fff;z-index:30;justify-content:space-between;align-items:center;min-height:64px;padding:12px 16px;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #00000024}.brand{font-size:1.2rem;font-weight:700;display:block}.user-name{opacity:.8;margin-top:3px;font-size:.82rem;display:block}.main-content{width:min(1180px,100%);margin:0 auto;padding:16px}.bottom-nav{bottom:0;z-index:40;border-top:1px solid var(--border);min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;justify-content:center;align-items:stretch;display:flex;position:fixed;inset-inline:0}.bottom-nav a{max-width:220px;color:var(--muted);flex:1;place-items:center;font-size:.9rem;font-weight:700;display:grid}.bottom-nav a.active{color:var(--primary);background:var(--primary-soft)}.guest-shell{background:radial-gradient(circle at 50% 0,#e2eee9 0%,#d4e5de 45%,#c8dcd4 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.guest-ambient-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-blob{filter:blur(80px);opacity:.55;border-radius:50%;animation:18s ease-in-out infinite alternate blob-float;position:absolute}.ambient-blob-1{background:#174a3d40;width:450px;height:450px;top:-100px;right:-100px}.ambient-blob-2{background:#c89b3c38;width:400px;height:400px;animation-delay:-9s;bottom:-80px;left:-80px}@keyframes blob-float{0%{transform:translate(0)scale(1)}to{transform:translate(40px,50px)scale(1.12)}}.guest-content{z-index:2;width:100%;max-width:460px;position:relative}.auth-card{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-auth);background:#fffffff0;border:1px solid #fffc;border-radius:24px;padding:36px 30px;transition:transform .3s,box-shadow .3s}.auth-header{text-align:center;margin-bottom:28px}.auth-brand-badge{background:var(--primary-soft);color:var(--primary);border:1px solid #174a3d1f;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.brand-icon{width:18px;height:18px;color:var(--primary)}.auth-card h1{color:#0f2c23;letter-spacing:-.01em;margin:0 0 8px;font-size:1.65rem;font-weight:800}.auth-subtitle{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.input-field-group{flex-direction:column;gap:6px;display:flex}.input-field-group label{color:#213830;font-size:.88rem;font-weight:700}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#7b8e86;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;right:14px}.input-icon svg{width:19px;height:19px}.input-wrapper input{background:#fff;border:1.5px solid #c9d5cf;border-radius:14px;height:48px;margin-top:0;padding-left:14px;padding-right:44px;font-size:.95rem;transition:all .2s;box-shadow:0 2px 4px #00000005}.input-wrapper input:hover{border-color:#a4b8af}.input-wrapper input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #174a3d24}.toggle-password-btn{color:#7b8e86;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .2s;display:flex;position:absolute;left:12px}.toggle-password-btn:hover{color:var(--primary)}.toggle-password-btn svg{width:18px;height:18px}.form-row-remember{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.checkbox-row{color:#2b423a;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.88rem;font-weight:600;display:inline-flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;border:1.5px solid #a4b8af;border-radius:5px;margin:0}.auth-submit-btn{background:var(--primary-gradient);border-radius:14px;width:100%;height:50px;margin-top:8px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 6px 16px #174a3d38}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #174a3d4d}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.spinner-wrapper{align-items:center;gap:8px;display:inline-flex}.spinner-icon{width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer{border-top:1px stroke #eef3f0;text-align:center;margin-top:24px;padding-top:18px}.auth-footer p{color:#82948c;margin:0;font-size:.82rem;font-weight:500}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header h1{color:#0f2c23;margin:0 0 4px;font-size:1.6rem;font-weight:700}.page-header p{color:var(--muted);margin:0;font-size:.92rem}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;padding:20px 22px;box-shadow:0 4px 18px #174a3d0a}.section-card h2{color:#0f2c23;margin:0 0 16px;font-size:1.2rem;font-weight:700}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:16px}.stat-card span{color:var(--muted);font-size:.88rem;display:block}.stat-card strong{color:var(--primary);margin-top:6px;font-size:1.6rem;font-weight:700;display:block}.form-stack{gap:16px;display:grid}.form-grid{grid-template-columns:1fr;gap:16px;display:grid}label,fieldset{color:#213830;font-size:.9rem;font-weight:500}input,select{color:#17231f;background:#fff;border:1.5px solid #c9d6d0;border-radius:12px;outline:none;width:100%;height:46px;margin-top:6px;padding:0 14px;font-size:.93rem;transition:all .2s;box-shadow:0 1.5px 3px #00000005}textarea{color:#17231f;resize:vertical;background:#fff;border:1.5px solid #c9d6d0;border-radius:12px;outline:none;width:100%;min-height:96px;margin-top:6px;padding:12px 14px;font-size:.93rem;transition:all .2s}input:hover,select:hover,textarea:hover{border-color:#a4b8af}input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3.5px #174a3d1f}fieldset{border:1px solid var(--border);border-radius:14px;padding:14px 16px}legend{color:#174a3d;padding:0 6px;font-weight:600}.field-full{grid-column:1/-1}.field-error{color:var(--danger);margin-top:5px;font-size:.82rem;font-weight:600}.checkbox-row,.choice{align-items:center;gap:8px;font-weight:500;display:flex}.checkbox-row input,.choice input{width:18px;height:18px;accent-color:var(--primary);margin:0}.choice-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.form-actions,.card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;height:46px;padding:0 20px;font-size:.93rem;font-weight:600;line-height:1;transition:all .2s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px #174a3d26}.button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #174a3d38}.button-secondary{color:#213830;border:1px solid var(--border);background:#edf3f0}.button-secondary:hover:not(:disabled){background:#e2ece7}.button-danger{background:var(--danger);color:#fff}.button-ghost{color:#fff;background:#ffffff24;border:1px solid #fff3}.button-ghost:hover{background:#ffffff3d}.button-small{border-radius:10px;height:38px;padding:0 14px;font-size:.85rem}.button-large{border-radius:14px;height:50px;font-size:1rem}.button-huge{border-radius:14px;width:100%;height:56px;font-size:1.05rem}.alert{border-radius:14px;margin-bottom:18px;padding:14px 18px;font-size:.92rem;font-weight:600}.alert-success{background:var(--success-soft);color:var(--success);border:1px solid #c2e8d3}.alert-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #f8c8c5}.alert-warning{background:var(--warning-soft);color:var(--warning);border:1px solid #f6e3ab}.badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-active,.badge-success,.badge-completed{background:var(--success-soft);color:var(--success);border:1px solid #bde6d0}.badge-warning,.badge-invited,.badge-awaiting_details{background:var(--warning-soft);color:var(--warning);border:1px solid #f2dfa8}.badge-danger,.badge-suspended,.badge-cancelled{background:var(--danger-soft);color:var(--danger);border:1px solid #f5c4c1}.badge-archived{color:#596560;background:#eceeed;border:1px solid #d0d7d4}.card-list{gap:12px;display:grid}.list-card{border:1px solid var(--border);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:16px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 2px 8px #00000005}.list-card:hover{border-color:#b0c4bc}.list-card-column{gap:12px;display:grid}.list-card-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.list-card p{color:var(--muted);margin:4px 0;font-size:.9rem}.list-card small{color:var(--muted);font-size:.84rem}.balance-row{color:var(--muted);background:#f7faf8;border-radius:10px;flex-wrap:wrap;gap:18px;width:fit-content;padding:8px 14px;font-size:.9rem;display:flex}.balance-row strong{color:var(--primary);font-weight:700}.search-input{height:46px;margin:0}.sticky-search{z-index:20;margin-bottom:12px;position:sticky;top:72px}.student-grid{gap:14px;display:grid}.student-card{border:2px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:16px;transition:all .2s;display:block}.student-card:hover{transform:translateY(-2px)}.student-card-success{border-color:#73c49e}.student-card-warning{border-color:#e2b04f}.student-card-danger{border-color:#e28b84}.student-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-card p{color:var(--muted);margin:7px 0}.student-card small{margin-top:8px;display:block}.table-scroll{border:1px solid var(--border);background:#fff;border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:13px 16px;font-size:.92rem}th{color:var(--muted);background:#f6faf8;font-size:.85rem;font-weight:600}tbody tr:hover{background:#f9fbf9}.filter-grid{grid-template-columns:1fr;align-items:flex-end;gap:14px;display:grid}.pagination{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.pagination a,.pagination span{border:1px solid var(--border);background:#fff;border-radius:10px;place-items:center;min-width:40px;height:40px;font-size:.9rem;font-weight:600;display:grid}.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.empty-state{color:var(--muted);text-align:center;padding:30px 20px;font-size:.95rem}.modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal,.modal-card{border-radius:20px;width:min(720px,96%);max-height:88vh;margin:auto;padding:26px;overflow-y:auto;color:var(--text,#111827)!important;border:1px solid var(--border,#e5e7eb)!important;background:#fff!important;box-shadow:0 25px 60px #00000059!important}.modal-large{width:min(760px,100%)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.modal-header h2{color:var(--primary);margin:0;font-size:1.35rem}.modal-close-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.5rem;line-height:1}.modal-close-btn:hover{background:var(--danger-soft);color:var(--danger)}@media (width>=700px){.main-content{padding:24px}.form-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}.student-grid{grid-template-columns:repeat(2,1fr)}.stat-grid,.choice-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1000px){.app-shell{padding-bottom:0;padding-right:220px}.topbar{margin-right:-220px;padding-right:238px}.bottom-nav{border-top:0;border-left:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:6px;width:220px;height:100vh;padding-top:92px;inset:0 0 0 auto}.bottom-nav a{border-radius:12px;flex:none;width:calc(100% - 24px);min-height:48px;margin:0 12px}.student-grid{grid-template-columns:repeat(3,1fr)}.fixed-action{bottom:16px}}.print-only{display:none}@media print{@page{size:A4 portrait;margin:10mm 12mm}body{color:#000!important;background:#fff!important;margin:0!important;padding:0!important;font-size:10pt!important}body *{visibility:hidden!important}.student-report-print-area,.student-report-print-area *{visibility:visible!important}.student-report-print-area{background:#fff!important;width:100%!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}button,.modal-header,.modal-close-btn,.modal-backdrop{background:0 0!important}.print-only{display:block!important}.print-header-brand h2{text-align:center;margin:0 0 4px;font-size:1.5rem;color:#174a3d!important}.print-header-brand h3{text-align:center;margin:0 0 6px;font-size:1rem;color:#333!important}.print-header-brand p{text-align:center;margin:0;font-size:.8rem;color:#666!important}.section-card,.stat-card,article{page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #174a3d!important;margin-bottom:12px!important;padding:12px!important}.stat-grid{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;display:grid!important}.balance-cards{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;display:grid!important}.table-scroll{border:1px solid #000!important;border-radius:0!important;overflow:visible!important}table{border-collapse:collapse!important;width:100%!important;min-width:0!important}th{color:#000!important;background:#e6f1ed!important;border:1px solid #000!important;padding:5px 8px!important;font-size:9.5pt!important;font-weight:700!important}td{color:#000!important;white-space:normal!important;border:1px solid #ccc!important;padding:5px 8px!important;font-size:9pt!important}}.landing-shell{min-height:100vh;color:var(--text);background:linear-gradient(#f7faf8 0%,#fff 100%);font-family:Tajawal,Cairo,sans-serif}.landing-container{width:min(1140px,92%);margin:0 auto}.landing-nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;padding:12px 0;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;display:flex}.landing-logo{object-fit:contain;height:52px}.landing-hero{text-align:center;padding:60px 0 50px}.hero-badge{color:var(--primary);background:#e6f1ed;border:1px solid #174a3d26;border-radius:99px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 18px;font-size:.95rem;font-weight:600;display:inline-flex}.hero-title{color:var(--text);margin-bottom:20px;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.3}.hero-highlight{color:var(--primary)}.hero-subtitle{color:var(--muted);max-width:680px;margin:0 auto 36px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7}.hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.landing-features{padding:50px 0}.section-title-wrapper{text-align:center;margin-bottom:40px}.section-title-wrapper h2{color:var(--primary);margin-bottom:8px;font-size:1.8rem}.section-title-wrapper p{color:var(--muted);font-size:1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.feature-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:20px;padding:30px 24px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px #00000008}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #174a3d1a}.feature-icon{margin-bottom:16px;font-size:2.8rem}.feature-card h3{color:var(--text);margin-bottom:12px;font-size:1.25rem}.feature-card p{color:var(--muted);font-size:.95rem;line-height:1.6}.landing-contact-section{padding:40px 0 60px}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.info-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:30px;box-shadow:0 4px 16px #00000008}.info-card-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.info-icon{font-size:1.8rem}.info-card-header h3{color:var(--primary);margin:0;font-size:1.3rem}.info-text{color:var(--text);margin-bottom:16px;font-size:1.1rem;font-weight:500;line-height:1.7}.location-badge{border:1px solid var(--border);color:var(--primary);background:#f7faf8;border-radius:12px;padding:12px 16px;font-size:.95rem;font-weight:600}.contact-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.contact-list li{flex-direction:column;gap:4px;display:flex}.contact-label{color:var(--muted);font-size:.9rem}.contact-value{color:var(--primary);font-size:1.1rem;font-weight:600;text-decoration:none;transition:color .2s}.contact-value:hover{color:#eb984e}.link-value{word-break:break-word}.landing-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);background:#fff;padding:24px 0;font-size:.9rem}
