Nexus-InglineSystems/resources/css/user-form-modal.css

183 lines
3.6 KiB
CSS

@layer components {
/* Modal Overlay */
.modal-overlay {
position: fixed;
inset: 0;
z-index: 50;
display: flex;
align-items: center;
justify-content: center;
background-color: rgba(255, 255, 255, 0.35);
}
/* Modal Container */
.modal-container {
background-color: white;
border-radius: 0.5rem;
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 32rem;
padding: 1.5rem;
}
/* Titles */
.modal-title {
font-size: 1.125rem;
font-weight: 500;
color: #111827;
}
/* Forms */
.form-wrapper {
margin-top: 1rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
/* Inputs */
.form-input {
display: block;
width: 100%;
border: 2px solid #e5e7eb;
border-radius: 0.375rem;
outline: none;
transition: all 0.3s ease-in-out;
}
.form-input:hover,
.form-input:focus {
border-color: #93c5fd;
}
/* Labels */
.form-label {
display: block;
font-size: 0.875rem;
color: #374151;
}
/* Errors */
.error-text {
color: #ef4444;
font-size: 0.75rem;
}
.error-box {
padding: 0.75rem;
background-color: #fee2e2;
color: #b91c1c;
border-radius: 0.375rem;
}
/* Buttons */
.btn-cancel {
background-color: #e5e7eb;
padding: 0.5rem 1rem;
border-radius: 0.375rem;
}
.btn-submit {
background-color: #2563eb;
color: white;
padding: 0.5rem 1rem;
border-radius: 0.375rem;
}
.loading {
cursor: progress;
}
/* Select Component */
.select-wrapper {
position: relative;
margin-top: 0.25rem;
}
.select-button {
height: 2.5rem;
width: 10rem;
background: white;
border: 1px solid #d1d5db;
border-radius: 0.5rem;
padding: 0.5rem 2.5rem 0.5rem 0.75rem;
text-align: left;
position: relative;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.select-icon {
position: absolute;
right: 0.5rem;
top: 0;
bottom: 0;
display: flex;
align-items: center;
}
.select-svg {
width: 1.25rem;
height: 1.25rem;
color: #9ca3af;
}
.select-options {
position: absolute;
z-index: 10;
margin-top: 0.25rem;
width: 100%;
max-height: 15rem;
overflow-y: auto;
background-color: white;
border-radius: 0.375rem;
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.select-option {
padding: 0.5rem 2.5rem;
cursor: pointer;
}
.select-option:hover {
background-color: #dbeafe;
}
.selected-option {
background-color: #eff6ff;
}
/* Ajuste visual do ícone de check dentro do select */
.select-option {
position: relative;
padding-left: 2.5rem;
/* espaço para o check */
}
.select-option .absolute {
position: absolute;
inset-y: 0;
left: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.select-option svg {
width: 1rem;
height: 1rem;
color: #2563eb;
flex-shrink: 0;
transition: transform 0.15s ease, opacity 0.15s ease;
}
.form-footer {
display: flex;
justify-content: flex-end;
gap: 0.75rem;
padding-top: 1rem;
}
}