/* Signal assistant: one continuous conversation, an anchored composer. */
#modal.ai-chat-dialog{max-width:1000px!important;width:calc(100% - 40px);height:min(850px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;background:#f7f7f0;border:1px solid #191d1b;box-shadow:0 24px 100px #0f172a35}
#modal.ai-chat-dialog #modal-body{height:100%;min-height:0}
#modal.ai-chat-dialog .modal-close{position:absolute;z-index:3;top:19px;right:18px;width:38px;height:38px;padding:0;overflow:hidden;font-size:0;border:1px solid #d8dad2;background:#fff}
#modal.ai-chat-dialog .modal-close::after{content:'×';font-size:26px;line-height:1}
.ai-chat-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.ai-chat-header{display:flex;align-items:center;gap:14px;padding:22px 76px 21px 28px;border-bottom:1px solid #d8dad2;background:#fff;flex-shrink:0}
.ai-brand-mark,.ai-message-avatar{display:grid;place-items:center;flex-shrink:0;background:#f4dc39;color:#191d1b;font-weight:800;border:1px solid #191d1b;letter-spacing:-1px}
.ai-brand-mark{width:43px;height:43px;font-size:21px}
#modal.ai-chat-dialog .ai-chat-header h2{font-family:var(--sans);font-size:19px;letter-spacing:-.4px;line-height:1.3;margin:0 0 4px}
#modal.ai-chat-dialog .ai-chat-header p{font-size:12px;line-height:1.4;margin:0;color:#656960}
.ai-new-chat{margin-left:auto;flex-shrink:0;border:0;background:none;color:#434a47;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:40px;padding:0 8px}
.ai-context{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:49px;padding:10px 28px;border-bottom:1px solid #dddfd6;background:#f7f7f0;font-size:11px;flex-shrink:0}
.ai-context-label{color:#62685f;margin-right:5px}.ai-context-empty{color:#62685f}.ai-context-chip{background:#eceee6;border:1px solid #d9ddcf;padding:4px 8px;max-width:100%;overflow-wrap:anywhere}
.ai-context>button{margin-left:auto;background:transparent;border:0;color:#1742b7;text-decoration:underline;text-underline-offset:3px;min-height:28px;font-size:11px;cursor:pointer}
.ai-thread{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.ai-welcome{padding:22px 48px 25px;max-width:750px;margin:auto}.ai-welcome-label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#62685f}
#modal.ai-chat-dialog .ai-welcome h3{font-family:var(--heading);font-size:34px;line-height:1.12;margin:15px 0 14px;max-width:450px}
#modal.ai-chat-dialog .ai-welcome p{font-size:14px;line-height:1.7;color:#4e554e}
.ai-example{font-size:13px;line-height:1.65;border-left:3px solid #f4dc39;padding:12px 16px;background:#efefe6;margin-top:20px;color:#4e554e}
.ai-message{display:flex;align-items:flex-start;gap:13px;margin-bottom:26px;min-width:0}.ai-message:last-child{margin-bottom:4px}.ai-message-user{justify-content:flex-end;padding-left:60px}
.ai-user-bubble{max-width:88%;background:#e8edf9;border:1px solid #d4def5;padding:14px 19px;min-width:100px;border-radius:14px 14px 3px 14px}
.ai-message-author{display:block;color:#4a514b;font-size:11px;font-weight:650;letter-spacing:.1px;margin-bottom:7px}.ai-message-author>span{font-weight:400;color:#73786f}
#modal.ai-chat-dialog .ai-user-bubble p{color:#182746;font-size:15px;line-height:1.65;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-message-avatar{height:31px;width:31px;font-size:15px;margin-top:1px}.ai-assistant-content{min-width:0;flex:1;max-width:calc(100% - 44px)}
.ai-answer,.ai-review-report{background:#fff;border:1px solid #d8dcd2;padding:22px 24px;border-radius:3px 12px 12px 12px;overflow-wrap:anywhere}
#modal.ai-chat-dialog h3{font-family:var(--sans);font-size:20px;font-weight:700;line-height:1.35;letter-spacing:-.35px;margin:0 0 12px}
#modal.ai-chat-dialog p{font-size:14px;line-height:1.7;margin:0 0 12px;color:#3d453e}
#modal.ai-chat-dialog p:last-child{margin-bottom:0}
.ai-questions{padding:15px 17px;border-left:3px solid #dbc12a;background:#fbf8e8;margin:18px 0 4px;font-size:14px;line-height:1.6}.ai-questions strong{font-weight:650}.ai-questions ul{padding-left:18px;margin:9px 0}.ai-questions>span{font-size:12px;color:#676744}
.ai-evidence{margin-top:16px;border-top:1px solid #dfe2d9;font-size:13px;line-height:1.7}.ai-evidence summary{padding:13px 0;color:#4c554b;cursor:pointer;font-weight:550;list-style:none;display:flex;gap:10px;align-items:baseline}.ai-evidence summary::before{content:'+';font-family:var(--sans);font-size:18px;font-weight:400;color:#6c7465;flex-shrink:0}.ai-evidence[open]>summary::before{content:'−'}.ai-evidence summary::-webkit-details-marker{display:none}.ai-evidence ul{padding-left:18px;margin:0 0 10px}.ai-evidence li+li{margin-top:9px}.ai-evidence>div{padding-bottom:10px}.ai-evidence small{font-size:11px;color:#666e62}.ai-evidence-status{display:block;color:#5b6a50;font-size:11px;margin:4px 0}.ai-answer-audit{margin-bottom:-8px}
.ai-audit-counts,.ai-review-counts{display:flex;gap:22px;font-size:11px;line-height:1.5;color:#62695d}.ai-audit-counts b,.ai-review-counts b{display:block;font-size:23px;color:#20271e;font-weight:650;margin-bottom:2px}.ai-audit-counts{margin-bottom:12px}#modal.ai-chat-dialog .ai-small{font-size:12px;line-height:1.7;color:#697064}
.ai-profile-result{padding:19px 0;border-top:1px solid #dfe2d9;margin-top:18px}.ai-profile-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.ai-profile-heading>img,.ai-profile-placeholder{width:49px;height:56px;flex-shrink:0;object-fit:cover;background:#f0f1e9;border-radius:4px}.ai-profile-placeholder{display:grid;place-items:center;color:#707b68}.ai-profile-name{font-size:16px;font-weight:650;color:#1742b7;text-underline-offset:3px}#modal.ai-chat-dialog .ai-profile-heading p{font-size:12px;line-height:1.5;margin:4px 0 0;color:#697064}.ai-profile-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px}#modal.ai-chat-dialog .ai-profile-actions .btn{font-size:12px;min-height:38px;padding:9px 13px}.ai-profile-actions a:not(.btn){font-size:12px}.ai-review-button{border:0;background:transparent;color:#1742b7;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:8px 0;cursor:pointer;min-height:38px}.ai-selected-link{display:block;font-size:14px;margin-top:12px;color:#1742b7}
.ai-next-options{border-top:1px solid #dfe2d9;margin-top:18px;padding-top:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px}.ai-next-options>span{flex-basis:100%;color:#656f5e;margin-bottom:2px}.ai-next-options>button{background:#f6f7f1;border:1px solid #d5dacd;font-size:12px;padding:8px 10px;cursor:pointer;color:#253a24;min-height:35px}
.ai-progress-card{background:#fff;border:1px solid #d9dfd3;padding:21px 24px;border-radius:3px 12px 12px 12px}.ai-progress-title{display:flex;align-items:center;gap:14px}.ai-working-symbol{width:39px;height:39px;display:grid;place-items:center;background:#f4dc39;flex-shrink:0}.ai-working-symbol>.icon{height:24px;width:24px;animation:ai-spark 4s ease-in-out infinite}#modal.ai-chat-dialog .ai-progress-title h3{font-size:17px;margin:0 0 4px}#modal.ai-chat-dialog .ai-progress-title p{font-size:12px;line-height:1.6;margin:0;color:#697064}.ai-progress-track{height:4px;background:#edf0e7;overflow:hidden;position:relative;margin:22px 0 17px}.ai-progress-track>span{position:absolute;width:35%;height:100%;background:#1842c5;animation:ai-indeterminate 1.8s ease-in-out infinite}.ai-progress-steps{display:flex;padding:0;list-style:none;margin:0;gap:20px;justify-content:space-between}.ai-progress-steps li{display:flex;align-items:center;gap:7px;font-size:11px;color:#838b7b}.ai-progress-steps li>span{width:20px;height:20px;display:grid;place-items:center;border:1px solid #d8decf;border-radius:50%;font-size:10px}.ai-progress-steps .is-active{color:#1842c5;font-weight:650}.ai-progress-steps .is-active>span{background:#e9efff;border-color:#1842c5}.ai-progress-steps .is-done{color:#3b6c47}.ai-progress-steps .is-done>span{background:#e8f0e7;color:#3b6c47;border-color:#c3d4bf}.ai-progress-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#79816f;margin-top:18px}.ai-progress-bottom button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#606a55;font-size:11px;padding:5px;cursor:pointer}#modal.ai-chat-dialog .ai-progress-note{font-size:12px;margin-top:10px;color:#646e59}
.ai-composer{flex-shrink:0;background:#fff;border-top:1px solid #d5dbce;padding:12px 28px 15px;max-height:58%;overflow-y:auto;overscroll-behavior:contain}.ai-settings{font-size:12px;margin-bottom:9px}.ai-settings>summary{cursor:pointer;color:#5c6654;padding:3px 0;list-style:none}.ai-settings>summary::before{content:'+';display:inline-block;width:17px;font-size:16px}.ai-settings[open]>summary::before{content:'−'}.ai-settings>summary::-webkit-details-marker{display:none}.ai-settings>summary>span{font-weight:400;color:#87907c;margin-left:8px}.ai-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:14px;padding:6px 0 10px;align-items:start}#modal.ai-chat-dialog .ai-settings .combo{margin:0!important}#modal.ai-chat-dialog .ai-settings .ai-age{margin:0;font-size:12px}#modal.ai-chat-dialog .ai-settings input{font-size:14px!important}#modal.ai-chat-dialog .ai-settings .ai-age input{height:45px;border:1px solid #cbd2c2;margin-top:5px;padding:8px}.ai-settings .combo-input{min-height:45px!important;background:#fafbf7;border-color:#cbd2c2!important}.ai-settings .suggestions{max-height:130px!important}
.ai-input-box{border:1px solid #8d9981;border-radius:4px;background:#fff;box-shadow:0 2px 0 #18271708}.ai-input-box:focus-within{border-color:#1842c5;box-shadow:0 0 0 2px #1842c51a}#modal.ai-chat-dialog #ai-form #ai-message{display:block;width:100%;border:0;box-shadow:none;outline:0;background:transparent;resize:none;padding:13px 15px 6px;margin:0;min-height:60px;max-height:140px;font-family:var(--sans);font-size:15px;line-height:1.6;color:#1e281b}.ai-input-actions{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px 15px;gap:12px}.ai-enter-hint{font-size:11px;color:#606b54}#modal.ai-chat-dialog .btn.ai-send{background:#f4dc39;color:#191d1b;border:1px solid #191d1b;padding:8px 16px;min-height:39px;font-weight:650;display:flex;gap:15px;align-items:center;font-size:12px;white-space:nowrap}.ai-send>span{font-size:21px;font-weight:400}.ai-send:disabled{background:#f0f0e9!important;color:#7d8673!important;border-color:#d3d9c9!important;opacity:1;cursor:wait}
#modal.ai-chat-dialog #ai-form>.ai-chat-consent{display:flex;gap:8px;font-size:11px;font-weight:400;margin:10px 0 7px;color:#515b49;line-height:1.5;align-items:flex-start}.ai-chat-consent input{width:15px;height:15px;flex-shrink:0;accent-color:#1842c5;margin:0}.ai-chat-consent.is-given{color:#7b8470}.ai-composer-foot{display:flex;gap:15px;justify-content:space-between;align-items:flex-start;font-size:11px;color:#58634e}.ai-privacy-details{max-width:360px}.ai-privacy-details>summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;list-style:none;text-align:right}.ai-privacy-details>summary::-webkit-details-marker{display:none}#modal.ai-chat-dialog .ai-privacy-details p{font-size:11px;line-height:1.65;margin-top:10px}.ai-sr-only{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ai-chat-error{border-left:3px solid #b04b3d;background:#fff3ef;padding:16px}#modal.ai-chat-dialog .ai-chat-error h3{font-size:17px}#modal.ai-chat-dialog .ai-chat-error .btn{font-size:12px;padding:8px 12px;min-height:36px}.ai-answer-urgent{border-left:4px solid #b04b3d}.ai-review-kicker{font-size:10px;color:#65715c;display:block;letter-spacing:.7px;margin-bottom:10px}.ai-review-counts{padding:13px 0 4px}.ai-review-source{border-bottom:1px solid #e5e9de;padding:11px 0}.ai-review-source>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;align-items:baseline}.ai-review-source>div>span{font-size:11px;color:#896b2f}#modal.ai-chat-dialog .ai-review-source p{font-size:12px;margin:5px 0}#modal.ai-chat-dialog .ai-coverage-note{font-size:12px;border-left:3px solid #c6a52e;background:#fbf8e9;padding:10px 13px;margin:15px 0}.ai-review-theme{padding-top:15px;margin-top:15px;border-top:1px solid #dfe2d9}.ai-review-theme h4{font-size:15px;margin:0 0 6px}#modal.ai-chat-dialog .ai-review-theme p{font-size:12px}.ai-review-summary{margin-top:14px}
@keyframes ai-indeterminate{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@keyframes ai-spark{50%{transform:rotate(90deg)}}
@media(max-width:640px){#modal.ai-chat-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.ai-chat-header{padding:15px 54px 15px 16px;gap:10px}.ai-brand-mark{width:34px;height:34px;font-size:18px}#modal.ai-chat-dialog .ai-chat-header h2{font-size:16px}#modal.ai-chat-dialog .ai-chat-header p{font-size:10px;max-width:210px}.ai-new-chat{position:absolute;top:72px;right:13px;font-size:10px;min-height:28px;padding:0;z-index:2}#modal.ai-chat-dialog .modal-close{top:16px;right:12px;width:30px;height:30px}.ai-context{padding:10px 90px 10px 15px;font-size:10px;gap:5px;min-height:44px;max-height:110px;overflow:auto}.ai-context>button{display:none}.ai-context-label{display:none}.ai-context-chip{padding:3px 6px}.ai-thread{padding:20px 13px}.ai-message{gap:8px;margin-bottom:22px}.ai-message-avatar{width:24px;height:24px;font-size:12px}.ai-assistant-content{max-width:calc(100% - 32px)}.ai-message-author{font-size:10px;margin-bottom:6px}.ai-message-author>span{display:none}.ai-message-user{padding-left:30px}.ai-user-bubble{max-width:94%;padding:11px 14px}.ai-answer,.ai-review-report,.ai-progress-card{padding:16px 15px}#modal.ai-chat-dialog h3{font-size:17px}#modal.ai-chat-dialog p,#modal.ai-chat-dialog .ai-user-bubble p{font-size:14px;line-height:1.65}.ai-welcome{padding:12px 19px}#modal.ai-chat-dialog .ai-welcome h3{font-size:28px}.ai-example{font-size:12px}.ai-composer{padding:10px 13px 12px;max-height:58%}.ai-settings-grid{grid-template-columns:minmax(0,1fr) 100px;gap:12px}.ai-settings-grid>.combo:last-child{grid-column:1/-1}.ai-settings>summary{font-size:11px}.ai-settings>summary>span{display:none}.ai-enter-hint{display:none}.ai-input-actions{justify-content:flex-end}.ai-composer-foot{font-size:10px;gap:8px}.ai-composer-foot>span{max-width:180px}.ai-privacy-details{max-width:50%}.ai-progress-title{align-items:flex-start;gap:10px}.ai-working-symbol{width:30px;height:30px}#modal.ai-chat-dialog .ai-progress-title h3{font-size:15px}.ai-progress-steps{gap:8px}.ai-progress-steps li{font-size:10px;gap:4px}.ai-progress-steps li>span{width:17px;height:17px}.ai-progress-bottom{font-size:10px;gap:6px}.ai-progress-bottom button{font-size:10px;padding:0}.ai-audit-counts,.ai-review-counts{gap:15px;font-size:10px}.ai-audit-counts b,.ai-review-counts b{font-size:20px}.ai-profile-actions{gap:8px 14px}.ai-profile-name{font-size:14px}.ai-profile-heading{gap:10px}.ai-profile-heading>img,.ai-profile-placeholder{width:39px;height:46px}.ai-review-source>div{display:block}.ai-review-source>div>span{display:block;margin-top:4px}.ai-questions{font-size:13px;padding:12px}}
@media(prefers-reduced-motion:reduce){.ai-progress-track>span,.ai-working-symbol>.icon{animation:none}.ai-progress-track>span{left:30%}}
/* Device-local history controls. */
.ai-storage-bar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;padding:9px 28px;background:#fff;border-bottom:1px solid #d8dad2;font-size:11px;color:#465b43}.ai-storage-bar>span{display:flex;align-items:center;gap:7px;line-height:1.5}.ai-storage-bar>span::before{content:'';width:6px;height:6px;border-radius:50%;background:#5b8557;flex-shrink:0}.ai-storage-bar>span.has-error{color:#8a3d2f}.ai-storage-bar>span.has-error::before{background:#b0523f}.ai-storage-options>summary{list-style:none;cursor:pointer;white-space:nowrap;color:#243e87;text-decoration:underline;text-underline-offset:3px;padding:5px 0}.ai-storage-options>summary::-webkit-details-marker{display:none}.ai-storage-popover{position:absolute;right:20px;top:calc(100% - 1px);width:340px;max-width:calc(100vw - 48px);max-height:55dvh;overflow:auto;padding:18px;background:#fff;border:1px solid #939d87;box-shadow:0 9px 25px #1423141f;color:#293626}.ai-storage-popover>strong{display:block;font-size:14px;margin-bottom:9px}#modal.ai-chat-dialog .ai-storage-popover p{font-size:12px;line-height:1.6;margin:10px 0}.ai-storage-popover label{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;margin:14px 0 8px}.ai-storage-popover input{width:16px;height:16px;accent-color:#1842c5;flex-shrink:0;margin-top:2px}.ai-storage-popover button{border:0;background:none;padding:7px 0;color:#8a3d2f;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ai-storage-confirm,.ai-storage-conflict{flex-shrink:0;background:#fff7e5;border-bottom:1px solid #d4c69a;padding:14px 28px;font-size:12px;line-height:1.5}#modal.ai-chat-dialog .ai-storage-confirm p{font-size:14px;font-weight:650;margin:0 0 3px}.ai-storage-confirm>span{color:#695e40}.ai-storage-confirm>div{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.ai-storage-confirm button,.ai-storage-conflict button{padding:9px 12px;border:1px solid #9d957e;background:#fff;font-size:12px;cursor:pointer}.ai-storage-confirm button:first-child{background:#2b3028;color:#fff}.ai-storage-confirm[hidden],.ai-storage-conflict[hidden]{display:none}
@media(max-width:640px){.ai-storage-bar{padding:7px 15px;gap:8px;align-items:flex-start;font-size:10px}.ai-storage-options>summary{padding:2px 0;font-size:10px}.ai-storage-popover{right:10px;padding:15px}.ai-storage-confirm,.ai-storage-conflict{padding:12px 15px}.ai-new-chat{position:static;top:auto;right:auto;margin-left:auto;font-size:10px;min-height:30px;white-space:normal;max-width:54px;text-align:left}.ai-chat-header{gap:8px}.ai-chat-header>div{min-width:0}.ai-context{padding-right:15px}#modal.ai-chat-dialog .ai-chat-header p{max-width:170px}}
.ai-profile-context-note{flex-basis:100%;font-size:11px;line-height:1.6;color:#615b43}.ai-profile-context-note button{background:transparent;border:0;font:inherit;color:#1742b7;text-decoration:underline;padding:0;cursor:pointer}
