#dfa-root { --dfa-green:#0f5546; --dfa-ink:#172b25; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--dfa-ink); font-size:14px; line-height:1.5; position:fixed; right:24px; bottom:24px; z-index:999999; }
#dfa-root *,#dfa-root *::before,#dfa-root *::after { box-sizing:border-box; }
#dfa-root [hidden] { display:none!important; }
#dfa-root button,#dfa-root textarea { font:inherit; }
#dfa-root button { cursor:pointer; min-height:44px; border:0; text-transform:none; letter-spacing:normal; }
#dfa-root button:focus-visible,#dfa-root textarea:focus-visible,#dfa-root a:focus-visible,#dfa-root input:focus-visible { outline:3px solid #e1a947; outline-offset:3px; }
#dfa-root button:disabled { opacity:.5; cursor:not-allowed; }
#dfa-launcher { display:flex; gap:10px; align-items:center; border-radius:100px; padding:14px 20px; background:var(--dfa-green); color:white; box-shadow:0 8px 30px #0c362630; font-weight:600!important; }
#dfa-launcher img { display:block; width:40px; height:40px; flex-shrink:0; border-radius:50%; object-fit:cover; }
#dfa-panel { position:absolute; right:0; bottom:76px; width:410px; height:min(680px,calc(100dvh - 124px)); display:flex; flex-direction:column; border:1px solid #d9e4dd; border-radius:20px; overflow:hidden; background:#fffefb; box-shadow:0 18px 80px #14352a33; }
#dfa-root .dfa-header { display:flex; flex-shrink:0; align-items:center; gap:12px; padding:14px 18px; background:white; color:var(--dfa-ink); border-bottom:1px solid #d9e4dd; }
#dfa-root .dfa-brand { min-width:0; flex:1; }
#dfa-root .dfa-brand h2 { width:250px; max-width:100%; height:54px; overflow:hidden; }
#dfa-root .dfa-brand img { display:block; width:100%; height:auto; max-width:100%; transform:translateY(-13px); }
#dfa-root h2 { margin:0; padding:0; font-size:19px; font-weight:650; color:inherit; line-height:1.25; }
#dfa-root .dfa-header p { margin:4px 0 0; font-size:11px; color:#52675b; }
#dfa-close { margin-left:auto; flex-shrink:0; width:44px; padding:0; border-radius:10px; font-size:26px!important; background:transparent; color:var(--dfa-ink); }
#dfa-messages { padding:20px 18px 12px; overflow:auto; flex:1; min-height:100px; overscroll-behavior:contain; }
#dfa-root .dfa-message { margin-bottom:18px; max-width:95%; }
#dfa-root .dfa-message-label { display:block; font-size:10px; font-weight:700; letter-spacing:.04em; color:#5c7066; margin-bottom:6px; }
#dfa-root .dfa-message-body { white-space:pre-wrap; overflow-wrap:anywhere; padding:14px 16px; border-radius:2px 14px 14px; background:#f0f3ed; font-size:13px; line-height:1.65; }
#dfa-root .dfa-user { margin-left:auto; }
#dfa-root .dfa-user .dfa-message-label { text-align:right; }
#dfa-root .dfa-user .dfa-message-body { background:var(--dfa-green); color:white; border-radius:14px 2px 14px 14px; }
#dfa-root .dfa-pending { opacity:.65; }
#dfa-root .dfa-sources { margin-top:10px; display:grid; gap:7px; }
#dfa-root .dfa-sources > span { font-size:10px; font-weight:700; color:#5c7066; }
#dfa-root .dfa-sources a { color:#14513f; text-decoration:none; background:white; border:1px solid #d9e4dd; padding:10px 12px; border-radius:9px; font-size:12px; }
#dfa-root .dfa-sources a:hover { text-decoration:underline; }
#dfa-suggestions { display:flex; flex-shrink:0; flex-wrap:wrap; gap:6px; padding:0 18px 12px; }
#dfa-suggestions button { border:1px solid #d9e4dd!important; background:white; border-radius:20px; padding:6px 11px; font-size:11px!important; color:#315447; min-height:32px!important; }
#dfa-consent-box { flex-shrink:0; padding:10px 18px; background:#f8f6ed; font-size:10px; border-top:1px solid #e9e7dc; }
#dfa-consent-text { margin:0 0 7px; line-height:1.5; }
#dfa-consent-text a { color:#14513f; }
#dfa-consent-box label { display:flex; align-items:center; gap:7px; font-size:11px; cursor:pointer; min-height:28px; }
#dfa-consent { accent-color:var(--dfa-green); width:16px; height:16px; margin:0; }
#dfa-form { display:flex; align-items:center; flex-shrink:0; gap:10px; padding:12px 16px; background:white; border-top:1px solid #e5ebe6; margin:0; }
#dfa-question { flex:1; resize:none; width:100%; min-width:0; max-height:100px; height:44px; margin:0; border:1px solid #d9e4dd; background:#fff; border-radius:10px; padding:11px 12px; font-size:12px!important; color:#172b25; box-shadow:none; }
#dfa-send { width:44px; height:44px; border-radius:10px; background:var(--dfa-green); color:white; font-size:22px!important; padding:0; }
#dfa-root footer { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:8px; padding:0 16px 8px; background:white; font-size:9px; color:#67796f; }
#dfa-reset { background:transparent; color:#315447; font-size:10px!important; min-height:30px!important; padding:4px; }
#dfa-root .dfa-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:480px) { #dfa-root { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); } #dfa-launcher { padding:12px 16px; font-size:12px!important; } #dfa-panel { width:calc(100vw - 24px); height:calc(100dvh - 106px); bottom:68px; } #dfa-root .dfa-header { padding:14px 12px; } #dfa-consent-box { padding:8px 12px; } }
@media(prefers-reduced-motion:no-preference) { #dfa-launcher { transition:transform .18s; } #dfa-launcher:hover { transform:translateY(-2px); } }
/* Stateless financial forms and reports, with keyboard-accessible native controls. */
#dfa-root .dfa-fin-toolbar { display:flex; gap:5px; flex-wrap:wrap; padding:4px 12px; flex-shrink:0; max-height:90px; overflow:auto; }
#dfa-root .dfa-fin-toolbar button { font-size:11px!important; padding:7px!important; border:1px solid #d9e4dd!important; border-radius:8px; background:#f2f6f3; color:#173f32; }
#dfa-root .dfa-fin-host:empty { display:none; }
#dfa-root .dfa-fin-host:not(:empty) { overflow:auto; flex:1 1 65%; min-height:0; padding:8px 12px; border-top:1px solid #d9e4dd; background:#fff; color:#172b25; }
#dfa-root.dfa-fin-open #dfa-messages, #dfa-root.dfa-fin-open #dfa-suggestions, #dfa-root.dfa-fin-open .dfa-fin-toolbar, #dfa-root.dfa-fin-open #dfa-form { display:none; }
#dfa-root .dfa-fin-card { font-size:12px; line-height:1.6; }
#dfa-root .dfa-fin-card h3 { font-size:16px; line-height:1.35; color:#073126; }
#dfa-root .dfa-fin-card h4 { font-size:13px; margin:16px 0 6px; color:#073126; }
#dfa-root .dfa-fin-card p { margin:8px 0; }
#dfa-root .dfa-fin-card fieldset { min-width:0; border:1px solid #ccdacf; padding:10px; margin:10px 0; }
#dfa-root .dfa-fin-card legend { font-weight:700; font-size:13px; }
#dfa-root .dfa-fin-field { display:grid; gap:5px; margin-bottom:12px; }
#dfa-root .dfa-fin-field label { font-size:12px; line-height:1.45; }
#dfa-root .dfa-fin-field input, #dfa-root .dfa-fin-field select { width:100%; min-height:40px; border:1px solid #799486; border-radius:6px; padding:7px; background:#fff; color:#172b25; font-size:14px; box-sizing:border-box; }
#dfa-root .dfa-fin-consent { display:flex; gap:8px; align-items:flex-start; margin:12px 0; }
#dfa-root .dfa-fin-consent input { width:18px; height:18px; flex-shrink:0; }
#dfa-root .dfa-fin-card button { padding:8px!important; min-height:40px!important; margin:4px 5px 4px 0; border:1px solid #567868!important; border-radius:7px; color:#fff; background:#14513f; font-size:12px!important; }
#dfa-root .dfa-fin-card :focus-visible, #dfa-root .dfa-fin-toolbar :focus-visible { outline:3px solid #e6af05; outline-offset:2px; }
#dfa-root .dfa-fin-card [hidden] { display:none!important; }
#dfa-root .dfa-fin-error { color:#8b201b; }
#dfa-root .dfa-fin-card dl { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
#dfa-root .dfa-fin-card dt { font-weight:600; }
#dfa-root .dfa-fin-card dd { margin:0; text-align:right; overflow-wrap:anywhere; }
#dfa-root .dfa-fin-table { overflow:auto; }
#dfa-root .dfa-fin-card table { width:100%; border-collapse:collapse; font-size:11px; }
#dfa-root .dfa-fin-card th, #dfa-root .dfa-fin-card td { border:1px solid #ccdacf; padding:6px; text-align:left; }
#dfa-root .dfa-fin-card summary { cursor:pointer; min-height:36px; font-weight:600; }
