*{margin:0;padding:4px;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#edece9,#d0cac2,#87867a 66%,#585855);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;transition:background .4s ease;position:relative}body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(135deg,#fff9f1e6,#f7f3eee6 40%,#e2dcd7e6,#d4cdc7e6);opacity:0;transition:opacity .6s ease;pointer-events:none}body.evaluation-active:after{opacity:1}.container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:850px;width:95%;padding:40px;margin:20px auto}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:20px;border-radius:8px;text-align:center}h1{color:#333;margin-bottom:10px;font-size:28px;word-wrap:break-word}.form-description{color:#555;font-size:15px;line-height:1.6;margin:0 0 24px;max-width:100%}.form-description a{color:#06c;text-decoration:none}.form-description a:hover{text-decoration:underline}.form-disclaimer{color:#777;font-size:13px;line-height:1.5;margin:0 0 24px;font-style:italic}.token-info{background:#f0f4ff;padding:10px;border-radius:6px;margin-bottom:30px;font-size:12px;color:#666}.question{overflow:hidden;max-height:0;opacity:0;margin-bottom:0;padding:0;transition:max-height .4s ease-in-out,opacity .35s ease-in-out,margin-bottom .35s ease-in-out,padding .35s ease-in-out}.question.active{margin-bottom:25px;max-height:1000px;opacity:1;overflow:visible}.question.missing-evidence-highlight{outline:2px solid #f39c12;outline-offset:6px;border-radius:8px;animation:missingEvidencePulse .8s ease-in-out 2}@keyframes missingEvidencePulse{0%{box-shadow:0 0 #f39c1200}50%{box-shadow:0 0 0 6px #f39c1238}to{box-shadow:0 0 #f39c1200}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}label{display:block;margin-bottom:0;font-weight:600;color:#444}.question-description{font-size:13px;color:#6b6b6b;margin:6px 0 12px;line-height:1.4;white-space:pre-line}.required{color:#e74c3c}input[type=text],input[type=email],textarea,select{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .3s}.multi-email-input{display:flex;flex-direction:column;gap:8px}.email-chip-container{display:flex;flex-wrap:wrap;gap:6px}.email-chip{display:flex;justify-content:space-between;align-items:center;padding:5px 13px;border-radius:999px;background:#edf0ff;color:#1f2379;font-size:13px;border:1px solid #bec4ff;gap:10px}.email-chip-remove{border:none;border-radius:25%;background:transparent;font-size:14px;color:#2b2cff;line-height:1;width:25px;height:20px;padding:5px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.email-chip-remove:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.multi-email-error{font-size:12px;color:#c9302c;min-height:16px;opacity:0;transition:opacity .3s ease}.multi-email-error.visible{opacity:1}input[type=text]:focus,input[type=email]:focus,textarea:focus,select:focus{outline:none;border-color:#667eea}input[type=text][readonly],input[type=email][readonly],input[readonly],select[disabled]{background-color:#f0f0f0!important;border:2px solid #e0e0e0!important;color:#333!important;cursor:not-allowed}textarea{resize:vertical;min-height:100px}.checkbox-group{display:flex;flex-direction:column;gap:10px}.checkbox-option,.checkbox-other{display:flex;align-items:center;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .3s;background:#fff}.checkbox-option:hover,.checkbox-other:hover{background:#f8f9ff;border-color:#667eea}.checkbox-option input[type=checkbox],.checkbox-other input[type=checkbox]{margin-right:10px;cursor:pointer;padding:0}.checkbox-other input[type=text]{flex:1;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .3s}.checkbox-other input[type=text]:focus{outline:none;border-color:#667eea}.radio-group,.yesno-group{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .3s}.radio-other{display:flex;align-items:center;padding:3px 12px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .3s}.radio-option:hover{background:#f8f9ff;border-color:#667eea}.radio-option input[type=radio]{margin-right:10px;cursor:pointer;padding:0}button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 30px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}button:disabled{background:#ccc;cursor:not-allowed;transform:none}.success-message,.error-submit{text-align:center;display:none}.success-message.active,.error-submit.active{display:block}#formContainer.form-submitted .form-description,#formContainer.form-submitted .form-disclaimer{display:none}.success-icon{font-size:60px;color:#27ae60;margin-bottom:20px}.error-submit{background:#fee;border:1px solid #fcc;color:#c33;padding:20px;border-radius:8px;margin-top:20px}.loading-spinner{display:inline-block;width:16px;height:16px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-left:10px}.loading-message{text-align:center;padding:40px}.loading-spinner-large{display:inline-block;width:50px;height:50px;border:5px solid rgba(102,126,234,.2);border-radius:50%;border-top-color:#667eea;animation:spin 1s ease-in-out infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}@media screen and (max-width:768px){.container{padding:20px;width:90%}h1{font-size:24px}label,.radio-option{font-size:14px}button{padding:12px 20px;font-size:14px}}@media screen and (max-width:480px){body{padding:10px}.container{padding:15px;width:95%}h1{font-size:20px}label{font-size:13px}.question{margin-bottom:0}input[type=text],input[type=email],textarea,select{padding:8px;font-size:13px}.radio-option{padding:8px;font-size:12px}.radio-group{gap:5px}.token-info{font-size:11px}#otherTextInput{width:calc(100% - 25px);font-size:12px}.error-message h2{font-size:18px}.error-message p{font-size:13px}}@media screen and (max-width:320px){.container{padding:10px;width:98%}h1{font-size:18px}label,input[type=text],input[type=email],textarea,select{font-size:12px}.radio-option{font-size:11px;padding:6px}button{padding:10px 15px;font-size:12px}.token-info{font-size:10px}.success-message h2{font-size:16px}.success-message p{font-size:12px}.error-submit h3{font-size:16px}.error-submit p{font-size:12px}}.question{position:relative}.invalid-char-alert{position:absolute;bottom:calc(100% - 5px);left:50%;transform:translate(-50%);background-color:#fff3cd;color:#000;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px #00000026;z-index:1000;animation:popupSlideIn .3s ease-out;pointer-events:none}.invalid-char-alert:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#fff3cd}.invalid-char-alert.fade-out{animation:popupFadeOut .3s ease-out forwards}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes popupFadeOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}@media(max-width:768px){.invalid-char-alert{bottom:auto;top:calc(100% + 10px);left:0;right:0;transform:none;white-space:normal;text-align:center}.invalid-char-alert:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#fff3cd}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes popupFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}}.question-container{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;flex-direction:column;gap:8px}.question-content{flex:1;min-width:200px;width:100%}.attachment-section{padding:8px 10px 6px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;font-size:14px;width:100%;min-width:0;min-height:45px;max-height:0;opacity:0;overflow:hidden;background:transparent;border:2px dashed #ccc;border-radius:6px;transition:opacity .3s ease,max-height .3s ease,transform .3s ease;transform:translateY(-10px);will-change:transform,opacity;box-sizing:border-box}.attachment-section.attachment-visible{opacity:1;max-height:400px;transform:translateY(0)}.attachment-section.attachment-section--compact{width:auto;align-self:flex-end}.attachment-evidence-disclaimer{font-size:12px;color:#6b6b6b;line-height:1.4;margin:0;padding:0;flex-shrink:0}.attachment-evidence-disclaimer-line1{font-style:italic}.attachment-evidence-disclaimer-line2{margin-top:2px;color:#555}.attachment-left{flex:1;min-width:0}.attachment-right{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}.attachment-right .attachment-label{margin-bottom:0;font-weight:600;color:#444}.attachment-right .attachment-input-label{flex-shrink:0;min-width:100px}.question-container{display:flex;flex-direction:column;min-height:80px}.question-content{flex:1}.attachment-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.attachment-modal{background:#fff;border-radius:8px;padding:20px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.attachment-modal-title{margin-bottom:15px;color:#333;font-size:18px}.attachment-list{margin-bottom:15px}.attachment-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:8px;background:#fafafa;box-shadow:inset 0 0 0 1px #0000000a}.attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-name{font-weight:600;color:#111;word-break:break-word;white-space:normal;font-size:14px}.attachment-size{font-size:12px;color:#666;margin-top:0}.delete-attachment-btn{background:#f44;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.delete-attachment-btn:hover{background:#c33}.add-more-attachment-btn{background:#007cba;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;margin-top:10px;width:100%;transition:background-color .2s}.add-more-attachment-btn:hover{background:#005a8a}.close-modal-btn{background:#666;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;margin-top:15px;width:100%;transition:background-color .2s}.close-modal-btn:hover{background:#555}.attachment-input.hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-input-label{position:relative;display:inline-block;background:#667eea;color:#fff;padding:6px 10px;border-radius:6px;font-size:13px;text-align:center;cursor:pointer;transition:all .3s ease;line-height:1}.attachment-input-label.loading{opacity:.7;cursor:wait;pointer-events:none}.attachment-input-label.loading .loading-spinner-small{display:inline-block;width:14px;height:14px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}.attachment-input-label.uploaded{background:#27ae60}.attachment-status{position:relative;font-size:12px;color:#333;display:flex;align-items:center;gap:6px}@media screen and (max-width:768px){.attachment-status[data-filename]:hover:after{top:auto;bottom:-30px}.attachment-status[data-filename]:hover:before{top:auto;bottom:-8px;border-top-color:transparent;border-bottom-color:#000c}}.file-requirements{display:none}@media screen and (max-width:420px){.attachment-input-label{padding:6px 8px;font-size:12px;width:auto}.attachment-status{display:none}}.hidden{display:none}.attachment-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200;animation:modalFadeIn .18s ease}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.attachment-modal{background:#fff;border-radius:8px;width:480px;max-width:calc(100% - 32px);max-height:70vh;overflow:auto;padding:18px;box-shadow:0 18px 40px #00000040;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.attachment-modal h3{margin:0 0 12px;font-size:16px;color:#222}.attachment-list{margin-bottom:12px}.attachment-list-title{font-size:13px;font-weight:600;margin-bottom:8px;color:#444}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:6px;background:#fbfbfb;margin-bottom:6px;font-size:13px}.attachment-item .attachment-item-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.attachment-delete-btn{background:#ff4d4f;color:#fff;border:none;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}.attachment-delete-btn:hover{background:#e04344}.attachment-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.attachment-modal-close{background:#667eea;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.attachment-modal-addrow{display:flex;gap:8px;align-items:center;margin-bottom:8px}.attachment-modal-addbtn{background:#3b82f6;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .15s ease,transform .08s ease}.attachment-modal-addbtn:hover{background:#2563eb;transform:translateY(-1px)}.attachment-modal-fileinput.hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.attachment-list .attachment-item{opacity:0;transform:translateY(6px);animation:itemFadeIn .18s ease forwards}@keyframes itemFadeIn{to{opacity:1;transform:translateY(0)}}.error-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1500;animation:modalFadeIn .2s ease}.error-modal{background:#fff;padding:24px;border-radius:8px;box-shadow:0 8px 32px #00000026;max-width:400px;width:90%;text-align:center;animation:errorModalSlideIn .3s ease}.error-modal h3{color:#e53935;margin:0 0 16px;font-size:18px}.error-modal p{color:#333;margin:0 0 20px;font-size:14px;line-height:1.5}.error-modal button{background:#e53935;color:#fff;border:none;padding:8px 24px;border-radius:6px;font-size:14px;cursor:pointer;width:auto;min-width:120px}.error-modal button:hover{background:#d32f2f}@keyframes errorModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.save-notification{position:fixed;bottom:30px;right:30px;transform:translate(100px) translateY(0);z-index:1000;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:10px 16px;min-width:150px;max-width:200px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease-out}.save-notification.show{transform:translate(0) translateY(0);opacity:1}.save-notification-content{display:flex;align-items:center;gap:8px}.save-notification-icon{font-size:16px;display:inline-block}.save-notification.save-saving .save-notification-icon{animation:spin 1s linear infinite}.save-notification.save-completed .save-notification-icon{color:#4caf50;font-size:16px;animation:none}.save-notification-text{font-size:13px;font-weight:500;color:#333;letter-spacing:.2px}.save-notification.save-completed .save-notification-text{color:#4caf50}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInFromRight{0%{transform:translate(100px) translateY(0);opacity:0}to{transform:translate(0) translateY(0);opacity:1}}.supplier-info-row{display:flex;gap:20px;margin-bottom:25px}.supplier-info-row .question{flex:1;margin-bottom:0;min-width:0}.supplier-info-row .question.active{margin-bottom:0}.supplier-categories-row{display:flex;align-items:center;gap:15px;margin-bottom:25px;flex-wrap:wrap}.supplier-categories-row .question{flex:1;min-width:200px;margin-bottom:0}@media(max-width:820px)and (min-width:769px){.supplier-info-row-three{flex-direction:column;gap:0}.supplier-info-row-three .question{margin-bottom:25px}.supplier-info-row-three .question:last-child{margin-bottom:0}.supplier-info-row:not(.supplier-info-row-three){gap:10px}.supplier-info-row .question{min-width:0}.supplier-categories-row{gap:8px}.supplier-categories-row .question{min-width:140px}}.supplier-categories-row .question.active{margin-bottom:0}.category-arrow{font-size:24px;color:#666;font-weight:700;flex-shrink:0;margin:0 5px}.supplier-info input,.supplier-info select{background-color:#f0f0f0!important;border:2px solid #e0e0e0!important;color:#333!important;cursor:not-allowed;pointer-events:none}.supplier-info textarea{background-color:#f0f0f0!important;border:2px solid #e0e0e0!important;color:#333!important;cursor:default;pointer-events:auto;resize:none}@media(max-width:768px){.supplier-info-row{flex-direction:column;gap:0}.supplier-info-row .question.active{margin-bottom:25px}.supplier-categories-row{flex-direction:column;gap:0}.supplier-categories-row .question{min-width:100%;margin-bottom:25px}.category-arrow{transform:rotate(90deg);margin:5px 0}}@keyframes slideOutToRight{0%{transform:translate(0) translateY(0);opacity:1}to{transform:translate(100px) translateY(0);opacity:0}}.attachments-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.attachments-loading-content{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:90%;text-align:center;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}.attachments-loading-spinner{width:60px;height:60px;border:5px solid rgba(102,126,234,.2);border-radius:50%;border-top-color:#667eea;animation:spin 1s ease-in-out infinite;margin:0 auto 20px;will-change:transform;transform:translateZ(0)}.attachments-loading-content h2{color:#333;margin-bottom:15px;font-size:24px}.attachments-loading-content p{color:#666;margin-bottom:30px;font-size:16px;line-height:1.5}.progress-bar-container{margin-top:20px;position:relative}.progress-bar{width:100%;height:30px;background:#e0e0e0;border-radius:15px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000001a}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:15px;transition:width .3s ease-out;position:relative;overflow:hidden;will-change:width;transform:translateZ(0)}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite;will-change:transform;transform:translateZ(0)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage{display:block;margin-top:10px;font-size:18px;font-weight:700;color:#667eea}@media screen and (max-width:480px){.attachments-loading-content{padding:30px 20px}.attachments-loading-content h2{font-size:20px}.attachments-loading-content p{font-size:14px}}.error-icon-large{font-size:60px;margin-bottom:20px;color:#e74c3c}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #667eea4d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.retry-button:active{transform:translateY(0)}
