.xp-input {
    border: 2px solid #ced6e0;
    border-radius: var(--radius-input);
    padding: 8px 12px;
    font-family: var(--font-system);
    font-size: 14px;
    outline: none;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
    background: #fff;
    transition: border-color 0.2s;
    color: #2f3542;
}

.xp-input:focus {
    border-color: #70a1ff;
    box-shadow: 0 0 0 3px rgba(112, 161, 255, 0.3);
    outline: none; /* Using box-shadow as focus indicator */
}

.xp-input:focus-visible {
    border-color: #0054E3;
    box-shadow: 0 0 0 3px rgba(0, 84, 227, 0.3);
}

.xp-label {
    font-size: 13px;
    color: #57606f;
    margin-bottom: 6px;
    display: block;
    font-weight: 600;
}

.xp-form-group {
    margin-bottom: 16px;
}