/* Scoped styles: the helper never changes CRM forms or tables. */
#crm-helper{--helper-bg:#252721;--helper-card:#303229;--helper-text:#f5f2e9;--helper-muted:#d2cebf;--helper-line:#5e5b46;--helper-accent:#dfc77f;position:fixed;right:20px;bottom:20px;z-index:90;color:var(--helper-text);font:14px/1.5 system-ui,sans-serif}
html[data-theme=light] #crm-helper{--helper-bg:#fff;--helper-card:#f1f5fc;--helper-text:#1d304b;--helper-muted:#465c78;--helper-line:#c3cfe1;--helper-accent:#2459a6}
#crm-helper[hidden],#crm-helper [hidden]{display:none!important}
#crm-helper button,#crm-helper textarea,#crm-helper input{font:inherit;box-sizing:border-box}
#crm-helper button{cursor:pointer}
#crm-helper .helper-launcher{width:66px;height:66px;padding:5px;border:1px solid var(--helper-line);border-radius:24px;background:var(--helper-bg);box-shadow:0 8px 28px #0004;display:grid;place-items:center;color:var(--helper-text)}
#crm-helper .helper-launcher:hover{transform:translateY(-2px)}
#crm-helper .helper-cat{width:54px;height:54px;overflow:visible}
#crm-helper .helper-cat .helper-tail{transform-origin:51px 51px;animation:helper-tail 4s ease-in-out infinite}
#crm-helper .helper-window{position:absolute;right:0;bottom:80px;width:min(380px,calc(100vw - 32px));height:min(570px,calc(100dvh - 130px));display:flex;flex-direction:column;border:1px solid var(--helper-line);border-radius:22px;background:var(--helper-bg);box-shadow:0 18px 60px #0006;overflow:hidden}
#crm-helper .helper-header{display:flex;gap:10px;align-items:center;padding:14px;border-bottom:1px solid var(--helper-line)}
#crm-helper .helper-header strong{display:block;font-size:16px}
#crm-helper .helper-subtitle{font-size:12px;color:var(--helper-muted)}
#crm-helper .helper-close{margin-left:auto;width:36px;height:36px;border:0;border-radius:10px;background:var(--helper-card);color:var(--helper-text);font-size:24px}
#crm-helper .helper-log{flex:1;min-height:80px;overflow:auto;padding:14px;overscroll-behavior:contain}
#crm-helper .helper-message{max-width:96%;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;padding:11px 13px;border-radius:14px;background:var(--helper-card);color:var(--helper-text)}
#crm-helper .helper-message[data-role=user]{margin-left:18px;border:1px solid var(--helper-line)}
#crm-helper .helper-message small{display:block;font-size:11px;color:var(--helper-muted);margin-bottom:4px}
#crm-helper .helper-topics{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px;max-height:100px;overflow:auto}
#crm-helper .helper-search{padding:0 12px 7px}
#crm-helper .helper-search input{width:100%;padding:7px 10px;border:1px solid var(--helper-line);border-radius:10px;background:var(--helper-card);color:var(--helper-text);font-size:12px}
#crm-helper .helper-topic{border:1px solid var(--helper-line);border-radius:12px;padding:6px 9px;background:var(--helper-card);color:var(--helper-text);font-size:12px}
#crm-helper .helper-compose{display:flex;align-items:flex-end;gap:6px;padding:10px 12px;border-top:1px solid var(--helper-line)}
#crm-helper textarea{resize:none;min-height:46px;max-height:110px;width:100%;background:var(--helper-card);color:var(--helper-text);border:1px solid var(--helper-line);border-radius:12px;padding:10px}
#crm-helper .helper-send{height:46px;min-width:46px;background:var(--helper-accent);border:0;border-radius:12px;color:#171c25;font-size:20px}
html[data-theme=light] #crm-helper .helper-send{color:#fff}
#crm-helper .helper-footer{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:flex-start;padding:0 12px 10px;color:var(--helper-muted);font-size:11px}
#crm-helper .helper-footer>span{flex-basis:100%}
#crm-helper .helper-link{width:auto!important;margin:0;background:none;border:0;text-decoration:underline;color:var(--helper-muted);padding:3px;font-size:11px}
#crm-helper .helper-settings{padding:14px;overflow:auto;flex:1}
#crm-helper .helper-settings label{display:block;margin:10px 0;color:var(--helper-text)}
#crm-helper .helper-settings :is(input[type=password],input[type=text],select){width:100%;padding:10px;border-radius:10px;border:1px solid var(--helper-line);color:var(--helper-text);background:var(--helper-card)}
#crm-helper .helper-settings input[type=checkbox]{margin-right:8px}
#crm-helper .helper-settings p{color:var(--helper-muted);font-size:12px}
#crm-helper .helper-status{padding:7px 12px;background:var(--helper-card);color:var(--helper-muted);font-size:11px}
#crm-helper button:focus-visible,#crm-helper textarea:focus-visible,#crm-helper input:focus-visible{outline:3px solid var(--helper-accent);outline-offset:2px}
#crm-helper button:disabled{cursor:wait;opacity:.7}
@keyframes helper-tail{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(8deg)}}
@media(max-width:600px){#crm-helper{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}#crm-helper .helper-launcher{width:56px;height:56px;border-radius:20px}#crm-helper .helper-cat{width:46px;height:46px}#crm-helper .helper-window{bottom:68px;width:min(380px,calc(100vw - 24px));height:min(570px,calc(100dvh - 105px))}}
@media(prefers-reduced-motion:reduce){#crm-helper .helper-cat .helper-tail{animation:none}#crm-helper .helper-launcher:hover{transform:none}}
@media print{#crm-helper{display:none!important}}

#crm-helper .helper-settings a{color:var(--helper-text);text-decoration:underline}

#crm-helper .helper-privacy-notice{flex-shrink:0;margin:0 12px 4px;padding:8px 10px;border:1px solid var(--helper-line);border-radius:10px;background:#3b3424;color:#f4d494;font-size:12px;line-height:1.45}
html[data-theme=light] #crm-helper .helper-privacy-notice{background:#fff5da;color:#714500}
/* Manual payroll dialogs reserve space for the helper instead of covering controls. */
:is(#supplement-dialog,#link-dialog)>#crm-helper{position:relative;right:auto;bottom:auto;margin:12px 0 0 auto;width:66px}
@media(max-width:600px){:is(#supplement-dialog,#link-dialog)>#crm-helper{width:56px}}
/* Reference-style right-hand assistant drawer. */
.header-helper{min-height:38px;gap:6px;flex-shrink:0}
.header-helper>span{font-size:19px}
#crm-helper.helper-drawer-open{z-index:170}
#crm-helper.helper-drawer-open .helper-launcher{visibility:hidden;pointer-events:none}
#crm-helper .helper-backdrop{position:fixed;inset:0;width:100vw;height:100svh;padding:0;border:0;border-radius:0;background:#070a0e40;backdrop-filter:none;box-shadow:none;cursor:default;z-index:0;animation:helper-scrim-in .2s ease-out}
#crm-helper .helper-window{position:fixed;top:94px;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));height:auto;max-height:calc(100svh - 110px);border-radius:14px;box-shadow:0 14px 50px #0004;z-index:1;animation:helper-drawer-in .3s cubic-bezier(.16,1,.3,1)}
#crm-helper .helper-header{padding:16px 18px;min-height:72px;flex-shrink:0}
#crm-helper .helper-log{padding:20px 18px;flex:1 1 auto;min-height:100px}
#crm-helper .helper-log:has(.helper-message:only-child){display:flex;flex-direction:column;justify-content:flex-end}
#crm-helper .helper-message{border-radius:11px;line-height:1.55}
#crm-helper .helper-search{padding:8px 16px 4px;flex-shrink:0}
#crm-helper .helper-topics{padding:8px 16px;max-height:132px;flex-shrink:0}
#crm-helper .helper-privacy-notice{font-size:11px;line-height:1.45;margin:6px 16px}
#crm-helper .helper-compose{padding:12px 16px;flex-shrink:0}
#crm-helper .helper-footer{padding:0 16px 12px;flex-shrink:0}
html[data-theme=light] body #crm-helper .helper-backdrop{background:#18263733!important;border:0!important;box-shadow:none!important}
@keyframes helper-drawer-in{from{transform:translateX(calc(100% + 24px));opacity:.7}to{transform:translateX(0);opacity:1}}
@keyframes helper-scrim-in{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
 .header-helper{min-width:38px;padding:7px 9px;font-size:12px}
 #crm-helper .helper-window{top:0;right:0;bottom:0;width:min(420px,100vw);height:100svh;max-height:100svh;border-radius:14px 0 0 14px;border-top:0;border-bottom:0;border-right:0}
 #crm-helper .helper-compose{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){#crm-helper .helper-window,#crm-helper .helper-backdrop{animation:none!important}}
@media print{.header-helper,#crm-helper .helper-backdrop{display:none!important}}
#crm-helper .helper-window[popover]{margin:0;padding:0;left:auto;max-width:calc(100vw - 32px);color:var(--helper-text)}
#crm-helper .helper-backdrop[popover]{margin:0;padding:0;max-width:none;max-height:none}
#crm-helper .helper-window[popover]::backdrop,#crm-helper .helper-backdrop[popover]::backdrop{background:transparent;pointer-events:none}
@media(max-width:760px){#crm-helper .helper-window[popover]{max-width:100vw}}
