@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media(prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}:root{font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color:#2f2f2f;background-color:#f6f7f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;background:#f6f7f9;color:#2f2f2f}#root{min-height:100vh}.login-page{display:flex;height:100dvh;background:#f6f7f9;color:#2c2c2c;overflow:hidden}.side-image{height:100%}.side-image .student-figure{height:100%;width:100%;object-fit:cover}.form-pane{flex:1;display:flex;justify-content:center;padding:70px 56px;background:#fff}.form-card{width:100%;max-width:460px}.brand-mark{display:block;width:96px;height:auto;margin:0 auto 18px}.title{margin-bottom:8px;font-size:29px;font-weight:600;color:#2f2f2f}.subtitle{margin-bottom:24px;font-size:14px;color:#7a7f87}.login-form{display:flex;flex-direction:column;gap:24px}.aux-row{display:flex;justify-content:flex-end;margin-top:-4px}.link-button{background:none;border:none;padding:0;font-size:13px;color:#0e6d3f;cursor:pointer}.link-button:hover{text-decoration:underline}.submit{margin-top:24px;width:100%;padding:16px;border:none;border-radius:6px;background:#dde6db;color:#6c7272;font-size:14px;cursor:pointer;transition:background-color .18s ease,transform .18s ease}.submit:hover{background:#c8d9c5}.submit:active{transform:translateY(1px)}@media(max-width:1080px){.form-pane{padding:40px 36px}}@media(max-width:960px){.login-page .side-image{display:none}.form-pane{width:100%;padding:70px 22px 40px}.form-card{max-width:520px}}@media(max-width:640px){.student-figure{width:320px}.title{font-size:1.5rem}.subtitle{margin-bottom:26px}.login-form{gap:16px}.submit{padding:13px}}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#444b53}.field-label{font-weight:500}.input-wrapper{position:relative}.input-wrapper input{width:100%;padding:14px 44px 14px 12px;border:.5px solid #9A9FBF;border-radius:8px;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease}.input-wrapper input::placeholder{color:#9aa1ab;font-size:14px}.input-wrapper input:focus{outline:none;border-color:#9bb29d;box-shadow:0 0 0 3px #9bb29d40}.input-icon{position:absolute;top:50%;right:12px;border:none;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);background-color:#fff}.input-icon i{font-size:20px}.toggle-visibility{cursor:pointer;padding:0;color:#7a7f87;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.toggle-visibility:hover{border-color:#9bb29d;color:#0e6d3f;background:#f1f5f2}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:#f8fafb;border-right:1px solid #e8eaed;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar-header{padding:13px 0 0 16px}.sidebar-logo{width:53px;height:auto;margin-bottom:30px}.school-info{display:flex;align-items:center;gap:8px;padding:10px;margin-bottom:41px}.school-avatar{width:32px;height:32px;border-radius:50%;background:#1ca865;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:16px}.school-details{flex:1;min-width:0}.school-name{font-size:14px;font-weight:600;color:#000;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis}.school-role{font-size:14px;color:#656b76;margin:0}.nav-menu{padding-inline:10px;display:flex;flex-direction:column;gap:4px;margin-bottom:91px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 8px;font-size:14px;color:#656b76;text-decoration:none;background:transparent;border:none;cursor:pointer;transition:background-color .15s ease,color .15s ease;width:100%}.nav-item:hover{background:#f3f4f6;color:#1f2937}.nav-item.active{border-right:2px solid #1CA865;color:#1ca865;font-weight:500}.sidebar-footer{font-family:Poppins,sans-serif;padding:0 30px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sidebar-footer span{font-size:16px;font-weight:400;color:#131313}.sidebar-footer svg{width:24px;height:24px}.main-content{background-color:#fff;flex:1;margin-left:260px;display:flex;flex-direction:column}.dashboard-header{padding:19px 28px 19px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background-color:#fff}.header-left{display:flex;align-items:center;gap:16px}.menu-toggle{cursor:pointer;align-items:center;justify-content:center}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:40}@media(min-width:768px){.sidebar-overlay{display:none}}.page-title{font-size:20px;font-weight:600;color:#1f2937;margin:0}.header-right{display:flex;align-items:center;gap:25px}.header-right svg{cursor:pointer}.content-area{flex:1;padding:40px 20px;overflow-y:auto}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:50}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.menu-toggle{display:flex}}@media print{.sidebar,.dashboard-header,.sidebar-overlay{display:none!important}.main-content{margin-left:0!important;padding:0!important;background:#fff}}.overview-page{max-width:1400px}.stats-grid{display:flex;gap:30px;margin-bottom:32px}.stat-card{background:#fff;border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 4px #9a9fbf26}.stat-icon{width:54px;height:54px;border-radius:200px;background:#9a9fbf40;display:flex;align-items:center;justify-content:center;font-size:24px;color:#6b7da1}.stat-content{flex:1}.stat-label{font-size:16px;color:#666}.stat-value{font-size:23px;font-weight:600;color:#3b3d3d;margin:0}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.data-table{overflow-x:auto}.table-header,.table-row{min-width:600px}}.custom-table-container{font-family:Plus Jakarta Sans,sans-serif}.custom-table-container .table-controls{display:flex;justify-content:flex-end;gap:16px;margin-bottom:24px}.custom-table-container .table-controls .control-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#3b3d3d;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.custom-table-container .table-controls .control-btn:hover,.custom-table-container .table-controls .control-btn.active{border-color:#1ca865;color:#1ca865;background-color:#f9fcfb}.custom-table-container .table-controls .control-btn svg{width:18px;height:18px}.custom-table-container .table-controls .date-filter-wrapper{position:relative}.custom-table-container .table-controls .date-filter-wrapper .date-picker-container{position:absolute;top:100%;right:0;margin-top:8px;padding:8px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;box-shadow:0 4px 12px #0000001a;z-index:10;min-width:280px}.custom-table-container .data-table{background:#fff;border-radius:12px;overflow:hidden}.custom-table-container .table-header{display:grid;gap:16px;padding:16px 20px;background:#f0f1f6}.custom-table-container .table-title{font-size:16px;font-weight:500;color:#232b2b;margin:0}.custom-table-container .table-body{display:flex;flex-direction:column}.custom-table-container .table-row{display:grid;gap:16px;padding:12px 24px;align-items:center;transition:background-color .15s ease}.custom-table-container .table-cell{font-size:14px;color:#374151;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-table-container .row-menu-btn{width:32px;height:32px;border-radius:6px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9ca3af;font-size:16px;transition:background-color .15s ease,color .15s ease}.custom-table-container .row-menu-btn:hover{background:#f3f4f6;color:#4b5563}.custom-table-container .table-footer{display:flex;justify-content:flex-end;padding-top:20px;color:#666;font-size:14px}.empty-state{text-align:center;padding:40px;color:#666;width:100%}@media(max-width:768px){.data-table{overflow-x:auto}.table-header,.table-row{min-width:800px}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.custom-date-picker{display:flex;flex-direction:column;gap:8px;width:100%}.custom-date-picker .field-label{font-size:14px;font-weight:500;color:#3b3d3d}.custom-date-picker .input-wrapper{position:relative;display:flex;align-items:center;width:100%}.custom-date-picker .input-wrapper .react-datepicker-wrapper{width:100%}.custom-date-picker .input-wrapper .date-picker-input{width:100%;padding:12px 40px 12px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#f5f5f5;color:#3b3d3d;transition:all .2s ease;font-family:inherit}.custom-date-picker .input-wrapper .date-picker-input:focus{outline:none;border-color:#1ca865;background:#fff}.custom-date-picker .input-wrapper .date-picker-input::placeholder{color:#aaa}.custom-date-picker .input-wrapper .calendar-icon{position:absolute;right:14px;pointer-events:none;display:flex;align-items:center;justify-content:center;color:#666;z-index:1}.custom-date-picker .input-wrapper .calendar-icon svg{width:20px;height:20px}.custom-date-picker.has-error .date-picker-input{border-color:#dc3545}.custom-date-picker.has-error .error-message{font-size:12px;color:#dc3545}.custom-date-picker .react-datepicker{font-family:inherit;border-color:#e0e0e0;box-shadow:0 4px 12px #0000001a}.custom-date-picker .react-datepicker__header{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.custom-date-picker .react-datepicker__day--selected,.custom-date-picker .react-datepicker__day--keyboard-selected{background-color:#1ca865}.custom-date-picker .react-datepicker__day--selected:hover,.custom-date-picker .react-datepicker__day--keyboard-selected:hover{background-color:#18955a}.registration-page{display:flex;flex-direction:column;gap:16px}.registration-actions{display:flex;justify-content:flex-end}.action-buttons{display:flex;align-items:center;gap:12px}.btn{border-radius:4px;padding:10px;font-size:16px;font-weight:500;border:1px solid transparent;font-family:Poppins;cursor:pointer}.btn:active{transform:translateY(1px)}.btn-outline{background:#fff;border-color:#256d3f;color:#0e6d3f;border-radius:8px}.btn-primary{background:#1ca865;color:#fff;border-color:#1ca865}.filter-bar{display:flex;justify-content:flex-end;gap:16px}.filter-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;border:1px solid #666;background:#fff;color:#666;font-size:14px;cursor:pointer}.registration-modal{font-family:Poppins;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100}.registration-modal__backdrop{position:absolute;inset:0;background:#0000008c}.registration-modal__content{position:relative;width:min(414px,90vw);background:#fff;border-radius:12px;padding:22px 27px 157px;box-shadow:0 12px 40px #0000002e;z-index:1}.registration-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.registration-modal__header h3{margin:0;font-size:16px;color:#2b2b2b}.close-btn{background:transparent;border:none;font-size:20px;cursor:pointer;color:#5f6368}.registration-modal__options{display:flex;flex-direction:column;gap:9px}.option-card{display:flex;align-items:center;gap:25px;width:100%;padding:14px 16px;background:#cfe2d9;border:none;border-radius:4px;cursor:pointer;color:#2a2a2a;font-size:16px}.option-icon{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#1ca865}.option-icon svg{width:24px;height:24px}.option-text{font-size:16px;font-weight:400}@media(max-width:768px){.registration-actions{justify-content:flex-start}.action-buttons{flex-wrap:wrap}.filter-bar{justify-content:flex-start;flex-wrap:wrap}}.exam-time-table-page{font-family:Plus Jakarta Sans,sans-serif}.exam-time-table-page .page-actions{display:flex;justify-content:flex-end;margin-bottom:24px}.exam-time-table-page .page-actions .btn-primary{font-family:Poppins,sans-serif;font-size:16px;background-color:#1ca865;color:#fff;border:none;padding:10px;border-radius:4px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px}.personal-information .registration-form .photograph-section .photograph-upload{display:flex;align-self:flex-start}.personal-information .registration-form .photograph-section .photograph-upload .file-input{display:none}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label{background-color:#f4f4f4;padding:24px;margin-bottom:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label .photograph-placeholder{display:flex;justify-content:center;align-items:center}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label .photograph-placeholder svg{width:114px;height:114px}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label .photograph-placeholder img{width:114px;height:114px;border-radius:50%;object-fit:cover}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label .placeholder-icon{font-size:40px}.personal-information .registration-form .photograph-section .photograph-upload .photograph-label .photograph-text{font-size:14px;color:#666;font-weight:500}.personal-information .registration-form .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.personal-information .registration-form .form-grid .form-group{display:flex;flex-direction:column;gap:8px}.personal-information .registration-form .form-grid .form-group label{font-size:14px;font-weight:500;color:#3b3d3d}.personal-information .registration-form .form-grid .form-group input{padding:12px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fff;color:#3b3d3d;transition:border-color .15s ease,background-color .15s ease}.personal-information .registration-form .form-grid .form-group input:focus{outline:none;border-color:#1ca865;background:#fff}.personal-information .registration-form .form-grid .form-group input::placeholder{color:#aaa}.personal-information .registration-form .form-grid .form-group .file-input-wrapper{position:relative;display:flex;align-items:center}.personal-information .registration-form .form-grid .form-group .file-input-wrapper .file-input{display:none}.personal-information .registration-form .form-grid .form-group .file-input-wrapper .file-label{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#f5f5f5;color:#3b3d3d;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.personal-information .registration-form .form-grid .form-group .file-input-wrapper .file-label:hover{background:#fff;border-color:#ccc}.personal-information .registration-form .form-actions{display:flex;gap:12px;justify-self:flex-start}.personal-information .registration-form .form-actions .btn{border-radius:8px;padding:16px;font-size:14px;min-width:230px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,background-color .15s ease}.personal-information .registration-form .form-actions .btn.btn-outline{background:#fff;border-color:#1ca865;color:#1ca865}.personal-information .registration-form .form-actions .btn.btn-outline:hover{background:#e9f4ee}.personal-information .registration-form .form-actions .btn.btn-primary{background:#1ca865;color:#fff;border-color:#1ca865}.personal-information .registration-form .form-actions .btn.btn-primary:hover{background:#18955a}@media(max-width:768px){.personal-information,.personal-information .registration-form{padding:20px}.personal-information .registration-form .form-grid{grid-template-columns:1fr;gap:16px}.personal-information .registration-form .form-actions{flex-direction:column}.personal-information .registration-form .form-actions .btn{width:100%}}.registration-steps{display:flex;justify-content:space-between;padding-inline:12px;margin-bottom:34px}.registration-steps .step-connector .dotted-line.completed line{stroke:#0e6d3f}.registration-steps>div{display:flex;justify-content:space-between;align-items:center}.registration-steps>div .step-indicator{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.registration-steps>div .step-indicator.active .step-number{background:#0cf31426;color:#0e6d3f}.registration-steps>div .step-indicator.active .step-label{color:#0e6d3f}.registration-steps>div .step-indicator.completed .step-number{background:#0cf31426}.registration-steps>div .step-indicator.completed .step-label{color:#0e6d3f}.registration-steps>div .step-indicator.pending .step-number{border:1px solid #6c7272;color:#666}.registration-steps>div .step-indicator .step-number{width:66px;height:66px;border-radius:50%;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;transition:all .3s ease}.registration-steps>div .step-indicator .step-label{color:#666;text-align:center;margin-top:16px;max-width:187px}.registration-steps>div:last-child .step-connector{display:none}@media(max-width:768px){.registration-steps{gap:20px;margin-bottom:40px}.registration-steps>div{gap:20px}.registration-steps>div .step-label{font-size:12px}.registration-steps>div .step-connector{width:20px}}.custom-select-container{display:flex;flex-direction:column;gap:8px;width:100%}.custom-select-container .field-label{font-size:14px;font-weight:500;color:#3b3d3d}.custom-select-container .select-wrapper{position:relative;display:flex;align-items:center}.custom-select-container .select-wrapper .custom-select{appearance:none;width:100%;padding:12px 36px 12px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background:#f5f5f5;color:#3b3d3d;transition:all .2s ease;cursor:pointer;font-family:inherit}.custom-select-container .select-wrapper .custom-select:focus{outline:none;border-color:#1ca865;background:#fff}.custom-select-container .select-wrapper .custom-select::placeholder{color:#aaa}.custom-select-container .select-wrapper .custom-select:invalid{color:#aaa}.custom-select-container .select-wrapper .select-arrow{position:absolute;right:14px;pointer-events:none;font-size:10px;color:#666}.custom-select-container.has-error .custom-select{border-color:#dc3545}.custom-select-container.has-error .error-message{font-size:12px;color:#dc3545}.trade-and-subjects-step{font-family:Poppins}.trade-and-subjects-step .registration-form{max-width:500px;margin:0 auto}.trade-and-subjects-step .registration-form .step2-content{display:flex;flex-direction:column;gap:37px;margin-bottom:32px}.trade-and-subjects-step .registration-form .step2-content .trades-section{display:flex;flex-direction:column;gap:12px}.trade-and-subjects-step .registration-form .step2-content .trades-section label{font-size:14px;font-weight:500;color:#3b3d3d;font-family:Plus Jakarta Sans}.trade-and-subjects-step .registration-form .step2-content .subjects-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;text-align:center}.trade-and-subjects-step .registration-form .step2-content .subjects-placeholder .placeholder-icon{font-size:50px}.trade-and-subjects-step .registration-form .step2-content .subjects-placeholder p{margin:0}.trade-and-subjects-step .registration-form .step2-content .subjects-display{display:flex;flex-direction:column;gap:20px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-header{display:flex;align-items:center;justify-content:space-between}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-header .edit-link{background:none;border:none;color:#0e6d3f;font-size:14px;cursor:pointer;text-decoration:none;display:flex;align-items:flex-end;justify-content:center;gap:4px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid .subject-item{display:flex;align-items:center}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid .subject-item .subject-check{color:#1ca865;font-weight:600;font-size:16px;margin-right:8px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid .subject-item .subject-name{color:#3b3d3d;font-weight:500;margin-right:18px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid .subject-item .subject-code{color:#999;text-align:right}.trade-and-subjects-step .registration-form .form-actions{display:flex;gap:12px;justify-content:center}.trade-and-subjects-step .registration-form .form-actions .btn{margin-top:10px;border-radius:8px;padding:11px 32px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,background-color .15s ease;min-width:140px}.trade-and-subjects-step .registration-form .form-actions .btn:active{transform:translateY(1px)}.trade-and-subjects-step .registration-form .form-actions .btn.btn-outline{background:#fff;border-color:#1ca865;color:#1ca865}.trade-and-subjects-step .registration-form .form-actions .btn.btn-outline:hover{background:#e9f4ee}.trade-and-subjects-step .registration-form .form-actions .btn.btn-primary{background:#1ca865;color:#fff;border-color:#1ca865}.trade-and-subjects-step .registration-form .form-actions .btn.btn-primary:hover{background:#18955a}@media(max-width:768px){.trade-and-subjects-step,.trade-and-subjects-step .registration-form{padding:20px}.trade-and-subjects-step .registration-form .step2-content .subjects-display .subjects-grid{grid-template-columns:1fr}.trade-and-subjects-step .registration-form .form-actions{flex-direction:column}.trade-and-subjects-step .registration-form .form-actions .btn{width:100%}}.subject-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:200}.subject-modal .subject-modal__backdrop{position:absolute;inset:0;background:#0000008c}.subject-modal .subject-modal__content{position:relative;width:min(400px,90vw);background:#fff;border-radius:12px;padding:0;box-shadow:0 12px 40px #0000002e;z-index:1;display:flex;flex-direction:column;max-height:80vh}.subject-modal .subject-modal__content .subject-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #f0f0f0}.subject-modal .subject-modal__content .subject-modal__header h3{margin:0;font-size:16px;color:#2b2b2b}.subject-modal .subject-modal__content .subject-modal__header .close-btn{background:transparent;border:none;font-size:24px;cursor:pointer;color:#5f6368;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.subject-modal .subject-modal__content .subject-modal__body{flex:1;overflow-y:auto;padding:12px 0}.subject-modal .subject-modal__content .subject-modal__body .subjects-list{display:flex;flex-direction:column}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #f5f5f5}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox:hover{background:#f9f9f9}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#1ca865;flex-shrink:0}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox .checkbox-label{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex:1}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox .checkbox-label .subject-name{font-size:14px;color:#3b3d3d;font-weight:500}.subject-modal .subject-modal__content .subject-modal__body .subjects-list .subject-checkbox .checkbox-label .subject-code{font-size:12px;color:#999;font-weight:500}.subject-modal .subject-modal__content .subject-modal__footer{padding:20px;border-top:1px solid #f0f0f0;display:flex;gap:12px}.subject-modal .subject-modal__content .subject-modal__footer .btn{border-radius:8px;padding:11px 24px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.subject-modal .subject-modal__content .subject-modal__footer .btn:active{transform:translateY(1px)}.subject-modal .subject-modal__content .subject-modal__footer .btn.btn-primary{background:#1ca865;color:#fff;border-color:#1ca865}.subject-modal .subject-modal__content .subject-modal__footer .btn.btn-primary:hover{background:#18955a}.registration-success-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;font-family:Plus Jakarta Sans,sans-serif}.registration-success-modal-overlay .modal-content{background:#fff;padding:40px 30px;border-radius:16px;width:90%;max-width:463px;display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:0 4px 20px #0000001a}.registration-success-modal-overlay .modal-content .close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;line-height:1;padding:5px}.registration-success-modal-overlay .modal-content .success-icon{margin-bottom:24px;margin-top:10px;color:#0e6d3f}.registration-success-modal-overlay .modal-content .success-message{text-align:center;font-size:18px;color:#3b3d3d;margin-bottom:32px;line-height:1.4;font-weight:500}.registration-success-modal-overlay .modal-content .done-btn{width:100%;padding:14px;background-color:#0e6d3f;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s}.registration-success-modal-overlay .modal-content .done-btn:hover{background-color:#0b5c35}.application-summary-step{font-family:Poppins,sans-serif}.application-summary-step .summary-container{max-width:600px;margin:0 auto;padding-bottom:40px}.application-summary-step .summary-container .profile-section{display:flex;gap:22px;margin-bottom:32px;align-items:flex-start}.application-summary-step .summary-container .profile-section .profile-image-container{width:150px;height:150px;overflow:hidden;background-color:#f4f4f4}.application-summary-step .summary-container .profile-section .profile-image-container img,.application-summary-step .summary-container .profile-section .profile-image-container svg{width:100%;height:100%;object-fit:cover}.application-summary-step .summary-container .profile-section .profile-image-container svg{padding:20px;color:#ccc}.application-summary-step .summary-container .profile-section .profile-details{flex:1;display:flex;flex-direction:column;justify-content:space-between}.application-summary-step .summary-container .profile-section .profile-details h2{font-size:20px;font-weight:500;color:#2a2a2a;margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif}.application-summary-step .summary-container .profile-section .profile-details .details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:8px}.application-summary-step .summary-container .profile-section .profile-details .details-grid .detail-item{display:flex;flex-direction:column;gap:4px}.application-summary-step .summary-container .profile-section .profile-details .details-grid .detail-item label{font-size:14px;color:#666;font-weight:400}.application-summary-step .summary-container .profile-section .profile-details .details-grid .detail-item span{font-size:14px;font-weight:500;color:#2a2a2a}.application-summary-step .summary-container .profile-section .profile-details .view-details-btn{background:none;border-radius:8px;border:1px solid #256d3f;color:#256d3f;padding:10px 16px;font-size:14px;cursor:pointer;align-self:flex-start}.application-summary-step .summary-container .info-card{background-color:#f9f9f9;padding:24px;border-radius:8px;margin-bottom:32px;display:flex;flex-direction:column;gap:20px}.application-summary-step .summary-container .info-card .info-item{display:flex;flex-direction:column}.application-summary-step .summary-container .info-card .info-item label{font-size:14px;color:#000;font-weight:400}.application-summary-step .summary-container .info-card .info-item p{margin:0;font-size:16px;color:#666;font-weight:400}.application-summary-step .summary-container .subjects-section{margin-bottom:46px}.application-summary-step .summary-container .subjects-section h3{font-size:16px;font-weight:400;color:#000;margin-bottom:24px;font-family:Plus Jakarta Sans,sans-serif}.application-summary-step .summary-container .subjects-section .subjects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}.application-summary-step .summary-container .subjects-section .subjects-grid .subject-item{display:flex;align-items:center;gap:12px}.application-summary-step .summary-container .subjects-section .subjects-grid .subject-item .subject-name{flex:1;font-size:16px;color:#2a2a2a}.application-summary-step .summary-container .subjects-section .subjects-grid .subject-item .subject-code{font-size:16px;color:#3b3d3d}.application-summary-step .summary-container .form-actions{display:flex;gap:16px;justify-content:space-between}.application-summary-step .summary-container .form-actions .btn{flex:1;padding:16px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;text-align:center;border:1px solid transparent;transition:all .2s ease}.application-summary-step .summary-container .form-actions .btn.btn-outline{background:#fff;border-color:#0e6d3f;color:#0e6d3f}.application-summary-step .summary-container .form-actions .btn.btn-primary{background:#0e6d3f;color:#fff;border-color:#0e6d3f}@media(max-width:768px){.application-summary-step .summary-container{padding:0}.application-summary-step .summary-container .profile-section{flex-direction:column;align-items:center;text-align:center}.application-summary-step .summary-container .profile-section .details-grid{grid-template-columns:1fr;width:100%}.application-summary-step .summary-container .subjects-grid{grid-template-columns:1fr!important;gap:16px!important}.application-summary-step .summary-container .form-actions{flex-direction:column}}.bulk-upload-page{height:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:60px;font-family:Poppins,sans-serif}.bulk-upload-page .upload-card{background:#fff;border-radius:8px;border:1px solid #666;padding:16px;width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color .2s}.bulk-upload-page .upload-card.drag-active{border-color:#1ca865;background-color:#f9fcfb}.bulk-upload-page .upload-card h3{font-size:14px;font-weight:500;color:#666;margin:0 0 22px;max-width:300px;line-height:1.5}.bulk-upload-page .upload-card .browse-btn{background-color:#d1e7dd;color:#0e6d3f;border:none;padding:12px 40px;border-radius:8px;font-weight:400;font-size:14px;cursor:pointer;margin-top:22px;margin-bottom:16px;transition:background-color .2s}.bulk-upload-page .upload-card .browse-btn:hover{background-color:#c1decf}.bulk-upload-page .upload-card .drag-text{color:#666;font-size:14px;margin:0}.loading-modal-overlay{position:fixed;inset:0;background-color:#fffc;display:flex;justify-content:center;align-items:center;z-index:2000;font-family:Plus Jakarta Sans,sans-serif}.loading-modal-overlay .loading-modal-content{background:#fff;padding:40px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:300px;height:300px;box-shadow:0 4px 20px #0000001a}.loading-modal-overlay .loading-modal-content .loading-dots{display:flex;gap:12px;margin-bottom:24px}.loading-modal-overlay .loading-modal-content .loading-dots .dot{width:12px;height:12px;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-modal-overlay .loading-modal-content .loading-dots .dot-1{background-color:#2f80ed;animation-delay:-.32s}.loading-modal-overlay .loading-modal-content .loading-dots .dot-2{background-color:#2d9cdb;animation-delay:-.16s}.loading-modal-overlay .loading-modal-content .loading-dots .dot-3{background-color:#27ae60;animation-delay:-.08s}.loading-modal-overlay .loading-modal-content .loading-dots .dot-4{background-color:#6fcf97}.loading-modal-overlay .loading-modal-content p{color:#666;font-size:16px;font-weight:500;margin:0}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.photo-album-generation{height:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:100px;font-family:Plus Jakarta Sans,sans-serif}.photo-album-generation .generation-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px;width:100%;max-width:500px;display:flex;flex-direction:column}.photo-album-generation .generation-card h2{font-size:29px;font-weight:600;color:#3b3d3d;margin:0 0 8px}.photo-album-generation .generation-card p{color:#666;font-size:16px;margin:0 0 24px}.photo-album-generation .generation-card .generate-btn{margin-top:24px;background-color:#dde6db;color:#6c7272;border:none;padding:14px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s}.photo-album-generation .generation-card .generate-btn:hover{background-color:#c1decf}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e0e0e0;font-family:Inter,sans-serif}.pagination-container .prev-btn,.pagination-container .next-btn{padding:8px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;font-size:14px;transition:all .2s ease}.pagination-container .prev-btn:hover:not(:disabled),.pagination-container .next-btn:hover:not(:disabled){background:#e0e0e0}.pagination-container .prev-btn:disabled,.pagination-container .next-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-container .page-numbers{display:flex;border-radius:8px;border:1px solid #EAEAEA;overflow:hidden}.pagination-container .page-numbers button{width:40px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #EAEAEA;background:#fff;cursor:pointer;font-size:14px;color:#666;transition:all .2s ease}.pagination-container .page-numbers button.active{background:#0e6d3f;color:#fff;border-color:#0e6d3f}.pagination-container .page-numbers button:hover:not(.active){background:#f5f5f5}.pagination-container .page-numbers .dots{display:flex;align-items:center;justify-content:center;color:#666;width:32px}.photo-album-view .album-header{margin-bottom:24px}.photo-album-view .album-header h2{font-family:Poppins,sans-serif;font-size:16px;font-weight:500;color:#000;margin:0 0 24px}.photo-album-view .album-header .controls-row{display:flex;justify-content:space-between;align-items:center}.photo-album-view .album-header .controls-row .count-text{font-family:Poppins,sans-serif;color:#666;font-size:14px}.photo-album-view .album-header .controls-row .action-buttons{display:flex;gap:12px}.photo-album-view .album-header .controls-row .action-buttons .btn-outline{font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #256D3F;color:#256d3f;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.photo-album-view .students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;margin-bottom:40px}.photo-album-view .students-grid .student-card{font-family:Poppins;background:#f5f5f5;padding:8px 4px;border-radius:4px}.photo-album-view .students-grid .student-card .image-container{width:100%;aspect-ratio:1;border:5px solid #000;border-radius:4px;margin-bottom:8px;overflow:hidden}.photo-album-view .students-grid .student-card .image-container img{width:100%;height:100%;object-fit:cover}.photo-album-view .students-grid .student-card .student-details .label{font-size:12px;color:#666;display:block}.photo-album-view .students-grid .student-card .student-details .value{font-size:14px;font-weight:500;color:#2a2a2a;margin-bottom:8px;display:block}.photo-album-view .students-grid .student-card .student-details .reg-number{font-size:14px;font-weight:600;color:#3b3d3d}@media print{.photo-album-view{padding:0}.photo-album-view .action-buttons,.photo-album-view .pagination{display:none!important}.photo-album-view .students-grid{grid-template-columns:repeat(3,1fr);gap:15px}}.exam-time-table-generation{height:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:100px;font-family:Plus Jakarta Sans,sans-serif}.exam-time-table-generation .generation-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:32px;width:100%;max-width:500px;display:flex;flex-direction:column}.exam-time-table-generation .generation-card h2{font-size:29px;font-weight:600;color:#3b3d3d;margin:0 0 8px}.exam-time-table-generation .generation-card p{color:#666;font-size:16px;margin:0 0 24px}.exam-time-table-generation .generation-card .get-btn{margin-top:24px;background-color:#dde6db;color:#6c7272;border:none;padding:14px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s}.exam-time-table-generation .generation-card .get-btn:hover{background-color:#c1decf}.exam-time-table-view{font-family:Plus Jakarta Sans,sans-serif}.exam-time-table-view .view-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end}.exam-time-table-view .view-header .title-section h2{font-size:24px;font-weight:600;color:#3b3d3d;margin:0 0 8px}.exam-time-table-view .view-header .title-section p{color:#666;font-size:14px;margin:0}.exam-time-table-view .view-header .action-buttons{display:flex;gap:12px}.exam-time-table-view .view-header .action-buttons .btn-outline{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #1ca865;color:#1ca865;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.exam-time-table-view .view-header .action-buttons .btn-outline:hover{background-color:#e9f4ee}.exam-time-table-view .view-header .action-buttons .btn-outline svg{width:18px;height:18px}
