#diana-widget { --diana-main: #125f4a; --diana-soft: #e5f1ea; --diana-surface: #f5faf7; position: fixed; right: 22px; bottom: 20px; z-index: 2147482000; font: 12.5px/1.4 system-ui, sans-serif; color: #182c27; }
#diana-widget.diana-project-site { --diana-main: #273880; --diana-soft: #e6eafa; --diana-surface: #f3f5fc; color: #1d2940; }
#diana-widget.diana-project-site #diana-panel { border-color: #bdc6e6; }
#diana-widget.diana-project-site #diana-panel .diana-disclaimer { background: #f3f5fc; }
#diana-widget.diana-project-site #diana-messages .diana-video,
#diana-widget.diana-project-site #diana-messages .diana-method,
#diana-widget.diana-project-site #diana-messages .diana-starters,
#diana-widget.diana-project-site #diana-messages .diana-contact-form { border-color: #bdc6e6; }
#diana-widget.diana-project-site #diana-messages .diana-starters button,
#diana-widget.diana-project-site #diana-messages .diana-contact-form button,
#diana-widget.diana-project-site #diana-panel form button { border-color: #7786bb; }
#diana-widget.diana-project-site #diana-panel #diana-question { border-color: #7786bb; }
#diana-widget * { box-sizing: border-box; }
#diana-toggle { background: var(--diana-main); border: 2px solid #fff; border-radius: 24px; box-shadow: 0 4px 18px #0003; color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: 12px 18px; }
#diana-panel[hidden] { display: none !important; }
#diana-panel [hidden] { display: none !important; }
#diana-panel { display: flex; flex-direction: column; position: absolute; bottom: 60px; right: 0; width: min(370px, calc(100vw - 20px)); height: min(550px, calc(100dvh - 100px)); background: #fff; border: 1px solid #b6c8bf; border-radius: 14px; box-shadow: 0 10px 40px #0004; overflow: hidden; }
#diana-panel header { display: flex; align-items: center; justify-content: space-between; padding: 3px 9px; background: var(--diana-main); color: #fff; }
#diana-panel header h2 { flex: 1; min-width: 0; margin: 0; color: #fff; font: inherit; font-size: 12.5px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
#diana-panel .diana-window-controls { display: flex; flex: none; align-items: center; }
#diana-panel .diana-window-controls button { display: grid; place-items: center; flex: none; min-width: 40px; min-height: 40px; padding: 0 5px; background: transparent; border: 0; color: #fff; cursor: pointer; }
#diana-panel .diana-window-controls svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#diana-panel .diana-window-controls button:hover { background: #ffffff24; }
#diana-close { font-size: 23px; line-height: 1; }
#diana-panel.diana-wide { width: min(max(370px, 50vw), calc(100vw - 20px)); height: min(740px, calc(100dvh - 100px)); }
body.diana-popout > :not(#diana-widget) { display: none !important; }
body.diana-popout { margin: 0 !important; overflow: hidden !important; }
#diana-widget.diana-popout { inset: 0; position: fixed; }
#diana-widget.diana-popout #diana-toggle, #diana-widget.diana-popout #diana-expand, #diana-widget.diana-popout #diana-popout-button { display: none !important; }
#diana-widget.diana-popout #diana-panel { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; border: 0; border-radius: 0; }
#diana-panel .diana-intro, #diana-panel .diana-disclaimer { padding: 5px 9px; margin: 0; font-size: 12.5px; background: #f2f7f4; }
#diana-panel .diana-disclaimer { line-height: 1.3; }
#diana-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 7px; background: #fff; }
#diana-messages .diana-message { margin: 4px 0; padding: 6px 8px; border-radius: 8px; overflow-wrap: anywhere; white-space: pre-wrap; }
#diana-messages .diana-message p { margin: 0; font-size: 12.5px; }
#diana-messages .diana-video { margin: 0 0 6px; border: 1px solid #c5d7cc; border-radius: 8px; overflow: hidden; background: #fff; }
#diana-messages .diana-video a { display: flex; align-items: center; gap: 7px; color: var(--diana-main); font-weight: 650; font-size: 12.5px; text-decoration: none; }
#diana-messages .diana-video img { display: block; flex: none; width: 96px; height: 54px; object-fit: cover; }
#diana-messages .diana-video span { display: block; padding: 4px 7px 4px 0; }
#diana-messages .diana-method { margin: 0 0 6px; padding: 7px; border: 1px solid #b6c8bf; border-radius: 8px; background: #fff; }
#diana-messages .diana-method strong, #diana-messages .diana-method small { display: block; }
#diana-messages .diana-method small { margin: 2px 0 5px; color: #53665d; font-size: 12.5px; }
#diana-messages .diana-method p { margin: 4px 0 0; font-size: 12.5px; white-space: pre-wrap; }
#diana-messages .diana-method-pdf { display: inline-flex; align-items: center; min-height: 40px; margin-top: 5px; padding: 5px 9px; border: 1px solid #9cb8a9; border-radius: 6px; color: var(--diana-main); font-size: 12.5px; font-weight: 650; text-decoration: underline; }
#diana-messages .diana-method details { margin-top: 5px; }
#diana-messages .diana-method summary { min-height: 40px; padding: 10px 3px; color: var(--diana-main); font-size: 12.5px; cursor: pointer; }
#diana-messages .diana-visitor { background: var(--diana-soft); margin-left: 35px; }
#diana-messages .diana-assistant { background: #f1f3f5; margin-right: 20px; }
#diana-messages .diana-error { background: #fff2f0; color: #8c1e13; }
#diana-messages .diana-status { color: #53665d; font-style: italic; }
#diana-messages ul { margin: 5px 0 0 0; padding-left: 17px; font-size: 12.5px; }
#diana-messages .diana-starters { margin: 5px 0; padding: 7px; border: 1px solid #c5d7cc; border-radius: 8px; background: var(--diana-surface); }
#diana-messages .diana-starters h3 { margin: 0 0 4px; font: inherit; font-weight: 700; }
#diana-messages .diana-starters button { display: block; width: 100%; min-height: 40px; margin: 3px 0; padding: 5px 8px; border: 1px solid #9cb8a9; border-radius: 6px; background: #fff; color: var(--diana-main); font: inherit; font-size: 12.5px; line-height: 1.3; text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
#diana-messages .diana-starters button:hover { background: var(--diana-soft); }
#diana-messages .diana-contact-form { display: grid; gap: 6px; margin-top: 9px; padding: 8px; border: 1px solid #b6c8bf; border-radius: 7px; background: #fff; }
#diana-messages .diana-contact-form label { display: block; font-weight: 500; }
#diana-messages .diana-contact-form input[type="email"] { display: block; width: 100%; min-height: 40px; margin-top: 3px; padding: 4px 7px; font: inherit; border: 1px solid #849b91; border-radius: 6px; }
#diana-messages .diana-contact-form input[type="checkbox"] { margin-right: 5px; }
#diana-messages .diana-contact-form button { min-height: 40px; padding: 5px 9px; border: 1px solid #9cb8a9; border-radius: 6px; background: var(--diana-soft); color: var(--diana-main); font: inherit; font-weight: 600; cursor: pointer; }
#diana-messages .diana-contact-form button:disabled { opacity: .6; }
#diana-panel form { margin: 0; padding: 7px 9px; border-top: 1px solid #d6e2d9; }
#diana-panel form label { display: block; font-weight: 600; font-size: 12.5px; margin-bottom: 2px; }
#diana-panel form.diana-chat-ready label[for="diana-question"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#diana-panel form .diana-consent { font-weight: 400; font-size: 12.5px; margin: 0 0 6px; line-height: 1.25; }
#diana-panel form .diana-consent input { margin: 0 5px 0 0; }
#diana-panel .diana-row { display: flex; gap: 6px; }
#diana-panel #diana-question { flex: 1; min-width: 0; min-height: 40px; margin: 0; border: 1px solid #849b91; border-radius: 6px; padding: 4px 7px; font: 12.5px/1.3 system-ui, sans-serif; }
#diana-panel form button { min-height: 40px; border: 1px solid #9cb8a9; border-radius: 6px; padding: 4px 6px; background: var(--diana-soft); color: var(--diana-main); font: 600 12.5px/1.3 system-ui, sans-serif; cursor: pointer; }
#diana-panel form button:disabled { opacity: .6; cursor: wait; }
#diana-skip-name { margin-top: 7px; background: transparent !important; color: var(--diana-main) !important; text-decoration: underline; padding-left: 0 !important; }
#diana-widget :focus-visible { outline: 3px solid #f5ad37; outline-offset: 2px; }
@media (max-width: 480px) { #diana-widget { right: 10px; bottom: 10px; } #diana-panel { position: fixed; bottom: 80px; left: 10px; right: 10px; width: auto; height: min(540px, calc(100dvh - 95px)); } #diana-panel.diana-wide { width: auto; height: min(740px, calc(100dvh - 95px)); } #diana-panel #diana-question, #diana-messages .diana-contact-form input[type="email"] { font-size: 16px; } #diana-widget.diana-popout #diana-panel { inset: 0; width: 100vw; height: 100dvh; } }
