*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:'Open Sans',Arial,Helvetica,sans-serif;color:#333;background:#f5f5f5;line-height:1.5;-webkit-font-smoothing:antialiased}
.fdic-banner{background:#e2e3e4;text-align:center;padding:5px 16px;border-bottom:1px solid #ccc}
.fdic-img{height:14px;max-width:100%}
a{color:#0073CF;text-decoration:none;cursor:pointer}
a:hover{text-decoration:underline;color:#004A8F}
sup{font-size:9px}

/* ============================================================ */
/* LOGIN                                                         */
/* ============================================================ */
.login-header{background:#fff;border-bottom:1px solid #ddd;padding:12px 20px}
.login-header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.login-header-left{display:flex;align-items:center;gap:20px}
.boa-logo{display:flex;align-items:center}
.boa-logo-img{height:24px;width:auto}
.login-header-text{color:#0073CF;font-size:18px;font-weight:400;text-decoration:none}
.login-header-text:hover{text-decoration:none;color:#004A8F}
.login-header-right{display:flex;align-items:center;gap:16px;font-size:13px}
.login-secure{display:flex;align-items:center;gap:4px;color:#333;font-weight:600;font-size:13px;text-decoration:none}
.login-secure:hover{text-decoration:none}
.login-espanol{color:#0073CF;font-size:13px}

.login-banner{background:linear-gradient(135deg,#E31837 0%,#CC1630 100%);padding:12px 20px}
.login-banner-inner{max-width:960px;margin:0 auto;color:#fff;font-size:18px;font-weight:400}

.login-main{padding:28px 20px 40px;background:#fff}
.login-main-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:240px 1fr 200px;gap:28px}

.login-col-left{border-right:1px solid #e0e0e0;padding-right:28px}
.login-field{margin-bottom:14px}
.login-field label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:6px}
.login-field input{width:220px;padding:7px 8px;border:2px solid #555;font-size:15px;font-family:inherit;outline:none}
.login-field input:focus{border-color:#0073CF;box-shadow:0 0 0 1px #0073CF}
.login-save{margin-bottom:18px;display:flex;align-items:center;gap:6px;font-size:13px;color:#333}
.login-save input[type=checkbox]{width:14px;height:14px;accent-color:#0073CF}
.login-save label{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:13px}
.help-circle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#0073CF;color:#fff;font-size:11px;font-weight:700;cursor:pointer}
.login-forgot{display:block;margin-bottom:18px;font-size:14px;color:#0073CF}
.login-btn{background:#E31837;color:#fff;border:none;padding:9px 22px;font-size:14px;font-weight:700;border-radius:4px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;transition:background .2s}
.login-btn:hover:not(:disabled){background:#B8132E}
.login-btn:disabled{opacity:.7;cursor:not-allowed}
.login-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ab-spin .6s linear infinite;margin-right:6px}
#login-btn-loading{display:inline-flex;align-items:center}

/* Phone image */
.login-col-mid{text-align:center;padding:0 10px}
.login-col-mid h3{font-size:18px;font-weight:400;color:#555;margin-bottom:20px}
.login-app-promo{display:flex;align-items:center;gap:16px;justify-content:center}
.phone-img{height:240px;width:auto}
.login-app-info{text-align:left}
.login-app-info p{font-size:16px;color:#333;margin-bottom:8px;line-height:1.4}
.login-getapp-btn{display:inline-block;background:#E31837;color:#fff;padding:10px 28px;border-radius:4px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s}
.login-getapp-btn:hover{background:#B8132E;text-decoration:none}

.login-col-right h3{font-size:16px;font-weight:700;color:#333;margin-bottom:10px}
.login-col-right>a{display:block;font-size:14px;color:#0073CF;margin-bottom:8px}
.login-enroll-section{margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}
.login-enroll-section a{display:block;font-size:14px;color:#0073CF;margin-bottom:8px}

.login-footer{background:#f5f5f5;border-top:1px solid #ddd;padding:20px}
.login-footer-inner{max-width:960px;margin:0 auto}
.login-footer-secure{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}
.login-footer-links{font-size:12px;color:#666;margin-bottom:6px}
.login-footer-links a{color:#0073CF;font-size:12px}
.privacy-icon{color:#0073CF;font-size:10px}
.login-footer-legal{font-size:11px;color:#666;margin-bottom:4px}
.login-footer-legal a{color:#0073CF;font-size:11px}
.ehl-icon{font-size:12px}
.login-footer-copy{font-size:11px;color:#666}

/* ============================================================ */
/* DASHBOARD                                                     */
/* ============================================================ */
.dash-header-top{background:#E31837;padding:6px 20px}
.dash-header-top-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.dash-header-logo a{display:flex;align-items:center;gap:8px;text-decoration:none}
.dash-flag-img{width:28px;height:24px;object-fit:contain;margin-right:6px}
.dash-logo-img{height:22px;object-fit:contain;margin-right:8px}
.dash-online-banking{color:#fff;font-size:17px;font-weight:400}
.dash-header-user{display:flex;align-items:center;gap:14px;font-size:11px}
.dash-header-user a{color:rgba(255,255,255,.9);font-size:11px;text-decoration:none}
.dash-header-user a:hover{color:#fff;text-decoration:underline}
.dash-user-greeting{color:#fff;font-size:11px;font-weight:600}
.dash-logout-link{display:flex;align-items:center}

.dash-header-stripe{height:3px;background:linear-gradient(90deg,#012169 0%,#012169 50%,#E31837 50%,#E31837 100%)}

.dash-nav{background:#fff;border-bottom:1px solid #ddd;padding:0 20px}
.dash-nav-inner{max-width:1100px;margin:0 auto;display:flex}
.dash-nav a{padding:10px 14px;font-size:12px;color:#333;border-bottom:3px solid transparent;transition:color .15s;white-space:nowrap}
.dash-nav a:hover{color:#E31837;text-decoration:none}
.dash-nav a.active{color:#E31837;border-bottom-color:#E31837;font-weight:600}

.dash-main{padding:16px 20px 30px;min-height:calc(100vh - 200px);background:#fff;position:relative}
.dash-container{max-width:1100px;margin:0 auto}

.dash-account-bar{padding:10px 0;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dash-acct-title{font-size:17px;font-weight:600;color:#333}
.dash-routing-link{font-size:13px;color:#0073CF;margin-left:8px}

.dash-balance-row{display:grid;grid-template-columns:180px 1fr 180px;gap:20px;padding-bottom:16px;border-bottom:1px solid #eee;margin-bottom:14px}
.dash-balance-amount{font-size:30px;font-weight:700;color:#333;display:block;line-height:1.2}
.dash-balance-label{font-size:12px;color:#0073CF}
.dash-features-col h4,.dash-services-col h4{font-size:12px;font-weight:700;color:#333;margin-bottom:6px;text-transform:none}
.dash-feature-item{display:flex;justify-content:space-between;font-size:12px;color:#333;margin-bottom:3px;gap:8px}
.dash-feature-item a{color:#0073CF;font-size:12px;white-space:nowrap}
.dash-services-col a{display:block;font-size:12px;color:#0073CF;margin-bottom:4px}

.dash-tabs{display:flex;border-bottom:2px solid #ddd;margin-bottom:14px}
.dash-tabs a{padding:10px 18px;font-size:13px;color:#333;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s}
.dash-tabs a:hover{text-decoration:none;color:#333}
.dash-tabs a.active{font-weight:600;border-bottom-color:#333}

.dash-tx-header h2{font-size:18px;font-weight:700;color:#333;margin-bottom:10px}
.dash-tx-controls{display:flex;align-items:flex-end;gap:14px;margin-bottom:8px;flex-wrap:wrap}
.dash-tx-ctrl-group label{display:block;font-size:11px;color:#666;margin-bottom:3px}
.dash-tx-ctrl-group select{padding:5px 8px;border:1px solid #999;font-size:12px;font-family:inherit;background:#fff;border-radius:0}
.dash-tx-search-wrap{display:flex;align-items:center;border:1px solid #999;background:#fff}
.dash-tx-search-wrap input{border:none;padding:5px 8px;font-size:12px;font-family:inherit;width:180px;outline:none}
.dash-tx-search-wrap svg{margin-right:6px}
.dash-filter-btn{padding:5px 12px;border:1px solid #999;background:#fff;font-size:12px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:4px}
.dash-filter-btn:hover{background:#f5f5f5}

.dash-tx-meta{font-size:11px;color:#333;margin-bottom:10px;text-align:right}
.dash-tx-meta a{color:#0073CF;font-size:11px}

.dash-tx-table{width:100%;border-collapse:collapse;font-size:12px}
.dash-tx-table thead{border-bottom:2px solid #333}
.dash-tx-table th{text-align:left;padding:8px 8px;font-size:11px;font-weight:700;color:#333;white-space:nowrap}
.th-sort{color:#999;font-size:10px;cursor:pointer}
.dash-tx-table td{padding:10px 8px;border-bottom:1px solid #eee;vertical-align:top;font-size:12px}
.td-date{white-space:nowrap;color:#333}
.td-desc{max-width:360px;word-break:break-word;font-size:11px}
.td-desc a{color:#004481;text-decoration:none}
.td-desc a:hover{text-decoration:underline}
.td-amt{font-weight:600;white-space:nowrap;text-align:right;color:#333}
.dash-tx-table tbody tr:hover{background:#F7F7F7}
.dash-tx-table td a{color:#0073CF;font-size:11px}

/* Widgets */
.dash-widget{position:fixed;right:20px;bottom:60px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px 16px;box-shadow:0 2px 10px rgba(0,0,0,.08);z-index:100}
.dash-widget-title{font-size:11px;font-weight:700;color:#333;margin-bottom:6px}
.dash-widget-link{display:flex;align-items:center;gap:8px;font-size:13px;color:#0073CF;text-decoration:none}
.dash-widget-link:hover{text-decoration:underline}

.dash-alerts-widget{position:fixed;right:20px;bottom:140px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px 16px;box-shadow:0 2px 10px rgba(0,0,0,.08);text-align:center;z-index:100}
.dash-alerts-badge{width:24px;height:24px;background:#E31837;color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 6px}
.dash-alerts-widget strong{font-size:14px;color:#333;display:block;margin-bottom:4px}
.dash-alerts-widget p{font-size:10px;color:#666;margin:0}

.dash-footer{background:#f5f5f5;border-top:1px solid #ddd;padding:16px 20px;text-align:center}
.dash-footer-inner{max-width:1100px;margin:0 auto}
.dash-footer p{font-size:11px;color:#666;margin-bottom:4px}
.dash-footer a{color:#0073CF;font-size:11px}

@keyframes ab-spin{to{transform:rotate(360deg)}}

@media(max-width:768px){
.login-main-inner{grid-template-columns:1fr;gap:20px}
.login-col-left{border-right:none;padding-right:0;border-bottom:1px solid #e0e0e0;padding-bottom:20px}
.login-col-mid{display:none}
.login-header-inner{flex-wrap:wrap;gap:8px}
.boa-logo-img{height:20px}
.login-field input{width:100%}
.dash-header-user{flex-wrap:wrap;gap:6px;font-size:10px}
.dash-nav-inner{overflow-x:auto}
.dash-balance-row{grid-template-columns:1fr;gap:14px}
.dash-tx-controls{flex-direction:column;align-items:stretch}
.dash-tx-search-wrap input{width:100%}
.dash-tx-table{display:block;overflow-x:auto}
.dash-widget,.dash-alerts-widget{display:none}
.dash-nav a{padding:8px 10px;font-size:11px}
}

/* Accounts Overview */
.acct-main{background:#f5f5f5;min-height:60vh;padding:20px 0}
.acct-container{max-width:960px;margin:0 auto;padding:0 20px}
.acct-greeting{padding:16px 0 12px 40px;font-size:22px;color:#333;border-bottom:1px solid #ddd;margin-bottom:16px}
.acct-hello{font-weight:300}
.acct-update-link{font-size:12px;color:#0073CF}
.acct-greeting .acct-update-link-dark{font-size:12px;color:#333!important;text-decoration:none}
.acct-greeting .acct-update-link-dark:hover{text-decoration:underline}
.acct-info-banner{background:#e8f4fd;border:1px solid #b8d9f0;border-radius:4px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:12px;color:#333;margin-bottom:24px}
.acct-info-banner a{color:#0073CF}
.acct-section{background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}
.acct-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #eee;background:#fff}
.acct-section-icon{width:22px;height:18px;object-fit:contain}
.acct-section-title{font-size:14px;font-weight:600;color:#333;flex:1}
.acct-section-title sup{color:#333;font-size:10px}
.acct-section-total{font-size:16px;font-weight:700;color:#333}
.acct-card{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 16px 32px;cursor:pointer;transition:background 0.15s}
.acct-card:hover{background:#f0f7ff}
.acct-card-left{display:flex;flex-direction:column;gap:2px}
.acct-card-name{font-size:14px;color:#0073CF;font-weight:600}
.acct-card-name:hover{text-decoration:underline}
.acct-quick-view{font-size:11px;color:#0073CF}
.acct-card-right{text-align:right}
.acct-card-balance{font-size:15px;font-weight:600;color:#333}
