@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Nunito:wght@400;600;700&display=swap";.app-header{display:block;width:100%;max-width:100%;height:auto;position:absolute;z-index:1;overflow:hidden}.app-header img{width:100%;height:auto;display:block;object-fit:cover;object-position:center;max-width:100%}@media(max-width:768px){.app-header{position:relative;margin-bottom:clamp(10px,5vw,20px)}.app-header img{width:100%;height:auto}}@media(max-width:480px){.app-header img{width:100%;height:auto;display:block;position:static;margin:0;object-fit:cover;object-position:left center}}html{font-family:Inter,sans-serif;font-size:16px;margin:0;padding:0;overflow-x:hidden}body{margin:0;padding:0;width:100%;overflow-x:hidden;background:#ebebeb8f}h1,h2{font-family:Nunito,sans-serif}h1{text-align:center;margin:0%;color:#333;font-size:27px}h2{font-size:20px;text-align:left}.top-gap{top:19%;position:absolute}@media(max-width:768px){.top-gap{top:auto;position:relative;margin-top:clamp(15px,5vw,30px)}}@media(max-width:480px){.top-gap{margin-top:15px}}.question-container{background:#fff;padding:35px;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d;box-sizing:border-box;width:100%;max-width:100%;min-width:400px}.content-container{padding-bottom:18px;width:clamp(320px,90vw,880px);box-sizing:border-box;margin:0 auto;padding-left:clamp(16px,5vw,40px);padding-right:clamp(16px,5vw,40px)}.error-message{color:#dc2626;font-size:14px;font-weight:500;display:block;text-align:left;margin-top:25px}.button{background-color:#086759ba;color:#fff;border:none;border-radius:10px;padding:clamp(10px,2vw,16px) clamp(30px,8vw,60px);font-weight:400;font-family:Inter,sans-serif;cursor:pointer;font-size:clamp(13px,2vw,15px);transition:all .2s ease}.button:hover{background-color:#086759}.button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.button-group{display:flex;justify-content:space-between;width:100%}.setup-wrapper{min-height:100vh;padding:85px 20px 40px}.setup-wrapper .setup-card{background-color:#fff;border-radius:8px;padding:25px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.setup-wrapper .header-card{text-align:center}.setup-wrapper .info-card p{color:#666;font-size:14px;margin:0}.setup-wrapper label{display:block;font-weight:600;margin-bottom:15px;color:#2c3e50}.setup-wrapper .input-field{padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:Inter,sans-serif;background-color:#fff}.setup-wrapper .full-input{width:100%;max-width:400px;box-sizing:border-box}.setup-wrapper .numeric-input{width:100px;background-color:#b2dfdb;border:none;text-align:center}.setup-wrapper .size-inputs{display:flex;gap:10px;align-items:center}.setup-wrapper .limit-type-select{padding:8px}.setup-wrapper .checkbox-section{display:flex;align-items:center;padding:20px 25px}.setup-wrapper .checkbox-row{display:flex;align-items:center;gap:12px;cursor:pointer}.setup-wrapper .checkbox-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#b2dfdb}.setup-wrapper .checkbox-row label{margin:0;font-weight:500;color:#555}.incript-button{background-color:#bee0ac;font-weight:600;padding:12px 40px;border:none;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease}.incript-button:hover{background-color:#bee0acbb}.setup-wrapper{color:#60a328;font-size:14px;font-weight:500;margin-top:8px;margin-bottom:5px;display:block;text-align:left;background:transparent;border:none;padding:0;box-shadow:none;width:auto}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.setup-wrapper .student-table{width:100%;display:flex;flex-direction:column}.setup-wrapper .table-header{display:grid;grid-template-columns:40px 1fr 100px 80px;gap:15px;padding:15px;background-color:#f3f4f6;border-radius:8px 8px 0 0;font-weight:600;color:#333;border-bottom:2px solid #e5e7eb}.setup-wrapper .table-body{display:flex;flex-direction:column;max-height:500px;overflow-y:auto}.setup-wrapper .table-row{display:grid;grid-template-columns:40px 1fr 100px 80px;gap:15px;padding:12px 15px;border-bottom:1px solid #f3f4f6;align-items:center}.setup-wrapper .table-row:hover{background-color:#f9fafb}.setup-wrapper .table-cell{font-size:14px}.setup-wrapper .preview-title{font-weight:600;margin-bottom:8px;display:block}.setup-wrapper .preview-line{margin:0 0 6px}.setup-wrapper .preview-summary{margin:0;color:#374151}.setup-wrapper .key-actions-row{display:flex;gap:10px;margin-bottom:15px}.setup-wrapper .save-confirm-label{color:#60a328;font-weight:700}.key-description{font-size:13px;color:#e01d1d;margin:4px 0 12px;line-height:1.5}.instructor-navbar{position:fixed;top:0;left:0;right:0;z-index:40;width:100%;background:#cfdcda;border-bottom:1px solid rgba(8,103,89,.12);box-shadow:0 6px 14px #80808033;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.instructor-navbar-inner{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:86px;display:flex;align-items:center;justify-content:flex-start;gap:24px}.instructor-nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}.instructor-nav-link{color:#284740;text-decoration:none;padding:10px 18px;border-radius:999px;font-weight:600;transition:background-color .2s ease,color .2s ease}.instructor-nav-link:hover{background:#d9efe4;color:#0a5f53}.instructor-nav-link.active{background:#086759;color:#fff}.instructor-nav-logo-link{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.instructor-nav-logo{width:56px;max-width:100%;height:auto;display:block}.instructor-nav-logo-link:hover{transform:scale(1.08);box-shadow:0 4px 12px #00000024}.instructor-page-shell{min-height:100vh;--instructor-navbar-height: 86px}.instructor-page-content{padding:calc(var(--instructor-navbar-height) + 32px) 0 0}.logout-btn{background-color:transparent;border:1px solid #284740;color:#284740;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;margin-left:auto;flex-shrink:0}.logout-btn:hover{background-color:#284740;color:#fff}@media(max-width:768px){.instructor-navbar-inner{width:min(100%,calc(100% - 24px));min-height:auto;padding:16px 0;flex-direction:column-reverse;align-items:stretch}.instructor-nav-links{justify-content:center}.instructor-nav-link{flex:1 1 140px;text-align:center}.instructor-nav-logo-link{align-self:center}.instructor-page-content{padding-top:calc(var(--instructor-navbar-height) + 24px)}.instructor-page-shell{--instructor-navbar-height: 152px}}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out;background-color:#00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;padding:clamp(20px,5vw,40px);max-width:500px;width:90%;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-in-out;box-sizing:border-box}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.modal-icon{font-size:32px;line-height:1}.modal-header h2{margin-top:20px;font-size:20px;color:#333;font-weight:600}.modal-message{color:#555;font-size:16px;line-height:1.5;margin:20px 0 50px;text-align:center}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 24px;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.modal-btn-cancel{background-color:#e8e8e8;color:#333}.modal-btn-cancel:hover{background-color:#d0d0d0;transform:translateY(-2px)}.modal-btn-confirm{background-color:#5ba89f;color:#fff}.modal-btn-confirm:hover{background-color:#4d9690;transform:translateY(-2px)}.modal-btn-confirm:active{transform:translateY(0)}#root{width:100%;padding:0;margin:0}input[type=text]{border-radius:5px;width:100%;max-width:386px;height:30px}span{color:#2c3e50;font-size:16px;font-weight:400}.page-wrapper{display:flex;flex-direction:column;align-items:center;padding:0}.page-container{width:100%;max-width:880px;padding:0 20px 60px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;margin:0 auto}.survey-options{display:flex;flex-direction:column;gap:12px;margin-bottom:10px}.survey-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;min-height:44px}.survey-option input[type=radio]{width:22px;height:22px;accent-color:#086759;cursor:pointer;flex-shrink:0}.survey-question{font-size:18px}.student-list{column-count:2;gap:30px;list-style-position:inside;color:#111827;font-weight:500}.stats-card{background-color:#d1fae5;padding:20px;border-radius:12px;min-width:180px;height:fit-content;font-size:14px;color:#065f46}.stats-card p{margin:8px 0}.survey-secondary-actions{display:flex;justify-content:space-between;margin-top:24px}.btn-secondary{padding:10px 18px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:500;background:#e5e7eb;color:#374151;transition:background .2s ease}.btn-secondary:hover{background:#d1d5db}.full-name-input{width:100%;padding:12px;font-size:16px;border:1px solid #d1d5db;border-radius:12px;margin-top:8px;box-sizing:border-box}.other-input{display:flex;flex-direction:column;gap:8px;width:100%;max-width:386px;margin-bottom:30px;margin-top:20px}.question-title{font-size:20px;font-weight:600;display:block;margin-bottom:25px;text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;max-width:100%;min-width:0}.details{color:#666;margin-bottom:45px;line-height:1.5}.gpa-info{font-size:1.1rem;margin-bottom:25px;line-height:1.5;width:100%;max-width:880px}.gpa-error{font-size:14px;color:#dc2626;margin-top:4px}.grade-question .details{margin-bottom:12px}.grade-question .gpa-input{margin-top:10px}.gpa-input{background-color:#b2e1cb;border:none;width:90px;border-radius:10px;padding:10px 16px;font-size:18px;text-align:center;cursor:pointer;margin-top:16px;margin-bottom:8px}.gpa-input:hover{background-color:#a0cdc5}.gpa-input:focus{outline:none;background-color:#a0cdc5}.gpa-input::-webkit-outer-spin-button,.gpa-input::-webkit-inner-spin-button{-webkit-appearance:auto}.availability-section{display:flex;flex-direction:column;gap:16px}.availability-info{font-size:12px;color:#6b7280;margin-top:-8px}.placement-center{display:flex;align-items:center;justify-content:center}.availability-container{display:flex;align-items:center;max-width:590px;min-width:370px;padding:0 1% 24px 8px;border-radius:12px;background:#ececec;box-sizing:border-box}.availability-table-wrapper{overflow-x:auto;background:transparent;border-radius:12px;-webkit-user-select:none;user-select:none;padding:0}.availability-grid{display:flex;flex-direction:column;width:fit-content}.time-header{display:flex;margin-bottom:10px}.corner-cell{width:40.5px;min-width:40.5px;margin-right:8px}.day-column-header{padding:0}.time-slot-header{width:42px;min-width:42px;padding:0 8px;text-align:left;font-size:14px;font-weight:500;color:#1f2937;display:flex;align-items:center;justify-content:flex-start}.day-column-header{width:56px;min-width:30px;height:50px;margin:0;text-align:center;font-size:14px;font-weight:500;background:#086759;color:#fff;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.45);letter-spacing:.02em}.first-day-column-header{border-top-left-radius:10px;border-bottom-left-radius:10px}.last-day-column-header{border-right:none;width:57px;border-top-right-radius:10px;border-bottom-right-radius:10px}.time-row{display:flex;align-items:center}.time-cell-background{margin:4.5px;width:45px;height:34px;background:#fff;border-radius:5px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:4px solid white}.time-cell{width:100%;height:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;background:#fff;border-radius:3px}.time-cell:hover{background:#e9f6f0}.time-cell.selected{background:#dbf1e7}.time-cell.selected:hover{background:#a1dabf}.time-cell:active{background:#93c2ab}.checkmark-icon{width:16px;height:16px;pointer-events:none;-webkit-user-select:none;user-select:none}.survey-form{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}.survey-actions{display:flex;justify-content:flex-end;margin-top:20px}.survey-message{background:#fff;padding:24px;border-radius:12px;margin-top:20px;box-shadow:0 2px 8px #0000000d;text-align:center;font-weight:500}@media(max-width:768px){.question-title{font-size:18px;margin-bottom:18px}.details{margin-bottom:24px}.corner-cell{width:40.5px;min-width:40.5px;margin-right:3px}.time-slot-header{width:38px;min-width:38px;padding:0 4px;font-size:12px}.day-column-header{min-width:44px;width:44px;height:42px;font-size:12px}.last-day-column-header{width:44px}.time-cell-background{width:38px;height:32px;margin:3px}}@media(max-width:480px){.page-container{padding:0}.question-container{padding:20px;border-radius:0}.survey-option{font-size:17px}.survey-option input[type=radio]{width:24px;height:24px}.full-name-input{font-size:17px;min-height:44px}.gpa-input{min-height:44px;font-size:17px;width:110px}.survey-actions{justify-content:stretch}.survey-actions .button{width:100%;min-height:46px;font-size:16px;margin:-10px 20px 20px}}.thank-you-page{width:100%;display:flex;justify-content:center;align-items:center;min-height:100vh}.thank-you-wrapper{flex-direction:column;width:100%;max-width:880px;padding:0 20px;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto}.thank-you-card{background:#fff;min-height:280px;padding:clamp(20px,5vw,40px);border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin-bottom:30px;width:100%;box-sizing:border-box}.thank-you-title{font-size:24px;font-weight:600;text-align:center;margin:0 0 20px;color:#333}.thank-you-message{font-size:18px;color:#333;margin:0}.thank-you-message:not(:last-child){margin-bottom:10px}.link-page-header{width:100%;max-width:1440px;align-self:center;position:absolute;top:0;left:50%;transform:translate(-50%);z-index:10}.link-page-header-image{display:block;width:100%;height:auto;vertical-align:bottom}.button-container{width:100%}.link-generation-layout{display:flex;flex-direction:column;gap:20px}.link-generation-title-card,.link-generation-link-card{margin-bottom:0}.link-generation-link-card{padding:80px}.link-generation-info-text{color:#666;margin:20px 0 45px;text-align:center}.link-generation-link-card .action-row{margin-top:0}.card-container{background:#fff;width:100%;max-width:800px;padding:clamp(20px,5vw,40px);padding-bottom:clamp(30px,7vw,60px);box-shadow:0 4px 20px #0000000d;border-radius:15px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;margin:0 20px}.card-title{font-size:2.2rem;color:#333;margin-bottom:20px;text-align:center;font-weight:700}.action-row{display:flex;align-items:center;gap:15px;justify-content:center;width:100%;margin-top:20px}.url-box{background:#f1f3f5;padding:45px 25px;border-radius:12px;border:1px solid #dee2e6;color:#2563eb;font-size:1rem;word-break:break-all;flex:1;max-width:70%;text-align:center}.icon-group{display:flex;flex-direction:column;gap:8px}.icon-btn{background-color:#b2dfdb;border:2px solid #b2dfdb;border-radius:8px;padding:10px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background-color:#80cbc4;border-color:#80cbc4}.footer-action-row{display:flex;justify-content:center;gap:15px;margin-top:30px;width:100%}.footer-action-row.centered{display:flex;justify-content:center;gap:0!important;width:100%}.link-generation-actions{justify-content:space-between;gap:14px;margin-top:16px}h2{text-align:center}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center}.landing-header{width:100%;max-width:1440px;position:relative;z-index:2}.landing-header-image{display:block;width:100%;height:auto;vertical-align:bottom}.landing-main{width:100%;max-width:880px;padding:0 20px;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;position:relative;z-index:1;margin:0 auto}.landing-card{width:100%;max-width:880px;display:flex;flex-direction:column;align-items:center;gap:10px}.landing-title{font-size:clamp(20px,5vw,28px);font-weight:600;margin:0;background-color:#fff;border-radius:18px;padding:clamp(16px,4vw,26px) clamp(20px,5vw,60px);box-shadow:0 3px 10px #00000014;align-self:stretch;text-align:center;width:100%;box-sizing:border-box}.landing-content-card{width:100%;background-color:#fff;border-radius:12px;box-shadow:0 3px 10px #00000014;padding:clamp(28px,6vw,64px) clamp(20px,5vw,40px);display:flex;flex-direction:column;align-items:center;gap:25px;box-sizing:border-box}.landing-description{max-width:680px;color:#374151;font-size:1rem;line-height:1.7;text-align:center}.landing-description p{margin:0;padding-top:16px;padding-bottom:40px}.landing-primary-button{width:320px;padding:16px 42px;border-radius:10px;border:none;background-color:#a4beb7;color:#000;font-size:15px;cursor:pointer;white-space:nowrap}.landing-primary-button:hover{background-color:#94b0a9}.landing-secondary-button{width:320px;padding:16px 42px;border-radius:10px;border:none;background-color:#a4beb7;color:#000;font-size:15px;cursor:pointer;white-space:nowrap}.landing-secondary-button:hover{background-color:#94b0a9}.landing-title-container{display:flex;align-items:center;justify-content:center;gap:8px;background-color:#fff;border-radius:18px;padding:clamp(16px,4vw,26px) clamp(20px,5vw,60px);box-shadow:0 3px 10px #00000014;align-self:stretch;width:100%;box-sizing:border-box}.landing-title-container h1{font-size:clamp(20px,5vw,28px);font-weight:600;margin:0;text-align:center}.info-icon-wrapper{cursor:pointer;display:flex;align-items:center;color:#6b7280;transition:color .2s ease,filter .2s ease;flex-shrink:0;position:relative;z-index:10}.info-icon-wrapper:hover{color:#2d7d6f;filter:drop-shadow(0 0 4px rgba(45,125,111,.4))}.info-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;animation:infoFadeIn .3s ease-in-out;background-color:#00000080}@keyframes infoFadeIn{0%{opacity:0}to{opacity:1}}.info-modal-content{background:#fff;border-radius:12px;padding:clamp(20px,5vw,40px);max-width:500px;width:90%;box-shadow:0 10px 40px #0003;animation:infoSlideUp .3s ease-in-out;box-sizing:border-box}@keyframes infoSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.info-modal-header{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.info-modal-header h2{margin-top:20px;font-size:20px;color:#333;font-weight:600}.info-modal-message{color:#555;font-size:16px;line-height:1.5;margin:20px 0 30px;text-align:left}.info-modal-actions{display:flex;gap:12px;justify-content:flex-end}.info-modal-btn{padding:10px 24px;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px;background-color:#5ba89f;color:#fff}.info-modal-btn:hover{background-color:#4d9690;transform:translateY(-2px)}.info-modal-btn:active{transform:translateY(0)}.info-modal-intro{margin:0 0 16px;color:#555}.info-modal-steps{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.info-modal-steps li{display:flex;align-items:flex-start;gap:10px;color:#555;font-size:15px;line-height:1.5}.info-step-icon{font-size:18px;flex-shrink:0;margin-top:1px}.info-modal-footer{margin:0;color:#555;font-size:15px;line-height:1.5}.decryption-page{width:100%;display:flex;justify-content:center;align-items:center}.decryption-wrapper{flex-direction:column;width:100%;max-width:880px;padding:0 20px;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto}.decryption-card{background:#fff;min-height:200px;padding:clamp(20px,5vw,40px);border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,5vw,40px);margin-bottom:30px;width:100%;box-sizing:border-box}.decryption-title{font-size:24px;font-weight:600;text-align:center;margin:0 0 20px;color:#333}.decryption-info-section{text-align:center;margin-bottom:0}.decryption-info{font-size:14px;line-height:1.6;text-align:center;color:#666;margin:0}.decryption-input{padding:12px;font-size:16px;border:1px solid #d1d5db;border-radius:8px;width:100%;box-sizing:border-box}.decryption-input:focus{outline:none;border-color:#086759;background-color:#f0f9f7}.decryption-actions{display:flex;justify-content:center;gap:15px;width:100%}.decryption-button{padding:12px 30px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;background-color:#b2dfdb;color:#333}.decryption-button:hover:not(:disabled){background-color:#80cbc4;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.decryption-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.decryption-button-group{display:flex;justify-content:center;gap:15px;width:100%}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;padding:40px;border-radius:16px;width:450px;max-width:90%;box-shadow:0 10px 25px #0000001a;text-align:center;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{margin-top:0;color:#374151;font-size:1.5rem;font-family:Inter,sans-serif}.modal-content p{color:#6b7280;font-size:14px;line-height:1.6;margin-bottom:20px}.instruction{background-color:#f9fafb;padding:10px;border-radius:8px;border:1px dashed #d1d5db;margin-bottom:15px}.instruction strong{color:#d32f2f}.purge-input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;margin-bottom:10px;outline:none;transition:border-color .2s;box-sizing:border-box}.purge-input:focus{border-color:#bee0ac}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:10px}.btn-secondary{background-color:#f3f4f6;color:#374151;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;font-weight:500;transition:background .2s}.btn-secondary:hover{background-color:#e5e7eb}.btn-danger{background-color:#d1d5db;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:not-allowed;font-family:Inter,sans-serif;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:120px}.btn-danger.active{background-color:#d32f2f;cursor:pointer;box-shadow:0 4px 12px #d32f2f33}.btn-danger.active:hover{background-color:#b71c1c}.spinner{border:3px solid rgba(255,255,255,.3);border-top:3px solid #ffffff;border-radius:50%;width:18px;height:18px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-details-main-layout{display:flex;align-items:stretch;gap:20px;margin-bottom:50px}.form-details-grid{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-detail-card{background:#fff;border-radius:12px;padding:34px 24px;box-shadow:0 12px 30px #0c342c0f;display:flex;flex-direction:column;gap:10px;border:1px solid #e5eee9}.form-detail-card.full-width{grid-column:span 2}.form-detail-label{color:#5d6f67;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.form-detail-label--spaced{margin-top:.75rem}.form-detail-label-with-icon{display:inline-flex;align-items:center;gap:8px}.form-detail-label-icon{width:18px;height:18px;object-fit:contain}.form-detail-value{color:#162a24;font-size:1.25rem;font-weight:700;line-height:1.4}.form-detail-link{color:#086759;font-size:1rem;font-weight:700;text-decoration:none}.form-detail-link:hover{text-decoration:underline}.form-detail-link-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.form-actions-rail{background:#9db8b5;border-radius:12px;padding:27px 14px;min-width:86px;max-height:402px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:sticky;top:120px}.form-actions-rail-button{width:58px;height:58px;border:0;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.form-actions-rail-button img{width:30px;height:30px;object-fit:contain}.form-actions-rail-button:hover{transform:translateY(-1px)}.form-actions-rail-button:disabled{cursor:not-allowed;opacity:.5}.form-description-text{color:#4c5b54;line-height:1.75;margin:0;font-size:1rem}.instructor-form-actions{justify-content:flex-start;gap:14px;flex-wrap:wrap}.instructor-form-actions-right{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}.go-back-button{margin-left:0;min-width:180px}@media(max-width:900px){.form-hero-card{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.form-details-main-layout{flex-direction:column}.form-details-grid{grid-template-columns:1fr}.form-actions-rail{position:static;width:100%;min-width:0;flex-direction:row;justify-content:center}.instructor-form-actions{flex-direction:column}.instructor-form-actions-right{margin-left:0;width:100%;flex-direction:column}.form-detail-card.full-width{grid-column:auto}}.survey-page-wrapper{max-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center}.survey-card{font-size:1.1rem;line-height:1.5;width:100%;box-sizing:border-box}.results-layout{display:flex;flex-direction:row;justify-content:space-between;gap:30px}@media(max-width:1024px){.results-layout{flex-direction:column}}.student-list-container{flex:2;display:flex;justify-content:flex-start;align-items:flex-start;background:#fff;padding:40px;border-radius:16px;box-shadow:0 4px 12px #0000000d;min-height:350px;outline:none!important;border:none!important;transition:box-shadow .2s ease}.student-list-container:has(.encrypted-submissions-message){align-items:center}.student-list-container:focus,.student-list-container:focus-within,.student-list-container:focus-visible{outline:none!important;border:none!important;box-shadow:0 4px 12px #0000000d!important}.student-list-container.survey-card:hover{border-color:transparent!important;box-shadow:0 4px 12px #0000000d!important;transform:none!important}.survey-card{outline:none;border:none}.student-table{width:100%;display:flex;flex-direction:column}.table-header{display:grid;grid-template-columns:40px 1fr 100px 80px;gap:15px;padding:15px;background-color:#f3f4f6;border-radius:8px 8px 0 0;font-weight:600;color:#333;border-bottom:2px solid #e5e7eb}.table-body{display:flex;flex-direction:column;max-height:500px;overflow-y:auto}.table-row{display:grid;grid-template-columns:40px 1fr 100px 80px;gap:15px;padding:12px 15px;border-bottom:1px solid #f3f4f6;align-items:center}.table-row:hover{background-color:#f9fafb}.table-cell{font-size:14px}.cell-number{text-align:center;color:#6b7280;font-weight:500}.cell-name{color:#374151}.cell-gender,.cell-gpa{text-align:center;color:#374151}.student-grid{display:flex;flex-direction:column;gap:10px;width:100%}.student-row-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f0f0}.student-name{font-size:16px;color:#374151;margin:0;padding:8px 0}.student-row-item .student-name{margin:0}.name-number{font-weight:600;color:#6b7280;margin-right:8px}.student-delete-button{background:none;border:none;color:#c7c7c7;cursor:pointer;font-size:1.1rem;padding:4px 8px}.encrypted-submissions-message{text-align:center;padding:20px;width:100%}.encrypted-submissions-message p{color:#666;margin-bottom:80px}.stats-card-sidebar{flex:1;display:flex;flex-direction:column;justify-content:center;background-color:#90db673b;padding:25px;border-radius:16px;color:#065f46;height:350px;box-shadow:0 2px 8px #00000005}.stats-row{display:flex;justify-content:space-between;align-items:center;margin:15px 0;font-size:15px}.stats-divider{margin:20px 0;border:0;border-top:2px solid rgba(6,95,70,.18)}.survey-closed-message{color:#d32f2f;font-weight:700;text-align:center;margin-bottom:10px}.stats-row span{font-weight:500}.stats-row strong{font-size:18px;font-weight:700}.student-name{margin-bottom:10px}.decrypt-button{background-color:#b2e1cb;width:60%;color:balck;border:none;border-radius:6px;padding:10px;font-weight:400;font-family:Inter,sans-serif;cursor:pointer;font-size:14px;transition:all .2s ease}.decrypt-button:hover{background-color:#90d5ba}.close-survey-btn{width:100%;padding:10px;background-color:#bee0ac;font-weight:400;font-family:Inter,sans-serif;font-size:14px;color:#000;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.close-survey-btn:hover{background-color:#7fb9508e}.generate-groups-btn{width:100%;margin-top:10px;padding:10px;background-color:#bee0ac;color:#000;border:none;border-radius:6px;font-weight:400;font-family:Inter,sans-serif;font-size:14px;cursor:pointer;transition:all .2s ease}.generate-groups-btn:hover{background-color:#7fb9508e}.survey-submissions-actions{margin-top:30px;justify-content:flex-end}.surveys-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:30px 0}.survey-card{border:2px solid #ddd;border-radius:8px;padding:20px;background:#fff;cursor:pointer;transition:all .3s ease;position:relative}.view-surveys-container{width:100%;max-width:880px;padding:0 20px 60px;box-sizing:border-box;align-items:center;margin:0 auto}.survey-card:hover{border-color:#50aa57;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.survey-card.selected{border-color:#28a745;background:#f0f8f5;box-shadow:0 4px 12px #28a74533}.survey-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px;gap:10px}.survey-card-header h3{margin:0;color:#333;font-size:1.3em;flex:1}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8em;font-weight:600;white-space:nowrap}.status-badge.open{background:#d4edda;color:#155724}.status-badge.closed{background:#f8d7da;color:#721c24}.survey-card-details{display:flex;flex-direction:column;gap:8px}.survey-card-details p{margin:0;color:#555;font-size:.95em;line-height:1.4}.survey-card-details .groups-formed-status{color:#1f8a41;font-weight:700}.survey-card-details strong{color:#333}.survey-card-selected-indicator{position:absolute;top:10px;right:10px;background:#28a745;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700}.loading-message p{color:#666;font-size:1.1em;margin:0}@media(max-width:768px){.surveys-list{grid-template-columns:1fr}.button{width:100%}.survey-card-header{flex-direction:column}.survey-card-header h3{margin-bottom:10px}}.forming-groups-content-container,.formed-teams-preview-content-container{--forming-group-card-width: 520px;--forming-groups-grid-gap: 16px}.group-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;flex-wrap:wrap;width:var(--forming-group-card-width, 520px);transition:all .2s ease-in-out}.group-card.dragging-active{border:2px dashed #4B9E5F;box-shadow:0 2px 8px #0000000d,inset 0 0 0 2px #4b9e5f1a}.group-card.droppable--over{border:2px solid #4B9E5F;background-color:#f0f8f4;box-shadow:0 2px 8px #0000000d,inset 0 0 0 2px #4b9e5f33}.group-card.droppable--inactive{opacity:.5}.group-header{background-color:#bee0ac;color:#fff;padding:15px;font-weight:600;font-size:16px;text-align:center}.group-body{display:flex;flex-direction:column;flex-wrap:wrap;padding:10px}.shared-availability-section{padding:10px;border-top:1px solid #f3f4f6;margin-top:10px;background-color:#f9fafc;border-radius:4px;display:flex;gap:8px;align-items:flex-start}.shared-availability-label{font-weight:600;color:#333;font-size:13px;margin-bottom:0;white-space:nowrap}.shared-availability-content{font-size:12px;color:#666;word-break:break-word;white-space:normal;line-height:1.4}.group-table-header{display:grid;grid-template-columns:1.15fr .85fr .95fr .85fr 2.8fr;gap:8px;padding:10px;background-color:#f3f4f6;border-radius:6px;font-weight:600;color:#333;font-size:12px;margin-bottom:10px;white-space:normal;line-height:1.2}.group-table-row{display:grid;grid-template-columns:1.15fr .85fr .95fr .85fr 2.8fr;gap:8px;padding:8px;border-bottom:1px solid #f3f4f6;align-items:center;font-size:13px;min-height:40px}.group-body .group-table-row:nth-child(2n){background-color:#fff}.group-body .group-table-row:nth-child(odd){background-color:#f2f8ee}.group-table-row:last-child{border-bottom:none}.group-table-cell{text-align:left;color:#374151;padding:0;white-space:normal;line-height:1.2}.group-table-cell-prewrap{white-space:pre-wrap}.group-table-header.two-col,.group-table-row.two-col{grid-template-columns:1fr 2fr}.group-table-header.two-col .group-table-cell,.group-table-row.two-col .group-table-cell{white-space:normal;overflow-wrap:anywhere;min-width:0}.forming-groups-config-section{display:flex;align-items:stretch;gap:28px;padding:24px 30px;margin-bottom:20px}.forming-groups-config-grid{display:grid;grid-template-columns:minmax(220px,1fr) 160px 120px;gap:20px;flex:1;min-width:0;align-items:start}.forming-groups-config-box{padding:15px;background-color:#f3f4f6;border-radius:8px}.forming-groups-config-box-compact{min-width:0;padding-top:12px;padding-bottom:12px}.forming-groups-config-label{margin:0 0 5px;color:#666;font-size:12px;font-weight:500}.forming-groups-config-value{margin:0;font-size:16px;font-weight:700;color:#333}.forming-groups-config-actions-rail{position:static;top:auto;flex-direction:row;align-self:stretch;min-width:auto;min-height:0;max-height:none;padding:10px 14px;margin-right:0}.forming-groups-config-actions-rail .form-actions-rail-button{width:50px;height:50px}.forming-groups-config-actions-rail .form-actions-rail-button img{width:26px;height:26px}.forming-groups-results-actions-rail{display:none}.formed-teams-preview-results-layout{display:flex;justify-content:center;align-items:flex-start;width:100vw;margin-left:50%;transform:translate(-50%)}.formed-teams-preview-title{text-align:center}.formed-teams-preview-groups-container{width:min(100vw,calc(4 * var(--forming-group-card-width, 520px) + 3 * var(--forming-groups-grid-gap, 16px)))}.formed-teams-shared-availability{background-color:#e0f2f1}.formed-teams-preview-actions{justify-content:flex-end;margin-top:30px;width:min(100%,880px);margin-left:auto;margin-right:auto}.forming-groups-content-container{width:min(95vw,1562px);padding-left:0;padding-right:0}.forming-groups-content-container .question-container{width:min(100%,880px);margin-left:auto;margin-right:auto}.forming-groups-results-layout{display:flex;justify-content:center;align-items:flex-start;width:100vw;margin-left:50%;transform:translate(-50%)}.forming-groups-student-groups-container{width:min(100vw,calc(4 * var(--forming-group-card-width, 520px) + 3 * var(--forming-groups-grid-gap, 16px)))}.forming-groups-grid{display:grid;grid-template-columns:repeat(auto-fit,var(--forming-group-card-width, 520px));gap:var(--forming-groups-grid-gap, 16px);width:min(100%,calc(4 * var(--forming-group-card-width, 520px) + 3 * var(--forming-groups-grid-gap, 16px)));justify-content:center;margin:0 auto}.forming-groups-grid .group-card.droppable{justify-self:center}.forming-groups-grid .group-card:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center}.forming-groups-button-tray{margin-top:40px;display:flex;justify-content:flex-end;width:min(100%,880px);margin-left:auto;margin-right:auto}@media(min-width:1122px)and (max-width:1655px){.forming-groups-student-groups-container,.formed-teams-preview-groups-container{width:min(100vw,calc(2 * var(--forming-group-card-width, 520px) + var(--forming-groups-grid-gap, 16px)))}.forming-groups-grid{grid-template-columns:repeat(2,var(--forming-group-card-width, 520px));width:min(100%,calc(2 * var(--forming-group-card-width, 520px) + var(--forming-groups-grid-gap, 16px)))}}@media(min-width:1656px)and (max-width:2193px){.forming-groups-student-groups-container,.formed-teams-preview-groups-container{width:min(100vw,calc(3 * var(--forming-group-card-width, 520px) + 2 * var(--forming-groups-grid-gap, 16px)))}.forming-groups-grid{grid-template-columns:repeat(3,var(--forming-group-card-width, 520px));width:min(100%,calc(3 * var(--forming-group-card-width, 520px) + 2 * var(--forming-groups-grid-gap, 16px)))}}@media(min-width:2194px){.forming-groups-student-groups-container,.formed-teams-preview-groups-container{width:min(100vw,calc(4 * var(--forming-group-card-width, 520px) + 3 * var(--forming-groups-grid-gap, 16px)))}.forming-groups-grid{grid-template-columns:repeat(4,var(--forming-group-card-width, 520px));width:min(100%,calc(4 * var(--forming-group-card-width, 520px) + 3 * var(--forming-groups-grid-gap, 16px)))}}@media(max-width:1121px){.forming-groups-content-container .question-container{width:min(100%,800px)}.forming-groups-results-layout{display:grid;grid-template-columns:var(--forming-group-card-width, 520px) 86px;justify-content:center;column-gap:20px}.forming-groups-config-actions-rail{display:none}.forming-groups-student-groups-container{grid-column:1;width:var(--forming-group-card-width, 520px)}.forming-groups-results-actions-rail{display:flex;grid-column:2;justify-self:start;position:static;top:auto;flex-direction:column;align-self:flex-start;min-width:auto;min-height:220px;max-height:none;padding:27px 14px;margin-right:0}.forming-groups-grid{grid-template-columns:var(--forming-group-card-width, 520px)}}@media(max-width:719px){.forming-groups-content-container .question-container{width:100%}.forming-groups-config-section{flex-direction:row;align-items:stretch;gap:28px;padding:32px 36px}.forming-groups-config-grid{grid-template-columns:1fr;gap:16px}.forming-groups-config-actions-rail{display:flex;flex-direction:column;justify-content:center;align-self:stretch;gap:14px;width:78px;min-width:78px;min-height:0;padding:16px 10px}.forming-groups-config-actions-rail .form-actions-rail-button{width:50px;height:50px}.forming-groups-config-actions-rail .form-actions-rail-button img{width:26px;height:26px}.forming-groups-results-layout,.formed-teams-preview-results-layout{display:flex;flex-direction:column;align-items:center}.forming-groups-results-actions-rail{display:none}.forming-groups-student-groups-container,.formed-teams-preview-groups-container{width:100%;max-width:min(100vw,var(--forming-group-card-width, 520px))}.forming-groups-grid{grid-template-columns:minmax(0,1fr);width:100%}.forming-groups-grid .group-card{width:min(var(--forming-group-card-width, 520px),100%)}}
