.tally-assistant{width:min(1140px,96vw);max-width:96vw;max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--card,var(--bg));color:var(--ink);box-shadow:0 24px 80px #0005}
.tally-assistant::backdrop{background:#10202bd1}
.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:#14222e;color:#fff}
.assistant-header h2{margin:0;font-size:24px}.assistant-header .eyebrow{margin:0 0 5px;color:#c1d6e5}.assistant-header button{background:#ffffff14;border:1px solid #ffffff30;color:white;font-size:27px;min-width:44px;padding:0}
.assistant-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);height:calc(88dvh - 88px);min-height:400px}
.assistant-chat,.assistant-work{min-width:0;padding:22px;overflow:auto;overscroll-behavior:contain}.assistant-chat{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.assistant-chat>p{margin-top:0}.assistant-starters,.assistant-mode,.assistant-composer-actions{display:flex;gap:8px;flex-wrap:wrap}
.assistant-starters button{font-size:12px}.assistant-mode{margin-bottom:20px}.assistant-mode [aria-pressed=true]{background:var(--ink);color:var(--bg)}
.assistant-history{flex:1;min-height:100px;overflow:auto;padding:12px 0}.assistant-message{padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow-wrap:anywhere}.assistant-message.user{margin-left:22px;background:var(--bg)}.assistant-message.assistant{margin-right:12px;border-left:3px solid var(--accent)}
.assistant-message strong{font-size:12px}.assistant-message p{white-space:pre-wrap;margin:6px 0 0;font-size:14px}.assistant-composer{padding-top:14px;border-top:1px solid var(--line)}
.assistant-composer textarea{resize:vertical;min-height:80px}.assistant-composer-actions{justify-content:space-between;margin-top:8px}.assistant-composer .check{font-size:12px}.assistant-status{min-height:22px;margin-bottom:0;font-size:13px;white-space:pre-wrap}
.assistant-work h3{margin:0 0 10px}.assistant-work label{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;font-size:12px}.assistant-work input,.assistant-work select{min-width:0;width:100%}.assistant-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.assistant-search{display:flex;align-items:flex-end;gap:8px}.assistant-search label{flex:1}.assistant-search button{margin-bottom:14px}
.assistant-includes,.assistant-review{padding:14px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.assistant-includes p{font-size:13px;margin-bottom:0;color:var(--muted)}
.assistant-setting-section{border-top:1px solid var(--line);padding:12px 0}.assistant-setting-section h4{margin:0 0 8px}.assistant-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(65px,.7fr) auto;gap:7px}.assistant-edit-row button{align-self:center;padding:5px;min-width:28px}
.assistant-table-wrap{overflow:auto}.assistant-review table{width:100%;font-size:12px;text-align:left;border-collapse:collapse}.assistant-review th,.assistant-review td{border-bottom:1px solid var(--line);padding:8px;overflow-wrap:anywhere;max-width:180px;vertical-align:top}.assistant-review h4{margin-top:0}
@media(max-width:720px){.tally-assistant{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.assistant-header{padding:14px 18px}.assistant-body{display:block;height:calc(100dvh - 86px);overflow:auto}.assistant-chat{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.assistant-history{max-height:35dvh;flex:auto}.assistant-work{overflow:visible}.assistant-edit-row{grid-template-columns:1fr 1fr}.assistant-edit-row button{justify-self:end}.assistant-chat,.assistant-work{padding:18px}.assistant-review td,.assistant-review th{padding:6px}.assistant-composer textarea{font-size:16px}}

/* A companion beside the current task, not a route or a blocking modal. */
.tally-helper-launcher{position:fixed;right:22px;bottom:22px;z-index:180;display:flex;align-items:center;gap:8px;padding:4px 16px 4px 4px;border-radius:40px;background:#17333f;color:#fff;border:1px solid #567986;box-shadow:0 5px 24px #10202b30;font-weight:700}
.tally-helper-launcher svg{width:48px;height:48px}.tally-assistant[hidden]{display:none!important}
.tally-assistant{position:fixed;z-index:181;right:18px;bottom:90px;top:auto;width:min(800px,calc(100vw - 36px));height:min(850px,calc(100dvh - 112px));max-height:calc(100dvh - 112px);margin:0;overflow:hidden;background:var(--card,var(--bg))}
.assistant-header{padding:12px 18px}.assistant-identity{display:flex;gap:10px;align-items:center}.assistant-identity svg{width:48px;height:48px;flex-shrink:0}.assistant-header h2{font-size:20px}.assistant-header .eyebrow{font-size:10px}
.assistant-context{margin:0;padding:6px 18px;font-size:11px;background:var(--bg);border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.assistant-body{height:calc(100% - 103px);min-height:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}.assistant-chat,.assistant-work{padding:16px}.assistant-chat>p{font-size:12px}.assistant-history{min-height:160px;max-height:260px;flex:0 0 auto}.assistant-composer textarea{min-height:62px}.assistant-composer-actions button{font-size:12px;padding:8px}.assistant-message p{font-size:13px}
.assistant-upload{font-size:12px;display:block;margin-top:12px}.assistant-upload input{width:100%;font-size:11px;margin-top:6px}.assistant-example-previews{display:flex;gap:8px;flex-wrap:wrap}.assistant-example-previews figure{margin:8px 0;max-width:90px}.assistant-example-previews img{height:90px;width:80px;object-fit:contain;background:white;border-radius:6px}.assistant-example-previews figcaption{font-size:10px;overflow-wrap:anywhere}.assistant-example-previews button{font-size:10px;padding:3px}
.assistant-upload input[type=file]{display:block}
.assistant-tool-card{padding:12px 0;border-bottom:1px solid var(--line)}.assistant-tool-card p{margin:7px 0 0}
.assistant-mode{flex-wrap:wrap}.assistant-person-change{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;font-size:13px}.assistant-person-change button{padding:0 8px;min-height:28px}.assistant-review p{overflow-wrap:anywhere}
.assistant-work label.check{flex-direction:row;align-items:center}.assistant-work label.check input{width:auto}
.assistant-rules{margin:16px 0;border:1px solid var(--line);padding:12px;border-radius:10px}.assistant-rules summary{cursor:pointer;font-weight:600;font-size:13px}.assistant-rules input[type=checkbox]{width:auto}.assistant-rules label.check{flex-direction:row;align-items:center}
.assistant-sample-invoice{background:#fff;color:#172b38;padding:14px;margin:14px 0;border-radius:6px;border:1px solid #cad4da}.assistant-sample-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;white-space:pre-wrap;border-bottom:1px solid #edf0f2}.assistant-sample-line.heading{font-weight:700}.assistant-sample-line span:first-child{overflow-wrap:anywhere}.assistant-sample-line span:last-child{white-space:nowrap}
.assistant-job-choices{max-height:170px;overflow:auto;border:1px solid var(--line);padding:8px;border-radius:8px;margin-bottom:10px}.assistant-job-choices label.check{display:flex;flex-direction:row;align-items:start;font-size:12px;margin:8px 0}.assistant-job-choices input{width:auto;margin-top:3px}.assistant-batch-row{border:1px solid var(--line);padding:12px;margin:12px 0;border-radius:10px}.assistant-row-title{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:12px}.assistant-row-title strong{font-size:13px;overflow-wrap:anywhere}.assistant-row-title button{padding:0 8px;min-height:28px}.assistant-batch-progress{font-size:12px;white-space:pre-wrap}
@media(max-width:900px){.assistant-body{display:block;overflow:auto}.assistant-chat{overflow:visible;border-right:0;border-bottom:1px solid var(--line)}.assistant-history{max-height:200px;flex:auto}.assistant-work{overflow:visible}}
@media(max-width:600px){.tally-helper-launcher{right:12px;bottom:12px}.tally-assistant{right:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.assistant-body{height:calc(100% - 103px)}.assistant-work input,.assistant-work select,.assistant-work textarea{font-size:16px}.assistant-search{display:block}.assistant-search button{margin-top:0}.assistant-search label{margin-bottom:8px}}

/* The conversation owns the space. Forms are an optional detail of a task,
   and the composer stays reachable while reading a longer reply or review. */
.tally-assistant.conversation-first{width:min(540px,calc(100vw - 36px));display:flex;flex-direction:column;box-shadow:0 18px 64px #13263230;background:var(--card,#fff)}
.conversation-first .assistant-header,.conversation-first .assistant-context{flex-shrink:0}
.conversation-first .assistant-header{padding:14px 18px}.conversation-first .assistant-header .eyebrow{margin:3px 0 0;letter-spacing:.07em;text-transform:none}
.conversation-first .assistant-body{display:flex;flex-direction:column;height:auto;flex:1;min-height:0;overflow:hidden}
.assistant-conversation-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:8px 20px 20px;scrollbar-gutter:stable}
.conversation-first .assistant-history{padding:0;min-height:0;max-height:none;overflow:visible}
.conversation-first .assistant-message{padding:14px 0;margin:4px 0 12px;border:0;background:transparent;border-radius:0}
.conversation-first .assistant-message strong{font-size:11px;color:var(--muted);font-weight:600}
.conversation-first .assistant-message p{font-size:14px;line-height:1.65;margin-top:5px}
.conversation-first .assistant-message.user{margin-left:36px;padding:12px 15px;border-radius:16px 16px 4px 16px;background:var(--bg,#f2f5f7)}
.conversation-first .assistant-message.assistant{margin-right:14px}
.conversation-first .assistant-work{padding:0;overflow:visible}
.conversation-first .assistant-work[hidden]{display:none}
.conversation-first .assistant-composer{flex-shrink:0;padding:10px 16px 12px;margin:0;border-top:1px solid var(--line);background:var(--card,#fff);max-height:44%;overflow:auto}
.conversation-first .assistant-composer textarea{width:100%;min-height:58px;max-height:140px;resize:vertical;border-radius:12px;font-size:14px;line-height:1.5;padding:12px}
.assistant-message-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.conversation-first .assistant-status{margin:0 0 6px;min-height:0;font-size:12px}.conversation-first .assistant-status:empty{display:none}
.conversation-first .assistant-composer-actions{align-items:center;margin-top:8px}.conversation-first .assistant-composer-actions button{min-height:36px;padding:7px 13px;border-radius:9px}
.assistant-extras{margin-top:9px;font-size:12px}.assistant-extras summary{cursor:pointer;color:var(--muted);width:fit-content}.assistant-extras .check{display:flex;align-items:center;gap:8px}
.assistant-chat-review:not(:empty){border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--bg,#f4f6f8);font-size:13px;line-height:1.5}
.assistant-chat-review h4{margin:0 0 9px;font-size:15px}.assistant-chat-review p{margin:8px 0 12px}.assistant-chat-review>.assistant-review{margin:0;padding:0;border:0}
.assistant-chat-review button{margin-top:7px;font-size:13px;max-width:100%;white-space:normal;text-align:left}
.assistant-summary-line{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.assistant-summary-line small{color:var(--muted)}
.assistant-summary-total{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;padding-top:8px}
/* An answer is read down the left and across to the figure, so the numbers
   line up in a column and use lining figures to stay in one. */
.assistant-answer-rows{margin:4px 0 2px}
.assistant-answer-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.assistant-answer-row:last-child{border-bottom:0}
.assistant-answer-name{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.assistant-answer-name small{color:var(--muted)}
.assistant-answer-value{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}
.assistant-chat-editor{margin:12px 0 0;font-size:13px}.assistant-chat-editor>summary{cursor:pointer;color:var(--muted);padding:6px 0}.assistant-chat-editor[open]>summary{margin-bottom:15px}
.assistant-matching-jobs{margin-top:12px}.assistant-matching-jobs summary{cursor:pointer}.assistant-matching-jobs button{display:block;width:100%;background:var(--card,#fff);overflow-wrap:anywhere}
@media(max-width:600px){.tally-assistant.conversation-first{width:100vw;height:100dvh;max-height:100dvh}.assistant-conversation-scroll{padding:6px 16px 16px}.conversation-first .assistant-composer{padding:10px 12px max(12px,env(safe-area-inset-bottom))}.conversation-first .assistant-composer textarea{font-size:16px}.conversation-first .assistant-message p{font-size:14px}.conversation-first .assistant-header{padding:10px 14px}.conversation-first .assistant-two{grid-template-columns:1fr}.assistant-chat-review{overflow-wrap:anywhere}}
