/* Simple Neuro-Friendly Bank page styles. Shared nav, footer, theme
   variables, panels and background live in ../../../assets/site.css */

.bank-layout {
    display: grid;
    grid-template-columns: 250px 1fr; /* Fixed 250px sidebar, rest for main */
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto 40px;
    padding: 0 20px;
}

.bank-header {
    max-width: 1100px;
    margin: 40px auto 20px;
    padding: 0 20px;
    box-sizing: border-box;
}
.bank-header .hero-panel {
    margin-bottom: 0;
}

.sidebar {
    position: sticky; /* Makes the sidebar stick when scrolling */
    top: 70px; /* Clears the sticky top nav */
    align-self: start;
}

.sidebar p {
    font-size: 0.95em;
    line-height: 1.8; /* Increased line height for readability */
}

.bank-layout .panel {
    margin-bottom: 20px;
}
.bank-layout .sidebar.panel {
    margin-bottom: 0;
}

.input-group {
    margin-bottom: 15px;
}

.input-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.input-group input[type="text"],
.input-group input[type="number"] {
    width: 100%;
    padding: 10px;
    font-size: 1em;
}

.bank-layout .btn {
    margin-right: 10px;
    margin-bottom: 10px;
}

.transaction-section {
    border-top: 1px solid var(--border-color);
    padding-top: 15px;
    margin-top: 15px;
}

.feedback-message {
    padding: 10px;
    border-radius: 4px;
    margin-top: 10px;
    font-weight: bold;
}

.feedback-message.success {
    border: 1px solid var(--success);
    color: var(--success);
}

.feedback-message.error {
    border: 1px solid var(--danger);
    color: var(--danger);
}

/* Basic Responsiveness: Stack columns on smaller screens */
@media (max-width: 768px) {
    .bank-layout {
        grid-template-columns: 1fr; /* Single column layout */
    }

    .sidebar {
        position: static; /* Remove sticky behavior on small screens */
    }
}
