/* 08.09 — isolated and testable NEXO component laboratory. */
.assistant-doc{max-width:1170px}.assistant-controls{display:flex;flex-wrap:wrap;align-items:end}.assistant-controls label{min-width:185px;flex:1;display:grid;gap:7px}.assistant-controls select{padding:11px;border-radius:9px;border:1px solid var(--nexo-border-default);background:#fff;color:var(--nexo-text-primary);max-width:100%}
.assistant-stage{min-height:680px;border:1px solid var(--nexo-border-default);border-radius:18px;position:relative;overflow:hidden;display:flex;align-items:stretch;background:linear-gradient(130deg,#fff,#faf9f7)}.assistant-underlay{padding:42px;flex:1;max-width:630px;display:flex;flex-direction:column}.assistant-underlay h3{font-size:clamp(20px,3vw,30px);margin:20px 0 8px}.assistant-underlay p{color:var(--nexo-text-secondary);max-width:45ch}.assistant-preview-fab{margin-top:auto;padding-bottom:12px}.nexo-assistant-fab{min-height:52px;border:0;border-radius:999px;background:var(--nexo-brand-primary);color:#fff;padding:0 22px;font-weight:700;box-shadow:0 7px 22px #2d323824}.nexo-assistant-fab:hover{background:var(--nexo-brand-deep)}.nexo-assistant-fab span{margin-right:9px}
.assistant-panel{background:#fff;border-left:1px solid var(--nexo-border-default);box-shadow:-8px 0 22px #29272612;flex:0 0 min(396px,100%);max-width:100%;display:flex;flex-direction:column;min-height:680px}.assistant-panel[hidden]{display:none}.assistant-head{display:flex;align-items:center;gap:12px;background:#faf9f7;border-bottom:1px solid var(--nexo-border-default);padding:17px 14px}.assistant-head h3{font-size:18px;margin:0;letter-spacing:-.2px}.assistant-head p{font-size:12px;color:var(--nexo-text-secondary);margin:4px 0 0}.assistant-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#efe8e2;color:#874b2c;font-size:22px}.assistant-head>div:nth-child(2){min-width:0;flex:1}.assistant-close{border:0;border-radius:50%;width:44px;height:44px;min-width:44px;background:#f5f2ef;font-size:25px;color:var(--nexo-text-primary)}.assistant-close:hover{background:#e9e4de}.assistant-scroll{padding:18px;flex:1;overflow:auto}.assistant-context{padding:15px;border-radius:12px;border:1px solid #e2dcd5;background:#f5f2ef;display:grid;gap:6px}.assistant-context b{font-size:11px;letter-spacing:.08em;color:#874b2c}.assistant-context strong{font-size:14px}.assistant-context span{font-size:12px;color:var(--nexo-text-secondary)}.assistant-answer{border-radius:12px;background:#faf9f7;padding:17px;margin-top:21px;font-size:14px;line-height:1.6;white-space:pre-wrap}.assistant-answer.is-loading{background:#f5f2ef}.assistant-answer.is-error{background:#fff7ec;border:1px solid #e7d5a9}.assistant-source{margin:11px 0 18px;color:var(--nexo-text-secondary);font-size:12px;overflow-wrap:anywhere}.assistant-suggestions{display:grid;gap:8px}.assistant-suggestions button{text-align:left;min-height:44px;border-radius:10px;border:1px solid var(--nexo-border-default);background:#fff;padding:10px 14px;color:var(--nexo-text-primary);font-weight:600}.assistant-suggestions button:hover{background:#f5f2ef;border-color:#cdbbae}.assistant-composer{display:flex;gap:8px;align-items:center;margin:12px 18px 0;padding:6px;border:1px solid #cdbbae;border-radius:12px}.assistant-composer:focus-within{outline:2px solid #874b2c;outline-offset:2px}.assistant-composer input{min-height:40px;min-width:0;flex:1;padding:5px 8px;border:0;outline:0;background:transparent;font-size:14px}.assistant-composer input:focus-visible{outline:0}.assistant-composer button{border:0;background:var(--nexo-brand-primary);color:#fff;width:44px;height:44px;min-width:44px;border-radius:10px;font-size:21px}.assistant-disclaimer{font-size:12px;color:var(--nexo-text-secondary);margin:12px 18px 18px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:850px){.assistant-stage{flex-direction:column}.assistant-underlay{min-height:285px;max-width:none;padding:22px}.assistant-panel{min-height:590px;flex-basis:auto;border-left:0;border-top:1px solid var(--nexo-border-default)}.assistant-preview-fab{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.nexo-assistant-fab{transition:none}}
