#hermes-root [hidden] { display: none !important; }
#hermes-root { --hermes-ink: #173b38; --hermes-accent: #12675b; --hermes-border: #ceddd8; color: var(--hermes-ink); }
#hermes-root button, #hermes-root textarea { font: inherit; }
#hermes-root button { cursor: pointer; min-height: 44px; border: 1px solid var(--hermes-border); border-radius: 10px; padding: 9px 14px; background: #fff; color: var(--hermes-ink); }
#hermes-root button:disabled { cursor: not-allowed; opacity: .6; }
#hermes-root :focus-visible { outline: 3px solid #b16b07; outline-offset: 3px; }
#hermes-root .hermes-launcher { position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 80; border: 0; border-radius: 28px; padding: 14px 22px; background: var(--hermes-accent); color: #fff; box-shadow: 0 8px 28px #173b3833; font-weight: 700; }
.hermes-dialog { box-sizing: border-box; position: fixed; inset: auto 20px 20px auto; width: min(480px, calc(100vw - 32px)); max-height: min(760px, calc(100dvh - 40px)); margin: 0; padding: 0; border: 1px solid #b3c9c0; border-radius: 18px; box-shadow: 0 18px 72px #122f3650; color: #173b38; background: #fff; overflow: auto; }
.hermes-dialog[open] { display: flex; flex-direction: column; }
.hermes-dialog::backdrop { background: #14312b24; }
.hermes-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 8px; }
.hermes-head h2 { margin: 0; font-size: 19px; }
.hermes-scope, .hermes-status { margin: 8px 20px; font-size: 14px; line-height: 1.5; }
.hermes-status { font-weight: 650; }
.hermes-activation { background: #fff5da; margin: 8px 20px; padding: 12px; border-radius: 12px; font-size: 14px; }
.hermes-activation p { margin-top: 0; }
.hermes-log { overflow-y: auto; min-height: 80px; max-height: 38dvh; padding: 10px 20px; flex: 1 1 auto; }
.hermes-message { border-radius: 12px; background: #f1f6f3; padding: 12px; margin: 0 0 12px; overflow-wrap: anywhere; }
.hermes-message p, .hermes-source-panel p { white-space: pre-wrap; line-height: 1.55; margin: 8px 0; }
.hermes-message h4, .hermes-source-panel h4 { margin: 12px 0 4px; }
#hermes-root .hermes-citation { display: block; width: 100%; text-align: left; margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; }
.hermes-source-panel { padding: 16px 20px; max-height: 38dvh; overflow-y: auto; border-top: 1px solid #ceddd8; background: #fbfaf4; overflow-wrap: anywhere; }
.hermes-source-panel h3 { margin-top: 0; }
.hermes-form { border-top: 1px solid #ceddd8; padding: 12px 20px 18px; display: flex; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
.hermes-form label { width: 100%; font-weight: 600; font-size: 14px; }
#hermes-root .hermes-form textarea { box-sizing: border-box; width: 100%; resize: vertical; min-height: 64px; max-height: 140px; border: 1px solid #94ada4; border-radius: 10px; padding: 10px; background: #fff; color: #173b38; }
#hermes-root .hermes-form button[type="submit"] { background: #12675b; color: #fff; border-color: #12675b; }
@media (max-width: 540px) { .hermes-dialog { inset: auto 8px max(8px, env(safe-area-inset-bottom)) 8px; width: calc(100vw - 16px); max-height: calc(100dvh - 24px); border-radius: 14px; } .hermes-head { padding-inline: 14px; } .hermes-form { padding-inline: 14px; } #hermes-root .hermes-launcher { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { #hermes-root * { scroll-behavior: auto; } }

#hermes-root input { font: inherit; color: inherit; }
.hermes-dialog > button { margin: 8px 20px; flex-shrink: 0; }
.hermes-documents { margin: 8px 20px; padding: 14px; border: 1px solid #ceddd8; border-radius: 12px; background: #f7faf8; flex-shrink: 0; overflow-wrap: anywhere; }
.hermes-documents h3, .hermes-selected h3 { margin: 0 0 10px; font-size: 16px; }
.hermes-documents p { font-size: 14px; line-height: 1.5; }
#hermes-root .hermes-documents input[type="search"] { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px; border: 1px solid #94ada4; border-radius: 8px; margin: 6px 0; }
.hermes-document-list { max-height: 230px; overflow-y: auto; margin: 10px 0; }
.hermes-document-row { display: grid; grid-template-columns: 28px 1fr; gap: 4px 8px; align-items: center; min-height: 52px; padding: 8px; border-bottom: 1px solid #ceddd8; cursor: pointer; }
.hermes-document-row small { grid-column: 2; }
#hermes-root input[type="checkbox"] { width: 20px; height: 20px; accent-color: #12675b; }
.hermes-documents > label[for="hermes-document-consent"] { font-size: 14px; line-height: 1.6; }
.hermes-documents > button { margin: 5px 4px 5px 0; }
.hermes-selected:not(:empty) { margin: 8px 20px; padding: 12px; border-left: 4px solid #12675b; background: #edf6f2; overflow-wrap: anywhere; flex-shrink: 0; }
.hermes-selected p { margin: 8px 0 4px; }
.hermes-selected small { display: block; line-height: 1.5; }
.hermes-preview { margin: 8px 20px; padding: 14px; border: 1px solid #94ada4; border-radius: 12px; background: #f5faf7; flex-shrink: 0; overflow-wrap: anywhere; }
.hermes-preview h3 { margin: 8px 0; font-size: 17px; }
.hermes-preview p { margin: 8px 0; line-height: 1.5; }
.hermes-preview small { display: block; line-height: 1.55; margin: 6px 0; }
.hermes-preview-badge { padding: 8px; border-radius: 8px; background: #fff0c5; color: #614400; font-size: 14px; font-weight: 700; }
.hermes-quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 14px; margin-top: 14px; border-top: 1px solid #ceddd8; }
.hermes-quote-form > div { min-width: 0; }
.hermes-quote-form > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.hermes-quote-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
#hermes-root .hermes-quote-form input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; border: 1px solid #94ada4; border-radius: 8px; padding: 9px; background: #fff; }
#hermes-root .hermes-quote-form button { grid-column: 1 / -1; background: #12675b; color: #fff; }
.hermes-quote-result:not(:empty) { border-top: 1px solid #ceddd8; margin-top: 16px; padding-top: 10px; }
.hermes-quote-total { font-size: 20px; font-weight: 750; }
.hermes-agent-panel { border-top: 1px solid #94ada4; margin-top: 18px; padding-top: 12px; }
.hermes-agent-panel > label { display: block; font-size: 14px; line-height: 1.55; margin: 6px 0 10px; }
#hermes-root .hermes-agent-panel textarea { box-sizing: border-box; width: 100%; min-height: 72px; resize: vertical; border: 1px solid #94ada4; border-radius: 8px; padding: 10px; font: inherit; color: #173b38; background: white; }
.hermes-agent-panel > button { margin: 8px 8px 6px 0; }
.hermes-agent-result:not(:empty) { padding: 10px; background: #e9f4ef; border-radius: 8px; }
@media (max-width: 540px) { .hermes-preview, .hermes-selected:not(:empty), .hermes-documents { margin-inline: 14px; } .hermes-preview { padding: 12px; } .hermes-dialog > button { margin-inline: 14px; } }
