.index-page{font-family:Noto Sans Bengali,Poppins,sans-serif;padding:2rem 1rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.index-page .top-section{text-align:center;margin-bottom:2rem;animation:fadeInUp .8s ease-out both}.index-page .top-section .logo{width:120px;height:auto}.index-page .top-section .motto{font-size:1.2rem;font-weight:700;margin:0 auto;background:linear-gradient(270deg,#f09,#ff8c00,#f30,#facc15,#f87171,red);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:waveGradient 6s ease infinite}@keyframes waveGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.index-page .middle-section{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;max-width:900px}.index-page .middle-section .left-column{text-align:center;animation:fadeInUp .8s ease-out .1s both}.index-page .middle-section .left-column .img-frame{width:250px;height:250px;border-radius:50%;overflow:hidden;border:5px solid rgba(0,85,255,.1960784314);animation:fadeInUp .8s ease-out .2s both}.index-page .middle-section .left-column .img-frame img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%;padding-top:10px}.index-page .middle-section .left-column .name{font-size:2.2rem;font-family:Tiro Bangla;font-weight:900;color:transparent;background:linear-gradient(to right,#2563eb,#1d4ed8);-webkit-background-clip:text;background-clip:text;animation:fadeInUp .8s ease-out .3s both}.index-page .middle-section .left-column .degree{font-size:1rem;color:#4b5563;animation:fadeInUp .8s ease-out .4s both}.index-page .middle-section .right-column{flex:1;min-width:250px;display:flex;flex-direction:column;justify-content:space-between;text-align:justify;animation:fadeInUp .8s ease-out .3s both}.index-page .middle-section .right-column blockquote{font-size:1.1rem;color:#1f2937;margin-bottom:1.5rem;font-family:Tiro Bangla;animation:fadeInUp .8s ease-out .4s both}.index-page .middle-section .right-column .button-group{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeInUp .8s ease-out .5s both}.index-page .middle-section .right-column .button-group .btn{padding:.6rem 1.4rem;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 12px #00000014}.index-page .middle-section .right-column .button-group .register-btn{background:linear-gradient(to right,#34d399,#10b981);color:#fff}.index-page .middle-section .right-column .button-group .register-btn:hover{background:linear-gradient(to right,#059669,#047857)}.index-page .middle-section .right-column .button-group .login-btn{background:linear-gradient(to right,#2563eb,#1d4ed8);color:#fff}.index-page .middle-section .right-column .button-group .login-btn:hover{background:linear-gradient(to right,#1e3a8a,#1d4ed8)}.index-page .course-section{margin-top:4rem;text-align:center;animation:fadeInUp .8s ease-out both;width:100%}.index-page .course-section .course-title{font-size:1.6rem;font-weight:700;margin-bottom:1.5rem;color:#1f2937;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.index-page .course-section .course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto;padding:0 1rem}.index-page .course-section .course-card{background-color:transparent;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:1rem;box-shadow:0 6px 14px #00000014;padding:1.2rem;text-align:center;transition:transform .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.index-page .course-section .course-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(120deg,#009dff4d,#fff,#d1fff3,#009dff4d);background-size:200% 200%;animation:borderSparkleForward 3s linear infinite;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:destination-out;z-index:1}.index-page .course-section .course-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(300deg,#ffffff40,#ffffff0d,#ffffff40);background-size:200% 200%;animation:borderSparkleBackward 3s linear infinite;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:destination-out;z-index:1}.index-page .course-section .course-card .icon{font-size:3rem;margin-bottom:.6rem;color:#2563eb;z-index:2}.index-page .course-section .course-card .title{font-size:1.1rem;font-weight:600;color:#1f2937;z-index:2}.index-page .course-section .course-card:hover{transform:translateY(-6px);color:#fff;filter:brightness(.9)}@keyframes borderSparkleForward{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderSparkleBackward{0%{background-position:100% 50%}50%{background-position:0% 50%}to{background-position:100% 50%}}.index-page .social-section{margin-top:4rem;margin-bottom:4rem;text-align:center;animation:fadeInUp .8s ease-out .2s both}.index-page .social-section .social-title{font-size:1.6rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.index-page .social-section .social-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}.index-page .social-section .social-icons .social-icon{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.7rem 1.2rem;background:transparent;border-radius:.6rem;text-decoration:none;color:#1f2937;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-weight:600;font-size:1rem;box-shadow:0 4px 10px #0000000d;transition:all .3s ease;animation:fadeInUp .8s ease-out .3s both}.index-page .social-section .social-icons .social-icon svg{font-size:2.3rem;padding:5px;height:40px;width:40px}.index-page .social-section .social-icons .social-icon:hover{filter:brightness(.9);background-color:#fff}.index-page .social-section .social-icons .facebook svg{background:linear-gradient(#3030ff,#004cff);border-radius:50%;padding:8px;color:#fff}.index-page .social-section .social-icons .youtube svg{color:red;padding:0}.index-page .social-section .social-icons .instagram svg{color:transparent;padding:0;fill:url(#gradient-instagram)}@media (max-width: 768px){.index-page .social-section .social-icons .social-icon{padding:.5rem .8rem;font-size:.8rem}.index-page .social-section .social-icons .social-icon svg{font-size:1.6rem;height:32px;width:32px;padding:4px}}.index-page .map{text-align:center;animation:fadeInUp .8s ease-out both;width:100%;font-family:Poppins,Noto Sans Bengali,Poppins,sans-serif}.index-page .map .map-title{font-size:1.6rem;font-weight:700;margin-bottom:1.5rem;color:#1f2937;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.index-page .map .map-container{max-width:1000px;margin:0 auto;padding:0;border-radius:1rem;overflow:hidden;box-shadow:0 6px 14px #00000014;background-color:transparent;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:2px solid rgba(0,85,255,.08)}.index-page .map .map-container iframe{width:100%;height:420px;border:none}@media (max-width: 768px){.index-page .map .map-title{font-size:1.3rem}.index-page .map .map-container iframe{height:300px}}@media (max-width: 768px){.index-page .top-section .motto{font-size:1.4rem}.index-page .middle-section{flex-direction:column;align-items:center}.index-page .middle-section .right-column{align-items:center}.index-page .middle-section .right-column blockquote{text-align:center}.index-page .middle-section .right-column .button-group{justify-content:center}}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:99999}.loader-container{display:inline-flex;align-items:center;justify-content:center}.loader-content{display:flex;flex-direction:column;align-items:center;gap:20px;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.loader-content p{font-weight:700;color:#007bff}.spinner{border:solid 4px rgba(0,0,0,.1);border-top-color:#007bff;border-radius:50%;animation:spin .4s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.student-dashboard{font-family:Poppins,sans-serif}.student-dashboard .profile-section{display:flex;flex-direction:column;align-items:center;padding-top:3rem;border-radius:1rem;box-sizing:border-box;font-family:Poppins,Segoe UI,sans-serif}.student-dashboard .profile-section .img-container{padding:.5rem;border-radius:50%;margin-bottom:1rem;box-shadow:0 10px 20px #00000026}.student-dashboard .profile-section .img-container img{height:120px;width:120px;border-radius:50%;object-fit:cover;display:block}.student-dashboard .profile-section .text-container{display:flex;flex-direction:column;align-items:center;gap:.8rem}.student-dashboard .profile-section .text-container h3{font-size:1.2rem;color:#111827;margin:0;font-weight:600}.student-dashboard .profile-section .text-container .visit-profile-btn{background:linear-gradient(to right,#062568,#062d6d);color:#fff;padding:.6rem 1.4rem;font-size:1rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .3s ease}.student-dashboard .profile-section .text-container .visit-profile-btn:hover{background:linear-gradient(to right,#08236d,#072e83);translate:Y(10px);box-shadow:0 4px 8px #2563eb40}.student-dashboard .dashboard-content{max-width:1200px;margin:0 auto;padding:0rem 1rem 5rem;box-sizing:border-box}.student-dashboard .dashboard-content .section-heading{margin:2rem 0 1rem;font-size:1.3rem;font-weight:600;background:linear-gradient(45deg,#ff6a00,#ee0979);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center}.student-dashboard .dashboard-content .card-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.student-dashboard .dashboard-content .card-grid{flex-direction:row;flex-wrap:wrap;justify-content:center}.student-dashboard .dashboard-content .card-grid .info-card{flex:1 1 calc(33.333% - 1rem);max-width:calc(33.333% - 1rem)}}.student-dashboard .dashboard-content .info-card{flex:1 1 48%;min-height:180px;border-radius:1rem;padding:1.2rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#333;display:flex;flex-direction:column;justify-content:space-between;box-shadow:4px 8px 2px 8px #00000014;box-shadow:4px 8px 12px 2px #00000014;transition:transform .3s ease}.student-dashboard .dashboard-content .info-card:hover{transform:translateY(-4px)}.student-dashboard .dashboard-content .info-card .icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;margin-bottom:.6rem}.student-dashboard .dashboard-content .info-card h4{font-size:1.2rem;margin-bottom:.6rem;font-weight:600;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-clip:text}.student-dashboard .dashboard-content .info-card .card-details{display:flex;flex-direction:column;gap:.4rem}.student-dashboard .dashboard-content .info-card .card-details .detail{display:flex;align-items:center;gap:.4rem;font-size:.95rem}.student-dashboard .dashboard-content .info-card .card-details .detail .detail-icon{font-size:1.1rem}.student-dashboard .dashboard-content .info-card .card-details .detail span{font-weight:500}.student-dashboard .dashboard-content .info-card .card-details .detail strong{margin-left:auto}.student-dashboard .dashboard-content .info-card .card-details .detail.due strong{color:#d32f2f}.student-dashboard .dashboard-content .info-card .card-btn{margin-top:.8rem;padding:.4rem .8rem;font-weight:600;border:none;border-radius:.5rem;background:#1976d2;color:#fff;cursor:pointer;text-align:center;transition:all .3s ease}.student-dashboard .dashboard-content .info-card .card-btn:hover{background:#125ca1}@media (max-width: 768px){.student-dashboard .dashboard-content .info-card{padding:1rem;min-height:auto}.student-dashboard .dashboard-content .info-card .icon{font-size:1.4rem;width:48px;height:48px}.student-dashboard .dashboard-content .info-card h4{font-size:1.05rem}.student-dashboard .dashboard-content .info-card .card-details .detail{font-size:.85rem}.student-dashboard .dashboard-content .info-card .card-btn{font-size:.85rem;padding:.4rem .8rem}}.student-dashboard .dashboard-content .gradient-card-1 .icon,.student-dashboard .dashboard-content .gradient-card-1 h4{background:linear-gradient(135deg,#02f,#00d5ff)}.student-dashboard .dashboard-content .gradient-card-2 .icon,.student-dashboard .dashboard-content .gradient-card-2 h4{background:linear-gradient(135deg,#fab55b,#ff6200)}.student-dashboard .dashboard-content .gradient-card-3 .icon,.student-dashboard .dashboard-content .gradient-card-3 h4{background:linear-gradient(135deg,#ff007b,#f40000)}.student-dashboard .dashboard-content .gradient-card-4 .icon,.student-dashboard .dashboard-content .gradient-card-4 h4{background:linear-gradient(135deg,#0f5,#089e00)}.student-dashboard .dashboard-content .gradient-card-1 h4,.student-dashboard .dashboard-content .gradient-card-2 h4,.student-dashboard .dashboard-content .gradient-card-3 h4,.student-dashboard .dashboard-content .gradient-card-4 h4{-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-clip:text}.payment-history-page{max-width:950px;margin:0 auto;padding:0rem 1rem;font-family:Poppins,Segoe UI,sans-serif}.payment-history-page .ph-loading,.payment-history-page .ph-error,.payment-history-page .ph-empty{text-align:center;color:#64748b;font-size:1rem;margin-top:2rem}.payment-history-page .table-container{margin-top:1rem;overflow-x:auto;text-align:center}.payment-history-page .table-container .ph-caption{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem}.payment-history-page .table-container .ph-caption .icon{background:linear-gradient(135deg,#0ea5e9,#1d4ed8);color:#fff;font-size:1.5rem;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000014}.payment-history-page .table-container .ph-caption h3{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#0ea5e9,#1d4ed8);color:transparent;-webkit-background-clip:text;background-clip:text}.payment-history-page .ph-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden}.payment-history-page .ph-table thead{background-color:#f1f5f9}.payment-history-page .ph-table th,.payment-history-page .ph-table td{padding:.85rem 1rem;text-align:left;font-size:.95rem}.payment-history-page .ph-table th{font-weight:600;color:#1d4ed8}.payment-history-page .ph-table td{color:#334155}.payment-history-page .ph-table tbody tr:nth-child(2n){background-color:#f9fafb}@media screen and (max-width: 768px){.payment-history-page .ph-table th,.payment-history-page .ph-table td{padding:.6rem .5rem;font-size:.8rem}.payment-history-page .ph-table .ph-caption h3{font-size:1rem}}.payment-history-page .ph-summary{margin:2rem auto 0;padding:1.5rem 2rem;background:#f9fbff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 10px #0000000a;max-width:420px;display:flex;flex-direction:column;gap:1rem;font-size:.95rem}.payment-history-page .ph-summary .summary-row{display:flex;justify-content:space-between;align-items:center}.payment-history-page .ph-summary .summary-row .label{display:flex;align-items:center;gap:8px;color:#1e293b;font-weight:600;font-size:inherit}.payment-history-page .ph-summary .summary-row .label .icon{color:#0ea5e9;font-size:1.1rem}.payment-history-page .ph-summary .summary-row .value{font-weight:600;color:#334155;font-size:inherit}.payment-history-page .ph-summary .summary-row.due .value{color:#dc2626}.payment-history-page .ph-summary .summary-row.due.paid .value{color:#16a34a}@media screen and (max-width: 768px){.payment-history-page .ph-summary{padding:1.2rem 1.4rem;font-size:.85rem}}.payment-history-page .table-container::-webkit-scrollbar{height:6px}.payment-history-page .table-container::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}@page{size:A4;margin:1cm}.invoice-wrapper{width:210mm;background:#fff;font-family:sans-serif,monospace,Courier New,Courier;color:#000}.offscreen-wrapper{position:absolute;top:-9999px;left:-9999px;width:210mm;height:auto;overflow:hidden;z-index:-1}.invoice-page{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 0 8px #0000001a}.invoice-header{display:flex;justify-content:space-between;align-items:center}.invoice-header .invoice-logo{width:120px;padding-left:10px;height:auto}.invoice-header .invoice-contact{text-align:left;display:flex;flex-direction:column;gap:0}.invoice-header .invoice-contact h3{font-family:Helvetica,sans-serif;margin-bottom:5px;color:#01233c;font-weight:800;font-family:Poppins}.invoice-header .invoice-contact p{margin:0;font-size:11px;font-weight:700;color:#01233c;display:flex;gap:10px;align-items:center}.copy-section{position:relative;border:1px solid #ddd;border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:1px;height:394px;justify-content:space-around;flex-shrink:0}.copy-section .top{display:flex;justify-content:space-between}.copy-section .top .section-title{font-size:1rem;font-weight:700;text-transform:uppercase}.copy-section .top .reference{background-color:#ffe799;border:1px solid rgb(149,92,0);border-radius:10px;height:fit-content;padding:5px 10px;color:#6f3600;font-size:10px;font-weight:800}.copy-section .top .img-container{height:80px;width:80px;display:flex}.copy-section .top .img-container img{width:100%;height:100%}.copy-section .info-table{width:100%;border-collapse:collapse;font-size:11px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#000}.copy-section .info-table th,.copy-section .info-table td{padding:0 6px;text-align:left;vertical-align:top}.copy-section .info-table th{font-weight:600;text-transform:uppercase}.copy-section .info-table td{font-weight:400}.copy-section .info-table .batch-time{background-color:#dae9ff;color:#053b67;padding:2px 8px;border:1px solid rgb(158,193,249);border-radius:15px;font-weight:600;width:fit-content}.copy-section .payment-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:10px;font-size:11px}.copy-section .payment-table thead th{text-align:left;padding:5px;background-color:#002147;color:#fff}.copy-section .payment-table thead th:first-child{width:5%}.copy-section .payment-table thead th:nth-child(3){width:20%}.copy-section .payment-table thead th:not(:first-child):not(:nth-child(3)){width:auto}.copy-section .payment-table tbody td{padding-left:5px;border-bottom:1px dotted rgba(87,87,87,.353)}.copy-section .payment-table tbody td:first-child{width:5%}.copy-section .payment-table tbody td:nth-child(3){width:20%}.copy-section .payment-table tbody td:not(:first-child):not(:nth-child(3)){width:auto}.copy-section .bottom-section{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.copy-section .bottom-section .qrcode-block{display:flex;justify-content:center;align-items:center}.copy-section .bottom-section .signature-block{display:flex;flex-direction:column;text-align:center;justify-content:center;gap:-10px}.copy-section .bottom-section .signature-block .img-container{transform:rotate(-25deg);margin-bottom:-20px;opacity:.5}.copy-section .bottom-section .signature-block .img-container img{width:130px;height:auto}.copy-section .bottom-section .signature-block .sig-text{margin-top:.5rem;font-size:.85rem;font-weight:700;text-transform:uppercase;z-index:12}.print-invoice-btn{margin-top:2rem;display:flex;justify-content:center}.print-invoice-btn button{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#000608,#000d2f);box-shadow:0 4px 12px #0000001a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.print-invoice-btn button .download-icon{font-size:1rem}.print-invoice-btn button:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000026}.print-invoice-btn button:active{transform:translateY(0);box-shadow:0 2px 6px #00000014}hr{border:none;border-top:2px dashed #b4b0b0}@media print{body *{visibility:hidden}.invoice-page-wrapper,.invoice-page-wrapper *{visibility:visible}.invoice-page-wrapper{position:absolute;top:0;left:0;width:210mm;margin:0;padding:0}.print-btn-container{display:none}}.cross-failure-container{display:inline-flex;align-items:center;justify-content:center}.circle{width:80px;height:80px;background:linear-gradient(#ff3737,red);border-radius:50%;display:flex;align-items:center;justify-content:center;transform-origin:center;animation:shake .4s ease-in-out .6s forwards}.circle .cross-svg{width:70%;height:70%}.circle .cross-line{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:40;stroke-dashoffset:40}.circle .cross-line.line1{animation:drawLine .3s ease-out forwards}.circle .cross-line.line2{animation:drawLine .3s ease-out .3s forwards}@keyframes drawLine{to{stroke-dashoffset:0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.failure-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.failure-card-overlay .failure-card-container{background:#fff;border-radius:18px;padding:2rem;width:90%;max-width:320px;box-shadow:0 8px 24px #0003;text-align:center}.failure-card-overlay .failure-card-container .animation{margin-bottom:1rem}.failure-card-overlay .failure-card-container .text{font-size:14px;font-weight:600;background:linear-gradient(90deg,red,red);color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;letter-spacing:.5px}.failure-card-overlay .failure-card-container .ok-btn{background:transparent;color:red;border:none;padding:.75rem 1.8rem;font-size:1.05rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .25s ease}.failure-card-overlay .failure-card-container .ok-btn:hover{filter:brightness(.7);transform:translateY(-1px)}.attendance-history-page{max-width:640px;margin:2rem auto;padding:0 1rem;font-family:Segoe UI,sans-serif}.attendance-history-page .page-title{font-size:1.75rem;text-align:center;background:linear-gradient(90deg,#1976d2,#06b6d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.attendance-history-page .card{background:#fff;border-radius:.75rem;box-shadow:0 4px 16px #00000014;margin-bottom:1.5rem;padding:1rem 1.25rem}.attendance-history-page .overall-summary{display:flex;justify-content:space-evenly}.attendance-history-page .overall-summary .summary-item{display:flex;flex-direction:column;align-items:center}.attendance-history-page .overall-summary .summary-item span{font-size:.85rem;color:#555}.attendance-history-page .overall-summary .summary-item strong{font-size:1.25rem;margin-top:.25rem}.attendance-history-page .overall-summary .present strong{color:#1976d2}.attendance-history-page .overall-summary .absent strong{color:#d32f2f}.attendance-history-page .calendar-card .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.attendance-history-page .calendar-card .calendar-header button{background:none;border:none;color:#1976d2;font-size:1.25rem;opacity:.8;cursor:pointer}.attendance-history-page .calendar-card .calendar-header button:disabled{opacity:.3;cursor:default}.attendance-history-page .calendar-card .calendar-header .month-title{font-size:1.25rem;font-weight:600;color:#333}.attendance-history-page .calendar-card .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.attendance-history-page .calendar-card .calendar-grid .cell{height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem}.attendance-history-page .calendar-card .calendar-grid .cell.header{color:#777;font-weight:500}.attendance-history-page .calendar-card .calendar-grid .cell.inactive .dot{visibility:hidden}.attendance-history-page .calendar-card .dot{display:inline-block;width:2rem;height:2rem;line-height:2rem;text-align:center;border-radius:50%;font-weight:500;color:#fff}.attendance-history-page .calendar-card .dot.present{background:#1976d2}.attendance-history-page .calendar-card .dot.absent{background:#d32f2f}.attendance-history-page .calendar-card .dot.none{background:none;color:#444}.attendance-history-page .calendar-card .monthly-summary{display:flex;justify-content:space-evenly;margin-top:.75rem}.attendance-history-page .calendar-card .monthly-summary .summary-item{display:flex;flex-direction:column;align-items:center}.attendance-history-page .calendar-card .monthly-summary .summary-item span{font-size:.85rem;color:#555}.attendance-history-page .calendar-card .monthly-summary .summary-item strong{font-size:1.1rem;margin-top:.25rem}.attendance-history-page .calendar-card .monthly-summary .present strong{color:#1976d2}.attendance-history-page .calendar-card .monthly-summary .absent strong{color:#d32f2f}@media (max-width: 480px){.attendance-history-page .calendar-grid .cell{height:2rem;font-size:.65rem}.attendance-history-page .dot{width:1.5rem;height:1.5rem;line-height:1.5rem;font-size:.75rem}}.edit-history-page{max-width:800px;margin:2rem auto;padding:0 1rem;font-family:Segoe UI,sans-serif}.edit-history-page .section-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(90deg,#1976d2,#06b6d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.edit-history-page .history-card{background:#fff;border-radius:.75rem;box-shadow:0 4px 16px #00000014;padding:1rem}.edit-history-page .table-container{overflow-x:auto}.edit-history-page .eh-table{width:100%;border-collapse:collapse;min-width:700px}.edit-history-page .eh-table th,.edit-history-page .eh-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e0e0e0;font-size:.9rem}.edit-history-page .eh-table thead{background:#f0f8ff}.edit-history-page .eh-table th{font-weight:600;color:#1976d2}.edit-history-page .eh-table tbody tr:nth-child(odd){background:#fafbfc}.edit-history-page .eh-table tbody tr:hover{background:#1976d20d}.edit-history-page .eh-loading,.edit-history-page .eh-error,.edit-history-page .eh-empty{text-align:center;color:#555;padding:1rem;font-size:1rem}.exam-history-page{max-width:800px;margin:2rem auto;padding:0 1rem;font-family:Segoe UI,sans-serif;color:#333}.exam-history-page h1{font-size:1.75rem;text-align:center;margin-bottom:1.5rem;background:linear-gradient(90deg,#1976d2,#06b6d4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.exam-history-page .exam-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.exam-history-page .exam-list .exam-item{border-radius:.75rem;box-shadow:0 4px 12px #0000000d;overflow:hidden;transition:box-shadow .3s ease}.exam-history-page .exam-list .exam-item:hover{box-shadow:0 6px 18px #0000001a}.exam-history-page .exam-list .exam-item .exam-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fafafa;cursor:pointer}.exam-history-page .exam-list .exam-item .exam-summary .left{display:flex;flex-direction:column;gap:.25rem}.exam-history-page .exam-list .exam-item .exam-summary .left .exam-no{font-weight:600;color:#1976d2}.exam-history-page .exam-list .exam-item .exam-summary .left .exam-title{font-size:1rem}.exam-history-page .exam-list .exam-item .exam-summary .right{display:flex;align-items:center;gap:.75rem}.exam-history-page .exam-list .exam-item .exam-summary .right .exam-date{color:#555;font-size:.9rem}.exam-history-page .exam-list .exam-item .exam-summary .right .arrow{color:#1976d2;font-size:1.2rem}.exam-history-page .exam-list .exam-item .exam-details{max-height:0;opacity:0;overflow:hidden;background:#fff;display:flex;justify-content:center;align-items:center;transition:max-height .4s ease,opacity .3s ease;padding:0 1.5rem}.exam-history-page .exam-list .exam-item.open .exam-summary .arrow{transform:rotate(180deg);transition:transform .3s ease}.exam-history-page .exam-list .exam-item.open .exam-details{max-height:200px;opacity:1;padding:1.5rem}.exam-history-page .exam-list .exam-item .marks-ring{width:120px;height:120px}.exam-history-page .exam-list .exam-item circle[stroke-linecap=round]{stroke-linecap:round}.exam-history-page .exam-list .exam-item .ring-text{font-size:1.25rem;font-weight:600;fill:#333}.exam-history-page .exam-list .exam-item .absent-block{display:flex;flex-direction:column;align-items:center;color:#b71c1c}.exam-history-page .exam-list .exam-item .absent-block .absent-icon{font-size:2rem;margin-bottom:.5rem}.exam-history-page .exam-list .exam-item .absent-block .absent-text{font-size:1rem;font-weight:600}.exam-history-page .ehp-loading,.exam-history-page .ehp-error,.exam-history-page .ehp-empty{text-align:center;color:#777;padding:2rem 0;font-size:1rem}@media (max-width: 576px){.exam-history-page .exam-summary{flex-direction:column;align-items:flex-start}.exam-history-page .exam-summary .right{width:100%;justify-content:space-between}.exam-history-page .exam-details{padding:1rem}.exam-history-page .exam-details .marks-ring{width:90px;height:90px}.exam-history-page .exam-details .absent-icon{font-size:1.5rem}}.success-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10000}.success-card-overlay .success-card-container{background:#fff;border-radius:18px;padding:2rem;width:90%;max-width:320px;box-shadow:0 8px 24px #0003;text-align:center}.success-card-overlay .success-card-container .animation{margin-bottom:1rem}.success-card-overlay .success-card-container .text{font-size:14px;font-weight:600;color:#1f4e78;margin-bottom:1.5rem;letter-spacing:.5px}.success-card-overlay .success-card-container .ok-btn{background-color:transparent;color:#01d701;border:none;padding:.75rem 3.8rem;font-size:1.05rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .25s ease}.success-card-overlay .success-card-container .ok-btn:hover{filter:brightness(.8);transform:translateY(-1px)}.tick-success-container{display:inline-flex;align-items:center;justify-content:center}.tick-success-container .circle{width:80px;height:80px;background:linear-gradient(#00ff08,#02bc09);border-radius:50%;display:flex;align-items:center;justify-content:center;transform-origin:center;animation:beat .3s ease-out 1s forwards}.tick-success-container .tick-svg{width:80%;height:80%}.tick-success-container .tick{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:drawTick 1s ease-out forwards}@keyframes drawTick{to{stroke-dashoffset:0}}@keyframes beat{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}.student-register-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:Poppins,Segoe UI,sans-serif}.student-register-page .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10}.student-register-page .loading-overlay .loading-text{font-size:1.2rem;font-weight:600;color:#1976d2;animation:pulse 1.5s infinite}.student-register-page .register-card{position:relative;background:#fff;border-radius:1rem;padding:2rem 1.5rem;max-width:400px;width:100%;box-shadow:0 8px 24px #0000001a;display:flex;flex-direction:column;gap:1.5rem;z-index:1}.student-register-page .register-card h2{margin:0;font-size:1.6rem;text-align:center;background:linear-gradient(90deg,#007fda,#4bc6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.student-register-page .register-card .step{display:flex;flex-direction:column;gap:1rem}.student-register-page .register-card .step .input-group{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid #d1e3f8;border-radius:.5rem;background:#f1f8fe}.student-register-page .register-card .step .input-group svg{color:#0088ffea;font-size:.9rem}.student-register-page .register-card .step .input-group input{flex:1;border:none;background:transparent;outline:none;font-size:1rem;color:#333}.student-register-page .register-card .step .input-group input::placeholder{color:#999}.student-register-page .register-card .step .input-error{font-size:.875rem;color:#d32f2f;margin-top:-.5rem;margin-left:.5rem}.student-register-page .register-card .step .register-page-btns{padding:12px 24px;background:linear-gradient(90deg,#0ea5e9,#00b3ff);color:#fff;font-weight:600;font-size:16px;border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #2563eb4d;transition:all .3s ease}.student-register-page .register-card .step .register-page-btns:hover{background:linear-gradient(90deg,#0095ff,#00aeff);transform:translateY(-2px);box-shadow:0 6px 18px #0ea5e966}.student-register-page .register-card .step .register-page-btns:active{transform:scale(.97);box-shadow:0 3px 6px #0ea5e959}.student-register-page .register-card .step .register-page-btns:disabled{opacity:.6;cursor:not-allowed}.student-register-page .register-card .failure-card,.student-register-page .register-card .success-card{width:100%}.student-register-page .register-card .failure-card .text,.student-register-page .register-card .success-card .text{font-size:1rem;text-align:center}@media (max-width: 480px){.student-register-page{background:#e8f1fa}.student-register-page .register-card{padding:1.5rem 1rem}.student-register-page .register-card h2{font-size:1.4rem}}.student-login-page{position:relative;min-height:calc(100vh - 45px);display:flex;align-items:center;justify-content:center;font-family:Poppins,Segoe UI,sans-serif}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.student-login-page .login-card{background:#fff;border-radius:1rem;padding:2rem 1.5rem;max-width:360px;width:100%;box-shadow:0 8px 24px #0000001a;display:flex;flex-direction:column;gap:1.5rem;z-index:1}.student-login-page .login-card h2{margin:0;font-size:1.5rem;text-align:center;background:linear-gradient(90deg,#0ea5e9,#2563eb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.student-login-page .login-card .step{display:flex;flex-direction:column;gap:1rem}.student-login-page .login-card .step .input-group{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid #d1e3f8;border-radius:.5rem;background:#f9fcff}.student-login-page .login-card .step .input-group svg{color:#2563eb;font-size:1.2rem}.student-login-page .login-card .step .input-group input{flex:1;border:none;background:transparent;outline:none;font-size:1rem;color:#333}.student-login-page .login-card .step .input-group input::placeholder{color:#999}.student-login-page .login-card .step .input-error{color:#d32f2f;font-size:.875rem;margin-left:.5rem;margin-top:-.5rem}.student-login-page .login-card .step .register-page-btns{padding:12px 24px;background:linear-gradient(90deg,#0ea5e9,#2563eb);color:#fff;font-weight:600;font-size:16px;border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #2563eb4d;transition:all .3s ease}.student-login-page .login-card .step .register-page-btns:hover:not(:disabled){background:linear-gradient(90deg,#2563eb,#0ea5e9);transform:translateY(-2px);box-shadow:0 6px 18px #0ea5e966}.student-login-page .login-card .step .register-page-btns:active:not(:disabled){transform:scale(.97);box-shadow:0 3px 6px #0ea5e959}.student-login-page .login-card .step .register-page-btns:disabled{background:#c0dffb;box-shadow:none;cursor:not-allowed;opacity:.7}.student-login-page .login-card .step .failure-card,.student-login-page .login-card .step .success-card{width:100%}.student-login-page .login-card .step .failure-card .text,.student-login-page .login-card .step .success-card .text{font-size:1rem;text-align:center}@media (max-width: 480px){.student-login-page .login-card{padding:1.5rem 1rem}.student-login-page .login-card h2{font-size:1.3rem}}.navbar{width:100%;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px #0000000d;position:fixed;top:0;z-index:2;font-family:Poppins,Segoe UI,sans-serif;box-sizing:border-box}.navbar .logo{font-size:1.6rem;font-weight:700}.navbar .logo a{text-decoration:none;color:#2563eb}.navbar .right{display:flex;align-items:center;gap:1rem}.navbar .right .auth-links{display:flex;gap:1rem}.navbar .right .auth-links a{text-decoration:none;color:#0f172a;font-weight:500;transition:color .3s}.navbar .right .auth-links a:hover{color:#2563eb}@media (max-width: 768px){.navbar .right .auth-links{display:none}}.navbar .right .menu{display:none;gap:2rem}.navbar .right .menu a{text-decoration:none;color:#333;font-weight:500;display:flex;align-items:center;gap:.4rem;transition:color .3s}.navbar .right .menu a:hover{color:#2563eb}.navbar .right .menu .menu-user{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.5rem}.navbar .right .menu .menu-user span{color:#0f172a;font-size:.95rem}.navbar .right .menu .menu-user img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #2563eb}.navbar .right .menu .mobile-auth{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem}.navbar .right .menu .mobile-auth a{font-weight:500}.navbar .right .menu.open{display:flex;flex-direction:column;align-items:center;position:absolute;top:49px;right:0;background-color:#fff;height:100vh;width:100%;padding:1rem 0;border-top:1px solid #eee;box-shadow:0 2px 10px #0000000d;z-index:5;animation:slideInMenu .4s ease-out forwards}@media (min-width: 769px){.navbar .right .menu.open{right:2rem;width:auto;border-radius:.5rem;border:1px solid #eee;padding:1rem 1.5rem;box-shadow:0 4px 16px #00000014}}.navbar .right .menu.closing{animation:slideOutMenu .4s ease-in forwards}@keyframes slideInMenu{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutMenu{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.navbar .right .toggle-icon{display:none;font-size:1.5rem;color:#333;cursor:pointer}@media (max-width: 768px){.navbar .right .toggle-icon{display:block}}.navbar .right .user-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.navbar .right .user-toggle span{font-weight:500;color:#0f172a;font-size:.95rem}.navbar .right .user-toggle img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #2563eb}@media (max-width: 768px){.navbar .right .user-toggle span{display:none}}@media (max-width: 768px){.navbar{padding:5px 8px}}.footer{background:transparent;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:2rem 1rem;font-family:Poppins,sans-serif;color:#1f2937;border-top:1px solid #e5e7eb}.footer .footer-container{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.footer .footer-brand{flex:1 1 250px;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.footer .footer-brand .footer-logo{width:100px;margin-bottom:.5rem}.footer .footer-brand h3{font-size:1.15rem;font-weight:600;margin:0;color:#0f172a}.footer .footer-brand p,.footer .footer-brand span{margin:0;font-size:.9rem;color:#475569}.footer .footer-info,.footer .footer-address{flex:1 1 220px}.footer .footer-info h4,.footer .footer-address h4{font-size:1rem;font-weight:600;margin-bottom:.6rem;color:#1d4ed8}.footer .footer-info .icon-line,.footer .footer-address .icon-line{display:flex;align-items:center;gap:.6rem;margin:.4rem 0;font-size:.92rem;color:#334155}.footer .footer-info .icon-line .icon-circle,.footer .footer-address .icon-line .icon-circle{width:24px;height:24px;background-color:#e0ecff;color:#1d4ed8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .3s ease}.footer .footer-info .icon-line:hover,.footer .footer-address .icon-line:hover{color:#1d4ed8}.footer .footer-info .icon-line:hover .icon-circle,.footer .footer-address .icon-line:hover .icon-circle{background-color:#d0e3ff;transform:scale(1.05)}.footer .footer-bottom{text-align:center;margin-top:2rem;font-size:.85rem;color:#94a3b8}@media (max-width: 768px){.footer .footer-container{flex-direction:column;align-items:center;text-align:center}.footer .footer-brand,.footer .footer-info,.footer .footer-address{align-items:center}.footer .footer-brand h3{font-size:1rem}.footer .icon-line{justify-content:center}}*{margin:0;padding:0}.padd-div{padding:25px}.main-content{min-height:80vh}.main-content:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:url(/assets/backgroundImg-Dt7p3T7K.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.05;z-index:0}.main-content>*{position:relative;z-index:1}.archive-classes{display:flex;flex-direction:column;gap:2rem;padding:1rem;font-family:Poppins,sans-serif}@media (min-width: 768px){.archive-classes{flex-direction:row;padding:2rem}}.archive-classes .video-section{flex:3}.archive-classes .video-section iframe{width:100%;border-radius:1rem;border:none;box-shadow:0 8px 30px #0000001a;min-height:220px}@media (min-width: 768px){.archive-classes .video-section iframe{min-height:550px}}.archive-classes .video-section .video-caption{margin-top:.8rem;font-size:1rem;font-weight:500;color:#333;text-align:center}.archive-classes .list-section{flex:1.2;display:flex;flex-direction:column;gap:1rem;max-height:80vh;overflow-y:auto;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:#ccc transparent}.archive-classes .list-section::-webkit-scrollbar{width:2px}.archive-classes .list-section::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.archive-classes .paper-group,.archive-classes .chapter-group{display:flex;flex-direction:column;gap:.5rem}.archive-classes .paper-title,.archive-classes .chapter-title{background:#f5f7fb;padding:.8rem 1rem;border-radius:.6rem;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.7rem;box-shadow:0 4px 12px #0000000a;cursor:pointer;transition:background .3s ease;color:#007bff}.archive-classes .paper-title svg,.archive-classes .chapter-title svg{font-size:1rem;transition:transform .3s ease;color:#0a7aeb}.archive-classes .paper-title:hover,.archive-classes .chapter-title:hover{background:#eef4ff}.archive-classes .chapter-group{margin-left:1.2rem}.archive-classes .class-item{background:#fff;margin-left:1.8rem;padding:.6rem 1rem;border-radius:.5rem;font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .3s ease,transform .2s ease;box-shadow:0 2px 6px #00000008;color:#333}.archive-classes .class-item svg{color:#1976d2}.archive-classes .class-item:hover{background:#e3f2fd;transform:translate(4px)}.archive-classes .class-item.active{background:#d1ecf1;font-weight:600;color:#0c5460}.reset-page-wrapper{min-height:calc(100vh - 45px);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.reset-page-wrapper h2{text-align:center;margin-bottom:1.5rem;font-size:1.6rem}.reset-password-page{padding:2rem;background:transparent;border-radius:1rem;box-shadow:0 0 20px #0000001a;width:90vw;max-width:400px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.reset-password-page .form-group{display:flex;flex-direction:column;gap:.8rem}.reset-password-page .form-group label{font-weight:600}.reset-password-page .form-group input{padding:.6rem;border:1px solid #ccc;border-radius:.5rem}.reset-password-page .form-group button{padding:.6rem;background:#0b6dff;color:#fff;border:none;border-radius:.5rem;cursor:pointer}.reset-password-page .form-group button:hover{background:#094ec9}.reset-password-page .form-group p{font-size:.9rem;color:#555}.reset-password-page .done-message{text-align:center;color:green;font-weight:700}.test-page-container{width:100vw;display:flex;align-items:center;justify-content:center}.test-page-container .img{width:80%;display:flex;align-items:center;justify-content:center;background-color:red}.test-page-container .img img{width:100%}.dropdown{width:100%;margin-bottom:1.5rem;position:relative}.dropdown .dropdown-label{display:block;margin-bottom:.4rem;font-weight:600;color:#333}.dropdown .dropdown-input{position:relative;display:flex;align-items:center}.dropdown .dropdown-input input{width:100%;padding:.6rem 2.5rem .6rem .8rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.dropdown .dropdown-input input:focus{outline:none;border-color:#6366f1}.dropdown .dropdown-input .arrow{position:absolute;right:10px;cursor:pointer;font-size:1rem;transition:transform .2s;background-color:#fff2;border:1px solid rgba(0,0,0,.162);height:30px;width:30px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;color:#00000041}.dropdown .dropdown-input .arrow svg{vertical-align:middle}.dropdown .dropdown-list{position:absolute;width:100%;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:.5rem;margin-top:.3rem;z-index:10;box-shadow:0 2px 8px #00000026}.dropdown .dropdown-list li{padding:.6rem .8rem;cursor:pointer;transition:background-color .2s ease}.dropdown .dropdown-list li:hover,.dropdown .dropdown-list li.highlighted{background-color:#f3f4f6}.dropdown .dropdown-list .no-results{padding:.6rem .8rem;color:#888;font-style:italic;display:none}.idcard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:99999}.idcard-overlay .idcard-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;box-sizing:border-box}.idcard-overlay .close-btn{position:absolute;top:20px;right:20px;background:#fff;color:#111;border:none;font-size:1.3rem;width:34px;height:34px;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:background .2s ease;display:flex;align-items:center;justify-content:center}.idcard-overlay .close-btn:hover{background:#f3f4f6}.idcard-overlay .idcard{width:400px;background-color:#fff;border-radius:20px;box-shadow:0 15px 40px #00000040;font-family:Segoe UI,sans-serif;display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 30px;border:1px solid #e2e8f0;box-sizing:border-box;transition:transform .3s ease}@media screen and (max-width: 430px){.idcard-overlay .idcard{transform:scale(.88)}}.idcard-overlay .idcard .idcard-header{width:100%;margin-bottom:1.5rem;padding-bottom:10px;display:flex;justify-content:space-between;align-items:center}.idcard-overlay .idcard .idcard-header .logo{height:60px}.idcard-overlay .idcard .idcard-header .logo img{height:100%;object-fit:contain;margin-left:-20px}.idcard-overlay .idcard .idcard-header .text-container{display:flex;flex-direction:column;align-items:flex-end}.idcard-overlay .idcard .idcard-header .text-container svg{height:32px;width:auto}.idcard-overlay .idcard .idcard-header .text-container p{font-size:.85rem;margin:0;color:#475569;font-weight:600}.idcard-overlay .idcard .avatar-box{margin-bottom:1.2rem}.idcard-overlay .idcard .avatar-box img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:3px solid #0ea5e9;box-shadow:0 0 30px #0ea5e966}.idcard-overlay .idcard .info-list{width:100%;text-align:center;margin-bottom:1.5rem}.idcard-overlay .idcard .info-list .name-id{margin-bottom:10px}.idcard-overlay .idcard .info-list .name-id h2{margin:0;font-size:1.2rem;font-weight:700}.idcard-overlay .idcard .info-list .info-item{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:#334155}.idcard-overlay .idcard .divider{width:100%;height:1px;background:linear-gradient(to right,#e2e8f0,#cbd5e1);margin:1rem 0}.idcard-overlay .idcard .qr-section{display:flex;flex-direction:column;align-items:center;gap:.6rem}.idcard-overlay .idcard .qr-section .qr-code-wrapper{width:130px;height:130px;background:#f1f5f9;border-radius:10px;padding:8px;display:flex;justify-content:center;align-items:center}.idcard-overlay .idcard .qr-section .qr-text{background:linear-gradient(to right,#e0f2fe,#f0f9ff);padding:12px 16px;border-radius:10px;box-shadow:0 3px 8px #0000000d;text-align:center;width:100%;max-width:260px}.idcard-overlay .idcard .qr-section .qr-text .course{font-size:1rem;font-weight:600;color:#0f172a;margin-bottom:4px}.idcard-overlay .idcard .qr-section .qr-text .batch{font-size:.9rem;font-weight:500;color:#334155}.idcard-overlay .card-actions{display:flex;justify-content:center;align-items:center;gap:1rem}.idcard-overlay .card-actions .btn-container{display:flex;flex-direction:column;gap:12px;align-items:center}.idcard-overlay .card-actions .btn-container button{display:flex;align-items:center;justify-content:center;padding:10px 16px;height:56px;min-height:56px;border-radius:999px;background-color:#111;border:1px solid #2d2d2d;color:#fff;font-family:Segoe UI,sans-serif;cursor:pointer;transition:background-color .25s ease,border-color .25s ease;flex-shrink:0;width:240px}.idcard-overlay .card-actions .btn-container button:hover{background-color:#1a1a1a;border-color:#444}.idcard-overlay .card-actions .btn-container button .text{display:flex;flex-direction:column;line-height:1.2;text-align:left}.idcard-overlay .card-actions .btn-container button .text .text-line-1{font-size:11px;font-weight:400;color:#bbb}.idcard-overlay .card-actions .btn-container button .text .text-line-2{font-size:15px;font-weight:600;color:#fff}.idcard-overlay .card-actions .btn-container .download-btn .download-icon{width:35px;height:35px;color:#00b7ff;margin-right:10px}.idcard-overlay .card-actions .btn-container .google-wallet-btn .wallet-icon{width:33px;height:auto;margin-right:10px}@media (max-width: 480px){.idcard-overlay .card-actions .btn-container button{width:90vw;max-width:320px;height:56px}}@media screen and (max-width: 768px){.idcard-overlay{padding:50px 5px;align-items:flex-start;overflow:scroll}}.cropper-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2000;display:flex;align-items:center;justify-content:center}.cropper-overlay .cropper-container{background:#fff;padding:20px;width:90%;max-width:400px;border-radius:12px;box-shadow:0 12px 30px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.cropper-overlay .cropper-container h4{color:#bcbcbc;text-align:center}.cropper-overlay .cropper-container .reactEasyCrop_Container{position:relative;width:100%;height:300px;background:#f8f8f8;border-radius:8px;overflow:hidden}.cropper-overlay .cropper-container .cropper-actions{margin-top:16px;display:flex;justify-content:space-between;width:100%;gap:10px}.cropper-overlay .cropper-container .cropper-actions button{flex:1;padding:10px 15px;font-weight:600;font-size:1rem;border-radius:8px;border:none;cursor:pointer;transition:background .3s ease}.cropper-overlay .cropper-container .cropper-actions button.cancel{background:#adb5bd;color:#fff}.cropper-overlay .cropper-container .cropper-actions button.cancel:hover{background:#868e96}.cropper-overlay .cropper-container .cropper-actions button.confirm{background:#5c7cfa;color:#fff}.cropper-overlay .cropper-container .cropper-actions button.confirm:hover{background:#4263eb}*,*:before,*:after{box-sizing:border-box}.profile-section,.edit-section{max-width:700px;margin:0 auto;padding:2rem 1rem;font-family:Segoe UI,sans-serif}.profile-section.hidden{display:none}.avatar-section{display:flex;justify-content:center;margin-bottom:2rem}.avatar-section .avatar{width:160px;height:160px;object-fit:cover;border-radius:50%;box-shadow:0 0 10px #00000026}.info-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 0 10px #0000000d;margin-bottom:2rem}.info-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #f0f0f0;vertical-align:middle}.info-table td:first-child{width:30px;text-align:center;font-size:1.1rem;color:#4a4a4a}.info-table td:nth-child(2){font-weight:500}.info-table td:last-child{color:#222}.info-table tr:last-child td{border-bottom:none}.profile-actions{display:flex;justify-content:center;gap:1rem}.profile-actions button{background:#42b3ff;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .3s ease}.profile-actions button:hover{filter:brightness(.6)}.profile-actions .idcard-btn{background:#130300}.profile-actions .idcard-btn:hover{filter:brightness(.6)}.edit-section.hidden{display:none}.edit-section .edit-form{display:flex;flex-direction:column;gap:1.2rem;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 0 20px #0000000d}.edit-section .edit-form label{font-weight:600;color:#333}.edit-section .edit-form input{padding:.6rem 1rem;border-radius:6px;border:1px solid #ccc;font-size:1rem;width:100%}.edit-section .edit-form .image-update-section{display:flex;flex-direction:column;gap:.5rem}.edit-section .edit-form .image-update-section label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#444;cursor:pointer}.edit-section .edit-form .image-update-section input[type=file]{padding:.3rem 0;font-size:.9rem}.edit-section .edit-form .image-update-section .preview{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:0 0 10px #0000001a;margin-top:.5rem}.edit-section .edit-form .edit-actions{display:flex;justify-content:center;gap:1rem}.edit-section .edit-form .edit-actions .save-btn{background:#30a5ff}.edit-section .edit-form .edit-actions .save-btn:hover{filter:brightness(.9)}.edit-section .edit-form .edit-actions .cancel-btn{background:#fff;color:#ff5754;border:1px solid rgba(255,87,84,.4666666667)}.edit-section .edit-form .edit-actions .cancel-btn:hover{background:red;color:#fff}.edit-section .edit-form .edit-actions button{color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:700;cursor:pointer}.security-section{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.7rem 1.2rem;background:#fff;border-radius:10px;font-weight:600;font-size:1rem;color:#1f2937;box-shadow:0 0 10px #0000000d;cursor:pointer;transition:all .3s ease;width:100%;max-width:300px;margin:1rem auto}.security-section .security-icon{font-size:1.1rem;color:#2563eb}.security-section:hover{background:#e0f2fe;filter:brightness(.95);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}@media screen and (max-width: 768px){.edit-section{padding:1rem}.edit-section .edit-form{border-radius:0;box-shadow:none;padding:1.5rem}.edit-section .edit-form .edit-actions{flex-direction:column}.profile-actions{flex-direction:column;align-items:center;justify-content:center}.info-table td{font-size:.9rem;padding:.5rem .75rem}}.change-password-wrapper{min-height:calc(100vh - 45px);display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Poppins,Segoe UI,sans-serif;padding:2rem}.change-password-wrapper h2{font-size:2rem;font-weight:700;color:transparent;background:linear-gradient(to right,#0062ff,#2780fb);-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;text-align:center}.change-password-wrapper .change-password-form{background-color:#fff;padding:2rem;border-radius:16px;box-shadow:0 6px 20px #00000014;width:100%;max-width:400px;display:flex;flex-direction:column}.change-password-wrapper .change-password-form label{font-weight:600;color:#1f2937;margin-bottom:0;font-size:.95rem}.change-password-wrapper .change-password-form .password-field{display:flex;align-items:center;position:relative;margin-bottom:1rem}.change-password-wrapper .change-password-form .password-field input{width:100%;padding:.7rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;margin-top:0;transition:border .3s ease}.change-password-wrapper .change-password-form .password-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.change-password-wrapper .change-password-form .password-field span{position:absolute;right:1rem;color:#64748b;cursor:pointer;font-size:1.1rem}.change-password-wrapper .change-password-form .password-field span:hover{color:#2563eb}.change-password-wrapper .change-password-form .change-btn{background:linear-gradient(to right,#0062ff,#2780fb);color:#fff;border:none;padding:.8rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;margin-top:.5rem;transition:all .3s ease}.change-password-wrapper .change-password-form .change-btn:hover{background:linear-gradient(to right,#1e3a8a,#1d4ed8)}@media (max-width: 480px){.change-password-wrapper{padding:1rem}.change-password-wrapper .change-password-form{padding:1.5rem}}
