.container { max-width: 100%; margin: 0; height: calc(100vh - 120px); overflow-y: auto; } .header { margin-bottom: 1.5rem; position: relative; } .backButton { display: flex; align-items: center; gap: 0.5rem; background: none; border: none; color: var(--color-text); cursor: pointer; font-size: 1rem; padding: 0.5rem 0; transition: color 0.2s ease; margin-bottom: 1rem; } .backButton:hover { color: var(--primary-color, #007bff); } .backIcon { font-size: 1.2rem; } .title { font-size: 2rem; font-weight: bold; margin: 0 0 0.5rem 0; color: var(--color-text); } .subtitle { color: var(--color-text); margin: 0; line-height: 1.5; } .form { display: flex; flex-direction: column; gap: 1.25rem; height: 100%; } .section { background: var(--color-bg); border: 1px solid var(--color-secondary); border-radius: 25px; padding: 1.25rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); } .sectionTitle { display: flex; align-items: center; gap: 0.75rem; font-size: 1.2rem; font-weight: bold; color: var(--color-secondary); margin: 0 0 1rem 0; padding-bottom: 0.5rem; border-bottom: 2px solid var(--color-secondary); } .sectionIcon { font-size: 1.3rem; } .formGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } .inputGroupFull { grid-column: 1 / -1; } .inputGroup { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 20px; } .label { display: flex; align-items: center; gap: 0.5rem; font-weight: 500; color: var(--color-text); font-size: 14px; margin-bottom: 6px; } .labelIcon { color: var(--color-primary); font-size: 1rem; } /* Floating label container */ .floatingLabelInput { position: relative; margin-bottom: 20px; } .input { width: 100%; padding: 12px 12px 8px 12px; border: 1px solid var(--color-primary); border-radius: 25px; font-size: 14px; transition: all 0.2s ease; background-color: var(--color-bg); box-sizing: border-box; color: var(--color-text); } .input:focus { outline: none; border-color: var(--color-secondary); } .inputError { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); } .inputError:focus { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); } /* Select styling to match input fields */ select.input { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 40px; cursor: pointer; } select.input:focus { outline: none; border-color: var(--color-secondary); } select.input:hover { border-color: var(--color-secondary); } /* Floating label styles */ .floatingLabel { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--color-primary); opacity: 0.7; font-size: 14px; transition: all 0.2s ease; pointer-events: none; z-index: 1; } .focusedLabel { position: absolute; left: 12px; top: -8px; transform: translateY(0); color: var(--color-primary); opacity: 1; font-size: 12px; font-weight: 500; background-color: var(--color-bg); padding: 0 4px; transition: all 0.2s ease; pointer-events: none; z-index: 2; } .activeFocusedLabel { position: absolute; left: 12px; top: -8px; transform: translateY(0); color: var(--color-secondary); opacity: 1; font-size: 12px; font-weight: 500; background-color: var(--color-bg); padding: 0 4px; transition: all 0.2s ease; pointer-events: none; z-index: 2; } .textarea { width: 100%; padding: 12px 12px 8px 12px; border: 1px solid var(--color-primary); border-radius: 25px; font-size: 14px; transition: all 0.2s ease; background-color: var(--color-bg); box-sizing: border-box; color: var(--color-text); font-family: inherit; line-height: 1.5; overflow-y: auto; resize: vertical; min-height: 4em; max-height: 8em; } .textarea:focus { outline: none; border-color: var(--color-secondary); } .textarea.inputError { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); } .errorText { color: #ef4444; font-size: 12px; margin-top: 4px; display: block; } .contactsSection { text-align: center; padding: 1rem 0; } .contactsDescription { color: var(--color-text); margin-bottom: 1.5rem; line-height: 1.5; } .contactsActions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; } .skipButton { padding: 8px 16px; border: 1px solid var(--color-primary); background-color: var(--color-bg); color: var(--color-text); border-radius: 25px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; } .skipButton:hover { background-color: var(--color-primary-hover); border-color: var(--color-primary); color: #181818; } .setupButton { padding: 8px 16px; border: none; background-color: var(--color-secondary); color: var(--color-bg); border-radius: 25px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; } .setupButton:hover { background-color: var(--color-secondary-hover); } .actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--color-primary); } .cancelButton { padding: 8px 16px; border: 1px solid var(--color-primary); background-color: var(--color-bg); color: var(--color-text); border-radius: 25px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; } .cancelButton:hover { background-color: var(--color-primary-hover); border-color: var(--color-primary); color: #181818; } .submitButton { padding: 8px 16px; border: none; background-color: var(--color-secondary); color: var(--color-bg); border-radius: 25px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; } .submitButton:hover { background-color: var(--color-secondary-hover); } .submitButton:disabled { background-color: #9ca3af; cursor: not-allowed; } @media (max-width: 640px) { .container { padding: 1rem; height: calc(100vh - 100px); } .formGrid { grid-template-columns: 1fr; gap: 0.75rem; } .section { padding: 1rem; } .sectionTitle { font-size: 1.1rem; } .contactsActions { flex-direction: column; align-items: center; } .skipButton, .setupButton { width: 100%; max-width: 200px; } .actions { flex-direction: column-reverse; } .cancelButton, .submitButton { width: 100%; padding: 12px; } }