/* Professional Banking Theme - Red & Navy Blue */
:root {
    --bank-primary-red: #C8102E;
    --bank-dark-red: #A00D24;
    --bank-navy: #1A2B4A;
    --bank-dark-navy: #0A1931;
    --bank-gold: #D4AF37;
    --bank-light-gray: #F5F5F5;
    --bank-border: #E0E0E0;
}

button.btn-text {
    text-decoration: none;
    color: var(--bank-navy);
    border: none;
    background-color: transparent;
    transition: all 0.3s ease;
}

button.btn-text:hover {
    color: var(--bank-primary-red);
    transform: translateX(3px);
}

button.btn-text:focus {
    text-decoration: none;
    outline: none;
    -webkit-box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.1);
    -moz-box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.1);
    box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.1);
}

.nice-select::after {
    content: '';
}

input[type=text], 
input[type=email], 
input[type=tel], 
input[type=number], 
input[type=password], 
input[type=url], 
textarea {
    font-size: 1rem;
    height: auto;
    line-height: 1.5;
    padding: .375rem .75rem;
    border: 2px solid var(--bank-border);
    border-radius: 8px;
    transition: all 0.3s ease;
}

input[type=text]:focus, 
input[type=email]:focus, 
input[type=tel]:focus, 
input[type=number]:focus, 
input[type=password]:focus, 
input[type=url]:focus, 
textarea:focus {
    border-color: var(--bank-primary-red);
    outline: none;
    box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.1);
}

.nice-select.open .list {
    max-height: 50vh;
    overflow: auto;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.nice-select .option:hover {
    background: linear-gradient(90deg, rgba(200, 16, 46, 0.1) 0%, rgba(200, 16, 46, 0.05) 100%);
    color: var(--bank-navy);
}

[data-beneficiary] {
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 8px;
    padding: 8px;
}

[data-beneficiary]:hover {
    background: linear-gradient(135deg, rgba(26, 43, 74, 0.05) 0%, rgba(200, 16, 46, 0.05) 100%);
    transform: translateX(3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Professional Button Styles */
.btn-primary {
    background: linear-gradient(135deg, var(--bank-primary-red) 0%, var(--bank-dark-red) 100%);
    border: none;
    border-radius: 8px;
    padding: 10px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(200, 16, 46, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(200, 16, 46, 0.4);
}

.btn-secondary {
    background: linear-gradient(135deg, var(--bank-navy) 0%, var(--bank-dark-navy) 100%);
    border: none;
    border-radius: 8px;
    padding: 10px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 43, 74, 0.4);
}