:root{--font-size-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--font-size-sm:clamp(0.875rem,0.8rem + 0.375vw,1rem);--font-size-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--font-size-lg:clamp(1.125rem,1rem + 0.625vw,1.5rem);--font-size-xl:clamp(1.5rem,1.25rem + 1.25vw,2.25rem);--font-size-2xl:clamp(2rem,1.5rem + 2.5vw,3rem);--spacing-xs:clamp(0.25rem,0.2rem + 0.25vw,0.5rem);--spacing-sm:clamp(0.5rem,0.4rem + 0.5vw,0.75rem);--spacing-md:clamp(0.75rem,0.5rem + 1.25vw,1.25rem);--spacing-lg:clamp(1rem,0.75rem + 1.25vw,1.5rem);--spacing-xl:clamp(1.5rem,1rem + 2.5vw,2.5rem);--spacing-2xl:clamp(2rem,1.5rem + 2.5vw,3rem);--container-xs:min(100%,480px);--container-sm:min(100%,640px);--container-md:min(100%,768px);--container-lg:min(100%,1024px);--container-xl:min(100%,1280px);--container-2xl:min(100%,1536px);--radius-sm:clamp(0.25rem,0.2rem + 0.25vw,0.375rem);--radius-md:clamp(0.5rem,0.4rem + 0.5vw,0.75rem);--radius-lg:clamp(0.75rem,0.6rem + 0.75vw,1rem);--radius-xl:clamp(1rem,0.8rem + 1vw,1.5rem);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--btn-padding-sm:var(--spacing-sm) var(--spacing-md);--btn-padding-md:var(--spacing-md) var(--spacing-xl);--btn-padding-lg:var(--spacing-lg) var(--spacing-2xl)}body{font-size:clamp(1rem,.95rem + .25vw,1.125rem);font-size:var(--font-size-base)}.container{margin-left:auto;margin-right:auto;padding-left:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-left:var(--spacing-md);padding-right:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-right:var(--spacing-md);width:100%}.container-xs{max-width:min(100%,480px);max-width:var(--container-xs)}.container-sm{max-width:min(100%,640px);max-width:var(--container-sm)}.container-md{max-width:min(100%,768px);max-width:var(--container-md)}.container-lg{max-width:min(100%,1024px);max-width:var(--container-lg)}.container-xl{max-width:min(100%,1280px);max-width:var(--container-xl)}.container-2xl{max-width:min(100%,1536px);max-width:var(--container-2xl)}.grid-responsive{grid-gap:clamp(1rem,.75rem + 1.25vw,1.5rem);grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid-responsive,.grid-responsive-lg{display:grid;gap:clamp(1rem,.75rem + 1.25vw,1.5rem);gap:var(--spacing-lg)}.grid-responsive-lg{grid-gap:clamp(1rem,.75rem + 1.25vw,1.5rem);grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr))}.flex-responsive{display:flex;flex-wrap:wrap;gap:clamp(.75rem,.5rem + 1.25vw,1.25rem);gap:var(--spacing-md)}.flex-col{flex-direction:column}.text-responsive{font-size:clamp(1rem,.95rem + .25vw,1.125rem);font-size:var(--font-size-base);line-height:1.6}.text-center-mobile{text-align:left}@media (max-width:374px){:root{--spacing-md:0.5rem;--spacing-lg:0.75rem;--spacing-xl:1rem}.container{padding-left:clamp(.5rem,.4rem + .5vw,.75rem);padding-left:var(--spacing-sm);padding-right:clamp(.5rem,.4rem + .5vw,.75rem);padding-right:var(--spacing-sm)}.text-center-mobile{text-align:center}}@media (max-width:639px){.hide-mobile{display:none!important}.flex-col-mobile{flex-direction:column!important}.full-width-mobile{width:100%!important}.text-center-mobile{text-align:center}.grid-responsive{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:1023px){.hide-tablet{display:none!important}.grid-responsive{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}}@media (min-width:1024px){.hide-desktop{display:none!important}.container{padding-left:clamp(1.5rem,1rem + 2.5vw,2.5rem);padding-left:var(--spacing-xl);padding-right:clamp(1.5rem,1rem + 2.5vw,2.5rem);padding-right:var(--spacing-xl)}}@media (min-width:1280px){.hide-lg-desktop{display:none!important}}.btn-responsive{align-items:center;border:none;border-radius:clamp(.5rem,.4rem + .5vw,.75rem);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:clamp(1rem,.95rem + .25vw,1.125rem);font-size:var(--font-size-base);gap:clamp(.5rem,.4rem + .5vw,.75rem);gap:var(--spacing-sm);justify-content:center;padding:clamp(.75rem,.5rem + 1.25vw,1.25rem) clamp(1.5rem,1rem + 2.5vw,2.5rem);padding:var(--btn-padding-md);text-decoration:none;transition:all .3s ease;white-space:nowrap}.btn-responsive:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-responsive:active{transform:translateY(0)}@media (max-width:639px){.btn-responsive{font-size:clamp(.875rem,.8rem + .375vw,1rem);font-size:var(--font-size-sm);padding:clamp(.5rem,.4rem + .5vw,.75rem) clamp(.75rem,.5rem + 1.25vw,1.25rem);padding:var(--btn-padding-sm);width:100%}}.card-responsive{background:#fff;border-radius:clamp(.75rem,.6rem + .75vw,1rem);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:clamp(1.5rem,1rem + 2.5vw,2.5rem);padding:var(--spacing-xl);transition:all .3s ease}.card-responsive:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}@media (max-width:639px){.card-responsive{border-radius:clamp(.5rem,.4rem + .5vw,.75rem);border-radius:var(--radius-md);padding:clamp(1rem,.75rem + 1.25vw,1.5rem);padding:var(--spacing-lg)}}.form-responsive{width:100%}.form-group-responsive{margin-bottom:clamp(1rem,.75rem + 1.25vw,1.5rem);margin-bottom:var(--spacing-lg)}.form-group-responsive label{display:block;font-size:clamp(.875rem,.8rem + .375vw,1rem);font-size:var(--font-size-sm);font-weight:500;margin-bottom:clamp(.5rem,.4rem + .5vw,.75rem);margin-bottom:var(--spacing-sm)}.form-group-responsive input,.form-group-responsive select,.form-group-responsive textarea{border:2px solid #ddd;border-radius:clamp(.5rem,.4rem + .5vw,.75rem);border-radius:var(--radius-md);font-size:clamp(1rem,.95rem + .25vw,1.125rem);font-size:var(--font-size-base);padding:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding:var(--spacing-md);transition:border-color .3s ease;width:100%}.form-group-responsive input:focus,.form-group-responsive select:focus,.form-group-responsive textarea:focus{border-color:#007bff;outline:none}.table-responsive{-webkit-overflow-scrolling:touch;margin:clamp(1rem,.75rem + 1.25vw,1.5rem) 0;margin:var(--spacing-lg) 0;overflow-x:auto}.table-responsive table{border-collapse:collapse;min-width:600px;width:100%}@media (max-width:639px){.table-responsive table{font-size:clamp(.875rem,.8rem + .375vw,1rem);font-size:var(--font-size-sm)}}.img-responsive{display:block;height:auto;max-width:100%}.img-cover{height:100%;object-fit:cover;width:100%}.img-contain{height:100%;object-fit:contain;width:100%}.m-responsive{margin:clamp(.75rem,.5rem + 1.25vw,1.25rem);margin:var(--spacing-md)}.mt-responsive{margin-top:clamp(.75rem,.5rem + 1.25vw,1.25rem);margin-top:var(--spacing-md)}.mb-responsive{margin-bottom:clamp(.75rem,.5rem + 1.25vw,1.25rem);margin-bottom:var(--spacing-md)}.ml-responsive{margin-left:clamp(.75rem,.5rem + 1.25vw,1.25rem);margin-left:var(--spacing-md)}.mr-responsive{margin-right:clamp(.75rem,.5rem + 1.25vw,1.25rem);margin-right:var(--spacing-md)}.p-responsive{padding:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding:var(--spacing-md)}.pt-responsive{padding-top:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-top:var(--spacing-md)}.pb-responsive{padding-bottom:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-bottom:var(--spacing-md)}.pl-responsive{padding-left:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-left:var(--spacing-md)}.pr-responsive{padding-right:clamp(.75rem,.5rem + 1.25vw,1.25rem);padding-right:var(--spacing-md)}@media (max-width:639px){.m-responsive{margin:clamp(.5rem,.4rem + .5vw,.75rem);margin:var(--spacing-sm)}.p-responsive{padding:clamp(.5rem,.4rem + .5vw,.75rem);padding:var(--spacing-sm)}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-size:var(--font-size-base,1rem);line-height:1.6;margin:0;overflow-x:hidden}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body.offline:before{animation:slideDown .3s ease-out;background:linear-gradient(45deg,#ff6b6b,#ee5a24);box-shadow:0 2px 8px #0003;color:#fff;content:"⚠️ لا يوجد اتصال بالإنترنت - تعمل في الوضع غير المتصل";font-size:14px;font-weight:600;left:0;padding:8px 16px;position:fixed;right:0;text-align:center;top:0;z-index:10000}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes pwaInstallPulse{0%,to{box-shadow:0 0 0 0 #667eeab3;transform:scale(1)}50%{box-shadow:0 0 0 10px #667eea00;transform:scale(1.05)}}.pwa-install-pulse{animation:pwaInstallPulse 2s ease-in-out infinite}@supports (-webkit-touch-callout:none){body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:auto;user-select:auto}}@media (display-mode:standalone){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@supports (padding:max(0px)){.pwa-safe-area{padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.pwa-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.MuiFab-root,.MuiIconButton-root,.no-print,button{display:none!important}.print-only{display:block!important}@page{size:A4;margin:clamp(.5cm,2vw,1cm)}.page-break{page-break-before:always}.MuiCard-root{border:1px solid #ddd!important;box-shadow:none!important;margin-bottom:clamp(.75rem,2vw,1.25rem)!important;padding:clamp(.5rem,2vw,1rem)!important}.MuiTabs-root{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.MuiDialog-root{display:none!important}table{font-size:clamp(8pt,2vw,10pt)!important;page-break-inside:auto;width:100%!important}tr{page-break-after:auto;page-break-inside:avoid}td,th{padding:clamp(4px,1vw,8px)!important}body{direction:ltr;font-size:10pt!important;line-height:1.4!important}.year-section{display:block!important;page-break-after:always}.year-section:last-child{page-break-after:auto}img{height:auto!important;max-width:100%!important}h1,h2,h3,h4,h5,h6{font-size:clamp(12pt,3vw,16pt)!important;margin:clamp(.5rem,1vw,1rem) 0!important}}.print-only{display:none}@media screen{.student-details-container{margin:0 auto;max-width:min(100%,1400px);padding:clamp(1rem,3vw,1.5rem);padding:var(--spacing-lg,clamp(1rem,3vw,1.5rem))}.student-card{background:#fff;border-radius:.75rem;border-radius:var(--radius-lg,.75rem);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md,0 4px 12px #0000001a);margin-bottom:1rem;margin-bottom:var(--spacing-lg,1rem);padding:clamp(1rem,4vw,2rem);padding:var(--spacing-xl,clamp(1rem,4vw,2rem))}@media (max-width:640px){.student-card,.student-details-container{padding:.75rem;padding:var(--spacing-md,.75rem)}.student-card{border-radius:.5rem;border-radius:var(--radius-md,.5rem)}table{font-size:.875rem;font-size:var(--font-size-sm,.875rem)}}@media (min-width:641px) and (max-width:1023px){.student-details-container{padding:1rem;padding:var(--spacing-lg,1rem)}}}