/* APX Global Banking — frontend styles (white-label aware). */
.apx-gb-app{--c1:var(--apx-brand-c1,#4f46e5);--c2:var(--apx-brand-c2,#06b6d4);max-width:1080px;margin:0 auto;padding:16px;font-family:var(--apx-brand-font,system-ui,sans-serif);color:#0f172a}
.apx-gb-app h3{color:var(--c1)}
.apx-gb-app input,.apx-gb-app select{display:block;width:100%;max-width:420px;margin:6px 0;padding:10px;border:1px solid #cbd5e1;border-radius:8px}
.apx-gb-app button{background:var(--c1);color:#fff;border:0;border-radius:8px;padding:10px 18px;cursor:pointer}
.apx-gb-app button:hover{opacity:.9}
.apx-wallets{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:16px 0}
.apx-wallet-card{border:1px solid #e2e8f0;border-radius:14px;padding:14px;box-shadow:0 1px 4px rgba(15,23,42,.06)}
.apx-wallet-card .bal{font-size:1.4em;font-weight:700;color:var(--c1)}
.apx-wallet-card .cur{color:#64748b;font-size:.85em;text-transform:uppercase}
.apx-tx{width:100%;border-collapse:collapse}
.apx-tx td,.apx-tx th{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left}
.apx-atm-device{border:1px dashed var(--c2);border-radius:12px;padding:10px;margin:8px 0}
.apx-atm-device button{background:var(--c2)}
.apx-ok{color:#059669}
.apx-err{color:#dc2626}
.apx-login-methods{list-style:none;padding:0}
.apx-login-methods li{padding:4px 0;border-bottom:1px dotted #e2e8f0}
@media (prefers-color-scheme:dark){.apx-gb-app{color:#e2e8f0}.apx-wallet-card,.apx-tx td,.apx-tx th{border-color:#334155}}

/* v1.1 additions */
.apx-note{font-size:.9em;color:#64748b}
.apx-consent{display:flex;gap:8px;align-items:center;max-width:420px;margin:8px 0}
.apx-ai-log{max-height:320px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin:10px 0;background:#f8fafc}
.apx-ai-user{color:#0f172a}
.apx-ai-bot{color:#334155}

/* v2.0: chat + conversational forms */
.apx-chat-cols{display:grid;grid-template-columns:260px 1fr;gap:12px}
.apx-chat-list{max-height:420px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;padding:8px}
.apx-chat-thread{cursor:pointer;padding:8px;border-radius:8px}
.apx-chat-thread:hover{background:#f1f5f9}
.apx-chat-msgs{height:320px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin-bottom:8px}
.apx-chat-form{display:flex;gap:8px}
.apx-chat-form input[type=text]{flex:1;margin:0}
.apx-conv-log{min-height:120px}
@media(max-width:720px){.apx-chat-cols{grid-template-columns:1fr}}

/* v2.2: floating widgets */
.apx-float{position:fixed;right:20px;bottom:20px;z-index:99990;font-family:var(--apx-brand-font,system-ui,sans-serif)}
.apx-float-tabs{display:none;gap:6px;padding:6px 8px;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -2px 12px rgba(15,23,42,.15)}
.apx-float.apx-open .apx-float-tabs{display:flex}
.apx-float-tabs button{border:0;background:var(--apx-brand-c1,#4f46e5);color:#fff;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px}
#apx-float-close{background:#ef4444!important}
.apx-float-body{display:none;width:320px;max-width:86vw;background:#fff;border-radius:0 12px 12px 12px;box-shadow:0 4px 24px rgba(15,23,42,.2);padding:10px}
.apx-float-body .apx-ai-log{max-height:260px}
.apx-float-body input{margin:4px 0}
#apx-float-open{display:block;width:52px;height:52px;border-radius:50%;border:0;background:var(--apx-brand-c1,#4f46e5);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 16px rgba(79,70,229,.4);float:right}
@media(max-width:640px){.apx-float{right:10px;bottom:10px}}
