/* BHA Exchange V4: focused presentation layer. All financial writes remain protected by server.mjs. */
:root{--v4-ink:#172b45;--v4-muted:#677c95;--v4-blue:#2767c2;--v4-navy:#0d2844;--v4-line:#e1e9f2;--v4-white:#fff;--v4-bg:#f4f7fb}
body.bha-exchange-app{font-size:14px!important;background:var(--v4-bg)!important;color:var(--v4-ink)!important;line-height:1.45}
body.bha-exchange-app button,body.bha-exchange-app input,body.bha-exchange-app select{font:inherit}
body.bha-exchange-app button:focus-visible,body.bha-exchange-app a:focus-visible,body.bha-exchange-app input:focus-visible,body.bha-exchange-app select:focus-visible{outline:3px solid #63a7f3;outline-offset:2px}
body.bha-exchange-app #login.exchange-login-screen{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:100vh!important;min-height:100svh!important;background:linear-gradient(135deg,#e8f0fa 0%,#f8fbff 56%,#eef4fa 100%)!important;padding:clamp(20px,4vw,64px)!important;overflow:auto!important}
body.bha-exchange-app #login.exchange-login-screen[hidden]{display:none!important}
body.bha-exchange-app .login-shell-v4{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);width:min(1100px,100%);min-height:660px;border-radius:27px;background:white;box-shadow:0 35px 100px rgba(18,48,87,.16);border:1px solid #e2eaf4;overflow:hidden}
body.bha-exchange-app .login-hero-v4{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,4vw,55px);background:radial-gradient(circle at 88% 16%,rgba(69,146,235,.24),transparent 42%),linear-gradient(150deg,#102f52,#0b2340 74%);color:white;overflow:hidden}
body.bha-exchange-app .login-hero-v4:after{position:absolute;right:-125px;bottom:65px;width:370px;height:370px;content:"";border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 65px #ffffff06,0 0 0 130px #ffffff05;pointer-events:none}
body.bha-exchange-app .login-hero-brand{display:flex;align-items:center;gap:15px;position:relative;z-index:1}
body.bha-exchange-app .login-hero-monogram{width:49px;height:49px;border-radius:15px;display:grid;place-items:center;background:#ffffff19;border:1px solid #ffffff25;font-size:18px;font-weight:850;color:white}
body.bha-exchange-app .login-hero-brand strong{font-size:19px;font-weight:850;letter-spacing:.02em;color:white}
body.bha-exchange-app .login-hero-brand small{display:block;color:#9ebedd;font-size:10px;letter-spacing:.16em;margin-top:5px;font-weight:650}
body.bha-exchange-app .login-hero-content{position:relative;z-index:1;max-width:440px;padding:28px 0}
body.bha-exchange-app .login-kicker-v4{font-size:11px;letter-spacing:.15em;font-weight:850;color:#90bce8}
body.bha-exchange-app .login-hero-symbol{font-size:45px;display:grid;place-items:center;width:76px;height:76px;background:#ffffff12;border:1px solid #ffffff21;border-radius:21px;margin:22px 0 22px;color:#cde6ff}
body.bha-exchange-app .login-hero-content h2{font-size:clamp(29px,3vw,44px)!important;line-height:1.12;letter-spacing:-.045em;font-weight:790;color:white!important;margin:0 0 17px!important}
body.bha-exchange-app .login-hero-content>p{font-size:14px!important;line-height:1.8;color:#b8cde3!important;max-width:390px;margin:0 0 25px!important}
body.bha-exchange-app .login-feature-list{display:grid;gap:13px}
body.bha-exchange-app .login-feature-list>div{display:flex;align-items:center;gap:11px;color:#e2eefc;font-size:13px}
body.bha-exchange-app .feature-icon{flex:none;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#2e6a9066;color:#92ebcf;font-weight:900}
body.bha-exchange-app .login-hero-foot{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:9px;border-top:1px solid #ffffff22;padding-top:19px;font-size:11px;color:#b3cce7}
body.bha-exchange-app .login-hero-foot>span:last-child{margin-left:auto;color:#8bb5e5}
body.bha-exchange-app .login-form-side{display:flex;align-items:center;justify-content:center;background:#fff;padding:35px clamp(20px,4vw,65px);min-width:0}
body.bha-exchange-app .login-card-standalone{display:block;width:100%;max-width:410px;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:12px 0!important;margin:0!important}
body.bha-exchange-app .login-form-eyebrow{display:block;color:#2770c4;font-size:11px;letter-spacing:.16em;font-weight:850;margin-bottom:14px}
body.bha-exchange-app .login-card-standalone h1{color:#152d49!important;font-weight:830;font-size:clamp(27px,2.4vw,36px)!important;letter-spacing:-.04em;line-height:1.17;margin:0 0 13px!important}
body.bha-exchange-app .login-card-standalone .login-intro{font-size:14px!important;line-height:1.7!important;color:#677d94!important;margin:0 0 27px!important}
body.bha-exchange-app .login-card-standalone form label{display:block;color:#2e4966!important;font-weight:750!important;font-size:13px!important;margin:0 0 19px!important}
body.bha-exchange-app .login-card-standalone form label>span{display:block;margin-bottom:9px}
body.bha-exchange-app .login-card-standalone input{font-size:15px!important;height:52px!important;background:#fafdff!important;border:1px solid #cbd9e7!important;border-radius:11px!important;padding:12px 15px!important;box-shadow:none!important;color:#192e4a!important;min-width:0}
body.bha-exchange-app .login-card-standalone input:focus{background:#fff!important;border-color:#3b85d9!important;box-shadow:0 0 0 4px #2b78d21a!important;outline:none!important}
body.bha-exchange-app .login-password-wrap{position:relative}
body.bha-exchange-app .login-password-wrap input{width:100%;padding-right:62px!important}
body.bha-exchange-app button.password-reveal{position:absolute;right:7px;top:6px;display:grid;place-items:center;border:0;background:transparent;color:#4f718e;width:42px;height:40px;border-radius:9px;font-size:19px;padding:0}
body.bha-exchange-app button.password-reveal:hover{background:#edf4fd;color:#1d5cb0}
body.bha-exchange-app .login-card-standalone .login-button{margin-top:18px!important;width:100%;height:52px;display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:15px!important;padding:0 20px!important;border:0!important;border-radius:11px!important;background:#286cca!important;color:#fff!important;box-shadow:0 8px 20px #256ac42c!important;transition:background .16s}
body.bha-exchange-app .login-card-standalone .login-button:hover{background:#1d58ad!important}
body.bha-exchange-app .login-card-standalone .login-button.busy{opacity:.65}
body.bha-exchange-app .login-card-standalone .login-error{font-size:12px!important;color:#b12b40!important;margin:8px 0 0!important;min-height:0}
body.bha-exchange-app .login-card-standalone .login-error:empty{display:none}
body.bha-exchange-app .login-card-standalone .login-bottom{border-top:1px solid #e5ecf4;margin:25px 0 0!important;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}
body.bha-exchange-app .login-mode-tag{display:flex;align-items:center;gap:8px;font-size:12px;color:#607891}
body.bha-exchange-app .login-card-standalone .languages{display:flex;gap:5px}
body.bha-exchange-app .login-card-standalone [data-lang]{font-size:12px;font-weight:800;border:1px solid #dce6ef;padding:8px 10px;border-radius:8px;background:#fff;color:#4b6580}
body.bha-exchange-app .login-card-standalone [data-lang].selected{background:#eaf2ff;color:#1c60bb;border-color:#d1e4fb}
body.bha-exchange-app .login-disclaimer{font-size:11px;color:#90a0b1;line-height:1.55;margin-top:21px;text-align:left}
body.bha-exchange-app .login-mobile-brand{display:none}
/* App work area */
body.bha-exchange-app #app{grid-template-columns:224px minmax(0,1fr)!important;background:#f5f8fc!important;min-height:100vh!important}
body.bha-exchange-app #app #sidebar.exchange-sidebar{width:224px!important;background:#102b49!important;padding:24px 13px!important}
body.bha-exchange-app #app #sidebar .exchange-brand{padding:0 6px 22px!important;gap:10px}
body.bha-exchange-app #app #sidebar .exchange-brand strong{font-size:15px!important}
body.bha-exchange-app #app #sidebar nav{gap:4px!important}
body.bha-exchange-app #app #sidebar nav button{padding:12px 13px!important;font-size:13px!important;border:1px solid transparent!important;color:#c3d4e8!important;min-height:47px!important;transition:background .15s}
body.bha-exchange-app #app #sidebar nav button:hover{background:#1b436d!important;color:white!important}
body.bha-exchange-app #app #sidebar nav button.active{background:#2a5381!important;border-color:#406894!important;color:#fff!important}
body.bha-exchange-app #app #sidebar .nav-label{padding:26px 12px 12px!important}
body.bha-exchange-app #app .topbar{box-shadow:0 2px 11px #102a4807!important}
body.bha-exchange-app #app .exchange-page{padding:25px clamp(14px,2.2vw,34px) 30px!important;max-width:1900px!important}
body.bha-exchange-app #app .page-head{margin-bottom:15px!important}
body.bha-exchange-app #app .page-head h1{font-size:25px!important;letter-spacing:-.035em}
body.bha-exchange-app #app .exchange-intro{padding:21px 24px!important;min-height:100px!important;display:flex!important;align-items:center!important;gap:18px!important;margin-bottom:14px!important;background:linear-gradient(105deg,#173a65,#28558a)!important}
body.bha-exchange-app #app .exchange-intro .exchange-symbol{width:52px;height:52px;display:grid;place-items:center;background:#ffffff1b;border-radius:13px;font-size:32px!important;flex:none}
body.bha-exchange-app #app .exchange-intro h2{font-size:19px!important;line-height:1.3;margin:4px 0 4px!important}
body.bha-exchange-app #app .exchange-intro p{margin:0!important;color:#bed9f6!important;font-size:12px!important}
body.bha-exchange-app #app .exchange-hero-status{margin-left:auto;border:1px solid #ffffff35;padding:8px 11px;border-radius:30px;color:#d2e9ff;font-size:10px;letter-spacing:.09em;font-weight:800;white-space:nowrap}
body.bha-exchange-app #app .exchange-tabs{background:#fff!important;border:1px solid #e0e8f1!important;border-radius:12px!important;display:flex!important;align-items:center;gap:3px!important;padding:6px!important;margin:0 0 14px!important;box-shadow:0 3px 10px #16325004;overflow-x:auto!important;overflow-y:hidden!important}
body.bha-exchange-app #app .exchange-tabs button{border:none!important;border-radius:8px!important;white-space:nowrap!important;flex-shrink:0!important;padding:10px 13px!important;min-height:40px!important;color:#60758c!important;font-size:12px!important;font-weight:670!important}
body.bha-exchange-app #app .exchange-tabs button.selected{background:#e8f1fe!important;color:#1d61b4!important;font-weight:820!important;box-shadow:none!important}
body.bha-exchange-app #app .exchange-tabs button:hover{background:#edf3fa!important}
body.bha-exchange-app #app .report-filter,body.bha-exchange-app #app .exchange-deposit-controls{background:#fff!important;border:1px solid #e1e9f2!important;border-radius:12px!important;padding:16px 18px!important;gap:12px!important;margin-bottom:15px!important;box-shadow:0 3px 10px #16325005!important}
body.bha-exchange-app #app .report-filter label{flex:1 1 170px!important;min-width:140px!important;gap:7px!important;font-size:12px!important;color:#62778e!important;font-weight:720!important}
body.bha-exchange-app #app .report-filter select,body.bha-exchange-app #app .report-filter input,body.bha-exchange-app #app .exchange-deposit-controls select{min-height:44px!important;height:44px!important;background:#fff!important;border:1px solid #d9e3ee!important;border-radius:9px!important;font-size:13px!important;color:#263f5a!important;padding:9px 11px!important}
body.bha-exchange-app #app .report-filter button{height:44px!important;min-width:100px!important;border-radius:9px!important;font-size:13px!important;background:#2869c7!important;color:white!important}
body.bha-exchange-app #app .read-only-banner{padding:10px 14px!important;margin-bottom:14px!important}
body.bha-exchange-app #app .panel{background:#fff!important;border:1px solid var(--v4-line)!important;border-radius:13px!important;box-shadow:0 3px 18px rgba(18,47,82,.04)!important;overflow:hidden!important;margin-bottom:13px!important}
body.bha-exchange-app #app .panel-head{padding:17px 19px!important;border-bottom:1px solid #e6edf4!important;min-height:56px!important}
body.bha-exchange-app #app .panel-head h3{font-size:15px!important;font-weight:820!important;color:#233d59!important;margin:0!important}
body.bha-exchange-app #app .panel-head small{font-size:11px!important;color:#7b8da3!important}
body.bha-exchange-app #app .exchange-table-wrap{max-height:min(65vh,680px)!important;max-width:100%!important;overflow:auto!important;border:0!important;scrollbar-color:#becddd #eef3f8!important;scrollbar-width:thin!important}
body.bha-exchange-app #app .exchange-table{border-collapse:separate!important;border-spacing:0!important;min-width:max-content!important;width:max-content!important;background:white!important}
body.bha-exchange-app #app .exchange-table th{background:#f0f5fb!important;color:#45627f!important;font-size:11px!important;font-weight:820!important;letter-spacing:.025em!important;padding:12px 13px!important;line-height:1.25!important;border-bottom:1px solid #dce5ef!important;white-space:nowrap!important;position:sticky!important;top:0!important;z-index:6}
body.bha-exchange-app #app .exchange-table td{font-size:12px!important;font-weight:530!important;color:#354b65!important;padding:10px 13px!important;height:48px!important;line-height:1.4!important;white-space:nowrap!important;vertical-align:middle!important;border-bottom:1px solid #e8eef5!important;background:#fff!important}
body.bha-exchange-app #app .exchange-table tbody tr:nth-child(even) td{background:#f7fafe!important}
body.bha-exchange-app #app .exchange-table tbody tr:hover td{background:#eef6ff!important}
body.bha-exchange-app #app .exchange-table .num{font-variant-numeric:tabular-nums!important}
/* Serial and actions stay on screen as the remaining columns scroll. */
body.bha-exchange-app #app .exchange-table-has-actions .exchange-table th:first-child,body.bha-exchange-app #app .exchange-table-has-actions .exchange-table td:first-child{position:sticky!important;left:0!important;min-width:56px!important;width:56px!important;max-width:56px!important;text-align:center!important;z-index:9!important;box-shadow:1px 0 0 #e0e8f1}
body.bha-exchange-app #app .exchange-table-has-actions .exchange-table th:first-child{z-index:13!important}
body.bha-exchange-app #app .exchange-table-has-actions .exchange-table .exchange-sticky-action{position:sticky!important;left:56px!important;min-width:220px!important;width:220px!important;max-width:220px!important;z-index:8!important;box-shadow:2px 0 8px #142f5011,inset -1px 0 #e2ebf2}
body.bha-exchange-app #app .exchange-table-has-actions .exchange-table th.exchange-sticky-action{z-index:12!important;background:#e6f0fc!important}
body.bha-exchange-app #app .exchange-row-actions{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;width:100%!important}
body.bha-exchange-app #app .exchange-row-actions button{display:inline-flex!important;align-items:center;justify-content:center;flex:none;border-radius:7px!important;border:1px solid #d8e4ef!important;padding:7px 9px!important;background:#fff!important;color:#477092!important;font-size:11px!important;font-weight:750!important;min-height:30px!important;line-height:1!important;transform:none!important}
body.bha-exchange-app #app .exchange-row-actions button.exchange-view-button{background:#eaf2ff!important;border-color:#bed7fa!important;color:#1e5db1!important}
body.bha-exchange-app #app .exchange-row-actions button.exchange-view-button:hover{background:#d9e9ff!important}
body.bha-exchange-app #app .exchange-row-actions button.exchange-delete-button{color:#a34a55!important}
body.bha-exchange-app #app .exchange-row-actions button:disabled{display:inline-flex!important;opacity:.43!important;cursor:not-allowed!important;box-shadow:none!important}
body.bha-exchange-app #app .exchange-pagination{background:#fff;border:1px solid #e1e9f2;border-radius:11px;padding:12px 17px!important;font-size:12px!important}
body.bha-exchange-app #app .exchange-page-controls button{min-height:37px!important;font-size:12px!important}
body.bha-exchange-app #app .exchange-footer{margin-top:auto}
/* Inspection dialog */
body.bha-exchange-app .exchange-view-dialog{width:min(760px,calc(100vw - 32px))!important;border:0!important;border-radius:19px!important;box-shadow:0 25px 90px #0b234555!important;padding:0!important;color:#17314e!important;background:#fff!important;max-height:min(88vh,850px)!important}
body.bha-exchange-app .exchange-view-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 27px 20px;border-bottom:1px solid #e7edf3}
body.bha-exchange-app .exchange-view-header .eyebrow{font-size:10px;letter-spacing:.15em;color:#3378c5}
body.bha-exchange-app .exchange-view-header h2{font-size:25px;color:#173251;margin:8px 0 4px;font-weight:800}
body.bha-exchange-app .exchange-view-header p{font-size:12px;color:#8494a8;margin:0}
body.bha-exchange-app button.exchange-view-close{width:38px;height:38px;border:1px solid #dce6f0;border-radius:10px;background:#f6f9fc;color:#54718d;font-size:24px;line-height:1}
body.bha-exchange-app .exchange-view-grid{padding:22px 27px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
body.bha-exchange-app .exchange-view-field{padding:13px 14px;background:#f6f9fd;border:1px solid #e4edf4;border-radius:10px;min-width:0}
body.bha-exchange-app .exchange-view-field small{display:block;color:#7489a0;font-size:11px;margin-bottom:7px}
body.bha-exchange-app .exchange-view-field strong{display:block;color:#1c3a5a;font-size:13px;overflow-wrap:anywhere}
body.bha-exchange-app .exchange-view-footer{padding:17px 27px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e7edf3}
body.bha-exchange-app .exchange-view-footer span{font-size:12px;color:#60886d}
body.bha-exchange-app button.exchange-view-done{border-radius:9px;padding:10px 23px;font-size:13px}
@media(max-width:1040px){body.bha-exchange-app .login-shell-v4{grid-template-columns:1fr 1fr}body.bha-exchange-app .login-hero-v4{padding:30px}body.bha-exchange-app .login-form-side{padding:30px}body.bha-exchange-app #app .exchange-hero-status{display:none}}
@media(max-width:920px){body.bha-exchange-app #app{grid-template-columns:1fr!important}body.bha-exchange-app #app #sidebar.exchange-sidebar{position:fixed!important;left:0!important;top:0!important;transform:translateX(-110%);z-index:30!important}body.bha-exchange-app #app.sidebar-open #sidebar.exchange-sidebar{transform:translateX(0)!important}body.bha-exchange-app #app .exchange-page{padding:16px 12px 22px!important}}
@media(max-width:760px){body.bha-exchange-app #login.exchange-login-screen{padding:12px!important}body.bha-exchange-app .login-shell-v4{display:block;min-height:0;border-radius:18px}body.bha-exchange-app .login-hero-v4{padding:16px 20px;background:#102f52}body.bha-exchange-app .login-hero-content,body.bha-exchange-app .login-hero-foot{display:none}body.bha-exchange-app .login-form-side{padding:27px 24px 20px}body.bha-exchange-app .login-card-standalone{max-width:450px}body.bha-exchange-app .exchange-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:490px){body.bha-exchange-app .login-hero-brand strong{font-size:15px}body.bha-exchange-app .login-form-side{padding:22px 18px}body.bha-exchange-app #app .exchange-intro{padding:15px!important;min-height:85px!important}body.bha-exchange-app #app .exchange-intro h2{font-size:15px!important}body.bha-exchange-app #app .exchange-page .page-head h1{font-size:22px!important}body.bha-exchange-app .exchange-view-grid{grid-template-columns:1fr}body.bha-exchange-app .exchange-view-header,body.bha-exchange-app .exchange-view-footer{padding:17px}body.bha-exchange-app .exchange-view-grid{padding:14px}body.bha-exchange-app .exchange-view-footer span{font-size:10px}}
@media print{body.bha-exchange-app #login,body.bha-exchange-app .exchange-view-dialog{display:none!important}body.bha-exchange-app #print-area{display:block!important}}
