.credit-hours-input{position:relative;-webkit-backdrop-filter:blur(10px)!important;border-radius:var(--radius-md)!important;isolation:isolate!important;width:100%!important;min-width:200px!important;height:50px!important;transition:var(--transition-base)!important;box-sizing:border-box!important;visibility:visible!important;opacity:1!important;background:#ffffff59!important;border:2px solid #ffffff80!important;flex:1 0!important;justify-content:space-between!important;align-items:center!important;display:flex!important;box-shadow:inset 0 1px #ffffff80,0 2px 6px #0000000a!important}.credit-hours-input-inner{flex:1;justify-content:space-between;align-items:center;width:100%;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.credit-hours-input:focus-within{background:#ffffff40!important;border-color:#ff795599!important;transform:translateY(-1px)!important;box-shadow:0 0 0 3px #ff795526!important}.perspective-container{perspective:1200px;perspective-origin:50%;justify-content:center;align-items:center;height:100%;z-index:1!important;isolation:isolate!important;flex:1!important;min-width:60px!important;display:flex!important;position:relative!important;overflow:hidden!important}.perspective-container:before,.perspective-container:after{content:""!important;z-index:90!important;pointer-events:none!important;-webkit-backdrop-filter:blur(4px)saturate(110%)!important;width:calc(50% - 25px)!important;height:100%!important;position:absolute!important;top:0!important}.perspective-container:before{background:linear-gradient(90deg,#ffffff14 0%,#0000 100%)!important;left:0!important}.perspective-container:after{background:linear-gradient(270deg,#ffffff14 0%,#0000 100%)!important;right:0!important}.number-dial-viewport{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:visible}.number-strip{transform-style:preserve-3d;transform-origin:50%;will-change:transform;z-index:30;backface-visibility:hidden;perspective:1000px;align-items:center;width:max-content;height:100%;display:flex;position:absolute;top:0;left:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1)!important}.number-strip.animating{transition:transform .85s cubic-bezier(.25,.46,.45,.94)!important}.number-item{color:#1f2937;backface-visibility:hidden;opacity:1;box-sizing:border-box;text-shadow:0 1px 3px #0000001a;text-align:center;font-smooth:always;-webkit-font-smoothing:subpixel-antialiased;-webkit-user-select:none;user-select:none;flex:0 0 50px;justify-content:center;align-items:center;width:50px;min-width:50px;max-width:50px;height:100%;margin:0;padding:0;font-weight:800;display:flex;position:relative;transform:scale(1);text-rendering:optimizeLegibility!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;z-index:35!important;font-size:1.25rem!important;transition:transform .4s,color .4s,opacity .4s,filter .3s,text-shadow .3s!important}.animating .number-item{transition:transform .7s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94),color .4s,filter .4s!important}.number-item:not(.active){filter:blur(2.5px)opacity(.85);z-index:20!important}.number-item.prev,.number-item.next{filter:blur(2.5px)opacity(.75)}.number-item.prev{opacity:.75;color:#6b7280;text-shadow:0 -1px #0000000d;filter:blur(2.5px)opacity(.75);transform:translate(-55px)translateZ(-25px)scale(.78)}.number-item.next{opacity:.75;color:#6b7280;text-shadow:0 -1px #0000000d;filter:blur(2.5px)opacity(.75);transform:translate(55px)translateZ(-25px)scale(.78)}.number-item.active{opacity:1;color:#111827;letter-spacing:-.01em;text-shadow:0 1px 2px #0000001f;font-weight:800;position:relative;transform:translateZ(20px)scale(1.2);isolation:isolate!important;z-index:100!important;filter:none!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important}.number-item.active:after{display:none}@keyframes pulse{0%{opacity:.5;transform:scale(.96)}40%{opacity:.65;transform:scale(1.03)}70%{opacity:.55;transform:scale(.99)}to{opacity:.7;transform:scale(1.01)}}.glass-pane-left,.glass-pane-right{box-shadow:inset 0 0 20px #ffffff26;pointer-events:auto!important;z-index:100!important;-webkit-tap-highlight-color:transparent!important;-webkit-backdrop-filter:blur(20px)saturate(180%)!important;background:#ffffff1f!important;width:calc(50% - 25px)!important;height:100%!important;transition:all .25s!important;position:absolute!important;top:0!important;transform:translateZ(0)!important}.glass-pane-left{background-image:linear-gradient(90deg,#ffffff40 0%,#ffffff1f 30%,#ffffff0f 70%,#0000 100%);border-right:1px solid #fff3;left:0!important}.glass-pane-right{background-image:linear-gradient(270deg,#ffffff40 0%,#ffffff1f 30%,#ffffff0f 70%,#0000 100%);border-left:1px solid #fff3;right:0!important}.center-window{margin:0;box-shadow:0 0 20px #fffc,inset 0 0 6px #fff,0 0 2px #ffffffe6;-webkit-backdrop-filter:none!important;pointer-events:none!important;z-index:25!important;background:0 0!important;border:0!important;border-left:1px solid #fff9!important;border-right:1px solid #fff9!important;width:50px!important;height:100%!important;position:absolute!important;top:0!important;left:50%!important;transform:translate(-50%)!important}.center-window:after{content:"";pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.arrow-button{z-index:200!important;pointer-events:none!important;justify-content:center!important;align-items:center!important;width:40px!important;height:100%!important;display:flex!important;position:absolute!important;top:0!important}.arrow-button svg{color:#2d3748!important;width:20px!important;height:20px!important;transition:transform .25s!important}.credit-arrow{-webkit-backdrop-filter:blur(5px);cursor:pointer;color:#3c465acc;z-index:6;border-radius:var(--radius-sm);background:#ffffff26 linear-gradient(#fff3 0%,#ffffff1a 100%);border:none;justify-content:center;align-items:center;width:40px;min-width:40px;height:100%;transition:transform .2s,background-color .2s;display:flex;position:relative;box-shadow:0 2px 6px #00000008,inset 0 0 0 1px #fff3;flex-shrink:0!important}.credit-arrow:hover{color:#323c50f2;-webkit-backdrop-filter:blur(5px)saturate(150%);background:#ffffff40;transform:translateY(-1px)}.credit-arrow:hover:not(:disabled){background:linear-gradient(#ff8c6e40 0%,#ff795533 100%);transform:scale(1.05);box-shadow:0 2px 12px #ff785526,inset 0 0 0 1px #ffffff4d}.credit-arrow:active:not(:disabled){background:linear-gradient(#ff795540 0%,#ff64464d 100%);transition:all .1s;transform:scale(.95)}.credit-arrow:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted);-webkit-backdrop-filter:blur(3px)}.credit-arrow svg{filter:drop-shadow(0 1px 1px #0000001a);width:20px;height:20px}.credit-arrow-left{background-image:linear-gradient(270deg,#fff6 0%,#fff 80% 100%);border-right:1px solid #c8dcf04d;position:relative;overflow:hidden}.credit-arrow-left:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff3 0%,#fff0 50%);width:100%;height:100%;position:absolute;top:0;left:0}.credit-arrow-right{background-image:linear-gradient(90deg,#fff 0% 20%,#fff6 100%);border-left:1px solid #c8dcf04d;position:relative;overflow:hidden}.credit-arrow-right:before{content:"";pointer-events:none;background:linear-gradient(225deg,#fff3 0%,#fff0 50%);width:100%;height:100%;position:absolute;top:0;left:0}@media (max-width:768px){.credit-hours-input{visibility:visible!important;opacity:1!important;box-sizing:border-box!important;isolation:isolate!important;background:#ffffff59!important;border:2px solid #ffffff80!important;flex-shrink:0!important;justify-content:space-between!important;align-items:center!important;width:100%!important;min-width:200px!important;max-width:none!important;height:50px!important;display:flex!important}.credit-hours-input-inner{overflow:hidden!important}.perspective-container{visibility:visible!important;opacity:1!important;flex:1!important;justify-content:center!important;align-items:center!important;min-width:120px!important;height:100%!important;display:flex!important}.number-item{flex:0 0 45px!important;justify-content:center!important;align-items:center!important;width:45px!important;min-width:45px!important;max-width:45px!important;font-size:1.1rem!important;display:flex!important}.glass-pane-left,.glass-pane-right{opacity:1!important;visibility:visible!important;-webkit-backdrop-filter:blur(20px)saturate(180%)!important;width:calc(50% - 22px)!important;height:100%!important;display:block!important}.center-window{visibility:visible!important;width:45px!important;height:100%!important;display:block!important}.credit-arrow{visibility:visible!important;opacity:1!important;flex:0 0 45px!important;justify-content:center!important;align-items:center!important;width:45px!important;min-width:45px!important;max-width:45px!important;height:100%!important;display:flex!important}.credit-arrow svg{width:18px!important;height:18px!important}}@media (max-width:480px){.credit-hours-input{visibility:visible!important;opacity:1!important;isolation:isolate!important;background:#ffffff59!important;border:2px solid #ffffff80!important;flex-shrink:0!important;justify-content:space-between!important;align-items:center!important;width:100%!important;min-width:200px!important;height:50px!important;padding:0!important;display:flex!important}.number-item{flex:0 0 40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;font-size:1.1rem!important}.glass-pane-left,.glass-pane-right{opacity:1!important;visibility:visible!important;-webkit-backdrop-filter:blur(20px)saturate(180%)!important;width:calc(50% - 20px)!important;display:block!important}.center-window{visibility:visible!important;width:40px!important;display:block!important}.credit-arrow{visibility:visible!important;opacity:1!important;flex:0 0 40px!important;justify-content:center!important;align-items:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:100%!important;display:flex!important}.credit-arrow svg{width:18px!important;height:18px!important}.perspective-container{visibility:visible!important;opacity:1!important;flex:1!important;min-width:120px!important;display:flex!important}}@media (max-width:400px){.credit-hours-input{isolation:isolate!important;min-width:180px!important}.number-item{font-size:1rem!important}}@media (max-width:360px){.credit-hours-input{isolation:isolate!important;min-width:160px!important;height:50px!important}.number-item{flex:0 0 35px!important;width:35px!important;min-width:35px!important;max-width:35px!important;font-size:1rem!important}.center-window{width:35px!important}.credit-arrow{flex:0 0 35px!important;width:35px!important;min-width:35px!important;max-width:35px!important}.credit-arrow svg{width:16px!important;height:16px!important}.perspective-container{min-width:90px!important}.glass-pane-left,.glass-pane-right{-webkit-backdrop-filter:blur(20px)saturate(180%)!important;width:calc(50% - 17px)!important}}@media (max-width:320px){.credit-hours-input{isolation:isolate!important;min-width:140px!important;height:50px!important}.perspective-container{min-width:70px!important}.number-item{font-size:.9rem!important}}.number-strip.shaking{position:relative}.glass-pane-left:active .arrow-button svg,.glass-pane-right:active .arrow-button svg{transition:transform .1s;transform:scale(.9)}[dir=rtl] .credit-hours-input{direction:ltr!important;width:auto!important;min-width:200px!important;max-width:100%!important;margin-inline:auto 0!important}[dir=rtl] .credit-hours-input-inner,[dir=rtl] .perspective-container,[dir=rtl] .number-dial-viewport,[dir=rtl] .number-strip{direction:ltr!important}
@media (max-width:768px){.credit-hours-input{margin:0!important;padding:0!important;transform:scale(1)!important}.credit-hours-input .credit-hours-input-inner{overflow:hidden!important}.credit-hours-input .perspective-container{flex:1!important;justify-content:center!important;align-items:center!important;min-width:120px!important;height:100%!important;display:flex!important}.credit-hours-input .glass-pane-left,.credit-hours-input .glass-pane-right,.credit-hours-input .center-window{visibility:visible!important;opacity:1!important;height:100%!important;display:block!important}.credit-hours-input .credit-arrow{flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:45px!important;min-width:45px!important;height:100%!important;display:flex!important}}@media (max-width:480px){.credit-hours-input{isolation:isolate!important;min-width:180px!important}.credit-hours-input .credit-arrow{width:40px!important;min-width:40px!important}}@media (max-width:360px){.credit-hours-input{isolation:isolate!important;min-width:160px!important}.credit-hours-input .credit-arrow{width:35px!important;min-width:35px!important}.credit-hours-input .perspective-container{min-width:90px!important}}
.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);padding:0;display:grid}@media (max-width:600px){.stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr)}}@media (max-width:400px){.stats-grid{gap:var(--space-sm);grid-template-columns:1fr}}.stat-card{-webkit-backdrop-filter:blur(25px);border-radius:var(--radius-lg);padding:var(--space-lg)var(--space-md);text-align:center;transition:var(--transition-base);background:#ffffffb3;border:1.5px solid #fff9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014,inset 0 1px 8px #ffffff1a,0 -1px #0000000d}.stat-card:hover{background:#fffc;border-color:#ff795566;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a,inset 0 1px 12px #ffffff26,0 -1px 4px #0000000d}.stat-value{font-size:var(--text-2xl);color:var(--primary-600);margin-bottom:var(--space-xs);font-weight:700;line-height:1.2}.stat-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em;font-weight:500}.course-list{margin-top:var(--space-md);position:relative}.course-list h3{font-size:var(--text-lg);color:var(--text-color);margin:0 0 var(--space-md)0;padding-bottom:var(--space-sm);border-bottom:2px solid var(--border-light);font-weight:650}.course-items{max-height:260px;padding-right:var(--space-xs);margin-bottom:var(--space-lg);scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;overflow:hidden auto}.course-items::-webkit-scrollbar{display:none}.course-item{padding:var(--space-md);margin-bottom:var(--space-sm);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);transition:var(--transition-base);grid-gap:var(--space-md);background:#fffffff2;border:1px solid #fffc;grid-template-columns:1fr auto auto;align-items:center;display:grid;position:relative}.course-item:last-child{margin-bottom:0}.course-name{color:var(--text-color);text-align:left;grid-column:1;font-weight:600}.course-credits{color:var(--text-secondary);text-align:left;grid-column:2;font-weight:500}.course-status-container{text-align:center;text-align:center;grid-column:3}.scroll-down-arrow{-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-full);cursor:pointer;z-index:10;opacity:.98;background:#fff6 linear-gradient(#ffffff4d,#ffffff1a);border:1px solid #00000026;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;bottom:15%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f,inset 0 0 0 1px #fff6,inset 0 -1px #fff3}.scroll-down-arrow svg{color:var(--primary-600);width:20px;height:20px}.modal-body{padding:var(--space-xs)var(--space-lg)calc(var(--space-xs) - 6px)!important}.course-status{font-weight:600;font-size:var(--text-xs);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);margin-left:var(--space-sm);-webkit-backdrop-filter:blur(8px);letter-spacing:.02em;display:inline-block;box-shadow:0 1px 4px #0000000d}.course-status.passed{color:#15803d;background-color:#16a34a2e;border:1px solid #16a34a59;box-shadow:0 1px 5px #16a34a26,inset 0 0 0 1px #16a34a14}.course-status.failed{color:#b91c1c;background-color:#b91c1c2e;border:1px solid #b91c1c59;box-shadow:0 1px 5px #b91c1c26,inset 0 0 0 1px #b91c1c14}.course-status.pending{color:#4b5563;background-color:#6b72802e;border:1px solid #6b728059;box-shadow:0 1px 5px #6b728026,inset 0 0 0 1px #6b728014}.credits-split{justify-content:center;align-items:center;display:flex}.passed-credits{color:#16a34a;font-weight:700}.separator{margin:0 var(--space-xs);color:var(--text-secondary)}.failed-credits{color:#b91c1c;font-weight:700}.course-details{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);color:var(--text-secondary);flex-wrap:wrap;display:flex}@media (max-width:768px){.stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:1fr}.stat-card{padding:var(--space-md)var(--space-sm)}.stat-value{font-size:var(--text-xl)}.course-item{flex-direction:column;align-items:flex-start}.course-details{margin-top:var(--space-xs)}.course-items{max-height:180px;margin-bottom:var(--space-md)}.scroll-down-arrow{background-image:linear-gradient(#ffffff4d,#ffffff1a);border:1px solid #00000026;width:24px;height:24px;bottom:10%;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0000001a,inset 0 0 0 1px #ffffff4d}.scroll-down-arrow svg{width:14px;height:14px;color:var(--primary-600)}}@media (max-width:480px){.stats-grid{gap:var(--space-sm)}.stat-card{padding:var(--space-sm)}.stat-value{font-size:var(--text-lg)}.stat-label{font-size:var(--text-xs)}.course-list h3{font-size:var(--text-base)}}@media (max-width:600px){.course-item{padding:var(--space-sm);margin-bottom:var(--space-xs);grid-template-rows:auto auto;grid-template-columns:1fr auto}.course-name{padding-right:var(--space-sm);word-break:break-word;grid-area:1/1;max-width:100%;font-size:.9rem;line-height:1.2}.course-credits{text-align:left;grid-area:2/1;font-size:.8rem}.course-status-container{grid-area:1/2/span 2;justify-content:flex-end;align-items:center;display:flex}.course-status{min-width:65px;height:28px;font-size:.75rem}.course-items{max-height:220px}}@media (max-width:400px){.course-item{grid-gap:var(--space-xs)}.courses-container{padding:var(--space-xs)}.stat-card{padding:var(--space-sm)}.stat-label{font-size:.7rem}.stat-value{font-size:1.2rem}}
.modal-content.confirmation-modal{-webkit-backdrop-filter:blur(25px);border-radius:var(--radius-2xl);background:#fffffff2;border:1.5px solid #fff9;width:100%;max-width:450px;overflow:hidden}.confirmation-modal .modal-body{padding:var(--space-sm)var(--space-2xl)var(--space-xl)}.confirmation-message{font-size:var(--text-base);color:var(--text-color);text-align:center;padding:var(--space-lg)0;margin:0;line-height:1.5}.confirmation-modal .modal-footer{padding:var(--space-md)var(--space-2xl);border-top:1px solid var(--border-light);justify-content:flex-end;margin-top:auto;display:flex}.confirmation-modal .modal-footer .button-group{justify-content:flex-end;align-items:center;gap:var(--space-md);min-height:44px;margin:0;display:flex}.confirmation-modal .modal-footer .button-group button{width:130px;min-width:130px;height:44px;min-height:44px;max-height:44px;padding:0 var(--space-md);box-sizing:border-box;justify-content:center;align-items:center;display:inline-flex}.btn-danger{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-xl);color:var(--white);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;transition:var(--transition-base);letter-spacing:.025em;background:linear-gradient(135deg,#e53935,#c62828);border:none;min-width:120px;min-height:44px;font-weight:650;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-danger:before{content:"";width:100%;height:100%;transition:var(--transition-slow);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.btn-danger:hover:before{left:100%}.btn-danger:hover{background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)}.confirmation-modal .modal-footer .btn-danger{margin:0}.modal-footer .btn-danger{margin:var(--space-sm)}@media (max-width:576px){.confirmation-modal{width:95%}.confirmation-modal .button-group{flex-direction:column-reverse;width:100%}.confirmation-modal .button-group button,.confirmation-modal .modal-footer .btn-danger{width:100%;min-height:44px;margin-top:var(--space-sm);margin-bottom:var(--space-sm)}}
:root{--spacing-x:clamp(8px,1vw,12px);--spacing-y:clamp(16px,2vw,32px);--spacing-l:clamp(12px,1.5vw,24px);--spacing-m:clamp(24px,3vw,48px);--spacing-z:8px;--grade-dropdown-width:clamp(20px,2.5vw,24px);--grade-badge-width:clamp(40px,5vw,46px);--credits-width:clamp(60px,7vw,80px);--grade-cell-width:calc(var(--grade-badge-width) + var(--spacing-z) + var(--grade-dropdown-width))}.table-container.collapsed:not(.level-container):not(.term-container) .course-row{pointer-events:none!important;visibility:hidden!important;opacity:0!important;height:0!important;position:absolute!important;overflow:hidden!important}.level-container.collapsed .course-row,.term-container.collapsed .course-row{pointer-events:none!important}.course-table tbody tr.course-row{pointer-events:auto;visibility:visible;opacity:1;height:auto;position:relative}.course-table tbody tr{grid-template-columns:1fr   var(--spacing-m)var(--credits-width)var(--spacing-l)var(--grade-cell-width)var(--spacing-y)var(--remove-btn-size)var(--spacing-x);grid-template-areas:". .credits.grade.remove.";display:grid}.course-table td.course-name{text-align:left;padding:var(--space-md)0 var(--space-md)var(--space-md);white-space:nowrap;text-overflow:ellipsis;grid-column:1/3;overflow:hidden}.course-table td.course-hours{text-align:center;padding:var(--space-md)0;white-space:nowrap;grid-column:3/4}.credit-hours-badge-container{width:var(--grade-badge-width);min-width:var(--grade-badge-width);flex-shrink:0;justify-content:center;align-items:center;display:flex}.credit-hours-badge{width:var(--grade-badge-width);min-width:var(--grade-badge-width);border-radius:var(--radius-full);min-height:30px;font-weight:650;font-size:var(--text-sm);background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);transition:var(--transition-base);text-align:center;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.course-table .credit-hours-cell{gap:var(--spacing-z);flex-direction:row;justify-content:center;align-items:center}.course-table .credit-hours-dropdown{width:var(--grade-dropdown-width);min-width:var(--grade-dropdown-width);flex-shrink:0;position:relative}.course-table td:nth-child(3){padding:var(--space-md)0;grid-column:5/6}.course-table td:nth-child(4){padding:var(--space-md)0;z-index:12;grid-column:7/8;justify-content:center;align-items:center;padding-right:4px;display:flex;position:relative;overflow:visible}.grade-cell{gap:var(--spacing-z);flex-direction:row;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.grade-badge-container{width:var(--grade-badge-width);min-width:var(--grade-badge-width);flex-shrink:0;justify-content:center;align-items:center;display:flex}.grade-dropdown{width:var(--grade-dropdown-width);min-width:var(--grade-dropdown-width);flex-shrink:0;position:relative}.course-table td:nth-child(4) .remove-btn{width:var(--remove-btn-size);height:var(--remove-btn-size);min-width:var(--remove-btn-size);min-height:var(--remove-btn-size);justify-content:center;align-items:center;margin:0 2px 0 0;padding:0;display:flex;position:relative}.course-table .grade-dropdown{width:var(--grade-dropdown-width);min-width:var(--grade-dropdown-width);flex-shrink:0}.course-table .grade-dropdown-trigger{width:var(--grade-dropdown-width);height:var(--grade-dropdown-width);min-width:var(--grade-dropdown-width);min-height:var(--grade-dropdown-width);margin:0;padding:0}.course-table .course-grade-badge{width:var(--grade-badge-width);min-width:var(--grade-badge-width);margin:0;padding:0}@media (max-width:768px){.course-table tbody tr{grid-template-columns:1fr   var(--spacing-m)var(--credits-width)var(--spacing-l)var(--grade-cell-width)var(--spacing-y)var(--remove-btn-size)var(--spacing-x);padding-top:2px;padding-bottom:2px}.course-table td{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}}@media (max-width:480px){.course-table td.course-name{padding-left:var(--space-sm)}}
.table-box{padding-top:calc(var(--space-xl) + 28px);padding-right:var(--space-xl);padding-left:var(--space-xl);position:relative}.table-total-hours{z-index:10;width:100%;color:var(--text-secondary);text-align:center;font-size:1.1rem;font-weight:500;position:absolute;top:20px;left:0;right:0}.table-total-hours strong{color:var(--text-color);font-weight:600}.table-box .level-container,.table-box .term-group .term-container{opacity:1;grid-template-rows:1fr;max-height:5000px;display:grid;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.46,.45,.94),grid-template-rows .5s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)!important}.table-box .level-container.collapsed,.table-box .term-group .term-container.collapsed{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;grid-template-rows:0fr;max-height:0;transition:max-height .5s cubic-bezier(.25,.46,.45,.94),grid-template-rows .5s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)!important}.table-box .level-container.expanded,.table-box .term-group .term-container.expanded{opacity:1;pointer-events:auto;grid-template-rows:1fr;max-height:5000px;transition:max-height .5s cubic-bezier(.25,.46,.45,.94),grid-template-rows .5s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)!important}.level-container,.term-container{opacity:1;grid-template-rows:1fr;max-height:5000px;display:grid;overflow:hidden}.level-container.collapsed,.term-container.collapsed{opacity:0;grid-template-rows:0fr;max-height:0}.level-container.expanded,.term-container.expanded{opacity:1;grid-template-rows:1fr;max-height:5000px}.level-container-inner,.term-container-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.table-box .level-container,.table-box .term-group .term-container{transition-duration:.15s!important}}.table-container:not(.level-container):not(.term-container){display:block;overflow:visible}.table-container.expanded{pointer-events:auto}.table-container.collapsed{pointer-events:none}.group-header{pointer-events:auto!important;visibility:visible!important;position:relative!important}:root{--level-width:100%;--term-width:94%;--term-indent:3%;--course-width:100%;--stats-button-right-distance:0px;--level-to-first-term-gap:2px;--term-to-term-gap:6px;--group-spacing:0px;--remove-btn-base-size:30px;--remove-btn-size:clamp(30px,3.5vw,var(--remove-btn-base-size));--remove-btn-min-size:42px;--group-header-min-height:52px;--info-btn-size:32px}.reset-button-container{z-index:10;pointer-events:auto;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:20px;right:20px}.reset-button{font-weight:700;font-family:var(--font-bricolage),sans-serif;color:#ff7955;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000001a;justify-content:center;align-items:center;gap:8px;padding:.6rem 1.2rem;font-size:.9rem;transition:background .2s;display:inline-flex}.reset-button:hover{background:#ffffffe6}.reset-button:active{background:#ffffffb3}html[lang=ar] .reset-button,[dir=rtl] .reset-button{font-family:inherit}.reset-button:focus{outline:none;box-shadow:0 0 0 2px #ff795533}.reset-button svg{color:#ff7955;width:16px;height:16px}@media (max-width:768px){.table-total-hours{font-size:1.05rem;top:15px}.reset-button-container{top:15px;right:15px}.reset-button{gap:6px;padding:.5rem 1rem;font-size:.8rem}.reset-button svg{width:14px;height:14px}.group-header{margin-top:30px}}@media (max-width:480px){.table-total-hours{font-size:1rem;top:12px}.reset-button-container{top:12px;right:12px}.reset-button{gap:5px;padding:.45rem .9rem;font-size:.75rem}.reset-button svg{width:13px;height:13px}.group-header{margin-top:25px}:root{--remove-btn-min-size:36px}.remove-btn{width:var(--remove-btn-min-size);height:var(--remove-btn-min-size);min-width:var(--remove-btn-min-size);min-height:var(--remove-btn-min-size)}.remove-btn svg{width:calc(var(--remove-btn-min-size)*.9);height:calc(var(--remove-btn-min-size)*.9)}}@media (max-width:380px){.reset-button{padding:.35rem .7rem;font-size:.7rem}.reset-button svg{width:12px;height:12px}:root{--remove-btn-min-size:40px}}.level-group{width:var(--level-width);margin-top:10px;margin-bottom:0;position:relative}.level-group:first-child{margin-top:74px}.level-group:last-child{margin-bottom:0}.level-header{width:var(--level-width);margin-bottom:0}.level-container-inner>.term-group{box-sizing:border-box;margin-bottom:0;position:relative;width:var(--term-width)!important;margin-left:var(--term-indent)!important;margin-right:var(--term-indent)!important}.term-group{margin-top:0!important;margin-bottom:0!important}.term-group:first-child{margin-top:0!important}.term-group:last-child{margin-bottom:10px!important}.level-container-inner>.term-group .group-header,.table-box .course-group.level-group .level-container .term-group .term-header{width:100%!important}.term-title{text-align:left;align-items:center;width:100%;height:100%;display:flex;position:relative}.group-header-metrics-inline{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0;margin-inline-start:auto;font-weight:600;display:none}.group-metric{white-space:nowrap}.group-metric.gpa{color:var(--primary-color)}.group-metric.credits .passed{color:var(--gray-700)}.group-metric.credits .sep{color:var(--gray-400);margin:0 1px}.group-metric.credits .failed{color:var(--primary-600)}.group-metric-sep{color:var(--gray-400);font-weight:400}.group-header-metrics-narrow{align-items:center;margin-inline-start:auto;display:flex}@media (min-width:769px){.group-header-metrics-inline{display:flex}.group-header-metrics-narrow{display:none}}@media (max-width:768px){.group-header-metrics-inline{display:none}.group-header-metrics-narrow{display:flex}}.group-title .info-btn{background-color:#0000;border:0;border-radius:50%;justify-content:center;align-items:center;margin-left:0;padding:4px;display:flex;position:relative;top:0;overflow:visible;transform:none}.group-title .info-btn:after{content:"";opacity:0;pointer-events:none;border:2px solid #ff795500;border-radius:50%;width:100%;height:100%;transition:transform .3s ease-out,opacity .3s ease-out,border-color .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.group-title .info-btn:hover:after{opacity:1;border-color:#ff7955b3;transform:translate(-50%,-50%)scale(.9);box-shadow:0 0 8px #ff795566}.term-group .table-container{width:100%;padding-top:12px!important}.course-container{justify-content:center;width:100%;display:flex;overflow:visible}.term-group .course-container{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#ffffff4d;border:1px solid #fff6;overflow:hidden}.term-group .course-container .course-table{background:0 0;padding-top:0;padding-bottom:0}.level-container-inner>.term-group .table-container table,.term-group .table-container .course-table,.table-box .course-group.term-group .table-container table{width:100%!important;max-width:100%!important}.term-group .term-header,.term-group .table-container,.term-group .table-container table{margin-left:0!important;margin-right:0!important}.table-box table.course-table{max-width:var(--term-width)!important;width:100%!important}.level-group .level-header{width:100%!important;max-width:100%!important;margin-right:0!important}.course-group.level-group>.table-container>.course-container{width:var(--term-width)!important;margin-left:var(--term-indent)!important;margin-right:var(--term-indent)!important}.term-group .course-table tbody tr,.course-group.level-group>.table-container>.course-container>.course-table{width:100%!important;max-width:100%!important}.course-group,.course-group:last-child{margin-bottom:0}.group-header{padding:var(--space-md)var(--space-lg);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);transition:var(--transition-base);background:#ffffff4d;border:1px solid #fff6;justify-content:space-between;align-items:center;margin-top:16px;margin-bottom:0;display:flex}.course-group.level-group>.group-header{margin-bottom:var(--level-to-first-term-gap)!important}.group-header.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;touch-action:manipulation;-webkit-touch-callout:none;position:relative;pointer-events:auto!important}.group-header.clickable *{pointer-events:none}.group-header.clickable .info-btn{pointer-events:auto}.group-toggle{pointer-events:none;background:var(--primary-color);border-radius:var(--radius-full);width:24px;height:24px;transition:var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.group-name{flex:1}.group-title{align-items:center;gap:var(--space-md);font-size:var(--text-lg);color:var(--text-color);letter-spacing:.025em;text-align:left;flex:1;margin:0;font-weight:650;display:flex;position:relative}.group-toggle svg{fill:#fff;width:16px;height:16px;transition:var(--transition-base)}.group-toggle.expanded svg{transform:rotate(180deg)}.group-toggle.collapsed svg{transform:rotate(0)}.course-group .course-table{padding-top:8px;padding-bottom:8px}.info-btn{z-index:2;margin-left:var(--space-sm);padding:var(--space-xs);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:36px;height:36px;margin-right:5px;display:flex;position:relative;top:0;transform:none;pointer-events:auto!important}.info-btn svg{width:24px;height:24px}.term-title{font-size:var(--text-base);color:var(--text-secondary);font-weight:600}@media (max-width:768px){:root{--term-width:95%;--term-indent:2.5%}.table-box{padding-top:20px;padding-left:15px;padding-right:15px}.term-group{margin-bottom:0}.level-group:first-child{margin-top:66px}.term-group .table-container table{width:100%!important}.table-box .level-container,.table-box .term-group .term-container{transition-duration:.45s!important}:root{--level-to-first-term-gap:0px}.term-group:not(:first-child){margin-top:var(--term-to-term-gap)!important}.term-group:first-child{margin-top:0!important}.term-group:last-child{margin-bottom:8px}.term-group .table-container{padding-top:10px!important}.course-group .course-table{padding-top:4px;padding-bottom:4px}.group-header{padding:var(--space-sm)var(--space-md);min-height:52px;display:flex;justify-content:space-between!important;align-items:center!important}.group-title{font-size:var(--text-base);gap:var(--space-sm);display:flex;align-items:center!important}.group-toggle{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.group-toggle svg{width:14px;height:14px}.remove-btn{width:var(--remove-btn-min-size);height:var(--remove-btn-min-size);min-width:var(--remove-btn-min-size);min-height:var(--remove-btn-min-size)}.remove-btn svg{width:calc(var(--remove-btn-min-size)*.7);height:calc(var(--remove-btn-min-size)*.7)}.info-btn{justify-content:center;align-self:center;align-items:center;width:38px;min-width:38px;height:38px;min-height:38px;display:flex;position:relative;top:0;transform:none}.info-btn svg{width:24px;height:24px}.group-title,.term-title{align-items:center;height:100%;display:flex}}@media (max-width:600px){:root{--term-width:96%;--term-indent:2%}}@media (max-width:480px){:root{--term-width:97%;--term-indent:1.5%}.table-box{padding-top:12px;padding-left:12px;padding-right:12px}.term-group{margin-bottom:0}.term-title{font-size:.95rem}.group-header{min-height:var(--group-header-min-height)}:root{--remove-btn-min-size:44px}.remove-btn{width:var(--remove-btn-min-size);height:var(--remove-btn-min-size);min-width:var(--remove-btn-min-size);min-height:var(--remove-btn-min-size)}.remove-btn svg{width:calc(var(--remove-btn-min-size)*.9);height:calc(var(--remove-btn-min-size)*.9)}.info-btn{width:var(--info-btn-size);height:var(--info-btn-size);min-width:var(--info-btn-size);min-height:var(--info-btn-size)}.info-btn svg{width:18px;height:18px}}@media (max-width:430px){:root{--group-header-min-height:56px;--info-btn-size:36px}.info-btn{width:var(--info-btn-size);height:var(--info-btn-size);min-width:var(--info-btn-size);min-height:var(--info-btn-size);justify-content:center;align-self:center;align-items:center;padding:4px;display:flex;position:relative;top:0;transform:none}.info-btn svg{width:22px;height:22px}.group-title{padding-right:var(--stats-button-right-distance);justify-content:flex-start;align-items:center;display:flex}.group-header{min-height:var(--group-header-min-height);padding:var(--space-sm)var(--space-md);justify-content:space-between;align-items:center;display:flex}}@media (max-width:400px){:root{--term-width:98%;--term-indent:1%;--level-to-first-term-gap:2px;--term-to-term-gap:4px}.term-group:first-child{margin-top:0!important}.term-title{font-size:.85rem}:root{--group-header-min-height:60px}.group-header{min-height:var(--group-header-min-height)}}@media (max-width:380px){:root{--info-btn-size:38px;--remove-btn-min-size:46px}.info-btn{width:var(--info-btn-size);height:var(--info-btn-size);min-width:var(--info-btn-size);min-height:var(--info-btn-size);padding:5px}.info-btn svg{width:24px;height:24px}.group-header{min-height:62px}}.term-group:not(:first-child){margin-top:var(--term-to-term-gap)!important}body .term-group:first-child,body .level-container .term-group:first-child{margin-top:0!important}body .term-group:not(:first-child),body .level-container .term-group:not(:first-child){margin-top:var(--term-to-term-gap)!important;margin-bottom:0!important}.level-container.collapsed button,.level-container.collapsed a,.level-container.collapsed input,.level-container.collapsed select,.level-container.collapsed [role=button],.term-container.collapsed button,.term-container.collapsed a,.term-container.collapsed input,.term-container.collapsed select,.term-container.collapsed [role=button]{pointer-events:none!important}.level-container.collapsed .remove-btn,.term-container.collapsed .remove-btn,.level-container.collapsed .info-btn,.term-container.collapsed .info-btn{visibility:hidden;pointer-events:none!important}
.credit-hours-dropdown-trigger{-webkit-backdrop-filter:blur(10px);cursor:pointer;width:24px;height:24px;color:var(--text-color);opacity:0;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;margin-left:0;padding:0;font-size:12px;transition:all .2s;display:inline-flex;transform:scale(.8)}.credit-hours-dropdown-trigger.static-arrow{opacity:1;background:var(--gray-100);color:var(--gray-600);border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:0;display:flex;transform:scale(1)}.credit-hours-dropdown-trigger.static-arrow:hover{background:var(--gray-200)}@media (hover:none){.credit-hours-dropdown-trigger.static-arrow{opacity:1}}.credit-hours-dropdown-trigger:hover,.credit-hours-dropdown-trigger:focus{background:var(--gray-300);transform:scale(1.1)}.credit-hours-dropdown-arrow{color:var(--text-color);transition:var(--transition-base);flex-shrink:0;width:8px;height:8px;display:block}.credit-hours-dropdown-arrow.open{transform:rotate(180deg)}.credit-hours-dropdown-menu{-webkit-backdrop-filter:blur(15px);z-index:1000;isolation:isolate;pointer-events:auto;opacity:0;background:#fffffff2;border-radius:12px;width:140px;margin-top:8px;animation:.15s ease-out forwards dropdownFadeIn;position:fixed;overflow:hidden;transform:translateY(-5px);box-shadow:0 5px 20px #0000001f,0 1px 5px #0000000d,0 0 0 1px #fff6}@keyframes dropdownFadeIn{to{opacity:1;transform:translateY(0)}}.credit-hours-dropdown-content{scrollbar-width:thin;scrollbar-color:var(--gray-300)transparent;max-height:180px;padding:12px;overflow-y:auto}.credit-hours-dropdown-content::-webkit-scrollbar{width:5px}.credit-hours-dropdown-content::-webkit-scrollbar-track{background:0 0}.credit-hours-dropdown-content::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:3px}.credit-hours-dropdown-option{width:100%;padding:6px var(--space-sm);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center;cursor:pointer;color:var(--text-color);background:#fff9;border:none;justify-content:center;align-items:center;min-height:28px;margin-bottom:0;font-weight:600;transition:all .15s ease-out;display:flex}.credit-hours-dropdown-option:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.credit-hours-dropdown-separator{background:#0000000d;height:1px;margin:4px 0}.credit-hours-cell{justify-content:flex-start;align-items:center;width:100%;display:flex;position:relative}.credit-hours-value{padding-left:8px;font-weight:550}.course-hours{align-items:center;display:flex;position:relative;padding-right:0!important}.credit-hours-cell{justify-content:flex-start;align-items:center;width:100%;display:flex}.credit-hours-dropdown-trigger.static-arrow{opacity:1;transform:scale(1)}.credit-hours-dropdown{z-index:10;position:relative}tr.dropdown-open{z-index:100!important;position:relative!important}.credit-hours-value-container{text-align:center;justify-content:center;align-items:center;min-width:30px;display:flex}.credit-hours-value{justify-content:center;align-items:center;font-weight:550;display:inline-flex}@media (max-width:768px){.credit-hours-dropdown-trigger{opacity:.8}}@media (hover:none){.credit-hours-dropdown-trigger{opacity:.8}}
.gpa-display{flex-direction:column;justify-content:center;align-items:center;padding:1rem 0;display:flex;position:relative}.gpa-label{text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.gpa-value{margin-bottom:.25rem;font-size:2.5rem;font-weight:700;line-height:1}.gpa-scale{opacity:.7;margin-bottom:.75rem;font-size:.8rem}.gpa-assessment{-webkit-backdrop-filter:blur(10px);text-align:center;background-color:#ffffff26;border-radius:3rem;padding:.3rem 1rem;font-size:1.2rem;font-weight:700;transition:all .3s}@media (max-width:768px){.gpa-value{font-size:2.2rem}.gpa-assessment{padding:.25rem .75rem;font-size:1rem}}@media (max-width:480px){.gpa-value{font-size:2rem}.gpa-assessment{padding:.2rem .5rem;font-size:.9rem}}
.app-footer{text-align:center;z-index:10;justify-content:center;align-items:center;width:min(95%,755px);margin-top:0;margin-left:auto;margin-right:auto;padding:0 0 40px;display:flex;position:relative}.footer-content{width:100%;padding:var(--space-md)var(--space-xl);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);transition:var(--transition-base);background:#ffffff2e;border:1px solid #ffffff29;justify-content:space-between;align-items:center;display:flex}.footer-content:hover{background:#ffffff38;border:1px solid #fff3}.footer-left{flex:1;align-items:center;gap:15px;display:flex}.footer-left span{color:var(--text-color);opacity:.78;font-size:var(--text-sm);letter-spacing:.3px;font-weight:500}.footer-middle{color:var(--text-color);opacity:.72;font-size:var(--text-sm);letter-spacing:.5px;text-align:center;flex:1;justify-content:center;align-items:center;font-weight:500;display:flex}.copyright-icon{width:var(--text-sm);height:var(--text-sm);margin:0 var(--space-xs);vertical-align:-.125em;color:var(--text-color);opacity:.75}.footer-right{flex:1;justify-content:flex-end;align-items:center;gap:15px;display:flex}@keyframes gradientAnimation{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.signature-logo-link{background:linear-gradient(45deg,#ff7955,#fab6a1,#ff7955) 0 0/200% 200%;width:40px;height:22.5176px;transition:transform .3s;animation:3s infinite gradientAnimation;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.signature-logo-link:hover{transform:scale(1.1)}.github-link{color:var(--text-color);opacity:.75;font-size:var(--text-2xl);transition:var(--transition-base)}.github-link:hover{color:var(--text-color);opacity:1;transform:scale(1.1)}@media (max-width:768px){.app-footer{width:min(92%,800px)}.footer-content{gap:var(--space-lg);padding:var(--space-lg)var(--space-md);background:#ffffff38;flex-direction:column}.footer-middle{font-size:var(--text-xs);margin-top:var(--space-xs);order:3;font-weight:600}.copyright-icon{width:var(--text-xs);height:var(--text-xs);margin:0 var(--space-xs)}.footer-left{gap:var(--space-md);order:1;justify-content:center}.footer-right{gap:var(--space-sm);order:2}.footer-left span{font-size:var(--text-sm);font-weight:600}.github-link{font-size:var(--text-2xl)}}@media (max-width:480px){.app-footer{width:min(90%,800px)}.footer-content{gap:14px;padding:18px 16px}.signature-logo-link{width:38px;height:21.3917px}.github-link{font-size:28px}.copyright-icon{width:12px;height:12px;margin:0 4px}}@media (max-width:360px){.app-footer{width:min(95%,800px)}.footer-content{gap:12px;padding:16px 12px}}
