/* Optional public assistant; colors follow the existing semantic appearance system. */
#af-launcher{position:fixed;right:20px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;gap:9px;align-items:center;min-height:48px;padding:12px 18px;border:1px solid var(--theme-control-border);border-radius:25px;background:#101d30;color:#f3f0e9;font:600 0.9375rem/1.4 var(--sans);box-shadow:0 3px 12px #0002;}
#ask-firm :is(a,button,input):focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px;}
#ask-firm .af-panel{position:fixed;inset:auto 20px 20px auto;margin:0;padding:0;width:390px;max-width:calc(100vw - 32px);height:min(600px,var(--af-available-height,calc(100dvh - 128px)));max-height:none;border:1px solid var(--theme-control-border);border-radius:12px;background:var(--theme-surface);color:var(--theme-text);box-shadow:0 8px 30px #0003;overflow:hidden;z-index:49;}
#ask-firm .af-panel[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;}
#ask-firm .af-panel::backdrop{background:#10192366;}
#ask-firm .af-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 10px 12px 18px;background:#101d30;color:#f3f0e9;}
#ask-firm .af-header h2{font:600 1.625rem/1.15 var(--serif);margin:0 0 4px;letter-spacing:-.02em;}
#ask-firm .af-header p{font:400 0.875rem/1.5 var(--sans);margin:0;}
#ask-firm .af-close{width:44px;height:44px;flex-shrink:0;padding:0;font:400 1.875rem/1 var(--sans);color:#f3f0e9;}
#ask-firm .af-header button:focus-visible{outline-color:#84d8ce;}
#ask-firm .af-messages{overflow:auto;overscroll-behavior:contain;min-height:0;padding:16px 18px;scrollbar-gutter:stable;}
#ask-firm .af-messages p{font:400 1rem/1.6 var(--sans);margin:0 0 12px;overflow-wrap:anywhere;}
#ask-firm .af-quick{display:grid;gap:7px;margin:12px 0 4px;}
#ask-firm .af-quick button,#ask-firm .af-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 12px;background:var(--theme-soft);color:var(--theme-link);border:1px solid var(--theme-border);border-radius:7px;text-align:left;font:600 0.9375rem/1.45 var(--sans);}
#ask-firm .af-message{border-top:1px solid var(--theme-border);padding-top:14px;margin-top:16px;}
#ask-firm .af-user{padding:12px;border:0;border-radius:8px;background:var(--theme-soft);}
#ask-firm .af-message .af-speaker{font-size:0.875rem;font-weight:600;color:var(--theme-secondary);margin-bottom:5px;}
#ask-firm .af-message a{display:inline-flex;align-items:center;min-height:44px;margin-right:12px;color:var(--theme-link);text-decoration:underline;text-underline-offset:4px;font:600 0.9375rem/1.5 var(--sans);overflow-wrap:anywhere;}
#ask-firm .af-choices{display:grid;gap:7px;margin-top:10px;}
#ask-firm .af-consult{display:block;min-height:44px;padding:10px 12px;border-radius:4px;background:var(--theme-action);color:var(--theme-action-text);font:600 0.9375rem/1.5 var(--sans);margin-top:12px;}
#ask-firm .af-footer{padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--theme-border);background:var(--theme-surface);}
#ask-firm .af-mode,#ask-firm .af-reminder,#ask-firm .af-status{font:400 0.875rem/1.5 var(--sans);color:var(--theme-secondary);margin:0 0 7px;}
#ask-firm .af-mode:empty,#ask-firm .af-status:empty{display:none;}
#ask-firm .af-status[data-error]{color:var(--theme-error);}
#ask-firm #af-question-form{display:flex;gap:8px;margin:0;}
#ask-firm #af-question{min-width:0;flex:1;padding:10px 12px;min-height:46px;font:400 1rem/1.5 var(--sans);border:1px solid var(--theme-control-border);border-radius:5px;background:var(--theme-surface);color:var(--theme-text);}
#ask-firm #af-question::placeholder{color:var(--theme-placeholder);opacity:1;}
#ask-firm .af-send{display:grid;place-items:center;min-width:46px;min-height:46px;border-radius:5px;background:var(--theme-action);color:var(--theme-action-text);}
#ask-firm .af-send:disabled{opacity:.65;cursor:wait;}
#ask-firm .af-phone{display:inline-flex;align-items:center;min-height:44px;color:var(--theme-link);font:600 0.875rem/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;}
body.af-modal-open{overflow:hidden;}
@media(max-width:800px){
 #af-launcher{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));}
 #ask-firm .af-panel{left:8px;right:8px;bottom:calc(var(--af-keyboard-inset,0px) + 8px);width:auto;max-width:none;height:var(--af-available-height,calc(100dvh - var(--header) - 16px));border-radius:12px;}
 #ask-firm .af-messages{padding:14px;}
 #ask-firm .af-footer{padding-inline:14px;max-height:calc(var(--af-available-height) - var(--af-header-height,76px));overflow:auto;}
}
@media(hover:hover){
 #ask-firm :is(.af-quick button,.af-choice):hover{border-color:var(--theme-control-border);text-decoration:underline;}
 #ask-firm .af-send:hover{background:var(--theme-action-hover);}
}
@media print{#ask-firm{display:none!important;}}

#ask-firm .af-reminder a{color:var(--theme-link);text-decoration:underline;text-underline-offset:3px;}
