.modal-overlay{position:fixed;inset:0;background:rgb(0 0 0 / 94%);backdrop-filter:blur(8px);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.active{opacity:1;pointer-events:all}.modal-box{background:var(--dark2);border:1px solid rgba(0,212,255,.12);width:90%;max-width:780px;max-height:88vh;overflow-y:auto;position:relative;transform:translateY(24px);transition:transform .35s;scrollbar-width:thin;scrollbar-color:rgba(0,212,255,0.2) transparent}.modal-overlay.active .modal-box{transform:translateY(0)}.modal-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink))}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:32px 40px 24px;border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;background:#000;z-index:10}.modal-header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink))}.modal-title-tag{font-family:var(--font-mono);font-size:10px;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px}.modal-title{font-size:1.4rem;font-weight:800;color:var(--white)}.modal-title .accent{color:var(--cyan)}.modal-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.08);background:0 0;color:var(--gray-dim);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,color .2s;margin-left:24px;margin-top:4px}.modal-close:hover{border-color:var(--cyan);color:var(--white)}.modal-body{padding:32px 40px 40px}.modal-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.04)}.modal-section:last-child{border-bottom:none;margin-bottom:0}.modal-section-num{font-family:var(--font-mono);font-size:10px;color:var(--cyan);letter-spacing:.1em;margin-bottom:4px}.modal-section-title{font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:20px}.modal-field{margin-bottom:16px}.modal-field:last-child{margin-bottom:0}.modal-label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-dim);margin-bottom:8px}.modal-input,.modal-textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);padding:12px 16px;color:var(--white);font-family:var(--font-main);font-size:13px;outline:0;transition:border-color .2s,background .2s;resize:none}.modal-input:focus,.modal-textarea:focus{border-color:var(--cyan);background:rgba(0,212,255,.03)}.modal-input::placeholder,.modal-textarea::placeholder{color:var(--gray-dim);opacity:.5}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.modal-check{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:border-color .2s,background .2s;user-select:none}.modal-check:hover{border-color:rgba(0,212,255,.25);background:rgba(0,212,255,.03)}.modal-check input{display:none}.modal-check-box{width:14px;height:14px;border:1px solid var(--gray-dim);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s}.modal-check input:checked~.modal-check-box{background:var(--cyan);border-color:var(--cyan)}.modal-check input:checked~.modal-check-box::after{content:'';width:7px;height:7px;background:var(--dark);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);display:block}.modal-check-label{font-size:12px;color:var(--gray-dim);transition:color .2s}.modal-check input:checked~.modal-check-label{color:var(--white)}.modal-toggle-group{display:flex;gap:8px;flex-wrap:wrap}.modal-toggle{position:relative;cursor:pointer}.modal-toggle input{display:none}.modal-toggle-btn{display:block;padding:9px 20px;border:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:11px;color:var(--gray-dim);letter-spacing:.05em;transition:.2s}.modal-toggle input:checked~.modal-toggle-btn{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,255,.06)}.modal-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.modal-style{position:relative;cursor:pointer}.modal-style input{display:none}.modal-style-btn{display:block;text-align:center;padding:12px 8px;border:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:10px;color:var(--gray-dim);letter-spacing:.05em;transition:.2s}.modal-style input:checked~.modal-style-btn{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,255,.06)}.modal-budget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.modal-budget{position:relative;cursor:pointer}.modal-budget input{display:none}.modal-budget-btn{display:block;text-align:center;padding:14px 10px;border:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:11px;color:var(--gray-dim);transition:.2s}.modal-budget input:checked~.modal-budget-btn{border-color:var(--purple);color:var(--purple);background:rgba(157,78,221,.06)}.modal-submit-wrap{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.05)}.modal-submit-btn{padding:14px 36px;background:var(--grad);color:var(--white);font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s}.modal-submit-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,212,255,.2)}.modal-submit-note{font-family:var(--font-mono);font-size:10px;color:var(--gray-dim);letter-spacing:.05em}.modal-success{display:none;text-align:center;padding:48px 24px}.modal-success-icon{font-size:2rem;color:var(--cyan);margin-bottom:16px}.modal-success h3{font-size:1.2rem;font-weight:700;margin-bottom:8px}.modal-success p{font-size:13px;color:var(--gray-dim)}@media (max-width:600px){.modal-body,.modal-header{padding:24px 20px}.modal-row{grid-template-columns:1fr}.modal-style-grid{grid-template-columns:repeat(2,1fr)}}