.dispatch-pilot-shell{min-height:0;overflow:hidden}.ai-chat-panel,.dispatch-pilot-shell{flex:1 1;display:flex;background:var(--bg);contain:layout style}.ai-chat-panel{min-width:0;flex-direction:column;width:100%;position:relative}.dispatch-panel.collapsed{background:var(--surface)}.ai-chat-panel .ai-home-view,.ai-chat-panel .ai-message-list{opacity:1;transition:opacity var(--duration-fast) var(--ease-out-expo)}.ai-home-continue-hint{margin:0;text-align:center;color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.4}@media (prefers-reduced-motion:reduce){.ai-chat-panel .ai-home-view,.ai-chat-panel .ai-message-list{transition:none}}.ai-chat-scroll{flex:1 1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;scroll-behavior:auto;padding:clamp(var(--space-4),3vw,var(--space-8)) clamp(var(--space-4),4vw,var(--space-10)) var(--space-6)}.ai-chat-scroll-anchor{height:0;width:100%;flex-shrink:0;pointer-events:none}.ai-chat-scroll.ai-chat-messages{justify-content:flex-start}.ai-hero{min-height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-3)}.ai-eyebrow{color:var(--text-3);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.ai-hero h1{color:var(--text);font-size:var(--text-lg);font-weight:var(--weight-muted);letter-spacing:-.01em;line-height:1.25;text-align:center}.ai-hero p{max-width:620px;color:var(--text-2);font-size:var(--text-sm);line-height:1.6}.ai-card-actions button,.ai-import-row button,.ai-input-row button,.ai-send-button,.ai-tool-pill{border:1px solid var(--border);background:var(--surface-dim-xstrong);color:var(--text);cursor:pointer;font-family:var(--font-mono);transition:border-color var(--duration-instant) var(--ease-out-expo),background var(--duration-instant) var(--ease-out-expo),transform var(--duration-instant) var(--ease-out-expo)}.ai-card-actions button:hover,.ai-import-row button:hover,.ai-input-row button:hover,.ai-send-button:hover,.ai-tool-pill:hover{border-color:var(--border-hover);background:var(--surface);transform:translateY(-1px)}.ai-message-list{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-6)}.ai-message{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.ai-message.user{margin-left:auto;justify-items:end}.ai-message-role{color:var(--text-3);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ai-message-bubble{white-space:pre-wrap;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:13px;line-height:1.7;box-shadow:var(--shadow-card)}.ai-message.user .ai-message-bubble{background:var(--accent);color:var(--surface);border-color:var(--accent)}.ai-message-bubble .ai-md-h{margin:.65em 0 .35em;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.3;color:var(--text-2)}.ai-message-bubble .ai-md-h--sm{font-size:11px;letter-spacing:.01em;font-weight:600}.ai-message-bubble .ai-md-h:first-child{margin-top:0}.ai-message-bubble .ai-md-p{margin:.35em 0}.ai-message-bubble .ai-md-p:first-child{margin-top:0}.ai-message-bubble .ai-md-ol,.ai-message-bubble .ai-md-ul{margin:.35em 0;padding-left:1.1em}.ai-message-bubble .ai-md-ul{list-style-type:disc}.ai-message-bubble .ai-md-ol{list-style-type:decimal}.ai-message-bubble .ai-md-li{margin:.15em 0;padding-left:.2em}.ai-message-bubble .ai-md-li>.ai-md-p{margin:0}.ai-message-bubble .ai-md-code{display:inline-block;padding:.05em .45em;border-radius:4px;background:var(--surface-2);font-family:var(--font-mono);font-size:11.5px;color:var(--text)}.ai-message-bubble .ai-md-pre{overflow-x:auto;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);margin:.4em 0}.ai-message-bubble .ai-md-pre code{background:transparent;padding:0;font-size:11px;color:var(--text-2)}.ai-message-bubble .ai-md-blockquote{margin:.4em 0;padding-left:var(--space-3);border-left:2px solid var(--border-hover);color:var(--text-2);font-style:italic}.ai-message-bubble .ai-md-a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.ai-message-bubble .ai-md-a:hover{color:var(--accent-hover)}.ai-message-bubble .ai-md-hr{border:none;border-top:1px solid var(--border);margin:.6em 0}.ai-message-bubble .ai-md-table-wrap{overflow-x:auto;margin:.4em 0}.ai-message-bubble .ai-md-table{width:100%;border-collapse:collapse;font-size:11px}.ai-message-bubble .ai-md-table td,.ai-message-bubble .ai-md-table th{padding:var(--space-1) var(--space-2);border:1px solid var(--border);text-align:left}.ai-message-bubble .ai-md-table th{background:var(--surface-2);font-weight:600;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.ai-message-bubble strong{color:var(--accent);font-weight:700}.ai-message.user .ai-message-bubble strong{color:var(--surface);font-weight:700}.ai-thinking-bubble{display:inline-flex;align-items:center;gap:4px;min-height:1em}.ai-thinking-bubble__dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5;animation:aiThinkingBounce 1.4s ease-in-out infinite both}.ai-thinking-bubble__dot:first-child{animation-delay:0s}.ai-thinking-bubble__dot:nth-child(2){animation-delay:.14s}.ai-thinking-bubble__dot:nth-child(3){animation-delay:.28s}@keyframes aiThinkingBounce{0%,80%,to{transform:translateY(0) scale(.65);opacity:.35}40%{transform:translateY(-3px) scale(1);opacity:1}}.ai-thinking-bubble__static{opacity:.75;font-weight:700}@media (prefers-reduced-motion:reduce){.ai-thinking-bubble__dot{animation:none;opacity:.75}}.ai-alert,.ai-ocr-status{color:var(--error);font-size:12px;margin:8px 0}.ai-card{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-xxstrong);box-shadow:var(--shadow-card)}.ai-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ai-card-head span{color:var(--text);font-size:13px;font-weight:700}.ai-card-head strong{color:var(--text-3);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ai-card p{color:var(--text-2);font-size:13px;line-height:1.7;margin-top:var(--space-2)}.ai-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.ai-check{display:flex;flex-direction:column;gap:var(--space-1);min-height:120px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.ai-check.current{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.ai-check.attention{border-color:color-mix(in srgb,var(--pending) 50%,var(--border))}.ai-check strong{font-size:12px;color:var(--text)}.ai-check small,.ai-check span{color:var(--text-2);font-size:11px;line-height:1.55}.ai-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);margin-top:var(--space-3)}.ai-table{width:100%;border-collapse:collapse;min-width:720px}.ai-table td,.ai-table th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text-2);font-size:11px;text-align:left}.ai-table th{color:var(--text);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--surface-2)}.ai-metric-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.ai-metric-row span{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:1px solid var(--border);border-radius:999px;color:var(--text-2);font-size:11px}.ai-metric-row strong{color:var(--text)}.ai-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.ai-card-actions button,.ai-import-row button,.ai-input-row button{min-height:36px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:600}.ai-card-actions button{border-radius:var(--radius-sm)}.ai-card-actions button:disabled,.ai-input-row button:disabled{cursor:not-allowed;opacity:.45;transform:none}.ai-share-card{width:min(100%,680px);padding:28px;border-radius:var(--radius);background:radial-gradient(circle at 22% 8%,hsla(0,0%,100%,.28),transparent 30%),linear-gradient(135deg,#0e1a24,#243f4f 52%,#d8c8a5);color:#fff;overflow:hidden}.ai-share-map{color:hsla(0,0%,100%,.9);min-height:180px}.ai-share-map svg{width:100%;height:auto}.ai-share-map text{fill:currentColor;font-family:var(--font-mono);font-size:22px;letter-spacing:.12em}.ai-share-card h2{max-width:560px;font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.05;letter-spacing:-.05em;font-weight:500}.ai-share-card footer,.ai-share-card p{color:hsla(0,0%,100%,.78);margin-top:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.ai-composer{flex:0 0 auto;padding:var(--space-3) clamp(var(--space-3),4vw,var(--space-10)) var(--space-4);background:transparent}.ai-import-row,.ai-input-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ai-prompt-composer{position:relative}.ai-input-row.ai-prompt-composer{width:100%;min-height:90px;margin:0 auto;padding:var(--space-3);flex-direction:column;align-items:stretch;justify-content:space-between;gap:var(--space-2);flex-wrap:nowrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.ai-composer-action-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:40px}.ai-composer-hint{color:var(--text-3);font-size:11px}.ai-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-left:auto}.ai-tool-pill{min-height:44px;padding:0 var(--space-3);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:999px;font-size:12px;line-height:1}.ai-tool-pill[aria-expanded=true]{border-color:var(--border-hover);background:var(--surface-2)}.ai-send-button{width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--text);border-color:var(--text);color:var(--surface)}.ai-send-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ai-send-button:disabled{cursor:not-allowed;opacity:.42;transform:none}.ai-composer textarea{width:100%;resize:vertical;min-height:46px;max-height:130px;margin:10px 0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;line-height:1.5}.ai-composer textarea,.ai-input-row input{background:var(--surface);color:var(--text);font-family:var(--font-mono)}.ai-input-row input{flex:1 1;min-width:120px;height:44px;padding:0 16px;border:1px solid var(--border);border-radius:999px;font-size:13px}.ai-input-row .ai-cursor-input{display:block;white-space:pre-wrap;word-break:break-word;overflow:hidden;line-height:1.55;padding:0 2px var(--space-2);border:none;border-radius:0;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:13px;min-height:44px;flex:1 1}@media (max-width:768px){.ai-chat-scroll{padding:var(--space-4) var(--space-4)}.ai-hero{gap:var(--space-3);justify-content:flex-start}.ai-hero h1{font-size:var(--text-lg)}.ai-home-composer{min-height:132px;padding:var(--space-3);border-radius:var(--radius)}.ai-home-composer .ai-cursor-input{min-height:68px}.ai-home-cards,.ai-suggestion-grid{max-width:360px;width:min(100%,360px);grid-template-columns:repeat(2,minmax(0,1fr))}.ai-suggestion-grid button{padding:var(--space-3)}.ai-composer-hint{display:none}.ai-composer{padding:var(--space-3) var(--space-3) var(--space-3)}.ai-message,.ai-message.user{max-width:100%;justify-items:stretch}.ai-tools-menu{grid-template-columns:1fr;right:0;bottom:58px}.ai-chat-topbar{padding:var(--space-2) var(--space-3)}}.ai-chat-topbar{flex:0 0 auto;min-height:56px;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) clamp(var(--space-3),4vw,var(--space-10));background:var(--surface);border-bottom:1px solid var(--border)}.ai-chat-topbar .logbook-header-btn svg{width:13px;height:13px;flex-shrink:0}.ai-chat-topbar-clear{margin-left:auto}.ai-home-composer button,.ai-recent-list button,.ai-section-head button,.ai-tools-menu button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-family:var(--font-mono);transition:background var(--duration-instant) var(--ease-out-expo),border-color var(--duration-instant) var(--ease-out-expo),transform var(--duration-instant) var(--ease-out-expo)}.ai-home-composer button,.ai-section-head button{min-height:36px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:600}.ai-home-composer button:hover,.ai-recent-list button:hover,.ai-section-head button:hover,.ai-tools-menu button:hover{background:var(--surface-2);border-color:var(--border-hover);transform:translateY(-1px)}.ai-home-composer .ai-send-button,.ai-input-row .ai-send-button{width:44px;height:44px;min-height:44px;padding:0;background:var(--text);border-color:var(--text);color:var(--surface)}.ai-home-composer .ai-send-button:hover,.ai-input-row .ai-send-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ai-home-composer .ai-tool-pill,.ai-input-row .ai-tool-pill{min-height:34px;padding:0 12px}.ai-home-view{min-height:auto;padding:var(--space-6) 0 var(--space-4)}.ai-home-title{color:var(--text);font-size:calc(var(--text-xl) + 2px);font-weight:var(--weight-muted);letter-spacing:-.01em;line-height:1.2;text-align:center;font-family:var(--font-mono)}.ai-prompt-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;padding:var(--space-2) 0}.ai-prompt-chip{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease;text-align:left;line-height:1.4}.ai-prompt-chip:hover{border-color:var(--border-hover);color:var(--text);background:var(--surface)}.ai-prompt-chip:focus-visible{outline:2px solid var(--text);outline-offset:2px}.ai-home-composer{width:100%;min-height:120px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.ai-home-composer .ai-cursor-input{min-height:56px;padding:0 2px var(--space-2);border:none;border-radius:0;background:transparent;flex:1 1}.ai-cursor-input{flex:1 1;min-width:0;min-height:44px;padding:0 14px;border:none;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.55;caret-color:var(--text);outline:none;display:flex;align-items:flex-start;white-space:pre-wrap;word-break:break-word}.ai-cursor-input:empty:before{content:attr(data-placeholder);color:var(--text-3);pointer-events:none}.ai-cursor-input:focus-visible{outline:none}.ai-chat-cursor-input{flex:1 1;min-width:120px;height:44px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);display:flex;align-items:center;overflow:hidden}.ai-home-composer button:disabled{cursor:not-allowed;opacity:.45;transform:none}.ai-home-cards{width:min(100%,660px)}.ai-recent-chats{width:min(100%,860px);margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-dim-84)}.ai-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.ai-section-head span{color:var(--text);font-size:12px;font-weight:700}.ai-muted-status,.ai-recent-chats p{color:var(--text-3);font-size:12px;line-height:1.6}.ai-recent-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.ai-recent-list button{width:100%;display:grid;grid-gap:2px;gap:2px;padding:var(--space-3) var(--space-3);border-radius:var(--radius);text-align:left}.ai-recent-list strong{color:var(--text);font-size:12px;font-weight:600}.ai-recent-list span{color:var(--text-3);font-size:10px}.ai-tools-section{display:contents}.ai-tools-section-label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:4px 2px;color:var(--text-3);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:4px}.ai-tools-section-label button{font-size:10px;font-weight:600;color:var(--text-2);text-transform:none;letter-spacing:0;padding:2px 6px;border-radius:6px}.ai-tools-history{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.ai-tools-history .ai-tools-section-label{border-bottom:none;margin-bottom:0}.ai-tools-menu{flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card-hover)}.ai-tool-item,.ai-tools-menu{display:flex;padding:var(--space-1) var(--space-2)}.ai-tool-item{align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font-family:var(--font-mono);text-align:left;min-height:36px;transition:background var(--duration-instant) var(--ease-out-expo),border-color var(--duration-instant) var(--ease-out-expo)}.ai-tool-item:hover{background:var(--surface-2);border-color:var(--border)}.ai-tool-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}.ai-tool-label{font-size:11px;font-weight:600;color:var(--text);white-space:nowrap}.ai-tool-desc{font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;text-align:right}.ai-paste-panel{flex:0 0 auto;padding:var(--space-3) clamp(var(--space-3),4vw,var(--space-10));border-top:1px solid var(--border);background:var(--surface)}.ai-paste-panel textarea{width:100%;resize:vertical;min-height:76px;max-height:180px;padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.5}.ai-composer.compact{padding-top:var(--space-2)}@media (max-width:375px){.ai-home-cards,.ai-suggestion-grid{max-width:100%;grid-template-columns:1fr}}@media (max-width:420px){.ai-home-cards,.ai-suggestion-grid{max-width:170px}.ai-composer-action-row{align-items:flex-end}}.logbook-kofi-popover{position:fixed;z-index:var(--z-popover);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;font-family:var(--font-mono);animation:dropIn var(--duration-normal) var(--ease-out-expo)}@media (max-width:480px){.logbook-kofi-popover{top:max(58px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));width:auto;max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right))}.logbook-kofi-popover-footer-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px}}@media (orientation:landscape) and (max-height:480px){.logbook-kofi-popover-header{padding:var(--space-2) var(--space-3)}.logbook-kofi-popover-footer{padding:var(--space-1) var(--space-3)}}.logbook-kofi-popover-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.logbook-kofi-popover-title{font-size:var(--text-sm);font-weight:var(--weight-emphasis);color:var(--text);letter-spacing:.02em}.logbook-kofi-popover-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.logbook-kofi-popover-close:hover{background:var(--surface-2);color:var(--text)}.logbook-kofi-popover-close:focus-visible{outline:var(--outline-focus);outline-offset:2px}.logbook-kofi-popover-body{flex:1 1;min-height:0;color-scheme:light dark;background:var(--surface)}.logbook-kofi-popover-iframe{display:block;width:100%;height:100%;border:none;background:var(--surface)}.logbook-kofi-popover-footer{flex-shrink:0;padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-3);text-align:center}.logbook-kofi-popover-footer-hint{color:var(--text-3)}.logbook-kofi-popover-footer-link{color:var(--text-2);text-decoration:underline;text-underline-offset:2px}.logbook-kofi-popover-footer-link:hover{color:var(--text)}.logbook-kofi-popover-footer-link:focus-visible{outline:var(--outline-focus);outline-offset:2px}.ai-tools-strip{width:100%;max-width:640px;margin:var(--space-3) auto 0}.ai-tools-strip-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:var(--space-2)}.ai-tools-strip-header span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.ai-tools-strip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));grid-gap:var(--space-2);gap:var(--space-2);list-style:none;padding:0;margin:0}.ai-tool-chip{display:inline-flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:background var(--duration-instant) var(--ease-out-expo),border-color var(--duration-instant) var(--ease-out-expo)}.ai-tool-chip:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.ai-tool-chip:disabled{opacity:.5;cursor:not-allowed}.ai-tool-chip-icon{display:inline-flex}.ai-tool-chip-label{font-weight:600}.ai-sources{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:10px}.ai-sources>span:first-child{color:var(--text-3);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.ai-source-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:10px;color:var(--text);text-decoration:none;background:var(--surface)}.ai-source-chip:hover{border-color:var(--border-hover);background:var(--surface-2)}.ai-tool-shell{flex:1 1;min-height:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;border-radius:var(--space-4) var(--space-4) 0 0;font-family:var(--font-mono)}@media (max-width:767px){.ai-tool-shell{border-radius:0}}.ai-tool-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.ai-tool-head h2{font-size:13px;font-weight:700;letter-spacing:.02em;margin:0}.ai-tool-tabs{display:flex;gap:0;padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border)}.ai-tool-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:var(--space-3) var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--text-2);cursor:pointer;border:none;border-bottom:2px solid transparent}.ai-tool-tabs button.active{color:var(--text);border-bottom-color:var(--text);font-weight:700}.ai-tool-body{flex:1 1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.ai-tool-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.ai-tool-foot button{min-height:36px;padding:0 16px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-family:var(--font-mono)}.ai-tool-foot button.primary{background:var(--text);color:var(--surface);border-color:var(--text)}.ai-tool-foot button:disabled{opacity:.5;cursor:not-allowed}.ai-modal-hint{color:var(--text-3);font-size:11px;line-height:1.6}.ai-modal-loading{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.ai-modal-status{color:var(--text-2);font-size:11px;margin:0}.ai-upload-filename{margin:var(--space-2) 0 0;color:var(--text);font-family:var(--font-mono);font-size:12px}.ai-import-progress{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.ai-import-progress p{margin:0;color:var(--text-2);font-size:11px;line-height:1.6}.ai-import-progress-track{height:4px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ai-import-progress-bar{width:40%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.ai-paste-section textarea,.ai-upload-section input[type=file]{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.5}.ai-paste-section textarea{min-height:120px;resize:vertical}.ai-export-preview>strong,.ai-export-scope>strong,.ai-mapping-panel header,.ai-mapping-preview header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.ai-mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.ai-mapping-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ai-mapping-row.confidence-high{background:color-mix(in srgb,var(--success) 8%,var(--surface));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.ai-mapping-row.confidence-low,.ai-mapping-row.confidence-medium{background:color-mix(in srgb,var(--pending) 8%,var(--surface));border-color:color-mix(in srgb,var(--pending) 25%,var(--border))}.ai-mapping-row.confidence-ignore,.ai-mapping-row.confidence-unknown{background:var(--surface-dim);border-color:var(--border)}.ai-mapping-row.confidence-ignore{opacity:.5}.ai-mapping-source{font-size:11px;color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-mapping-row select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:11px}.ai-export-scope{display:flex;flex-direction:column;gap:var(--space-2)}.ai-export-format select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:11px}.ai-export-scope-options{display:flex;flex-direction:column;gap:var(--space-1);font-size:12px}.ai-export-scope-options label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text);cursor:pointer}.ai-export-range{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.ai-export-range label{display:flex;align-items:center;gap:var(--space-2);font-size:11px;color:var(--text-2)}.ai-export-range input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:11px}.ai-export-preview p{color:var(--text-2);font-size:12px}.ai-table tr.status-duplicate{opacity:.55}.ai-table tr.status-mismatch td{color:var(--pending)}.ai-chat-scroll--consent{justify-content:center;align-items:center}.ai-consent-panel{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;min-height:0;max-height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);font-family:var(--font-mono);overflow:hidden}.ai-consent-panel-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.ai-consent-panel-title{font-size:var(--text-sm);font-weight:var(--weight-emphasis);letter-spacing:.02em;margin:0;color:var(--text)}.ai-consent-panel-body{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;min-height:0;flex:1 1}.ai-consent-panel-desc{margin:0;font-size:var(--text-xs);line-height:1.65;color:var(--text-2)}.ai-consent-panel-desc strong{color:var(--text);font-weight:var(--weight-primary)}.ai-consent-panel-footer{padding:var(--space-4) var(--space-6) var(--space-5);display:flex;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border);flex-shrink:0}.ai-consent-decline-btn{padding:var(--space-2) var(--space-5);background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast)}.ai-consent-decline-btn:hover{border-color:var(--border-hover);color:var(--text)}.ai-consent-accept-btn{padding:var(--space-2) var(--space-5);background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:var(--surface);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-primary);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.ai-consent-accept-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ai-consent-accept-btn:focus-visible,.ai-consent-decline-btn:focus-visible{outline:var(--outline-focus);outline-offset:2px}.ai-message{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--msg-index, 0) * 40ms)}.ai-message.user{animation-name:slideInRight;animation-timing-function:var(--ease-out-expo);animation-fill-mode:both}.ai-message.user,.ai-message:not(.user){animation-duration:var(--duration-normal)}.ai-message:not(.user){animation-name:staggerItemIn;animation-timing-function:var(--ease-out-expo);animation-fill-mode:both}.ai-message-bubble{transition:transform var(--duration-instant) var(--ease-out-expo)}.ai-message-bubble:active{transform:scale(.985)}.ai-hero,.ai-home-cards,.ai-home-composer{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards}.ai-hero{animation-delay:60ms}.ai-home-cards{animation-delay:.14s}.ai-home-composer{animation-delay:.22s}.ai-prompt-chip:active{transform:scale(.96);transition:transform var(--duration-instant) var(--ease-out-expo)}.ai-recent-list button{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--recent-index, 0) * 50ms)}.ai-tools-menu .ai-tool-item{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--tool-index, 0) * 40ms)}.ai-send-button{transition:background var(--duration-fast) var(--ease-out-expo),border-color var(--duration-fast) var(--ease-out-expo),transform var(--duration-instant) var(--ease-out-expo)}.ai-send-button:active:not(:disabled){transform:scale(.93)}.ai-input-row.ai-prompt-composer:focus-within{border-color:var(--border-hover);box-shadow:0 0 0 3px var(--accent-dim);transition:border-color var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.ai-card{opacity:0;animation:staggerItemIn var(--duration-normal) var(--ease-out-expo) forwards;animation-delay:calc(var(--card-index, 0) * 60ms)}.ai-tool-tabs button{transition:color var(--duration-fast) var(--ease-out-expo),border-bottom-color var(--duration-normal) var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){.ai-card,.ai-hero,.ai-home-cards,.ai-home-composer,.ai-message,.ai-recent-list button,.ai-tools-menu .ai-tool-item{animation:none;opacity:1;transform:none}.ai-message-bubble,.ai-send-button{transition:none}}