*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#f9f9f9;--sidebar-border:#e5e5e5;--sidebar-width:260px;--ai-row-bg:#f7f7f8;--user-bubble-bg:#6b7aae;--user-bubble-text:#fff;--text-primary:#1a1a1a;--text-secondary:#6b7280;--border:#e5e7eb;--input-bg:#fff;--accent:#e8193c;--accent-hover:#c4162f;--btn-send-inactive:#d1d5db;--table-head-bg:#f3f4f6;--code-bg:#f3f4f6;--surface:#fff;--bg:#fff;--hover:#f3f4f6;--app-brand-logo-width:160px;--app-brand-logo-width-drawer:138px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{height:100%;color:var(--text-primary);background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.6}.app{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;gap:8px;min-height:0;padding:16px 12px;display:flex}.sidebar-logo{border-bottom:1px solid var(--sidebar-border);justify-content:center;margin-bottom:4px;padding:8px 4px 16px;display:flex}.sidebar-logo img{width:var(--app-brand-logo-width);object-fit:contain;max-width:100%;height:auto}.btn-new-chat{border:1px solid var(--sidebar-border);color:var(--text-primary);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.btn-new-chat:hover{background:#efefef}.sidebar-accordion{flex-direction:column;flex:1;gap:8px;min-height:0;margin:4px 0;display:flex;overflow-y:auto}.accordion-section{background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;min-height:0;display:flex}.accordion-section:not(.accordion-section--expanded) .accordion-section__header{color:var(--text-secondary);border-color:var(--sidebar-border);background:#ffffff8c;font-weight:500}.accordion-section:not(.accordion-section--expanded) .accordion-section__header:hover{color:var(--text-primary);background:#fff;border-color:#d1d5db}.accordion-section:not(.accordion-section--expanded) .accordion-section__chevron{color:#9ca3af}.accordion-section--expanded{border-color:var(--sidebar-border);background:#fff;flex:1;min-height:0;box-shadow:0 1px 2px #0000000a}.accordion-section__header{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.accordion-section__header:hover{background:var(--hover)}.accordion-section__header--active{color:var(--text-primary);border-color:#0000;border-bottom:1px solid var(--sidebar-border);box-shadow:inset 3px 0 0 var(--accent);background:0 0;border-radius:10px 10px 0 0;padding-left:12px;font-weight:700}.accordion-section--expanded .accordion-section__header--active:hover{background:#fafafa}.accordion-section__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.accordion-section__chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .15s}.accordion-section__chevron--expanded{color:var(--accent);transform:rotate(180deg)}.accordion-section__body{flex-direction:column;gap:2px;min-height:0;padding:8px 8px 10px 10px;display:flex}.accordion-section__body--chat{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.accordion-section__body--chat .session-list{flex:1;min-height:0}.accordion-nav-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:8px 12px;font-size:13px;display:flex}.accordion-nav-item:hover{background:var(--hover);color:var(--text-primary)}.accordion-nav-item--active{background:var(--ai-row-bg);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.accordion-nav-item--muted{color:var(--text-secondary);cursor:default}.session-list{scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent;flex-direction:column;flex:1;gap:2px;min-height:0;margin:4px 0;display:flex;overflow-y:auto}.session-list-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;padding:4px 8px 6px;font-size:11px;font-weight:600}.session-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;flex-direction:row;align-items:center;gap:4px;width:100%;min-width:0;padding:8px 6px 8px 10px;transition:background .12s;display:flex;position:relative}.session-item__body{flex-direction:column;flex:1;gap:2px;min-width:0;transition:padding-right .12s;display:flex}.session-item__actions{opacity:0;pointer-events:none;align-items:center;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.session-item__delete{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:background .15s,color .15s;display:flex}.session-item__rename{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,color .15s;display:flex}.session-item:hover .session-item__actions{opacity:1;pointer-events:auto}.session-item:hover .session-item__body{padding-right:52px}.session-item__rename:hover{color:var(--text-primary);background:#0000000f}.session-item__delete:hover{color:var(--accent);background:#e8193c1f}.session-item:hover{background:#0000000d}.session-item--active{background:#fde8ec;border:1px solid #e8193c40}.session-item--active:hover{background:#fbd5db}.session-item__title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:1.4;overflow:hidden}.session-item__date{color:var(--text-secondary);font-size:11px;line-height:1.3}.sidebar-bottom{border-top:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;gap:4px;margin-top:4px;padding-top:8px;display:flex}.sidebar-user-row{align-items:center;gap:8px;min-width:0;padding:6px 4px 10px;display:flex}.sidebar-username{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.sidebar-bottom .btn-admin-link{width:100%;margin:0 0 4px}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-direction:column;align-items:center;gap:6px;padding-top:12px;display:flex}.sidebar-footer img{object-fit:contain;opacity:.65;width:90px;height:auto}.sidebar-footer span{color:var(--text-secondary);letter-spacing:.3px;font-size:11px}.app-footer-version{color:var(--text-secondary);opacity:.85;letter-spacing:.2px;font-size:10px}.app-footer-version--update{color:#c45c26;opacity:1;font-weight:600;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;padding:0;animation:2s ease-in-out infinite app-footer-version-pulse;position:relative}.app-footer-version--update:hover,.app-footer-version--update:focus-visible{outline:none;text-decoration:underline}.app-footer-version--update[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;opacity:0;visibility:hidden;z-index:10;background:#1f2937;border-radius:4px;max-width:240px;padding:6px 10px;font-size:11px;font-weight:400;line-height:1.35;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)}.app-footer-version--update[data-tooltip]:before{content:"";pointer-events:none;opacity:0;visibility:hidden;z-index:10;border:4px solid #0000;border-top-color:#1f2937;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.app-footer-version--update[data-tooltip]:hover:after,.app-footer-version--update[data-tooltip]:hover:before,.app-footer-version--update[data-tooltip]:focus-visible:after,.app-footer-version--update[data-tooltip]:focus-visible:before{opacity:1;visibility:visible}@keyframes app-footer-version-pulse{0%,to{opacity:1}50%{opacity:.65}}.app-footer-legal-link{color:var(--text-secondary);text-align:center;margin-top:2px;font-size:10px;text-decoration:none}.app-footer-legal-link:hover{text-decoration:underline}.login-footer .app-footer-legal-link{margin-top:2px}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-top-bar{display:none}.btn-sidebar-toggle{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s;display:flex}.btn-sidebar-toggle:hover{background:var(--hover);border-color:var(--text-secondary)}.sidebar-backdrop{display:none}.chatbox{scroll-behavior:smooth;flex:1;min-height:0;overflow-y:auto}.msg-row{justify-content:center;padding:20px 24px;display:flex}.msg-row.ai{background:var(--ai-row-bg)}.msg-row.user{background:#fff}.msg-inner{align-items:flex-start;gap:16px;width:100%;max-width:1100px;display:flex}.avatar{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;margin-top:2px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.avatar.ai{background:0 0}.avatar.ai img{object-fit:cover;border-radius:4px;width:90%;height:90%}.avatar.user{color:#fff;background:#6b7aae}.msg-content{min-width:0;color:var(--text-primary);flex:1;padding-top:4px}.message-actions{justify-content:flex-end;align-items:center;gap:6px;margin-bottom:8px;display:flex}.message-actions__btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.message-actions__btn:hover:not(:disabled){background:var(--hover);color:var(--text-primary);border-color:#d1d5db}.message-actions__btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:1px}.message-actions__btn:disabled{opacity:.6;cursor:not-allowed}.message-actions__btn svg{width:16px;height:16px}.msg-row.user .msg-content{justify-content:flex-end;display:flex}.user-bubble{background:var(--user-bubble-bg);color:var(--user-bubble-text);white-space:pre-wrap;border-radius:16px 16px 4px;max-width:85%;padding:10px 16px;font-size:15px;line-height:1.55}.ai-text{font-size:15px}.ai-text p{margin-bottom:10px}.ai-text p:last-child{margin-bottom:0}.ai-text h1,.ai-text h2,.ai-text h3{margin:16px 0 8px;font-weight:600}.ai-text h1{font-size:1.3em}.ai-text h2{font-size:1.15em}.ai-text h3{font-size:1.05em}.ai-text ul,.ai-text ol{margin-bottom:10px;padding-left:20px}.ai-text li{margin-bottom:4px}.ai-text code{background:var(--code-bg);border-radius:4px;padding:2px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88em}.ai-text pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:14px 16px;overflow-x:auto}.ai-text pre code{background:0 0;padding:0;font-size:.9em}.ai-text strong{font-weight:600}.ai-text a{color:var(--accent);text-decoration:none}.ai-text a:hover{text-decoration:underline}.ai-text blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:8px 0;padding-left:12px}.ai-text--license-notice{background:linear-gradient(105deg,#d977061f 0%,#fbbf240f 45%,#ffffff80 100%);border:1px solid #d9770659;border-left:5px solid #d97706;border-radius:10px;margin-top:16px;padding:14px 16px;font-size:14px;line-height:1.55;box-shadow:0 1px 3px #0000000f}.ai-text--license-notice p{margin-bottom:8px}.ai-text--license-notice p:last-child{margin-bottom:0}.ai-text--license-notice strong{color:#92400e}.table-block{margin:8px 0 14px;overflow-x:auto}.table-block h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:14px;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 12px}.data-table th{background:var(--table-head-bg);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.data-table th:hover{background:#e9eaeb}.data-table tr:nth-child(2n) td{background:#fafafa}.sort-indicator{color:var(--text-secondary);margin-left:4px}.data-table td[rowspan]{border-right:2px solid var(--border)}.chart-block{margin:8px 0 14px}.chart-block h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:14px;font-weight:600}.excel-block{flex-direction:column;gap:8px;margin:8px 0 14px;display:flex}.file-block{border:1px solid var(--border);background:var(--ai-row-bg);color:var(--accent);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:8px 0;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.file-block:hover{background:#ececec}button.file-block{font:inherit}button.file-block:disabled{opacity:.75;cursor:wait}.loading-dots{align-items:center;gap:5px;padding-top:4px;display:flex}.loading-dots span{background:var(--text-secondary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite bounce}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.loading-label{color:var(--text-secondary);margin-left:8px;font-size:13px;font-style:italic}.input-wrapper{border-top:1px solid var(--border);background:#fff;justify-content:center;padding:16px 24px 20px;display:flex}.input-container{flex-direction:column;align-items:center;gap:0;width:100%;max-width:1100px;display:flex}.input-inner{border:1px solid var(--border);background:var(--input-bg);border-radius:12px;align-items:flex-end;width:100%;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 8px #0000000f}.input-inner:focus-within{border-color:#a0a0a0;box-shadow:0 2px 12px #0000001a}.prompt-textarea{resize:none;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-height:52px;max-height:200px;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.55;overflow-y:auto}.prompt-textarea::placeholder{color:#9ca3af}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:8px 8px 8px 0;transition:background .15s;display:flex}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{background:var(--btn-send-inactive);cursor:not-allowed}.input-hint{text-align:center;color:var(--text-secondary);width:100%;margin-top:0;font-size:12px}.input-hint-row{justify-content:center;align-items:center;gap:12px;width:100%;margin-top:8px;display:flex}.input-hint-row.has-model-tier{justify-content:space-between}.model-tier-menu{flex-shrink:0;position:relative}.model-tier-trigger{appearance:none;border:1px solid var(--border);background:var(--ai-row-bg);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.model-tier-trigger:hover:not(:disabled){color:var(--text-primary);background:#ececec;border-color:#d1d5db}.model-tier-menu.is-open .model-tier-trigger{color:var(--text-primary);background:#fff;border-color:#d1d5db}.model-tier-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:1px}.model-tier-trigger:disabled{opacity:.55;cursor:not-allowed}.model-tier-chevron{color:#9ca3af;flex-shrink:0;transition:transform .15s}.model-tier-menu.is-open .model-tier-chevron{transform:rotate(180deg)}.model-tier-dropdown{z-index:40;border:1px solid var(--border);background:#fff;border-radius:10px;min-width:100%;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001a}.model-tier-option{appearance:none;width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:background-color .12s,color .12s;display:flex}.model-tier-option:hover{background:var(--ai-row-bg)}.model-tier-option.is-selected{color:var(--text-primary);background:#ececec}.model-tier-option:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:-2px}.model-tier-check{color:var(--text-secondary);flex-shrink:0}.input-hint-row.has-model-tier .input-hint{text-align:right;flex:1;width:auto}.welcome{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.welcome img{opacity:.7;width:80px;height:auto}.welcome h3{color:var(--text-primary);font-size:22px;font-weight:600}.welcome p{text-align:center;max-width:420px;font-size:15px}.welcome-pills{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.pill{background:var(--ai-row-bg);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;text-align:center;border-radius:8px;max-width:220px;padding:10px 14px;font-size:13px;transition:background .15s}.pill:hover{background:#ececec}.btn-logout{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.btn-logout:hover{color:var(--accent);background:#e8193c14;border-color:#e8193c4d}.login-page{background:#f5f5f7;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:400px;padding:40px 48px;display:flex;box-shadow:0 4px 24px #00000014}.login-logo{margin-bottom:12px}.login-logo img{width:var(--app-brand-logo-width);max-width:min(100%, var(--app-brand-logo-width));height:auto}.login-subtitle{color:var(--text-secondary);margin:0 0 16px;font-size:13px}.login-form{flex-direction:column;gap:14px;width:100%;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-primary);font-size:13px;font-weight:500}.login-field input{border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e8193c1a}.login-field input:disabled{background:var(--ai-row-bg);cursor:not-allowed}.login-error{color:var(--accent);text-align:center;margin:0;font-size:13px}.login-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{background:var(--btn-send-inactive);cursor:not-allowed}.login-footer{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:24px;padding-top:20px;display:flex}.login-footer img,.partner-logo-footer{object-fit:contain;opacity:.6;width:80px;height:auto}.sidebar-footer .partner-logo-footer{width:90px}.login-footer span{color:var(--text-secondary);font-size:11px}.login-footer .app-footer-version{margin-top:2px}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay--nested{z-index:1100}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000002e}.modal-card--sm{max-width:440px}.modal-card--md{max-width:520px}.modal-card--lg{max-width:720px}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.modal-header-actions{align-items:center;gap:8px;display:flex}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:22px;line-height:1}.modal-close:hover{background:var(--hover);color:var(--text-primary)}.modal-icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.modal-icon-btn:hover{background:var(--hover);color:var(--text-primary)}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.confirm-modal-message{margin:0;line-height:1.45}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-footer--split{flex-wrap:wrap;justify-content:space-between}.modal-error{color:#c0122a;background:#fff2f4;border:1px solid #ffc0c8;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.modal-success{color:#1a7a42;background:#f0faf4;border:1px solid #a8ddb8;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.modal-info{color:#3d4f7c;background:#f0f4ff;border:1px solid #c0ccf0;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.connectivity-intro{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.45}.connectivity-blocks{flex-direction:column;gap:12px;display:flex}.connectivity-block{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px 14px}.connectivity-block--ok{background:#f6fbf8;border-color:#a8ddb8}.connectivity-block--skipped{background:#f6f7f9;border-color:#c9ced8}.connectivity-block--error{background:#fff8f9;border-color:#ffc0c8}.connectivity-block__head{align-items:flex-start;gap:10px;display:flex}.connectivity-block__icon{flex-shrink:0;margin-top:1px}.connectivity-block--ok .connectivity-block__icon{color:#1a7a42}.connectivity-block--skipped .connectivity-block__icon{color:var(--text-secondary)}.connectivity-block--error .connectivity-block__icon{color:#c0122a}.connectivity-block__headline{color:var(--text-primary);margin:0;font-size:14px;font-weight:600;line-height:1.35}.connectivity-block__detail{color:var(--text-secondary);margin:8px 0 0;padding-left:32px;font-size:13px;line-height:1.45}.connectivity-block--error .connectivity-block__detail{color:#6b1a24}.form-field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-field input[type=text],.form-field input[type=password],.form-field select{border:1px solid var(--border);background:var(--bg);color:var(--text-primary);border-radius:8px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:var(--accent)}.form-field--inline{flex-direction:row;align-items:center;gap:10px}.form-field--inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--hover);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px 18px;font-size:14px;transition:background .15s}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger-sm{color:#c0122a;cursor:pointer;background:#fff2f4;border:1px solid #ffc0c8;border-radius:6px;padding:5px 10px;font-size:12px;transition:background .15s}.btn-danger-sm:hover:not(:disabled){background:#ffe0e4}.btn-danger-sm:disabled{opacity:.55;cursor:not-allowed}.btn-danger-sm--icon{justify-content:center;align-items:center;padding:5px 8px;line-height:1;display:inline-flex}.btn-icon{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;font-size:16px;transition:background .15s;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--hover)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.user-table{border-collapse:collapse;width:100%;font-size:14px}.user-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:600}.user-table td{border-bottom:1px solid var(--hover);vertical-align:middle;padding:12px}.user-table tr:last-child td{border-bottom:none}.user-table__username{color:var(--text-primary);font-weight:500}.user-table__actions{align-items:center;gap:6px;display:flex}.badge-self{color:var(--text-secondary);margin-left:4px;font-size:11px}.badge-role{border-radius:99px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-block}.badge-role--admin{color:#c0122a;background:#fde8ec}.badge-role--user{color:#3d4f7c;background:#e8edf6}.badge-active{border-radius:99px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-block}.badge-active--on{color:#1a7a42;background:#eafaf2}.badge-active--off{color:#888;background:#f4f4f5}.delete-confirm{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.btn-admin-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:calc(100% - 24px);margin:0 12px 8px;padding:9px 12px;font-size:13px;transition:background .15s,color .15s;display:flex}.btn-admin-link:hover{background:var(--hover);color:var(--text-primary)}.license-status-row{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-size:14px;display:flex}.license-status-label{color:var(--text-secondary);flex-shrink:0}.license-status-value{text-align:right;word-break:break-word}.license-status-value--warn{color:#c45c26;font-weight:600}.license-quota{margin-top:.25rem;margin-bottom:.85rem}.license-quota-bar{background:var(--border-subtle,#e5e7eb);border-radius:4px;height:8px;margin-top:.35rem;overflow:hidden}.license-quota-bar__fill{border-radius:4px;height:100%;transition:width .25s}.license-quota-bar__fill--ok{background:#16a34a}.license-quota-bar__fill--warning{background:#d97706}.license-quota-bar__fill--exceeded{background:#dc2626}.license-quota-status--warning{color:#b45309}.license-status-meta{color:var(--text-secondary);margin:16px 0 0;font-size:12px}.license-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.license-badge--ok{color:#1a7f4c;background:#1a7f4c2e}.license-badge--warn{color:#c45c26;background:#c45c2633}.license-badge--muted{background:var(--hover);color:var(--text-secondary)}.remote-access-section-title{color:var(--text-primary);margin:16px 0 8px;font-size:13px;font-weight:600}.remote-access-field{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.remote-access-field input,.remote-access-field select{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px}.remote-access-field input:focus,.remote-access-field select:focus{border-color:var(--accent)}.remote-access-field select:disabled{opacity:.7;cursor:not-allowed}.remote-access-extra-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.remote-access-extra-row input{border:1px solid var(--border);background:var(--surface);min-width:72px;color:var(--text-primary);border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.remote-access-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.remote-access-status-actions{align-items:center;gap:8px;display:inline-flex}.remote-access-status-actions .modal-icon-btn{flex-shrink:0;width:28px;height:28px}.remote-access-url-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.remote-access-url-list li{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.remote-access-url-list__kind{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:11px}.remote-access-url-list__route{word-break:break-word;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;display:flex}.remote-access-url-list__local{color:var(--text-secondary);font-size:12px}.remote-access-log{background:var(--hover);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:180px;margin:0;padding:10px 12px;font-size:11px;line-height:1.4;overflow:auto}.btn-icon-header{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:5px;transition:background .15s,color .15s;display:flex}.btn-icon-header:hover{color:#fff;background:#ffffff1f}.sidebar .btn-icon-header:hover{background:var(--hover);color:var(--text-primary)}body.sidebar-drawer-open{overflow:hidden}@media (width<=768px){.main-top-bar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:flex-end;align-items:center;height:48px;min-height:48px;padding:0 12px 0 16px;display:flex}.sidebar-backdrop{z-index:1190;cursor:pointer;background:#0006;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.app>.sidebar.sidebar--drawer{width:min(var(--sidebar-width), calc(100vw - 48px));z-index:1200;pointer-events:none;min-width:0;max-width:85vw;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0000001f}.app>.sidebar.sidebar--drawer.sidebar--drawer-open{pointer-events:auto;transform:translate(0)}.sidebar-logo--with-close{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding-left:8px;padding-right:8px}.sidebar-logo--with-close img{width:var(--app-brand-logo-width-drawer);max-width:100%}.btn-sidebar-drawer-close{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.btn-sidebar-drawer-close:hover{background:var(--hover);color:var(--text-primary)}.msg-row{padding:16px}.input-wrapper{padding:12px 16px 16px}.modal-card--lg{max-width:100%}}.ocr-page{overflow:auto}.chatbox.ocr-page--review{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ocr-page--review .ocr-review{flex-direction:column;flex:1;min-height:0;padding-bottom:1rem;display:flex;overflow:hidden}.ocr-page--review .ocr-review__header{flex-shrink:0}.ocr-page--review .ocr-review--split{flex:1;align-items:stretch;min-height:0;overflow:hidden}.ocr-page--review .ocr-preview:not(.ocr-preview--collapsed){align-self:stretch;height:100%;min-height:0;max-height:none;position:relative;top:auto}.ocr-page--review .ocr-review__form{height:100%;min-height:0;padding-bottom:1.5rem;padding-right:.15rem;overflow-y:auto}.ocr-dropzone{border:2px dashed var(--border);text-align:center;background:var(--hover);border-radius:12px;margin-top:1.25rem;padding:2rem 1.5rem}.ocr-dropzone--active{border-color:var(--accent)}.ocr-dropzone--busy{opacity:.7;pointer-events:none}.ocr-pages{margin-top:1.25rem}.ocr-pages__hint{color:var(--text-secondary);margin:0 0 .75rem}.ocr-pages__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ocr-pages__item{border:1px solid var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.ocr-pages__thumb{object-fit:cover;background:var(--hover);border-radius:4px;flex-shrink:0;width:56px;height:72px}.ocr-pages__thumb--empty{display:block}.ocr-pages__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.ocr-pages__actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.ocr-pdf-pages-modal__hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem}.ocr-pdf-pages-modal__preview{border:1px solid var(--border);background:var(--hover);border-radius:8px;min-height:280px;max-height:45vh;overflow:auto}.ocr-pdf-pages-modal__pdf{min-height:280px;max-height:45vh}.ocr-pdf-pages-modal__select{flex-direction:column;gap:.35rem;margin-top:.85rem;font-size:.9rem;display:flex}.ocr-pdf-pages-modal__select select{border:1px solid var(--border);background:var(--surface);max-width:8rem;color:var(--text-primary);border-radius:6px;padding:.4rem .5rem}.ocr-file-label{cursor:pointer;margin-top:.75rem;display:inline-block}.ocr-force-pages{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.5rem;margin-top:.85rem;font-size:.9rem;display:flex}.ocr-preferred-warehouse{max-width:28rem;margin-top:.85rem}.ocr-preferred-warehouse__hint{color:var(--text-secondary);margin:.35rem 0 0;font-size:.8rem}.ocr-force-pages input{flex-shrink:0;margin-top:.2rem}.ocr-force-pages__hint{color:var(--text-secondary);font-size:.85rem}.ocr-error{color:#b42318;margin:.75rem 0}.ocr-success{color:#027a48;margin:.75rem 0}.ocr-warning{color:#b54708;margin:.75rem 0}.ocr-warning--exists{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:.65rem .85rem}.ocr-badge{letter-spacing:.01em;border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.ocr-badge--exists{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.ocr-draft-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.ocr-draft-item{text-align:left;border:1px solid var(--border);background:var(--surface,transparent);cursor:pointer;border-radius:8px;width:100%;padding:.75rem 1rem}.ocr-draft-item:hover{background:var(--hover)}.ocr-draft-item__title{overflow-wrap:anywhere;word-break:break-word;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;font-weight:600;display:flex}.ocr-readiness{letter-spacing:.01em;border-radius:999px;flex-shrink:0;padding:.12rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.ocr-readiness--ok{color:#067647;background:#dcfae6}.ocr-readiness--warn{color:#b54708;background:#fef0c7}.ocr-readiness--blocked{color:#b42318;background:#fee4e2}.ocr-input--readonly{color:var(--text-secondary);cursor:default;background:var(--hover)!important}.ocr-draft-item__meta{color:var(--text-secondary);overflow-wrap:anywhere;word-break:break-word;margin-top:.25rem;font-size:.85rem;display:block}.ocr-review{padding:1rem 1.25rem 2rem}.ocr-review__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.ocr-review__meta{color:var(--text-secondary);margin:.25rem 0 0}.ocr-review__actions{flex-wrap:wrap;gap:.5rem;display:flex}.ocr-review__actions--bar{display:none}.ocr-section{margin-top:1.25rem}.ocr-section h4{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.ocr-section__sub{margin-top:1rem;font-size:.95rem;font-weight:600}.ocr-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.ocr-totals-row{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.75rem;display:grid}.ocr-totals-row label{color:var(--text-secondary);flex-direction:column;gap:.25rem;min-width:0;font-size:.85rem;display:flex}.ocr-totals-row input{border:1px solid var(--border);background:var(--bg,#fff);color:var(--text-primary);border-radius:6px;width:100%;padding:.4rem .5rem}.ocr-grid label{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.ocr-grid input,.ocr-table input{border:1px solid var(--border);background:var(--bg,#fff);color:var(--text-primary);border-radius:6px;width:100%;padding:.4rem .5rem}.ocr-table-wrap{overflow-x:auto}.ocr-table{border-collapse:collapse;width:100%;font-size:.9rem}.ocr-table th,.ocr-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem}.ocr-match{border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.ocr-match--ok{color:#067647;background:#dcfae6}.ocr-match--warn{color:#b54708;background:#fef0c7}.ocr-match--miss{color:#b42318;background:#fee4e2}.ocr-match--ignored{color:#52525b;background:#e4e4e7}.ocr-line--ignored{opacity:.65}.ocr-line--ignored td{background:#00000005}.ocr-ocr-text{color:var(--text-secondary);flex-direction:column;gap:.2rem;margin:0 0 .4rem;font-size:.75rem;display:flex}.ocr-ocr-text input{font-size:.85rem}.ocr-line-ignore{white-space:nowrap;padding:.3rem .55rem;font-size:.8rem}.ocr-draft-row{align-items:stretch;gap:.5rem;min-width:0;display:flex}.ocr-draft-row .ocr-draft-item{flex:1;min-width:0}.ocr-draft-row__actions{flex-shrink:0;align-items:stretch;gap:.5rem;display:flex}.ocr-draft-discard,.ocr-draft-send{flex-shrink:0;align-self:stretch}.ocr-bar-btn--icon{justify-content:center;align-items:center;display:inline-flex}.ocr-review--split{grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);align-items:start;gap:1rem;display:grid}.ocr-review--split--collapsed{grid-template-columns:1fr}.ocr-review--split--collapsed .ocr-preview{max-height:none;position:static}@media (width<=960px){.chatbox.ocr-page--review{overflow:auto}.ocr-page--review .ocr-review{height:auto;display:block;overflow:visible}.ocr-page--review .ocr-review--split{align-items:stretch;height:auto;overflow:visible}.ocr-page--review .ocr-review__form{height:auto;padding-bottom:calc(10.5rem + env(safe-area-inset-bottom,0px));overflow:visible}.ocr-review--split{flex-direction:column;grid-template-columns:1fr;display:flex}.ocr-review--split .ocr-preview{order:-1}.ocr-review{padding:.75rem .85rem}.ocr-review__header{flex-direction:column;align-items:stretch;gap:.65rem}.ocr-review__header h3{word-break:break-word;font-size:1.05rem}.ocr-review__actions--top{display:none}.ocr-review__actions--bar{z-index:40;padding:.5rem .65rem;padding-bottom:max(.5rem, env(safe-area-inset-bottom));background:var(--surface,#fff);border-top:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:.35rem;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -4px 16px #00000014}.ocr-review__actions--bar .ocr-bar-btn--icon{flex:none;min-width:2.4rem;padding:.45rem .5rem;font-size:1.05rem;line-height:1}.ocr-review__actions--bar .btn-secondary:not(.ocr-bar-btn--icon){white-space:nowrap;flex:0 auto;min-width:0;padding-left:.55rem;padding-right:.55rem}.ocr-review__actions--bar .btn-primary{white-space:nowrap;flex:auto;min-width:4.5rem}.ocr-preview:not(.ocr-preview--collapsed){height:auto;max-height:none;position:static}.ocr-preview:not(.ocr-preview--collapsed) .ocr-preview__body{flex:none;min-height:0;max-height:35vh}.ocr-preview__pdf{flex:none;min-height:160px;max-height:32vh}.ocr-grid,.ocr-pickers{grid-template-columns:1fr}.ocr-draft-row{border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;flex-direction:column;align-items:stretch;gap:0;overflow:hidden}.ocr-draft-row .ocr-draft-item{border:none;border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:0;width:100%}.ocr-draft-row__actions{gap:.4rem;padding:.5rem .65rem .65rem}.ocr-draft-row__actions .ocr-draft-send{flex:auto;min-width:0}.ocr-draft-row__actions .ocr-draft-discard{flex:none;min-width:2.4rem;padding:.45rem .5rem;font-size:1.05rem;line-height:1}}.pdf-js-viewer{background:#fff;flex-direction:column;gap:.5rem;width:100%;min-height:0;display:flex}.pdf-js-viewer__pages{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow:auto}.pdf-js-viewer__page{max-width:100%;height:auto;margin:0 auto;display:block;box-shadow:0 1px 4px #00000014}.pdf-js-viewer__hint{color:var(--text-secondary);margin:0;padding:.75rem 1rem;font-size:.9rem}.pdf-js-viewer__hint--meta{padding-bottom:0;font-size:.8rem}.ocr-preview__pdf{flex:1;min-height:0;overflow:auto}.ocr-preview{border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;flex-direction:column;max-height:calc(100dvh - 1rem);display:flex;position:sticky;top:.5rem;overflow:hidden}.ocr-preview--collapsed{height:auto;max-height:none}.ocr-preview__toolbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.ocr-preview--collapsed .ocr-preview__toolbar{border-bottom:0}.ocr-preview__toggle{padding:.25rem .6rem;font-size:.8rem}.ocr-preview__body{background:#f4f4f5;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.ocr-preview__hint{color:var(--text-secondary);margin:0;padding:1rem}.ocr-preview__img{max-width:100%;height:auto;margin:0 auto;display:block}.ocr-lines{flex-direction:column;gap:1rem;display:flex}.ocr-line-card{border:1.5px solid color-mix(in srgb, var(--border) 55%, #64748b);background:var(--surface,#fff);border-radius:10px;flex-direction:column;gap:.55rem;padding:.75rem;display:flex;box-shadow:0 1px 2px #0f172a0f}.ocr-line-card--ignored{opacity:.65;background:#00000005}.ocr-line-card__head{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, #94a3b8);background:color-mix(in srgb, var(--surface,#fff) 88%, #e2e8f0);border-radius:10px 10px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:-.75rem -.75rem 0;padding:.55rem .75rem;display:flex}.ocr-line-card--collapsed{gap:0}.ocr-line-card--collapsed .ocr-line-card__head{border-bottom:none;border-radius:10px;margin:-.75rem}.ocr-line-card__head-main{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.ocr-line-card__toggle{border:1px solid color-mix(in srgb, var(--border) 80%, #94a3b8);background:var(--surface,#fff);width:1.75rem;height:1.75rem;color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0;font-size:1.1rem;font-weight:600;line-height:1}.ocr-line-card__toggle:hover:not(:disabled){background:color-mix(in srgb, var(--surface,#fff) 70%, #e2e8f0)}.ocr-line-card__toggle:disabled{opacity:.55;cursor:not-allowed}.ocr-line-card__summary{min-width:0;color:var(--text-primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0;font-size:.85rem;line-height:1.35;overflow:hidden}.ocr-line-card__summary:hover:not(:disabled){text-underline-offset:2px;text-decoration:underline}.ocr-line-card__summary:disabled{cursor:default}.ocr-line-card__pair{flex-direction:column;gap:.55rem;min-width:0;display:flex}.ocr-line-card__pair-spacer{display:none}.ocr-line-card__unit{flex-direction:column;gap:.35rem;min-width:0;display:flex}.ocr-line-card__unit-head{align-items:center;gap:.35rem;display:inline-flex}@media (width>=961px){.ocr-line-card__pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.65rem 1rem;display:grid}.ocr-line-card__pair-spacer{display:block}.ocr-line-card__pair .ocr-ocr-text{margin-bottom:0}}.ocr-line-card__status{align-items:center;gap:.35rem;display:inline-flex}.ocr-source{color:#3f3f46;cursor:help;background:#f4f4f5;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.85rem;line-height:1;display:inline-flex}.ocr-source--exact{color:#175cd3;background:#eff8ff}.ocr-source--learned{color:#b54708;background:#fffaeb}.ocr-source--keyword{color:#6941c6;background:#f4f3ff}.ocr-source--like{color:#475467;background:#f2f4f7}.ocr-source--semantic,.ocr-source--agent{color:#027a48;background:#ecfdf3}.ocr-source--manual{color:#344054;background:#eaecf0}.ocr-source-legend{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8rem}.ocr-source-legend summary{cursor:pointer;-webkit-user-select:none;user-select:none}.ocr-source-legend ul{flex-wrap:wrap;gap:.5rem 1rem;margin:.4rem 0 0;padding-left:0;list-style:none;display:flex}.ocr-source-legend li{align-items:center;gap:.35rem;display:inline-flex}.ocr-alias-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:0 0 1rem;display:flex}.ocr-alias-toolbar label{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.ocr-alias-toolbar input{border:1px solid var(--border);border-radius:6px;min-width:10rem;padding:.4rem .5rem}.ocr-alias-actions{flex-wrap:wrap;gap:.35rem;display:flex}.ocr-supplier-addendum-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.ocr-supplier-addendum-row>:first-child{flex:12rem;min-width:0}.ocr-supplier-addendum-btn{flex-shrink:0;align-items:center;gap:.35rem;margin-bottom:.1rem;display:inline-flex}.ocr-addendum-preview{text-overflow:ellipsis;white-space:nowrap;max-width:28rem;color:var(--text-secondary);font-size:.9rem;overflow:hidden}.ocr-addendum-modal__hint{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem}.ocr-addendum-modal__field{flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.9rem;display:flex}.ocr-addendum-modal__field input[type=number],.ocr-addendum-modal__field textarea{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font:inherit;border-radius:6px;padding:.45rem .55rem}.ocr-addendum-modal__field textarea{resize:vertical;min-height:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.ocr-addendum-modal__field--check{flex-direction:row;align-items:center;gap:.5rem}.ocr-muted{color:var(--text-secondary);font-size:.85em}.ocr-line-card__lot{color:var(--text-secondary);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.ocr-line-card__lot-head{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.ocr-line-card__ref-create{border:1px solid color-mix(in srgb, var(--border) 80%, #94a3b8);background:var(--surface,#fff);color:#175cd3;cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;height:1.5rem;padding:0 .35rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.ocr-line-card__ref-create:hover:not(:disabled){background:#eff8ff}.ocr-line-card__ref-create:disabled{opacity:.45;cursor:not-allowed;color:var(--text-secondary)}.ocr-line-card__lot input{border:1px solid var(--border);background:var(--bg,#fff);color:var(--text-primary);border-radius:6px;width:100%;padding:.4rem .5rem}.ocr-line-card__nums{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.ocr-line-card__nums label{color:var(--text-secondary);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.ocr-line-card__nums input{border:1px solid var(--border);background:var(--bg,#fff);color:var(--text-primary);border-radius:6px;width:100%;min-width:0;padding:.4rem .5rem}@media (width<=560px){.ocr-line-card__nums{grid-template-columns:repeat(2,minmax(0,1fr))}}.ocr-pickers{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin-top:.75rem;display:grid}.ocr-picker{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex;position:relative}.ocr-picker__label{font-weight:600}.ocr-picker__selected{background:var(--hover);color:var(--text-primary);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.ocr-picker__clear{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:.8rem}.ocr-picker__chips{flex-wrap:wrap;gap:.35rem;display:flex}.ocr-picker__chip{border:1px solid var(--border);background:var(--surface,#fff);cursor:pointer;border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.ocr-picker__chip:hover{border-color:var(--accent)}.ocr-picker input{border:1px solid var(--border);background:var(--bg,#fff);color:var(--text-primary);border-radius:6px;width:100%;padding:.4rem .5rem}.ocr-picker__list{z-index:20;border:1px solid var(--border);background:var(--surface,#fff);border-radius:8px;max-height:220px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #00000014}.ocr-picker__list--portal{z-index:10000;position:fixed;bottom:auto;right:auto}.ocr-picker__option{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;white-space:normal;background:0 0;border:0;padding:.45rem .65rem}.ocr-picker__option:hover{background:var(--hover)}.ocr-picker__id{color:var(--text-secondary);font-size:.8rem}.ocr-picker__hint{color:var(--text-secondary);padding:.45rem .65rem}.ocr-picker__hint--error{color:#b42318}.ocr-table__product{min-width:220px}.ocr-table__product .ocr-picker__label{display:none}.ocr-line-name{margin-top:.35rem}
