:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#213547;padding:0;margin:0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;--primary-color: #6b7fa3;--primary-hover: #5a6d8a;--accent-color: #475a78;--accent-light: #8a9bba;--border-color: #ddd;--border-light: #eee;--border-medium: #ccc;--text-primary: #213547;--text-secondary: #666;--text-muted: #888;--bg-white: #ffffff;--bg-light: #f9f9f9;--bg-overlay: rgba(0, 0, 0, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 10px rgba(0, 0, 0, .1);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--btn-radius: 4px}a{font-weight:500;color:var(--primary-color);text-decoration:inherit}a:hover{color:var(--primary-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:#fff}h1{font-size:3.2em;line-height:1.1}button{border-radius:4px;border:none;padding:.6em 1.2em;font-size:.875em;font-weight:600;font-family:inherit;background:var(--accent-color);cursor:pointer;transition:all .15s ease;color:var(--bg-white);box-shadow:0 1px 2px #00000014}button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}button:active{background:var(--primary-hover);transform:translateY(0);box-shadow:0 1px 2px #00000014}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}button:hover:before{left:100%}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{font-family:inherit;font-size:1em;padding:.5em;border:1px solid var(--border-medium);border-radius:4px;background-color:var(--bg-light);color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a}input [type=file]{display:block;padding:.5em 0}input [type=file]::file-selector-button{margin-right:20px;border:none;background:var(--primary-color);padding:.5em 1em;border-radius:4px;color:#fff;cursor:pointer}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-white);padding:20px;box-shadow:var(--shadow-md);z-index:1000;border-radius:8px;width:500px;max-width:90vw;max-height:90vh;overflow:auto}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay);z-index:999}.modal-content{display:flex;flex-direction:column;gap:0px;width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:16px}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:4px}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.modal-body label{font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-top:8px}.modal-body label:first-child{margin-top:0}.schema-prompt{margin:0;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.9rem;color:var(--text-primary)}.schema-json{margin:0;padding:12px;background:var(--bg-secondary);border-radius:6px;font-size:.8rem;font-family:Monaco,Menlo,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border-color)}.btn{padding:8px 16px;border-radius:2px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--primary-color);color:#fff}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover)}.chip{display:inline-flex;align-items:center;padding:4px 10px;font-weight:500;border-radius:9999px;background:var(--bg-white);border:1px solid var(--border-color);width:fit-content;color:var(--text-primary);font-size:.65rem}.chip:hover{background:var(--bg-light);cursor:pointer}.isLoadingPage{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:16px}.isLoadingSpinner{width:20px;height:20px;border:3px solid var(--border-medium);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.coming-soon-badge{background:linear-gradient(90deg,#5a6d8a,#475a78);color:#fff;font-size:.5rem;font-weight:600;padding:2px 6px;border-radius:6px;margin-left:1px;text-transform:uppercase}@media(max-width:768px){:root{font-size:14px}body{min-width:100%}h1{font-size:2em}button{padding:.6em 1.2em;font-size:.9em;min-height:44px}input,textarea,select{font-size:16px;min-height:44px}.modal{max-width:95vw;max-height:95vh;padding:16px}}.alert-modal{max-width:400px}.alert-modal .modal-body{padding:8px 0}.alert-modal .modal-body p{margin:0;font-size:.95rem;color:var(--text-primary);line-height:1.5}.alert-modal .modal-actions{display:flex;justify-content:left;padding-top:16px;gap:12px}.alert-modal .modal-actions .delete-btn{background:var(--error-color, #ef4444);color:#fff}.alert-modal.alert-success .modal-header h3{color:var(--success-color, #22c55e)}.alert-modal.alert-error .modal-header h3{color:var(--error-color, #ef4444)}.alert-modal.alert-info .modal-header h3{color:var(--primary-color)}@media(max-width:768px){body{font-size:14px;overflow-x:hidden}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}button{padding:.625em 1.25em;font-size:.9em;min-height:44px;touch-action:manipulation;border-radius:1px}input,textarea,select{padding:.75em;font-size:16px;min-height:44px}.modal{width:95%!important;max-width:95%!important;margin:10px}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{padding:14px 16px;flex-direction:column;gap:8px}.modal-footer button{width:100%}.clickable,[role=button]{min-height:44px;min-width:44px}*{-webkit-overflow-scrolling:touch}html,body,#root{max-width:100vw;overflow-x:hidden}}@media(max-width:480px){body{font-size:13px}h1{font-size:1.5rem}button{padding:.5em 1em;font-size:.85em}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-light);padding:20px;width:100vw}.auth-card{background:var(--bg-white);border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:40px;width:100%;max-width:420px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px}.auth-logo-text{font-size:24px;font-weight:700;color:var(--accent-color)}.auth-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:8px;text-align:center}.auth-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:30px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.form-group input{padding:10px 14px;border:1px solid var(--border-medium);border-radius:6px;font-size:14px;transition:all .2s;outline:none;background-color:var(--bg-white);color:var(--text-primary)}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #26356926}.form-group input:disabled{background-color:var(--bg-light);cursor:not-allowed}.error-message{background-color:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:6px;font-size:13px;border-left:3px solid #dc2626;animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.auth-button{padding:12px 20px;background:var(--accent-color);color:#fafafa;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;margin-top:8px}.auth-button:hover:not(:disabled){background:#1e2a54}.auth-button:active:not(:disabled){background:#182145}.auth-button:disabled{opacity:.5;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--text-muted);font-size:13px}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.divider:before{margin-right:12px}.divider:after{margin-left:12px}.google-button{padding:10px 20px;background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:10px}.google-button:hover:not(:disabled){border-color:var(--border-medium);background-color:var(--bg-light)}.google-button:disabled{opacity:.5;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;color:var(--text-secondary);font-size:13px}.link-button{background:none;border:none;color:var(--accent-color);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:13px}.link-button:disabled{opacity:.5;cursor:not-allowed}.forgot-password-link{text-align:right;margin-top:-8px;margin-bottom:16px}.forgot-password-link .link-button{font-size:12px;text-decoration:none}.forgot-password-link .link-button:hover{text-decoration:underline;background-color:#fff}.resend-verification{display:block;width:100%;text-align:center;margin-bottom:16px;font-size:13px;color:var(--accent-color)}.resend-verification:hover{text-decoration:underline}.success-message{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;margin-bottom:24px;background:var(--success-bg, #e8f5e9);border-radius:4px;color:var(--success-color, #2e7d32)}.success-message svg{margin-bottom:16px;color:var(--success-color, #2e7d32)}.success-message p{margin:0;font-size:14px;line-height:1.5}.auth-header{text-align:center;margin-bottom:24px}.auth-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.auth-header p{font-size:14px;color:var(--text-secondary);margin:0}.auth-error{background:var(--error-bg, #ffebee);color:var(--error-color, #c62828);padding:12px 16px;border-radius:4px;font-size:13px;margin-bottom:16px}.auth-switch{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:13px}.auth-button.secondary{background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-color)}.auth-button.secondary:hover{background:var(--bg-white)}@media(max-width:500px){.auth-card{padding:30px 20px}.auth-title{font-size:24px}}.verify-email-content{display:flex;flex-direction:column;gap:24px;text-align:center}.email-display{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:8px;font-size:16px;font-weight:600;color:var(--accent-color)}.email-display svg{color:var(--accent-color)}.verify-instructions{color:var(--text-secondary);font-size:14px;line-height:1.6}.verify-instructions p{margin:0 0 8px}.verify-note{font-size:13px;color:var(--text-muted)}.verify-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.auth-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.auth-btn-primary:hover{background:var(--accent-hover)}.auth-btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-btn-secondary:hover{background:var(--bg-light);border-color:var(--accent-color)}.auth-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.auth-success{background:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.landing-container{display:flex;flex-direction:column;min-height:100vh;width:100vw;overflow-x:hidden;overflow-y:auto;background:#fafbfc}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:16px 48px;position:sticky;top:0;background:#fafbfcf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid rgba(0,0,0,.06)}.landing-logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:700;color:#1a1a2e}.landing-nav{display:flex;gap:12px;align-items:center}.nav-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.nav-btn-ghost{background:transparent;border:none;color:#1a1a2e}.nav-btn-ghost:hover{background:#0000000d}.nav-btn-primary{background:var(--accent-color, #475a78);color:#fff;border:none}.nav-btn-primary:hover{background:var(--primary-hover, #5a6d8a);transform:translateY(-1px)}.hero-section-koncile{position:relative;padding:120px 48px 100px;text-align:center;overflow:hidden}.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.hero-content-koncile{position:relative;max-width:800px;margin:0 auto}.hero-content-koncile h1{font-size:3.75rem;color:#1a1a2e;margin-bottom:24px;font-weight:700;line-height:1.1;letter-spacing:-.03em}.hero-highlight{background:linear-gradient(135deg,#475a78,#5a6d8a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle-koncile{font-size:1.25rem;color:#64748b;margin-bottom:40px;line-height:1.6}.hero-cta-group{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.cta-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;font-size:1rem;font-weight:600;background:var(--accent-color, #475a78);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.cta-btn-primary:hover{background:var(--primary-hover, #5a6d8a);transform:translateY(-2px);box-shadow:0 8px 24px #475a784d}.cta-btn-secondary{display:inline-flex;align-items:center;padding:16px 32px;font-size:1rem;font-weight:500;background:#fff;color:#1a1a2e;border:1px solid rgba(0,0,0,.1);border-radius:10px;text-decoration:none;transition:all .2s ease}.cta-btn-secondary:hover{background:#f8fafc;border-color:#00000026}.cta-btn-large{padding:20px 40px;font-size:1.125rem}.hero-trust-badges{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.hero-trust-badges span{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:#64748b}.hero-trust-badges svg{color:#22c55e}.landing-upload-zone{margin:32px auto 24px;padding:32px 48px;max-width:500px;border:2px dashed #d1d5db;border-radius:12px;background:#fffc;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:12px;color:#64748b}.landing-upload-zone:hover{border-color:#3b82f6;background:#3b82f60d;color:#3b82f6}.landing-upload-zone.dragging{border-color:#3b82f6;background:#3b82f61a;color:#3b82f6;transform:scale(1.02)}.landing-upload-zone span{font-size:1rem;font-weight:500}.landing-upload-zone .upload-hint{font-size:.8rem;color:#94a3b8;font-weight:400}.hero-screenshot{margin-top:48px;width:100%;max-width:1000px;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.hero-screenshot img{width:100%;height:auto;display:block}.demo-section-koncile{padding:40px 48px 80px;max-width:1200px;margin:0 auto;width:100%}.how-it-works-section{padding:100px 48px;background:#fff;text-align:center}.how-it-works-section h2{font-size:2.5rem;color:#1a1a2e;margin-bottom:12px;font-weight:700;letter-spacing:-.02em}.section-subtitle{font-size:1.125rem;color:#64748b;margin-bottom:60px}.steps-visual{display:flex;align-items:center;justify-content:center;gap:0;max-width:1000px;margin:0 auto}.step-visual-card{flex:1;max-width:280px;text-align:center;padding:0 24px}.step-icon-box{width:72px;height:72px;background:linear-gradient(135deg,#f0f1ff,#e8e9ff);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#475a78}.step-visual-card h3{font-size:1.25rem;color:#1a1a2e;margin-bottom:10px;font-weight:600}.step-visual-card p{font-size:.95rem;color:#64748b;line-height:1.5}.step-connector{width:60px;height:2px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1);flex-shrink:0}.use-cases-koncile{padding:100px 48px;text-align:center;background:#fafbfc}.use-cases-koncile h2{font-size:2.5rem;color:#1a1a2e;margin-bottom:12px;font-weight:700}.use-cases-grid-koncile{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1000px;margin:0 auto}.use-case-tile{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:32px 24px;text-align:center;transition:all .2s ease}.use-case-tile:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.use-case-tile svg{color:#475a78;margin-bottom:16px}.use-case-tile h4{font-size:1.1rem;color:#1a1a2e;margin-bottom:8px;font-weight:600}.use-case-tile p{font-size:.875rem;color:#64748b}.security-section{padding:80px 48px;background:#fff;text-align:center}.security-section h2{font-size:2rem;color:#1a1a2e;margin-bottom:40px;font-weight:600}.security-grid{display:flex;justify-content:center;gap:48px}.security-badge{display:flex;align-items:center;gap:10px;font-size:1rem;color:#64748b;font-weight:500}.security-badge svg{color:#475a78}.final-cta-section{padding:120px 48px;background:linear-gradient(135deg,#1a1a2e,#2d2d44);text-align:center}.final-cta-content{max-width:600px;margin:0 auto}.final-cta-content h2{font-size:2.5rem;color:#fff;margin-bottom:16px;font-weight:700}.final-cta-content p{font-size:1.125rem;color:#ffffffb3;margin-bottom:32px}.final-cta-section .cta-btn-primary{background:#fff;color:#1a1a2e}.final-cta-section .cta-btn-primary:hover{background:#f8fafc;box-shadow:0 8px 24px #0000004d}.landing-footer-koncile{padding:40px 48px;background:#fafbfc;border-top:1px solid rgba(0,0,0,.06)}.footer-content-koncile{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.footer-brand{display:flex;align-items:center;gap:8px;font-weight:600;color:#1a1a2e}.footer-links-koncile a{color:#64748b;text-decoration:none;font-size:.875rem}.footer-links-koncile a:hover{color:#1a1a2e}.footer-copy{font-size:.875rem;color:#94a3b8}@media(max-width:768px){.landing-header{padding:12px 20px}.hero-section-koncile{padding:80px 20px 60px}.hero-content-koncile h1{font-size:2.25rem}.hero-subtitle-koncile{font-size:1rem}.hero-cta-group{flex-direction:column;gap:12px}.cta-btn-primary,.cta-btn-secondary{width:100%;justify-content:center}.hero-trust-badges{flex-direction:column;gap:12px}.landing-upload-zone{padding:24px 20px;margin:24px auto 20px}.landing-upload-zone span{font-size:.9rem;text-align:center}.how-it-works-section,.use-cases-koncile,.security-section{padding:60px 20px}.how-it-works-section h2,.use-cases-koncile h2{font-size:1.75rem}.steps-visual{flex-direction:column;gap:32px}.step-connector{width:2px;height:40px}.use-cases-grid-koncile{grid-template-columns:1fr 1fr;gap:16px}.security-grid{flex-direction:column;gap:20px}.final-cta-section{padding:80px 20px}.final-cta-content h2{font-size:1.75rem}.footer-content-koncile{flex-direction:column;gap:20px;text-align:center}.pricing-grid-koncile{flex-direction:column;align-items:center;padding:0;width:100%}.pricing-card-koncile{max-width:100%;width:100%;flex:none;box-sizing:border-box}.pricing-section-koncile{padding:60px 20px;box-sizing:border-box;width:100%}.pricing-section-koncile h2{font-size:1.75rem}}.pricing-section-koncile{padding:100px 48px;background:#fafbfc;text-align:center}.pricing-section-koncile h2{font-size:2.5rem;color:#1a1a2e;margin-bottom:12px;font-weight:700}.pricing-grid-koncile{display:flex;justify-content:center;gap:24px;max-width:1100px;margin:0 auto;align-items:stretch}.pricing-card-koncile{flex:1;max-width:340px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:32px 28px;text-align:left;position:relative;transition:all .2s ease;display:flex;flex-direction:column}.pricing-card-koncile:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.pricing-card-featured{border:2px solid #475a78;background:linear-gradient(180deg,#fafaff,#fff)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#475a78,#5a6d8a);color:#fff;padding:6px 16px;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pricing-header{margin-bottom:24px}.pricing-header h3{font-size:1.25rem;color:#1a1a2e;margin-bottom:8px;font-weight:600}.pricing-price{display:flex;align-items:baseline;gap:4px}.price-amount{font-size:3rem;font-weight:700;color:#1a1a2e;line-height:1}.price-period{font-size:1rem;color:#64748b}.pricing-features-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;flex-grow:1}.pricing-features-list li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#475569}.pricing-features-list li svg{color:#22c55e;flex-shrink:0}.pricing-btn-koncile{display:block;width:100%;padding:14px 24px;font-size:1rem;font-weight:600;text-align:center;border-radius:10px;cursor:pointer;transition:all .2s ease;text-decoration:none;background:#f1f5f9;color:#1a1a2e;border:none;margin-top:auto;box-sizing:border-box}.pricing-btn-koncile:hover{background:#e2e8f0}.pricing-btn-koncile.pricing-btn-primary{background:#1a1a2e;color:#fff}.pricing-btn-koncile.pricing-btn-primary:hover{background:#2d2d44}.file-preview-page{display:flex;flex-direction:column;min-height:100vh;background:#f8fafc}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:100}.preview-header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:#475569;transition:all .2s}.back-btn:hover{background:#e2e8f0;color:#1e293b}.preview-logo{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.1rem;color:#1e293b;cursor:pointer}.preview-header-right{display:flex;align-items:center;gap:12px}.preview-signin-btn{padding:8px 16px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.preview-signin-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.preview-content{display:flex;flex:1;padding:16px 24px;gap:20px;max-width:100%;margin:0 auto;width:100%;height:calc(100vh - 65px);overflow:hidden}.preview-document-panel{flex:1;background:#fff;border-radius:12px;border:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden;min-width:0}.preview-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#64748b}.preview-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#64748b;padding:48px;text-align:center}.preview-error svg{color:#cbd5e1}.preview-error button{padding:10px 20px;background:#1e293b;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.preview-file-info{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;flex-shrink:0}.preview-filename{font-weight:600;color:#1e293b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.preview-pages{font-size:.8rem;color:#64748b;background:#e2e8f0;padding:4px 10px;border-radius:12px;font-weight:500}.preview-image-container{flex:1;position:relative;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#1e293b;overflow:auto}.preview-image{max-width:100%;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #0000004d}.preview-blur-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(255,255,255,.9) 60%,rgba(255,255,255,.98) 80%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:60px;gap:12px;color:#475569}.preview-blur-overlay svg{color:#3b82f6}.preview-blur-overlay p{font-weight:500;font-size:1rem}.preview-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;background:#fff;border-top:1px solid #e2e8f0}.preview-pagination button{padding:8px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.preview-pagination button:hover:not(:disabled){background:#e2e8f0}.preview-pagination button:disabled{opacity:.4;cursor:not-allowed}.preview-pagination span{font-size:.9rem;color:#64748b}.preview-cta-panel{width:360px;flex-shrink:0}.preview-cta-content{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:32px;position:sticky;top:100px}.preview-cta-icon{color:#3b82f6;margin-bottom:16px}.preview-cta-content h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:12px}.preview-cta-content>p{color:#64748b;line-height:1.5;margin-bottom:24px}.preview-benefits{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:14px}.preview-benefits li{display:flex;align-items:center;gap:10px;color:#475569;font-size:.95rem}.preview-benefits li svg{color:#22c55e;flex-shrink:0}.preview-cta-btn{padding:14px 24px;background:#1e293b;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.preview-cta-btn:hover{background:#334155;transform:translateY(-1px)}.preview-cta-btn-small{padding:10px 20px;background:#1e293b;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.preview-cta-btn-small:hover{background:#334155}.preview-signin-link{text-align:center;margin-top:16px;color:#64748b;font-size:.9rem}.preview-signin-link a{color:#3b82f6;font-weight:500;cursor:pointer}.preview-signin-link a:hover{text-decoration:underline}.preview-ocr-panel{flex:1;background:#fff;border-radius:12px;border:1px solid #e2e8f0;display:flex;flex-direction:column;max-height:calc(100vh - 120px);min-width:0}.preview-ocr-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.preview-ocr-header h3{font-size:.95rem;font-weight:600;color:#1e293b;margin:0}.preview-ocr-badge{font-size:.7rem;font-weight:600;background:#dbeafe;color:#2563eb;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.preview-ocr-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#64748b;padding:48px}.preview-ocr-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#94a3b8;padding:48px}.preview-ocr-empty svg{color:#cbd5e1}.preview-ocr-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;position:relative}.preview-ocr-block{position:relative;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.preview-ocr-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.preview-ocr-block-type{display:flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.preview-ocr-block-type.type-text{background:#f1f5f9;color:#64748b}.preview-ocr-block-type.type-table{background:#dbeafe;color:#2563eb}.preview-ocr-block-type.type-title{background:#fef3c7;color:#d97706}.preview-ocr-block-type.type-list{background:#dcfce7;color:#16a34a}.preview-ocr-block-type.type-figure{background:#fce7f3;color:#db2777}.preview-ocr-block-content{font-size:.9rem;color:#334155;line-height:1.5;overflow:hidden}.preview-ocr-block-content table{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:4px}.preview-ocr-block-content th,.preview-ocr-block-content td{border:1px solid #e2e8f0;padding:6px 8px;text-align:left}.preview-ocr-block-content th{background:#f1f5f9;font-weight:600}.preview-action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-size:.75rem;color:#64748b;cursor:not-allowed}.preview-action-btn.disabled{opacity:.6}.preview-add-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;color:#94a3b8;cursor:not-allowed;opacity:.6}.preview-ocr-lock-overlay{position:sticky;bottom:0;left:0;right:0;background:linear-gradient(to top,white 60%,transparent);padding:40px 20px 20px;display:flex;justify-content:center;margin:-20px -16px 0}.preview-ocr-lock-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.preview-ocr-lock-content svg{color:#3b82f6}.preview-ocr-lock-content p{font-weight:500;color:#475569;margin:0}.preview-panel-cta{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#f8fafc;border-top:1px solid #e2e8f0}.preview-panel-cta .preview-cta-icon{color:#3b82f6;flex-shrink:0;margin:0}.preview-panel-cta div{flex:1}.preview-panel-cta strong{display:block;font-size:.9rem;color:#1e293b}.preview-panel-cta p{font-size:.8rem;color:#64748b;margin:2px 0 0}.preview-panel-cta .preview-cta-btn{padding:10px 16px;font-size:.85rem;white-space:nowrap}@media(max-width:1100px){.preview-ocr-panel{width:380px}}@media(max-width:900px){.preview-content{flex-direction:column}.preview-cta-panel,.preview-ocr-panel{width:100%;position:static;max-height:400px}.preview-cta-content{position:static}}@media(max-width:640px){.preview-header{padding:12px 16px}.preview-content{padding:16px;gap:16px}.preview-cta-content{padding:24px}.preview-image-container{padding:16px}.preview-ocr-panel{max-height:350px}.preview-panel-cta{flex-direction:column;text-align:center}.preview-panel-cta .preview-cta-btn{width:100%}}.legal-page{min-height:100vh;background:var(--bg-light)}.legal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.back-btn:hover{background:var(--bg-light);color:var(--text-primary);border-color:var(--accent-color)}.legal-logo{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;color:var(--text-primary);cursor:pointer}.legal-content{max-width:800px;margin:0 auto;padding:60px 40px;background:#fff;min-height:calc(100vh - 180px)}.legal-content h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 10px}.legal-updated{font-size:.9rem;color:var(--text-muted);margin:0 0 40px}.legal-content section{margin-bottom:40px}.legal-content h2{font-size:1.4rem;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-top:20px;border-top:1px solid var(--border-color)}.legal-content section:first-of-type h2{border-top:none;padding-top:0}.legal-content h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:24px 0 12px}.legal-content p{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin:0 0 16px}.legal-content ul{margin:0 0 16px;padding-left:24px}.legal-content li{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:8px}.legal-content a{color:var(--accent-color);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content strong{color:var(--text-primary);font-weight:600}.privacy-highlight{background:#333f520a;border:1px solid var(--accent-color);border-radius:6px;padding:24px;margin:30px 0}.privacy-highlight h2{border-top:none!important;padding-top:0!important;margin-top:0;color:var(--accent-color)}.retention-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem}.retention-table th,.retention-table td{padding:12px 16px;text-align:left;border:1px solid var(--border-color)}.retention-table th{background:var(--bg-light);font-weight:600;color:var(--text-primary)}.retention-table td{color:var(--text-secondary)}.retention-table tr:hover td{background:#333f5205}.legal-footer{padding:30px 40px;background:var(--accent-color);color:#fff;text-align:center}.legal-footer p{margin:0;font-size:.9rem;opacity:.8}@media(max-width:768px){.legal-header{padding:16px 20px;flex-direction:column;gap:16px}.back-btn{align-self:flex-start}.legal-content{padding:40px 20px}.legal-content h1{font-size:1.75rem}.legal-content h2{font-size:1.2rem}.legal-content h3{font-size:1rem}.legal-content p,.legal-content li{font-size:.95rem}.privacy-highlight{padding:20px 16px}.retention-table{font-size:.85rem}.retention-table th,.retention-table td{padding:10px 12px}.legal-footer{padding:24px 20px}}.document-viewer{width:100%;box-sizing:border-box;padding:20px;height:100%;display:flex;flex-direction:column}.viewer{flex:1;min-height:0}.document-content{border:1px solid var(--border-color);border-radius:8px;padding:15px;background-color:var(--bg-white);overflow:auto;height:100%;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative}.document-content img{max-width:100%;max-height:100%;object-fit:contain}.document-image-container{position:relative;display:inline-block;max-width:100%;max-height:100%}.document-image-container img{max-width:100%;max-height:100%;object-fit:contain;display:block}.bbox-highlight{position:absolute;background-color:#3b82f640;border:2px solid #3b82f6;border-radius:2px;pointer-events:none;box-shadow:0 0 8px #3b82f666}.bbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.bbox-rect{position:absolute;border:2px solid #3b82f6;background-color:#3b82f614;border-radius:2px}.bbox-text{border-color:#3b82f6;background-color:#3b82f614}.bbox-table{border-color:#22c55e;background-color:#22c55e1a}.bbox-heading{border-color:#a855f7;background-color:#a855f71a}.bbox-list{border-color:#f97316;background-color:#f973161a}.bbox-figure{border-color:#ec4899;background-color:#ec48991a}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;padding:40px;min-height:200px}.no-image-placeholder p{margin:0 0 8px;font-size:16px}.no-image-placeholder small{color:var(--text-secondary)}.no-image-placeholder .spinning{animation:spin 1s linear infinite;margin-bottom:16px;color:var(--accent-color)}.ocr-content{border:1px solid var(--border-color);border-radius:8px;padding:15px;background-color:var(--bg-white);overflow:hidden;height:100%;width:100%;box-sizing:border-box;max-height:100vh;font-size:12px;display:flex;flex-direction:column}.resize-handle{width:8px;background:var(--border-color);cursor:col-resize;transition:background .15s ease;margin:0 2px;border-radius:4px}.resize-handle:hover{background:var(--accent-color)}.resize-handle:active{background:var(--primary-hover)}.ocr-add-to-schema-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:6px;background-color:var(--accent-color);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0003;z-index:10;opacity:0;font-size:20px;font-weight:600;line-height:1}.ocr-box:hover .ocr-add-to-schema-btn{opacity:1}.ocr-add-to-schema-btn:hover{background-color:#1a2230;transform:scale(1.1);box-shadow:0 4px 12px #00000040}.ocr-box-highlighted{background-color:#3b82f614;border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f61a}.ocr-box-heading{border-bottom:2px solid #e2e8f0;padding-bottom:8px;margin-bottom:4px}.ocr-box-heading .ocr-block-content{font-weight:600;font-size:15px;color:#1e293b}.ocr-box table{width:100%;border-collapse:collapse;margin:4px 0;font-size:12px;background:#fff;border-radius:6px;overflow:hidden;border:2px solid #c49a6c;box-shadow:0 1px 3px #00000014}.ocr-box th{background:#faf5f0;font-weight:600;text-align:left;padding:10px 12px;border-bottom:2px solid #d4a574;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.ocr-box td{padding:10px 12px;text-align:left;border-bottom:1px solid #e8ddd4}.ocr-box tr:last-child td{border-bottom:none}.ocr-box tr:hover td{background:var(--bg-light)}.ocr-box h1{font-size:1.5em;font-weight:700;margin:.5em 0}.ocr-box h2{font-size:1.3em;font-weight:700;margin:.5em 0}.ocr-box h3{font-size:1.1em;font-weight:700;margin:.5em 0}.ocr-box p{margin:.5em 0;line-height:1.6}.ocr-box ul,.ocr-box ol{margin:.5em 0;padding-left:1.5em}.ocr-box li{margin:.25em 0}.ocr-box code{background-color:var(--bg-light);padding:2px 4px;border-radius:3px;font-family:monospace;font-size:.9em}.ocr-box pre{background-color:var(--bg-light);padding:10px;border-radius:4px;overflow-x:auto;margin:.5em 0}.ocr-box pre code{background:none;padding:0}.ocr-box blockquote{border-left:3px solid var(--border-color);padding-left:1em;margin:.5em 0;color:var(--text-secondary)}.ocr-box strong{font-weight:700}.ocr-box em{font-style:italic}.ocr-box a{color:var(--accent-color);text-decoration:underline}.ocr-box hr{border:none;border-top:1px solid var(--border-color);margin:1em 0}.document-controls{margin-bottom:15px;display:flex;gap:10px;align-items:center}.page-navigation{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:6px;background-color:#fffffff2;padding:4px 8px;border-radius:6px;box-shadow:0 2px 8px #0000001a;z-index:10}.page-indicator{font-size:13px;color:var(--text-secondary);min-width:50px;text-align:center}.nav-button{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background-color:transparent;cursor:pointer;border-radius:4px;color:var(--text-primary)}.nav-button:hover:not(:disabled){background-color:var(--border-color)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.ocr-controls{display:flex;justify-content:flex-start;margin-bottom:0;gap:4px;background-color:var(--bg-light);padding:8px 8px 0;border:none;border-bottom:1px solid var(--border-color);overflow-x:auto}.ocr-result-option{display:flex;align-items:center;justify-content:center;padding:10px 18px;cursor:pointer;transition:all .15s ease;background-color:transparent;white-space:nowrap;position:relative;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:-1px}.ocr-result-option h3{margin:0;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .15s ease}.ocr-result-option:hover{background-color:#0000000a}.ocr-result-option:hover h3{color:var(--text-primary)}.ocr-result-option.selected{background-color:var(--bg-white);border-color:var(--border-color);border-bottom:1px solid var(--bg-white);z-index:1}.ocr-result-option.selected h3{color:var(--accent-color);font-weight:600}.tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;margin-left:6px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,#5a6d8a,#475a78);border-radius:4px;line-height:1}.ocr-result-option.selected .tab-badge{background:linear-gradient(135deg,var(--accent-color) 0%,#3d4e6a 100%)}.ocr-result-option.pulsating-hint{animation:pulseHint 2s ease-in-out infinite}@keyframes pulseHint{0%,to{background-color:var(--bg-light);box-shadow:0 0 #667eea00}50%{background-color:#667eea26;box-shadow:0 0 0 4px #667eea33}}.ocr-text-container{flex:1;max-height:100%;overflow-y:auto;padding:16px 14px;background-color:var(--bg-white)}.ocr-toolbar{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:12px;border-bottom:1px solid var(--border-color)}.format-page-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:linear-gradient(135deg,#5a6d8a,#475a78);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.format-page-btn:hover:not(:disabled){background:linear-gradient(135deg,#3d4e6a 0% 100%);transform:translateY(-1px);box-shadow:0 2px 8px #6366f14d}.format-page-btn:disabled{opacity:.7;cursor:not-allowed}.format-page-btn .spinning{animation:spin 1s linear infinite}.ocr-box{margin-bottom:8px;padding:12px 14px;border-radius:8px;transition:all .15s ease;font-size:13px;line-height:1.6;position:relative;background:var(--bg-white);border:1px solid transparent}.ocr-box:hover{cursor:pointer;background-color:var(--bg-light);border-color:var(--border-color)}.ocr-box-clickable{position:relative}.ocr-block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ocr-block-type{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:0}.table-actions{display:flex;gap:8px;align-items:center}.table-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease}.table-download-btn{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0;margin-right:50px}.table-download-btn:hover{background:#dcfce7;border-color:#bbf7d0}.table-ai-btn{background:#e0e7ff;color:#4338ca;border:1px solid #c7d2fe}.table-ai-btn:hover{background:#c7d2fe;border-color:#a5b4fc}.table-ai-btn:disabled{opacity:.7;cursor:not-allowed}.ocr-block-type.type-text{background:#e0f2fe;color:#0369a1}.ocr-block-type.type-table{background:#dcfce7;color:#15803d}.ocr-block-type.type-title,.ocr-block-type.type-section-header{background:#fef3c7;color:#b45309}.ocr-block-type.type-list{background:#f3e8ff;color:#3d4e6a}.ocr-block-type.type-figure{background:#ffe4e6;color:#be123c}.ocr-block-content{color:var(--text-primary);font-size:16px;line-height:1.7;font-weight:400;letter-spacing:.01em}.ocr-block-content p:first-child{margin-top:0}.ocr-block-content p:last-child{margin-bottom:0}.ocr-block-content table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.ocr-block-content table th,.ocr-block-content table td{border:1px solid #d1d5db;padding:8px 10px;text-align:left}.ocr-block-content table th{background:#f3f4f6;font-weight:600;color:#374151}.ocr-block-content table tr:nth-child(2n){background:#f9fafb}.ocr-block-content table tr:hover{background:#f0f4ff}.ocr-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:250px;color:var(--text-muted);text-align:center;padding:40px 20px}.ocr-empty-state svg{opacity:.4;margin-bottom:16px}.ocr-empty-state p{margin:0 0 6px;font-size:15px;font-weight:500;color:var(--text-secondary)}.ocr-empty-state span{font-size:13px;color:var(--text-muted)}.ocr-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:var(--text-secondary)}.ocr-processing p{margin-top:16px;font-size:14px}.ocr-spinner{width:40px;height:40px;border:3px solid var(--border-medium);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.json-view{font-family:Monaco,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;background-color:var(--bg-light);padding:15px;border-radius:6px;overflow:auto;max-height:100%}.ai-chat-container{display:flex;flex-direction:column;height:calc(100% - 60px);min-height:300px}.chat-messages{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:12px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.chat-empty p{margin:0 0 8px;font-size:14px}.chat-empty small{color:var(--text-secondary);font-style:italic}.chat-message{max-width:85%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.4}.chat-message.user{align-self:flex-end;background-color:var(--accent-color);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant{align-self:flex-start;background-color:var(--bg-light);color:var(--text-primary);border-bottom-left-radius:4px}.message-content{white-space:pre-wrap;word-break:break-word}.message-content.loading{padding:5px 0}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background-color:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ocr-enhance{display:flex;justify-content:flex-end;margin-bottom:8px;align-items:center;background-color:pink;padding:5px}.chat-input-container{display:flex;gap:8px;padding:12px 15px;border-top:1px solid var(--border-color);background-color:var(--bg-white)}.chat-input-container input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:20px;font-size:14px;outline:none;transition:border-color .2s}.chat-input-container input:focus{border-color:var(--accent-color)}.chat-input-container input:disabled{background-color:var(--bg-light)}.send-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background-color:var(--accent-color);color:#fff;cursor:pointer;transition:background-color .2s}.send-button:hover:not(:disabled){background-color:var(--primary-hover)}.send-button:disabled{background-color:var(--border-medium);cursor:not-allowed}.ai-extraction-container{display:flex;flex-direction:column;height:calc(100% - 60px);min-height:400px;overflow-y:auto;padding:15px;gap:20px}.extraction-input-section{display:flex;flex-direction:column;gap:8px}.extraction-input-section h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.extraction-hint{margin:0;font-size:12px;color:var(--text-muted)}.schema-prompt-input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;outline:none;transition:border-color .2s;box-sizing:border-box}.schema-prompt-input:focus{border-color:var(--accent-color)}.schema-prompt-input:disabled{background-color:var(--bg-light)}.extract-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;align-self:flex-start}.extract-button:hover:not(:disabled){background-color:var(--primary-hover)}.extract-button:disabled{background-color:var(--border-medium);cursor:not-allowed}.extract-button .spinning{animation:spin 1s linear infinite}.extraction-results-section{display:flex;flex-direction:column;gap:15px}.extracted-data h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.extraction-table{width:100%;border-collapse:collapse;font-size:13px;background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.extraction-table th,.extraction-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.extraction-table th{background-color:var(--bg-light);font-weight:600;color:var(--text-secondary);white-space:nowrap}.extraction-table tbody tr:last-child td{border-bottom:none}.extraction-table tbody tr:hover{background-color:var(--bg-light)}.extraction-table.single-object th{width:30%;background-color:var(--bg-light)}.extraction-table.single-object td{width:70%}.nested-table{width:100%;border-collapse:collapse;font-size:12px;background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:4px;margin:4px 0}.nested-table th,.nested-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-color)}.nested-table th{background-color:var(--bg-light);font-weight:600;color:var(--text-secondary);font-size:11px}.nested-table tbody tr:last-child td{border-bottom:none}.nested-table tbody tr:hover{background-color:var(--bg-light)}.schema-actions{display:flex;gap:8px;margin-bottom:12px}.save-schema-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.save-schema-btn:hover{transform:translateY(-1px)}.save-schema-modal{width:400px;padding:20px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.save-schema-modal .modal-content{gap:0}.save-schema-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.save-schema-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.save-schema-modal .modal-close-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .2s}.save-schema-modal .modal-close-btn:hover{background-color:var(--bg-light);color:var(--text-primary)}.save-schema-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:12px}.save-schema-modal .modal-body label{font-size:13px;font-weight:500;color:var(--text-primary)}.save-schema-modal .modal-body input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.save-schema-modal .modal-body input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.save-schema-modal .modal-hint{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5}.save-schema-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color);background-color:var(--bg-light)}.save-schema-modal .modal-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.save-schema-modal .modal-btn.cancel{background:none;border:1px solid var(--border-color);color:var(--text-secondary)}.save-schema-modal .modal-btn.cancel:hover{background-color:var(--bg-white);border-color:var(--text-muted)}.save-schema-modal .modal-btn.save{background:linear-gradient(135deg,#5a6d8a,#475a78);border:none;color:#fff}.save-schema-modal .modal-btn.save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #475a7866}.save-schema-modal .modal-btn.save:disabled{opacity:.5;cursor:not-allowed}.schema-details{background-color:var(--bg-light);border-radius:8px;padding:10px}.schema-details summary{font-size:12px;color:var(--text-muted);cursor:pointer;padding:5px}.schema-details summary:hover{color:var(--text-secondary)}.schema-json{margin:10px 0 0;padding:10px;background-color:var(--bg-white);border-radius:6px;font-size:11px;overflow:auto;max-height:200px}.saved-extractions-section{border:1px solid var(--border-color);border-radius:8px;padding:15px;background-color:var(--bg-light)}.saved-extractions-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.saved-extractions-list{display:flex;flex-direction:column;gap:8px}.saved-extraction-item{background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.saved-extraction-item summary{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;font-size:13px;transition:background-color .15s}.saved-extraction-item summary:hover{background-color:var(--bg-light)}.saved-extraction-item[open] summary{border-bottom:1px solid var(--border-color);background-color:var(--bg-light)}.extraction-prompt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.extraction-date{font-size:11px;color:var(--text-muted);margin-left:10px;flex-shrink:0}.extraction-content{padding:12px;overflow-x:auto}.loading-extractions{text-align:center;padding:10px;color:var(--text-muted)}.chat-section{display:flex;flex-direction:column;border-top:1px solid var(--border-color);padding-top:15px}.chat-section h4{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text-primary)}.chat-section .chat-messages{max-height:200px;min-height:100px;border:1px solid var(--border-color);border-radius:8px;padding:10px}.chat-section .chat-empty{height:auto;padding:20px}.chat-section .chat-input-container{padding:10px 0 0;border-top:none}.tables-container{padding:15px;height:calc(100% - 60px);overflow-y:auto}.tables-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.tables-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.download-all-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background-color .2s}.download-all-btn:hover{background-color:var(--primary-hover)}.tables-list{display:flex;flex-direction:column;gap:20px}.table-item{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--bg-white)}.table-item-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:var(--bg-light);border-bottom:1px solid var(--border-color)}.table-item-header span{font-weight:600;font-size:13px;color:var(--text-primary)}.download-table-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background-color:transparent;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.download-table-btn:hover{background-color:var(--accent-color);color:#fff}.table-preview{padding:15px;overflow-x:auto}.table-preview table{width:100%;border-collapse:collapse;font-size:13px}.table-preview th,.table-preview td{padding:8px 12px;text-align:left;border:1px solid var(--border-color)}.table-preview th{background-color:var(--bg-light);font-weight:600}.table-preview tr:hover td{background-color:var(--bg-light)}.no-tables{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-muted);text-align:center}.no-tables p{margin:15px 0 5px;font-size:16px}.no-tables small{font-size:13px;max-width:300px}@media(max-width:1024px){.document-viewer{padding:12px}.viewer-tabs{flex-wrap:wrap;gap:6px}.viewer-tabs button{padding:8px 14px;font-size:13px}.viewer-controls{flex-wrap:wrap;gap:8px}.viewer-controls button{padding:8px 14px;font-size:13px}.panel-container{min-width:300px}}@media(max-width:768px){.document-viewer{padding:8px;height:auto;min-height:calc(100vh - 60px)}.viewer-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;justify-content:center}.viewer-tabs button{flex:1 1 auto;min-width:80px;padding:10px 12px;font-size:12px;text-align:center}.viewer-split-panels{flex-direction:column!important;gap:12px;height:auto!important}.panel-container{width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;min-height:300px}.resize-handle{display:none!important}.document-content,.ocr-content{padding:12px;font-size:13px;line-height:1.5;overflow-x:auto}.ocr-box{padding:10px;margin-bottom:10px;font-size:14px;word-break:break-word}.table-preview{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-preview table{font-size:11px;min-width:100%}.table-preview th,.table-preview td{padding:8px 10px;white-space:nowrap}.viewer-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.viewer-controls button{flex:1 1 auto;min-width:100px;padding:12px 16px;font-size:13px;touch-action:manipulation}.extraction-result{padding:12px;font-size:13px}.extraction-result pre{font-size:11px;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-navigation{flex-wrap:wrap;gap:8px;justify-content:center}.page-navigation button{padding:10px 16px;font-size:13px;min-width:44px;min-height:44px}.pdf-viewer-container{min-height:400px}.no-document,.no-ocr,.no-tables{padding:24px 16px}.no-document h3,.no-ocr h3,.no-tables h3{font-size:16px}.no-document p,.no-ocr p,.no-tables p{font-size:13px}button,.clickable{min-height:44px;min-width:44px}}@media(max-width:480px){.document-viewer{padding:6px}.viewer-tabs button{padding:8px 10px;font-size:11px;min-width:70px}.viewer-controls button{padding:10px 12px;font-size:12px;min-width:80px}.panel-container{min-height:250px}.ocr-box{font-size:13px}}.file-upload-container{border:2px dashed var(--border-medium);border-radius:8px;padding:32px 20px;text-align:center;background-color:var(--bg-light);color:var(--text-secondary);transition:border-color .2s ease,background-color .2s ease;cursor:pointer}.file-upload-container:hover{border-color:var(--accent-color);background-color:var(--bg-white)}.file-upload-container.dragging{border-color:var(--primary-hover);background-color:#646cff0d;border-style:solid}.file-upload-container p{margin:8px 0 0}input[type=file]{display:none}.custom-file-upload{display:inline-block;padding:6px 12px;cursor:pointer}.processing-spinner{width:40px;height:40px;border:3px solid var(--border-medium);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.upload-progress-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}.upload-progress-container p{margin:0;font-size:14px;color:var(--text-primary);font-weight:500}.progress-bar-wrapper{width:100%;max-width:400px;height:8px;background-color:var(--bg-light);border-radius:4px;overflow:hidden;border:1px solid var(--border-color);box-shadow:inset 0 1px 2px #0000001a}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),var(--primary-hover));border-radius:4px;transition:width .3s ease;box-shadow:0 0 8px #333f5266}.progress-percentage{font-size:16px;font-weight:600;color:var(--accent-color)}@media(max-width:1024px){.file-upload-container{padding:28px 20px;margin:16px}}@media(max-width:768px){.file-upload-container{padding:24px 16px;margin:12px;border-radius:6px}.file-upload-container p{font-size:14px;margin-bottom:16px}.custom-file-upload{padding:12px 20px;font-size:14px;min-height:44px;touch-action:manipulation}.progress-bar-wrapper{max-width:100%;padding:0 8px}.progress-percentage{font-size:14px}}@media(max-width:480px){.file-upload-container{padding:20px 12px;margin:8px}.file-upload-container p{font-size:13px}.custom-file-upload{padding:10px 16px;font-size:13px;width:100%;box-sizing:border-box}}.batch-extractor{display:flex;flex-direction:column;gap:20px;padding:16px;height:100%;overflow-y:auto}.batch-header h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.batch-header p{margin:0;font-size:13px;color:var(--text-secondary)}.extraction-prompt-section{display:flex;flex-direction:column;gap:8px}.extraction-prompt-section label{font-size:13px;font-weight:500;color:var(--text-primary)}.extraction-prompt-section textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s}.extraction-prompt-section textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.extraction-prompt-section textarea::placeholder{color:var(--text-muted)}.batch-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;border:2px dashed var(--border-color);border-radius:12px;background-color:var(--bg-light);cursor:pointer;transition:all .2s ease}.batch-upload-area:hover{border-color:var(--accent-color);background-color:rgba(var(--accent-rgb),.05)}.batch-upload-area.dragging{border-color:var(--accent-color);background-color:rgba(var(--accent-rgb),.1)}.batch-upload-area svg{color:var(--text-secondary);margin-bottom:12px}.batch-upload-area p{margin:0 0 4px;font-size:14px;color:var(--text-primary)}.batch-upload-area small{color:var(--text-muted);font-size:12px}.batch-file-list{display:flex;flex-direction:column;gap:8px}.batch-file-list-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.batch-file-list-header span{font-size:13px;font-weight:500;color:var(--text-secondary)}.clear-all-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;transition:all .2s}.clear-all-btn:hover{background-color:var(--bg-light);color:var(--danger-color, #dc3545)}.batch-files{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.batch-file-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:var(--bg-light);border-radius:8px;transition:all .2s}.batch-file-item.processing{background-color:rgba(var(--accent-rgb),.1)}.batch-file-item.completed{background-color:#22c55e1a}.batch-file-item.error{background-color:#ef44441a}.batch-file-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.batch-file-info svg{color:var(--text-secondary);flex-shrink:0}.batch-file-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-file-status{display:flex;align-items:center;gap:8px}.status-pending{font-size:11px;color:var(--text-muted);padding:2px 8px;background-color:var(--bg-white);border-radius:4px}.status-success{color:#22c55e}.status-error{color:#ef4444}.spinning{animation:spin 1s linear infinite}.remove-file-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .2s}.remove-file-btn:hover{background-color:#ef44441a;color:#ef4444}.batch-progress{display:flex;flex-direction:column;gap:8px}.batch-progress span{font-size:12px;color:var(--text-secondary);text-align:center}.progress-bar-container{width:100%;height:6px;background-color:var(--bg-light);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--accent-color);border-radius:3px;transition:width .3s ease}.batch-actions{display:flex;gap:12px}.run-batch-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:12px 20px;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.run-batch-btn:hover:not(:disabled){background-color:var(--primary-hover)}.run-batch-btn:disabled{opacity:.5;cursor:not-allowed}.batch-results{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.batch-results-header{display:flex;justify-content:space-between;align-items:center}.batch-results-header h4{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.result-stats{display:flex;gap:12px}.result-stats .stat{font-size:12px;padding:2px 8px;border-radius:4px}.result-stats .stat.success{background-color:#22c55e1a;color:#22c55e}.result-stats .stat.error{background-color:#ef44441a;color:#ef4444}.batch-results-actions{display:flex;gap:8px}.batch-results-actions button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:6px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .2s}.batch-results-actions button:hover{background-color:var(--bg-white);border-color:var(--accent-color)}.batch-results-preview{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.result-item{background-color:var(--bg-light);border-radius:8px}.result-item-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:var(--bg-white);border-bottom:1px solid var(--border-color);font-size:13px;font-weight:500;color:var(--text-primary)}.result-item-header svg{color:var(--text-secondary)}.result-data{margin:0;padding:12px;font-size:11px;font-family:Monaco,Menlo,monospace;background-color:var(--bg-light);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:150px;overflow-y:auto}.schema-selector{display:flex;flex-direction:column;gap:12px}.schema-dropdown{position:relative}.schema-dropdown select{width:100%;padding:12px 36px 12px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-family:inherit;background-color:var(--bg-white);cursor:pointer;appearance:none;transition:border-color .2s,box-shadow .2s}.schema-dropdown select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.schema-dropdown .dropdown-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.selected-schema-preview{padding:12px;background-color:var(--bg-light);border-radius:8px;border:1px solid var(--border-color)}.selected-schema-preview .schema-prompt{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.selected-schema-preview .schema-prompt strong{color:var(--text-primary)}.no-schemas-hint{font-size:12px;color:var(--text-muted);margin:0;font-style:italic}@media(max-width:1024px){.batch-extractor{padding:14px;gap:16px}.batch-file-list{flex-direction:column}.batch-file-item{min-width:100%}}@media(max-width:768px){.batch-extractor{padding:12px;gap:14px}.batch-header h3{font-size:16px}.batch-header p{font-size:12px}.extraction-prompt-section textarea{min-height:100px;font-size:14px;padding:14px}.batch-upload-area{padding:24px 16px}.batch-upload-area p{font-size:13px;text-align:center}.batch-file-list{gap:10px}.batch-file-item{padding:12px}.batch-actions{flex-direction:column;gap:10px}.batch-actions button{width:100%;padding:14px 20px;font-size:14px;min-height:48px;touch-action:manipulation}.batch-progress{padding:14px}.batch-progress-bar{height:8px}.schema-selector-section{gap:10px}.schema-select-wrapper select{padding:12px 14px;font-size:14px;min-height:48px}.selected-schema-preview{padding:14px}}@media(max-width:480px){.batch-extractor{padding:10px;gap:12px}.batch-upload-area{padding:20px 12px}.batch-file-item{padding:10px}.batch-file-item .file-name{font-size:12px}}.status-bar{position:absolute;z-index:100;background-color:var(--bg-white);bottom:1vh;left:50%;transform:translate(-50%);display:flex;align-items:flex-start;border:1px solid var(--border-color);justify-content:center;padding:12px 20px;border-radius:8px;min-width:300px;max-width:50vw;box-shadow:0 2px 8px #0000001a;flex-direction:column;opacity:.95}.status-bar-error{color:#c53030}.error-message{display:flex;align-items:center;gap:8px}.error-icon{font-size:16px}.error-text{font-size:14px}.status-message{display:flex;flex-direction:column;gap:6px;width:100%}.status-text{font-size:14px;color:var(--text-primary, #333)}.status-content{width:100%;display:flex;flex-direction:column;gap:8px}.status-content p{margin:0;font-size:14px;font-weight:500}.ocr-progress{display:flex;flex-direction:column;gap:6px;width:100%}.progress-text{font-size:12px;color:var(--text-secondary, #666)}.progress-bar-container{width:100%;height:8px;background-color:var(--bg-secondary, #e0e0e0);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-color, #4CAF50),var(--accent-color-dark, #45a049));border-radius:4px;transition:width .3s ease}.progress-percentage{font-size:12px;font-weight:600;color:var(--accent-color, blue);text-align:right}.status-loading-bar{max-width:50vw;min-width:100%;height:5px;margin-top:4px;background:linear-gradient(90deg,#475a7833 25%,#475a78cc,#475a7833 75%);background-size:200% 100%;animation:loadingAnimation 1.5s infinite;border-radius:2px}@keyframes loadingAnimation{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.status-bar{min-width:280px;max-width:90vw;padding:10px 16px;bottom:10px;left:50%;transform:translate(-50%)}.status-text{font-size:13px}.progress-text{font-size:11px}.error-text{font-size:13px}}@media(max-width:480px){.status-bar{min-width:90vw;max-width:95vw;padding:8px 12px;border-radius:6px}}.selections-view{padding:12px;display:flex;flex-direction:column;gap:12px;height:100%;overflow-y:auto;overflow-x:hidden;background-color:var(--bg-white);max-height:calc(100vh - 150px);font-size:.85rem}.selections-header{text-align:center;padding-bottom:4px}.selections-header h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.selections-subtitle{font-size:.75rem;color:var(--text-secondary);max-width:400px;margin:0 auto;line-height:1.4}.selections-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg-light);border:2px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center}.selections-empty p{margin:0;font-size:.8rem;color:var(--text-muted)}.selections-fields{display:flex;flex-direction:column;gap:8px}.selection-field{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all .15s ease;position:relative}.selection-field:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.selection-field.table-field{border-left:3px solid var(--accent-color)}.field-header{display:flex;align-items:center;gap:6px}.field-number{display:flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;background:var(--accent-color);color:#fff;font-weight:600;font-size:.65rem;border-radius:var(--radius-sm)}.field-type-badge{font-size:.6rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;background:var(--bg-light);border-radius:var(--radius-sm)}.field-header .field-remove-btn{margin-left:auto}.field-inputs{display:flex;gap:6px}.field-key-input{flex:1;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8rem;font-weight:500;color:var(--text-primary);background:var(--bg-light);transition:all .15s ease}.field-key-input:hover{border-color:var(--border-medium)}.field-key-input:focus{outline:none;border-color:var(--accent-color);background:var(--bg-white);box-shadow:0 0 0 2px #333f521a}.field-key-input::placeholder{color:var(--text-muted);font-weight:400}.field-description-input-single{flex:2;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-secondary);background:var(--bg-light);transition:all .15s ease;font-family:inherit}.field-description-input-single:hover{border-color:var(--border-medium)}.field-description-input-single:focus{outline:none;border-color:var(--accent-color);background:var(--bg-white);box-shadow:0 0 0 2px #333f521a}.field-description-input-single::placeholder{color:var(--text-muted)}.field-result{background:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:6px;margin-top:2px}.field-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.field-result-label{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.table-download-btn{display:flex;align-items:center;gap:3px;padding:2px 6px;background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.55rem;font-weight:600;cursor:pointer}.table-download-btn svg{width:10px;height:10px}.field-result-value{font-size:.7rem;color:var(--text-primary);font-weight:500;word-break:break-word;white-space:pre-wrap}.field-result-table{overflow-x:auto}.field-result-table table{width:100%;border-collapse:collapse;font-size:.6rem}.field-result-table th,.field-result-table td{padding:3px 5px;text-align:left;border:1px solid var(--border-color)}.field-result-table th{background:var(--bg-white);font-weight:600;color:var(--text-secondary);font-size:.55rem}.field-result-table td{color:var(--text-primary);font-size:.6rem}.field-result-html{overflow-x:auto}.field-result-html table{width:100%;border-collapse:collapse;font-size:.6rem}.field-result-html th,.field-result-html td{padding:3px 5px;text-align:left;border:1px solid var(--border-color)}.field-result-html th{background:var(--bg-white);font-weight:600;color:var(--text-secondary);font-size:.55rem}.field-result-html td{color:var(--text-primary);font-size:.6rem}.field-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:16px;font-weight:400;line-height:1}.selection-field:hover .field-remove-btn{opacity:1}.field-remove-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.selections-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--border-light)}.add-field-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-white);color:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--btn-radius);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease}.add-field-btn:hover{background:var(--bg-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.add-table-btn{border-style:dashed}.extract-btn{display:flex;align-items:center;gap:4px;padding:6px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:var(--btn-radius);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.extract-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.extract-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.extract-btn .spinning{animation:spin 1s linear infinite}.selections-error{padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:.75rem}.selections-results-actions{display:flex;gap:6px;justify-content:center;padding:8px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:12px}.result-action-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--btn-radius);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s ease}.result-action-btn:hover{background:var(--bg-light);border-color:var(--accent-color);color:var(--accent-color)}.actions-divider{width:1px;height:24px;background:var(--border-color);margin:0 4px}.save-schema-btn,.load-schema-btn{border-style:dashed}.schema-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.schema-modal{background:var(--bg-white);border-radius:var(--radius-lg);padding:24px;width:90%;max-width:400px;box-shadow:0 10px 40px #0003}.schema-modal h3{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.schema-modal p{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary)}.schema-name-input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9rem;margin-bottom:16px;box-sizing:border-box}.schema-name-input:focus{outline:none;border-color:var(--accent-color)}.schema-modal-actions{display:flex;gap:10px;justify-content:flex-end}.schema-modal-cancel{padding:10px 16px;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color)}.schema-modal-save{padding:10px 20px;background:var(--accent-color);color:#fff}.schema-modal-load{max-width:500px}.no-schemas{text-align:center;padding:20px;color:var(--text-muted)}.saved-schemas-list{max-height:300px;overflow-y:auto;margin-bottom:16px}.saved-schema-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px}.saved-schema-item:last-child{margin-bottom:0}.saved-schema-info{display:flex;flex-direction:column;gap:2px}.saved-schema-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.saved-schema-fields{font-size:.75rem;color:var(--text-muted)}.saved-schema-actions{display:flex;gap:8px}.apply-schema-btn{padding:6px 14px;background:var(--accent-color);color:#fff;font-size:.8rem}.delete-schema-btn{padding:6px 10px;background:var(--bg-light);color:var(--text-muted);border:1px solid var(--border-color)}.delete-schema-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.selection-span{background-color:var(--highlight-color);border-radius:8px;border:1px solid grey;color:red;padding:4px}.selection-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.selection-modal{background:var(--bg-white);border-radius:12px;box-shadow:0 20px 60px #00000040,0 0 0 1px #0000000d;max-width:950px;width:90%;max-height:85vh;overflow:auto}.selection-modal.selection-modal-wide{max-width:950px}.selection-modal .selection-modal-body{display:flex;gap:20px;padding:16px}.selection-modal .selection-modal-form{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0}.selection-modal .selection-modal-preview{width:340px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-light);border-radius:10px;border:1px solid var(--border-color);overflow:hidden}.selection-modal .preview-header{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--bg-white);border-bottom:1px solid var(--border-color);font-weight:600;font-size:13px;color:var(--accent-color)}.selection-modal .preview-content{flex:1;padding:14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:500px}.selection-modal .preview-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);gap:12px;padding:20px}.selection-modal .preview-placeholder p{margin:0;font-size:13px;line-height:1.4}.selection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-color);background:var(--bg-light)}.selection-modal-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.selection-modal-close{background:none;border:none;cursor:pointer;padding:6px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.selection-modal-close:hover{background-color:#00000014;color:var(--text-primary)}.selection-modal-body{padding:16px 18px;overflow-y:auto;max-height:calc(85vh - 140px)}.selection-form-group{margin-bottom:14px}.selection-form-group:last-child{margin-bottom:0}.selection-form-group label{display:block;margin-bottom:5px;font-weight:600;color:var(--text-primary);font-size:.8rem}.selection-form-group input,.selection-form-group textarea,.selection-form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-white);color:var(--text-primary);font-size:.9rem;transition:border-color .15s ease;box-sizing:border-box;font-family:inherit}.selection-form-group input:hover,.selection-form-group textarea:hover,.selection-form-group select:hover{border-color:var(--border-medium)}.selection-form-group input:focus,.selection-form-group textarea:focus,.selection-form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #333f5214}.selection-form-group input:read-only{background-color:var(--bg-light);color:var(--text-secondary);cursor:default;font-style:italic}.selection-form-group input:read-only:hover,.selection-form-group input:read-only:focus{border-color:var(--border-color);box-shadow:none}.selection-form-group textarea{resize:vertical;min-height:60px;line-height:1.4}.selection-form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.selection-form-group .help-text{margin-top:4px;font-size:.75rem;color:var(--text-muted);line-height:1.3}.selection-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border-color);background:var(--bg-light)}.selection-modal-footer button{padding:10px 20px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease}.selection-btn-cancel{background-color:var(--bg-white);border:1px solid var(--border-color);color:var(--text-secondary)}.selection-btn-cancel:hover{background-color:var(--bg-light);border-color:var(--border-medium);color:var(--text-primary)}.selection-btn-save{background-color:var(--accent-color);border:1px solid var(--accent-color);color:#fff}.selection-btn-save:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.selection-btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.selection-modal{width:95%;max-height:90vh;border-radius:12px}.selection-modal-header{padding:16px 20px}.selection-modal-header h2{font-size:1rem}.selection-modal-body{padding:20px;max-height:calc(90vh - 140px)}.selection-form-group{margin-bottom:16px}.selection-modal-footer{flex-direction:column-reverse;gap:10px;padding:16px 20px}.selection-modal-footer button{width:100%;justify-content:center}}.selection-modal.modal{max-width:950px;width:90%;max-height:85vh;overflow:hidden;border-radius:12px}.selection-modal .modal-content{gap:0}.selection-modal .modal-header{padding:14px 18px;margin-bottom:0;background:var(--bg-light)}.selection-modal .modal-header h3{display:flex;align-items:center;gap:8px;font-size:.95rem}.selection-modal-content{display:flex;flex-direction:column;gap:14px;padding:16px 18px;max-height:calc(85vh - 140px);overflow-y:auto}.selection-modal .form-group{margin-bottom:0}.selection-modal .form-group label{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-weight:600;color:var(--text-primary);font-size:.8rem}.selection-modal .form-group input,.selection-modal .form-group textarea,.selection-modal .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-white);color:var(--text-primary);font-size:.9rem;box-sizing:border-box;font-family:inherit}.selection-modal .form-group input:focus,.selection-modal .form-group textarea:focus,.selection-modal .form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #333f5214}.selection-modal .form-group textarea{resize:vertical;min-height:50px;line-height:1.4}.selection-modal .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.selection-modal .field-hint{display:block;margin-top:4px;font-size:.75rem;color:var(--text-muted)}.selection-modal .existing-fields-group{margin-top:8px;padding-top:12px;border-top:1px dashed var(--border-color)}.selection-modal .existing-fields-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding:8px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:8px}.selection-modal .existing-field-item{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem}.selection-modal .existing-field-item .field-name{font-weight:600;color:var(--text-primary)}.selection-modal .existing-field-item .field-type{padding:2px 6px;background:var(--accent-color);color:#fff;border-radius:4px;font-size:.7rem;text-transform:uppercase}.selection-modal .existing-field-item .field-example{flex:1;color:var(--text-muted);font-style:italic;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-modal .example-text-display{padding:10px 12px;background:var(--bg-light);border:1px dashed var(--border-color);border-radius:8px;font-size:.85rem;color:var(--text-secondary);max-height:150px;overflow-y:auto;line-height:1.4;word-break:break-word}.selection-modal .example-html-content{font-style:normal;color:var(--text-primary)}.selection-modal .example-html-content table{width:100%;border-collapse:collapse;font-size:.8rem}.selection-modal .example-html-content th,.selection-modal .example-html-content td{border:1px solid var(--border-color);padding:6px 8px;text-align:left}.selection-modal .example-html-content th{background:var(--bg-white);font-weight:600}.selection-modal .selection-type-badge{margin-left:8px;padding:2px 8px;background:var(--accent-color);color:#fff;border-radius:4px;font-size:.65rem;text-transform:uppercase;font-weight:500}.selection-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border-color);background:var(--bg-light);margin-top:0}.selection-modal .modal-btn{padding:10px 18px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:6px;border:1px solid}.selection-modal .modal-btn.cancel{background-color:var(--bg-white);border-color:var(--border-color);color:var(--text-secondary)}.selection-modal .modal-btn.cancel:hover{background-color:var(--bg-light);border-color:var(--border-medium);color:var(--text-primary)}.selection-modal .modal-btn.save{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.selection-modal .modal-btn.save:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.selection-modal .modal-btn.save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.selection-modal.modal{width:95%;max-height:90vh}.selection-modal.selection-modal-wide{max-width:95%}.selection-modal .selection-modal-body{flex-direction:column}.selection-modal .selection-modal-preview{width:100%}.selection-modal-content{padding:14px;gap:12px}.selection-modal .modal-actions{flex-direction:column-reverse;gap:8px}.selection-modal .modal-btn{width:100%;justify-content:center}}.selection-modal .preview-card{background:var(--bg-light);border:1px solid var(--border-color);border-radius:8px;padding:14px 16px;margin-bottom:12px}.selection-modal .preview-field{display:flex;align-items:center;gap:10px;margin-bottom:8px}.selection-modal .preview-field-name{font-weight:600;font-size:14px;color:var(--text-primary)}.selection-modal .preview-field-type{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.selection-modal .preview-field-type.type-string{background:#e0f2fe;color:#0369a1}.selection-modal .preview-field-type.type-number{background:#dcfce7;color:#15803d}.selection-modal .preview-field-type.type-date{background:#fef3c7;color:#b45309}.selection-modal .preview-field-type.type-boolean{background:#f3e8ff;color:#3d4e6a}.selection-modal .preview-field-type.type-array{background:#ffe4e6;color:#be123c}.selection-modal .preview-field-value{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text-primary);line-height:1.5;word-break:break-word}.selection-modal .preview-field-value .value-text{display:block}.selection-modal .boolean-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.selection-modal .boolean-badge.true{background:#dcfce7;color:#15803d}.selection-modal .boolean-badge.false{background:#fee2e2;color:#dc2626}.selection-modal .array-values{display:flex;flex-wrap:wrap;gap:6px}.selection-modal .array-item{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:4px;font-size:12px;color:var(--text-primary)}.selection-modal .test-result-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.selection-modal .result-field{display:flex;flex-direction:column;padding:10px 14px;border-bottom:1px solid var(--border-color)}.selection-modal .result-field:last-child{border-bottom:none}.selection-modal .result-field-name{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;letter-spacing:.3px}.selection-modal .result-field-value{font-size:14px;color:var(--text-primary);line-height:1.4}.selection-modal .preview-hint{font-size:11px;color:var(--text-muted);font-style:italic;text-align:center}.selection-modal .preview-section-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.selection-modal .preview-section-label.success{color:#22c55e}.selection-modal .preview-section-label.error{color:#ef4444}.selection-modal .test-extraction-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;margin-top:12px;background:linear-gradient(135deg,#5a6d8a,#475a78);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.selection-modal .test-extraction-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.selection-modal .test-extraction-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.selection-modal .test-extraction-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.selection-modal .test-result-section{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-color)}.selection-modal .test-result-section.error{background:#ef44441a;border-radius:8px;padding:12px;border-top:none}.selection-modal .test-error-message{margin:0;font-size:12px;color:#ef4444}.create-schema-modal{max-width:420px;width:90%}.create-schema-form{display:flex;flex-direction:column;gap:14px;padding:16px 18px}.create-schema-modal .form-group{margin-bottom:0}.create-schema-modal .form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary);font-size:.85rem}.create-schema-modal .form-group input,.create-schema-modal .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-white);color:var(--text-primary);font-size:.9rem;box-sizing:border-box;font-family:inherit}.create-schema-modal .form-group input:focus,.create-schema-modal .form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #333f5214}.create-schema-modal .form-group textarea{resize:vertical;min-height:60px;line-height:1.4}.create-schema-modal .modal-header{padding:14px 18px;background:var(--bg-light);margin-bottom:0}.create-schema-modal .modal-header h3{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;margin:0}.create-schema-modal .modal-actions{padding:14px 18px;border-top:1px solid var(--border-color);background:var(--bg-light);display:flex;justify-content:flex-end;gap:10px}.sidebar{width:220px;min-width:180px;max-width:400px;height:100%;max-height:100%;display:flex;flex-direction:column;background-color:#f5f5f5;border-right:1px solid var(--border-color);overflow:hidden;flex-shrink:0;position:relative}.sidebar-header{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--border-color)}.sidebar-header .app-icon{color:var(--accent-color)}.sidebar-header .app-name{font-size:16px;font-weight:600;color:#1a1a2e}.sidebar.resizing{-webkit-user-select:none;user-select:none}.sidebar-resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background-color:transparent;transition:background-color .2s}.sidebar-resize-handle:hover,.sidebar.resizing .sidebar-resize-handle{background-color:var(--accent-color)}.sidebar h2{font-size:18px;margin-bottom:20px}.sidebar-menu-item{padding:10px 12px;display:flex;align-items:center;gap:12px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .15s}.sidebar-menu{display:flex;flex-direction:column;gap:4px;padding:16px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-menu-item:hover{background-color:var(--bg-white)}.sidebar h3{font-size:12px;margin:0 0 12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-muted);text-align:center;display:flex;flex-direction:column;gap:8px;flex-shrink:0;background-color:#f5f5f5}.sidebar-footer p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:none;border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.logout-btn:hover{background-color:#fef2f2;border-color:#dc3545;color:#dc3545}.sidebar-menu-item .expand-icon{margin-left:auto;display:flex;align-items:center}.document-count{background-color:var(--accent-color);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px;margin-left:4px}.sidebar-menu-item.expanded{background-color:var(--bg-white)}.documents-list{margin-left:12px;padding-left:12px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;flex-shrink:0}.document-item{padding:8px 10px;display:flex;align-items:center;gap:8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background .15s}.document-item:hover{background-color:var(--bg-white);color:var(--text-primary)}.document-item.active{background-color:var(--accent-color);color:#fff}.document-item.active:hover{background-color:var(--primary-hover);color:#fff}.document-item.processing{opacity:.7}.document-item.create-new-item{color:var(--accent-color);font-weight:500;border:1px dashed var(--border-color);margin-bottom:4px}.document-item.create-new-item:hover{background-color:var(--bg-light);border-color:var(--accent-color);color:var(--accent-color)}.processing-indicator{font-size:12px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.document-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-loading,.documents-empty{padding:8px 10px;font-size:12px;color:var(--text-muted);font-style:italic}.delete-doc-btn{opacity:0;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:opacity .15s,color .15s,background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-item:hover .delete-doc-btn{opacity:1}.delete-doc-btn:hover{color:#dc3545;background-color:#dc35451a}.document-item.active .delete-doc-btn{color:#ffffffb3}.document-item.active .delete-doc-btn:hover{color:#fff;background-color:#fff3}.selection-controls{display:flex;align-items:center;gap:6px;padding:6px 8px;margin-left:12px;margin-bottom:4px;background:var(--bg-white);border-radius:6px;border:1px solid var(--border-color);overflow:hidden;flex-wrap:wrap;min-height:20px}.selection-controls .chip{padding:2px 4px;font-size:11px;background:#f0f0f0;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s;white-space:nowrap;flex-shrink:0}.selection-controls .chip:hover{background:var(--accent-color);color:#fff}.selection-controls .delete-doc-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;background:none;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-muted);opacity:1;transition:all .15s;white-space:nowrap;margin-left:auto;flex-shrink:0;min-width:0;overflow:hidden}.selection-controls .delete-doc-btn:hover:not(:disabled){background:#fef2f2;border-color:#dc3545;color:#dc3545}.selection-controls .delete-doc-btn:disabled{opacity:.4;cursor:not-allowed}.document-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent-color);flex-shrink:0}@media(max-width:768px){.sidebar{width:0;min-width:0;position:fixed;left:0;top:50px;height:calc(100vh - 50px);z-index:1000;transform:translate(-100%);transition:transform .3s ease-in-out,width .3s ease-in-out}.sidebar.mobile-open{width:280px;transform:translate(0);box-shadow:2px 0 8px #00000026}.sidebar-resize-handle{display:none}.sidebar-header,.sidebar-menu{padding:12px}.sidebar-menu-item{padding:12px 10px}.delete-doc-btn{opacity:1}}.settings-panel{padding:8px 12px;background-color:#00000005;border-radius:6px;margin:4px 8px 8px;flex-shrink:0}.setting-item{display:flex;flex-direction:column;gap:8px}.setting-label{display:flex;flex-direction:column;gap:2px}.setting-title{font-size:12px;font-weight:500;color:#333}.setting-description{font-size:10px;color:#666}.toggle-switch-container{display:flex;gap:4px;background-color:#e0e0e0;padding:3px;border-radius:6px}.toggle-option{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border:none;background:transparent;border-radius:4px;font-size:11px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.toggle-option:hover{color:#333}.toggle-option.active{background-color:#fff;color:var(--accent-color);box-shadow:0 1px 3px #0000001a}.toggle-option svg{flex-shrink:0}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.sidebar-overlay.visible{display:block}.sidebar-close-btn{display:none;position:absolute;top:12px;right:12px;background:none;border:none;padding:8px;cursor:pointer;color:#666;border-radius:6px}.sidebar-close-btn:hover{background:#0000000d;color:#333}@media(max-width:1024px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease;box-shadow:none;width:280px;max-width:85vw}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-overlay.visible{display:block}.sidebar-close-btn{display:flex;align-items:center;justify-content:center}.sidebar-header{padding-right:50px}.sidebar-resize-handle{display:none}.sidebar-menu-item{padding:12px 14px;font-size:15px}.sidebar-footer{padding:16px}.sidebar-footer p{font-size:13px}.logout-btn{padding:10px 14px;font-size:14px}.document-item,.schema-item,.extraction-item{padding:10px 12px!important}}@media(max-width:480px){.sidebar{width:100%;max-width:100%}}.app-layout{display:flex;flex-direction:column;height:100vh;max-height:100vh;width:100%;overflow:hidden}.app-parent{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-light)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:60px;background:var(--primary-color);border-bottom:1px solid var(--border-color);flex-shrink:0}.app-header h1{margin:0;font-size:20px;color:#000}.user-info{color:#000;font-size:14px}.mobile-menu-btn{display:none;position:fixed;top:10px;left:10px;z-index:1001;background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:10px;cursor:pointer;box-shadow:0 2px 8px #00000026}.mobile-menu-btn:hover{background:var(--primary-hover)}@media(max-width:1024px){.app-parent{flex-direction:column}}@media(max-width:768px){.app-header{padding:0 16px;height:50px}.app-header h1{font-size:16px}.user-info{font-size:12px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.app-main{padding-top:50px}.app-parent{flex-direction:column}}.schema-modal{width:800px;max-width:95vw}.schema-section{margin-bottom:20px}.schema-section:last-child{margin-bottom:0}.section-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.schema-prompt{margin:0;padding:12px 14px;background:var(--bg-secondary);border-radius:8px;font-size:.9rem;color:var(--text-primary);line-height:1.5;border-left:3px solid var(--primary-color)}.schema-prompt.no-prompt{font-size:.8rem;color:var(--text-muted);font-style:italic;border-left-color:var(--border-color)}.schema-table{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.schema-table-header{display:grid;grid-template-columns:180px 1fr 100px;gap:16px;padding:10px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.schema-table-body{max-height:400px;overflow-y:auto}.schema-table-row{display:grid;grid-template-columns:180px 1fr 100px;gap:16px;padding:12px 14px;border-bottom:1px solid var(--border-color);align-items:center;transition:background .15s ease}.schema-table-row:last-child{border-bottom:none}.schema-table-row:hover{background:var(--bg-hover)}.col-field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-name{font-weight:600;color:var(--text-primary);font-size:.9rem;word-break:break-word}.field-key{font-family:Monaco,Menlo,monospace;font-size:.7rem;color:var(--text-muted)}.col-description{font-size:.85rem;min-width:0;color:var(--text-secondary);line-height:1.4}.col-description .no-desc{color:var(--text-muted)}.col-type{display:flex;align-items:center;gap:6px;font-family:Monaco,Menlo,monospace;font-size:.75rem;padding:4px 8px;border-radius:4px;justify-content:center}.type-string{background:#22c55e1a;color:#16a34a}.type-number{background:#3b82f61a;color:#2563eb}.type-boolean{background:#a855f71a;color:#9333ea}.type-array{background:#f973161a;color:#ea580c}.type-default{background:var(--bg-secondary);color:var(--text-muted)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-header .section-label{margin-bottom:0}.edit-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:500;color:var(--primary-color);background:transparent;border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.edit-btn:hover{background:var(--primary-color);color:#fff}.edit-input{width:100%;padding:8px 10px;font-size:.85rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-white);color:var(--text-primary);transition:border-color .15s ease;box-sizing:border-box}.edit-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f626}.edit-input::placeholder{color:var(--text-muted)}.edit-textarea{resize:vertical;min-height:60px;font-family:inherit;line-height:1.5}.field-title-input{font-weight:600}.description-input{font-size:.85rem}.btn-primary{display:flex;align-items:center;gap:6px;background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.schema-fields-list{display:flex;flex-direction:column;gap:8px}.schema-field-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.schema-field-card:hover{border-color:var(--primary-color)}.schema-field-card.expanded{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.field-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.field-card-header:hover{background:var(--bg-hover)}.field-card-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.field-card-title .field-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.field-card-title .field-key{font-size:.75rem;color:var(--text-muted);font-family:SF Mono,monospace}.field-card-title .edit-input{max-width:200px;min-width:150px;font-weight:600;background:#fff;border:2px solid var(--primary-color)!important;padding:6px 10px;font-size:.9rem;color:var(--text-primary)}.field-card-title .edit-input.readonly-style{background:transparent;border:2px solid transparent!important;cursor:text}.field-card-title .edit-input.readonly-style:hover{background:var(--bg-hover);border:2px solid var(--border-color)!important}.field-card-title .edit-input.readonly-style:focus{background:#fff;border:2px solid var(--primary-color)!important}.field-card-actions{display:flex;align-items:center;gap:10px}.field-delete-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;border:none!important;border-radius:6px!important;background:#ef444426!important;color:#ef4444!important;cursor:pointer!important;transition:all .15s ease!important;padding:0!important}.field-delete-btn svg{width:14px!important;height:14px!important;color:#ef4444!important;stroke:currentColor!important;stroke-width:2.5!important;display:block!important}.field-delete-btn:hover{background:#ef444440!important}.field-delete-btn:hover svg{color:#dc2626!important}.field-delete-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.field-type-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase}.field-type-badge.type-string{background:#22c55e26;color:#16a34a}.field-type-badge.type-number{background:#3b82f626;color:#2563eb}.field-type-badge.type-boolean{background:#a855f726;color:#9333ea}.field-type-badge.type-array{background:#f9731626;color:#ea580c}.field-type-badge.type-default{background:var(--bg-secondary);color:var(--text-secondary)}.field-card-details{padding:14px;border-top:1px solid var(--border-color);background:var(--bg-white);display:flex;flex-direction:column;gap:12px}.field-detail-row{display:flex;flex-direction:column;gap:4px}.field-detail-row label{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.field-detail-row span{font-size:.85rem;color:var(--text-primary);line-height:1.4}.field-detail-row .no-value{color:var(--text-muted);font-style:italic}.field-detail-row .example-value{padding:10px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--primary-color);max-height:100px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.field-detail-row .rules-value{padding:10px 12px;background:#a855f714;border-radius:6px;font-size:.85rem;color:var(--text-primary);border-left:3px solid #9333ea;white-space:pre-wrap}@media(max-width:768px){.schema-modal{width:95%;max-width:95vw;max-height:90vh}.schema-table-header,.schema-table-row{grid-template-columns:1fr;gap:8px;padding:12px}.schema-table-header{display:none}.schema-table-row{display:flex;flex-direction:column;align-items:flex-start}.col-field{width:100%}.col-description{width:100%;font-size:.8rem}.col-type{align-self:flex-start}.field-name{font-size:.85rem}.schema-prompt{font-size:.85rem;padding:10px 12px}.field-detail-row{flex-direction:column;gap:6px}.field-detail-row .label{width:100%}}@media(max-width:480px){.schema-table-row{padding:10px}.col-type .type-badge{font-size:.65rem;padding:3px 8px}.field-detail-row .example-value,.field-detail-row .rules-value{padding:8px 10px;font-size:.8rem}}.batch-viewer-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000}.batch-viewer-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:6px;box-shadow:0 20px 60px #0000004d;z-index:1001;width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.batch-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:#f8f9fa}.batch-viewer-title{display:flex;align-items:center;gap:10px}.batch-viewer-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.batch-viewer-close{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-muted);border-radius:6px;transition:all .15s}.batch-viewer-close:hover{background:#eee;color:var(--text-primary)}.batch-viewer-meta{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#f8f9fa;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.meta-item.schema-badge{background:var(--accent-color);color:#fff;padding:4px 10px;border-radius:6px;font-size:12px}.batch-viewer-prompt{padding:12px 20px;background:#fffef0;border-bottom:1px solid #f0e68c;font-size:13px;color:var(--text-secondary)}.batch-viewer-prompt strong{color:var(--text-primary)}.batch-viewer-content{flex:1;overflow:auto;padding:20px;min-height:200px}.results-table-container{overflow-x:auto}.results-table{width:100%;border-collapse:collapse;font-size:13px}.results-table th,.results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}.results-table th{background:#f8f9fa;font-weight:600;color:var(--text-primary);position:sticky;top:0;z-index:1}.results-table tr:hover{background:#f8f9fa}.results-table .filename-cell{font-weight:500;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-table td{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-table .error-row{background:#fff5f5}.no-results{text-align:center;padding:40px;color:var(--text-muted);font-style:italic}.batch-viewer-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);background:#f8f9fa;justify-content:flex-end}.download-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.download-btn.excel{background:#1d6f42;color:#fff}.download-btn.excel:hover{background:#155c35}.download-btn.json{background:var(--accent-color);color:#fff}.download-btn.json:hover{background:var(--primary-hover)}@media(max-width:768px){.batch-viewer-modal{width:95%;max-height:90vh}.batch-viewer-footer{flex-direction:column}.download-btn{justify-content:center}}#root,.app-page{width:100%;min-height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}
