body.modal-open{overflow:hidden}.project-modal[hidden]{display:none}.project-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}.project-modal-backdrop{position:absolute;inset:0;background:rgba(5,12,24,.62);backdrop-filter:blur(8px)}.project-modal-card{position:relative;z-index:1;width:min(720px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border:1px solid #dbe4ef;border-radius:22px;box-shadow:0 28px 90px rgba(5,12,24,.35);padding:28px}.project-modal-close{position:absolute;left:18px;top:14px;width:36px;height:36px;border-radius:50%;padding:0;background:#f1f5f9!important;color:#334155!important;border:1px solid #dbe4ef!important;box-shadow:none!important;font-size:24px;line-height:1}.project-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-left:42px}.project-modal-head h2{margin:4px 0 0;font-size:27px}.modal-discipline-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#eef5ff;color:#0d63f3;border:1px solid #d7e7ff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}.modal-progress{height:8px;background:#e9eef5;border-radius:999px;overflow:hidden;margin:22px 0}.modal-progress span{display:block;height:100%;background:linear-gradient(90deg,#0d63f3,#21b6d7);border-radius:999px;transition:width .25s ease}.project-modal-body{min-height:245px;display:flex;align-items:stretch}.modal-processing,.modal-ready,.modal-error,.modal-question{width:100%;border:1px solid #e0e6ee;border-radius:16px;background:#f8fafc;padding:24px}.modal-processing{display:flex;align-items:center;gap:18px}.modal-processing p{margin:4px 0 0;color:#687385}.modal-question-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0d63f3;color:#fff;font-weight:800;margin-bottom:14px}.modal-question h3{font-size:20px;line-height:1.7;margin-bottom:16px}.modal-question textarea{resize:vertical;min-height:120px;margin-bottom:12px}.modal-question button[type="submit"],.modal-question .btn,.project-modal .modal-submit{width:100%;min-height:52px;background:#0a0a0a!important;color:#fff!important;border:1px solid #0a0a0a!important;border-radius:999px!important;font-weight:800!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.modal-question button[type="submit"]:hover,.modal-question .btn:hover,.project-modal .modal-submit:hover{background:#1f1f1f!important;color:#fff!important;border-color:#1f1f1f!important}.modal-question button[type="submit"]:focus-visible,.modal-question .btn:focus-visible,.project-modal .modal-submit:focus-visible{outline:3px solid #0d63f3!important;outline-offset:3px}.modal-question button[type="submit"]:active,.modal-question .btn:active,.project-modal .modal-submit:active{transform:translateY(1px)}.modal-ready{text-align:center}.modal-ready-icon{width:58px;height:58px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:#e9fbf4;color:#0f9b68;font-size:28px;font-weight:900}.modal-ready h3{margin-bottom:8px}.modal-ready p{color:#687385;margin:0 0 18px}.modal-error{border-color:#fecaca;background:#fff7f7}.modal-error b{color:#b42318}.modal-error p{color:#7f1d1d}.mechanical .modal-discipline-badge{background:#eef8ff;color:#0875ad;border-color:#cfeafb}.electrical .modal-discipline-badge{background:#fff5e9;color:#c45b00;border-color:#ffd9b0}@media(max-width:640px){.project-modal{padding:10px}.project-modal-card{padding:20px 16px;border-radius:18px;max-height:92vh}.project-modal-head{flex-direction:column;padding-left:38px}.project-modal-head h2{font-size:22px}.modal-discipline-badge{font-size:11px}.modal-processing,.modal-ready,.modal-error,.modal-question{padding:18px}.modal-question h3{font-size:18px}}
/* Questionnaire choices in upload modal */
.project-modal-body{flex-direction:column;gap:16px}.project-modal-body>.note-bar{width:100%;flex:none}.modal-question-options{display:grid;grid-template-columns:1fr;gap:10px;border:0;padding:0;margin:0 0 14px}.modal-question-option{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #d7dee8;border-radius:12px;background:#fff;cursor:pointer;line-height:1.65;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.modal-question-option:hover{border-color:#0d63f3}.modal-question-option:has(input:checked){border-color:#0d63f3;background:#eef5ff;box-shadow:0 0 0 1px #0d63f3}.modal-question-option input{appearance:auto!important;-webkit-appearance:radio!important;display:block!important;position:static!important;width:19px!important;height:19px!important;min-width:19px;margin:0!important;opacity:1!important;visibility:visible!important;accent-color:#0d63f3}.modal-other-label{display:block;margin:2px 0 8px;color:#5e6978;font-size:13px}.modal-question [data-other-answer]{min-height:88px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.project-modal-body{display:block}.project-modal-body>.note-bar{margin-bottom:14px}.modal-question-options{gap:8px}.modal-question-option{padding:12px 11px;font-size:14px}.modal-question h3{overflow-wrap:anywhere}.project-modal-card{width:100%}}
.design-progress{margin:16px 0 20px;padding:16px;border:1px solid #dce5f0;border-radius:12px;background:#f8fbff}.design-progress-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.design-progress-head strong{direction:ltr;color:#0d63f3}.design-progress small{display:block;margin-top:8px}
.design-progress-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:7px}.design-progress-steps li{display:flex;align-items:center;gap:8px;color:#98a2b3;font-size:12px}.design-progress-steps li span{width:8px;height:8px;border-radius:50%;background:#d0d5dd;flex:none}.design-progress-steps li.completed{color:#027a48}.design-progress-steps li.completed span{background:#12b76a}.design-progress-steps li.current{color:#0d63f3;font-weight:800}.design-progress-steps li.current span{background:#0d63f3;box-shadow:0 0 0 4px #dbeafe}
