body{background-color:#f4fafc;font-family:Lexend,sans-serif;font-size:16px;margin:0;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}body *{font-family:Lexend,sans-serif}input[type=file]{display:none}.custom-file-name{margin-left:10px}svg image{user-drag:none;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}#root{height:100vh;position:absolute;width:100%}.login-container{border:1px solid #ccc;padding:20px;text-align:center}.welcome-message{font-size:16px;margin-bottom:20px}.login-sections{align-items:flex-start;display:flex;justify-content:center}.login-divider{border-left:2px solid #000;height:200px;margin:0 80px}.login-section{align-items:center;display:flex;flex-direction:column}.login-input{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:8px;width:200px}.login-button{background-color:#000;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px}.login-button:hover{background-color:#333}.login-text{align-items:center;display:flex;margin-top:20px}.arrow{margin-left:5px}.forgot-password{align-self:flex-end;cursor:pointer;font-size:14px;margin-bottom:10px;margin-top:5px}.google{align-items:center;background-color:#4285f4;color:#fff;display:flex;justify-content:center}.google-icon{margin-right:10px}.logout-message{animation:fadeOut 10s forwards;background-color:#4caf50;color:#fff;left:0;padding:10px 0;position:absolute;text-align:center;top:0;width:100%;z-index:1}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.login-button.black:disabled{background-color:#555;cursor:not-allowed}.header-controls{justify-content:flex-end;padding-bottom:20px;padding-right:40px;width:100%}.header-controls,.sort-dropdown,.view-mode-and-sort{align-items:center;display:flex}.sort-dropdown{color:grey;margin-right:20px}.view-mode-selector{align-items:center;display:flex;gap:6px}.view-mode-selector button{background:none;border:none;cursor:pointer;padding:5px}.view-mode-selector button.selected{background-color:#f0f0f0}.view-mode-selector img{transition:transform .3s ease}.view-mode-selector button:hover img{transform:scale(1.01)}.auth-buttons{align-items:center;display:flex;position:absolute;right:0;top:10px}.admin-button,.logout-button{background:linear-gradient(45deg,#1e3c72,#2a5298);background-size:200% 200%;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin-left:10px;padding:10px 20px;transition:background .3s ease-in-out}.admin-button{background:linear-gradient(160deg,#2abfd4,#28a0c3)}.admin-button:hover,.logout-button:hover{animation:gradient-wave 3s ease infinite;background:linear-gradient(45deg,#0f0c29,#302b63,#24243e);background-size:200% 200%}.design-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.design-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;padding:16px;transition:transform .2s}.design-card:hover{transform:scale(1.01)}.design-thumbnail{border:1px solid #ddd;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.design-info{background-color:#fff;font-weight:700;overflow:hidden;padding-bottom:16px;text-overflow:ellipsis;white-space:nowrap}.design-info strong{display:block;margin-bottom:5px}.design-link{color:inherit;text-decoration:none}.design-link:hover{color:#000}.new-design-card{align-items:center;background-color:#000;color:#fff;cursor:pointer;display:flex;justify-content:center}.metadata{color:grey;display:flex;flex-direction:column;font-size:14px;gap:2px;padding-top:16px}.create-new-design{text-align:center}.plus-sign{font-size:180px;margin-bottom:8px}.create-new-text{font-size:24px}.design-list td,.design-list th{padding:15px;text-align:left}a{color:inherit;font-weight:700;text-decoration:none}a:hover{color:#000}.design-list td{background-color:#fff;border-spacing:16px}.design-list table{max-width:1080px}.custom-tooltip .ant-tooltip-inner{background-color:#000;border-radius:4px;color:#fff}.custom-tooltip .ant-tooltip-arrow{border-top-color:#000}.design-list table{background-color:none;border-collapse:collapse;width:100%}@keyframes pulseLetter{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.pulsing-letter{animation:pulseLetter 1.5s infinite;display:inline-block}.submitting-animation{background:linear-gradient(90deg,#120136,#0c0032,#2e0239,#3b064d);border-radius:10px;bottom:20px;color:#8fe3cf;font-family:"Monaco, monospace";font-size:20px;letter-spacing:3px;padding:10px 20px;position:absolute;right:20px;white-space:nowrap}.confetti-thank-you{box-shadow:0 8px 16px 0 rgba(0,0,0,.2);position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1002}.confetti-thank-you,.global-thank-you{background-color:#fff;border-radius:10px;left:50%;padding:20px}.global-thank-you{box-shadow:0 4px 8px rgba(0,0,0,.1);position:fixed;text-align:center;top:0;transform:translateX(-50%);width:300px;z-index:1003}.modal-button{border:none;border-radius:10px;cursor:pointer;margin:8px 0;padding:14px 20px;transition:background-image .3s ease-in-out}.modal-button:disabled{cursor:not-allowed;opacity:.5}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{border:1px solid transparent;border-bottom:none;bottom:-1px;cursor:pointer;display:inline-block;list-style:none;padding:6px 12px;position:relative}.react-tabs__tab--selected{background:#fff;border-color:#aaa;border-radius:5px 5px 0 0;color:#000}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{outline:none}.react-tabs__tab:focus:after{background:#fff;bottom:-5px;content:"";height:5px;left:-4px;position:absolute;right:-4px}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}@keyframes slideDown-show{0%{opacity:0;transform:translateY(-100%);visibility:visible}to{opacity:1;transform:translateY(0);visibility:visible}}.modal{background-color:#fff;border-radius:5px;padding:20px;visibility:hidden;z-index:1001}.modal-enter{animation:slideDown-show .5s ease-out forwards;visibility:visible}.button{border-radius:20px;box-shadow:0 4px 6px rgba(0,0,0,.1);font-weight:700;margin:0 10px;padding:8px 16px;transition:transform .3s ease,box-shadow .3s}.button:hover{box-shadow:0 6px 12px rgba(0,0,0,.2);transform:translateY(-2px)}.yes-button{background-image:linear-gradient(90deg,#056608,#0d8a70)}.no-button{background-image:linear-gradient(90deg,#fe8c00,#f83600)}.modal-overlay{align-items:center;background-color:rgba(0,0,0,.5);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2);max-width:90%;padding:30px;width:500px}.modal-content label{font-size:16px;margin-right:10px}.modal-content input[type=date],.modal-content input[type=number]{border:1px solid #ccc;border-radius:5px;margin-top:5px;padding:8px}.modal-content button:hover{opacity:.9}@media (max-width:600px){.modal-content{width:90%}}.reset-password-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;position:relative;text-align:center}.reset-password-container input{font-size:16px;margin:10px 0;padding:10px;width:300px}.reset-password-button{background-color:#000;border:none;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px;transition:background .3s ease}.reset-password-button.disabled{animation:gradient-animation 1.5s ease infinite;background:linear-gradient(145deg,#d8d8d8,#f0f0f0);color:#888;cursor:not-allowed}@keyframes gradient-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.password-toggle{right:35px;top:10px}.confetti-canvas{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:2000}.create-password-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.create-password-container input{box-sizing:border-box;font-size:16px;margin:10px 0;padding:10px;width:300px}.password-field{width:300px}.password-field,.password-input{position:relative}.password-toggle{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.create-password-button{background-color:#000;border:none;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px;transition:background .3s ease}.create-password-button.disabled{background:linear-gradient(145deg,#d8d8d8,#f0f0f0);color:#888;cursor:not-allowed}.create-password-button.loading{animation:gradient 1.5s infinite;background:linear-gradient(270deg,#d8d8d8,#f0f0f0,#333,#000);background-size:600% 600%}.message{color:red}.message,.message-success{font-weight:700;margin-top:10px}.message-success{color:#2a9d8f}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.student-container{display:flex;flex-direction:column;gap:10px}.student-item{align-items:center;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;padding:10px}.student-name{flex:1;max-width:200px;min-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-student-row{align-items:center;display:flex;gap:10px;margin-bottom:20px}.input{border:1px solid #ddd;border-radius:4px;flex:1;padding:8px}.button{background-color:#26adbb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:400;padding:10px}.button:hover{background-color:#1d828c}.passcode-text{background-color:#f0f0f0;border-radius:4px;cursor:pointer;min-width:100px;padding:8px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{body{margin:0!important;padding:0!important;-webkit-print-color-adjust:exact}.footer,.header,.modal-overlay,button,nav{display:none!important}.card-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin:0!important;padding:0!important}.card,.card-grid{page-break-inside:avoid}.card{border:1px solid #000;box-shadow:none;margin-bottom:20px}}