:root{--form-primary-color:#007bff;--form-success-color:#28a745;--form-border-color:#dee2e6;--form-shadow-color:rgba(0, 0, 0, 0.1)}.modal{display:none;position:fixed;z-index:99999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:rgba(0,0,0,.65);animation:fadeIn .3s ease-out}.modal-content{background-color:#fff;margin:5% auto;padding:30px;border:none;width:95%;max-width:700px;border-radius:12px;position:relative;box-shadow:0 10px 25px var(--form-shadow-color);transition:transform .3s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.close-btn{color:#aaa;position:absolute;top:22px;right:15px;font-size:32px;transition:color .2s;cursor:pointer;background:0 0;border:none;line-height:1}.close-btn:focus,.close-btn:hover{color:var(--form-primary-color)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--form-border-color);margin-right:2rem}.step-count{font-weight:600;color:var(--form-primary-color);background-color:#e9f5ff;padding:5px 10px;border-radius:5px}.company-name-display{font-weight:600;color:#333;font-size:1.2em;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-steps-container{overflow:hidden;position:relative;min-height:400px}.form-step{position:absolute;top:0;left:0;width:100%;padding:15px 0;opacity:0;pointer-events:none;transition:opacity .3s ease}.form-step.active{position:relative;opacity:1;pointer-events:auto}.form-step.slide-left-out{animation:slideLeftOut .4s ease-in-out forwards}.form-step.slide-right-in{animation:slideRightIn .4s ease-in-out forwards}.form-step.slide-right-out{animation:slideRightOut .4s ease-in-out forwards}.form-step.slide-left-in{animation:slideLeftIn .4s ease-in-out forwards}@keyframes slideLeftOut{from{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0;position:absolute}}@keyframes slideRightIn{from{transform:translateX(100%);opacity:0;position:absolute}to{transform:translateX(0);opacity:1;position:relative}}@keyframes slideRightOut{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0;position:absolute}}@keyframes slideLeftIn{from{transform:translateX(-100%);opacity:0;position:absolute}to{transform:translateX(0);opacity:1;position:relative}}.form-step h3{color:var(--form-primary-color);border-bottom:1px solid var(--form-primary-color);padding-bottom:5px;margin-bottom:25px}.input-group{margin-bottom:15px}.input-group label{display:block;margin-bottom:6px;font-weight:600;color:#495057}input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{width:100%;padding:12px;border:1px solid var(--form-border-color);border-radius:8px;box-sizing:border-box;transition:border-color .3s,box-shadow .3s;font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--form-primary-color);box-shadow:0 0 0 .2rem rgba(0,123,255,.25);outline:0}input[type=checkbox],input[type=radio]{width:auto;margin-right:8px;vertical-align:middle}.input-group input[type=checkbox]+label,.input-group input[type=radio]+label{display:inline-block;margin-left:5px;font-weight:400;cursor:pointer}button{padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:600;transition:background-color .3s,transform .1s;font-family:inherit}button:active{transform:scale(.98)}.next-btn,.submit-btn{background-color:var(--form-primary-color);color:#fff}.next-btn:hover,.submit-btn:hover{background-color:#0056b3}.prev-btn{background-color:#f8f9fa;color:#495057;border:1px solid #ced4da;margin-right:15px}.prev-btn:hover{background-color:#e9ecef}.add-btn,.remove-btn{padding:8px 15px;font-size:.9em;margin-top:10px;background-color:var(--form-success-color);color:#fff}.remove-btn{background-color:#dc3545}.remove-btn:hover{background-color:#c82333}.manager-group,.owner-group{border:1px solid #e2e6ea;padding:20px;margin-bottom:25px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.05)}.manager-group h4,.owner-group h4{margin-top:0;color:var(--form-success-color);border-bottom:1px dashed #e2e6ea;padding-bottom:10px;margin-bottom:15px}small{display:block;color:#777;font-size:.875em;margin-top:5px}@media (max-width:600px){.modal-content{margin:5% auto;padding:20px;width:95%}.form-header{flex-direction:column;align-items:flex-start;gap:10px;margin-right:0}.company-name-display{max-width:100%}.form-steps-container{min-height:300px}}