.file-upload-container{width:100%}.file-upload-dropzone{border:2px dashed #d0d0d0;border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f5f5f5}.file-upload-dropzone:hover{border-color:#000;background-color:#e5e5e5}.file-upload-dropzone.dragging{border-color:#000;background-color:#d0d0d0;transform:scale(1.02)}.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-upload-icon{font-size:3rem;margin-bottom:.5rem}.file-upload-text{font-size:1.125rem;font-weight:600;color:#000;margin:0}.file-upload-subtext{font-size:.875rem;color:#666;margin:0}.file-upload-info{font-size:.75rem;color:#999;margin:.5rem 0 0}.file-input-hidden{display:none}.file-upload-error{margin-top:1rem;padding:.75rem;background-color:#fed7d7;color:#c53030;border-radius:4px;font-size:.875rem}.document-options{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;border:1px solid #e5e5e5}.options-section{display:flex;flex-direction:column;gap:.75rem}.options-label{font-size:.875rem;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.05em}.options-radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid #e5e5e5;border-radius:6px;cursor:pointer;transition:all .2s ease}.radio-option:hover{background-color:#f5f5f5;border-color:#000}.radio-option input[type=radio]{margin-top:.125rem;cursor:pointer}.radio-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.radio-label{font-weight:500;color:#000}.radio-description{font-size:.875rem;color:#666}.select-wrapper{display:flex;flex-direction:column;gap:.5rem}.language-select{padding:.625rem .875rem;border:1px solid #e5e5e5;border-radius:6px;font-size:.875rem;background-color:#fff;color:#000;cursor:pointer;transition:border-color .2s ease}.language-select:hover{border-color:#000}.language-select:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.language-input{padding:.625rem .875rem;border:1px solid #e5e5e5;border-radius:6px;font-size:.875rem;transition:border-color .2s ease}.language-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.options-hint{font-size:.75rem;color:#666;margin:0}@media (min-width: 768px){.options-radio-group{display:grid;grid-template-columns:repeat(2,1fr)}}.structured-data-section{margin-bottom:2.5rem;page-break-inside:avoid}.structured-data-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.structured-data-heading{display:flex;align-items:center;gap:.5rem;margin:0}.structured-data-icon{font-size:1.25rem}.structured-data-actions{display:flex;align-items:center;gap:.5rem}.structured-view-toggle{padding:.375rem .75rem;background-color:#1a1a1a;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.structured-view-toggle:hover{background-color:#333}.structured-json-view{padding:1rem;background-color:#1a202c;color:#e2e8f0;border-radius:6px;font-size:.75rem;font-family:Courier New,monospace;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin:0;border:1px solid #e0e0e0}.structured-data-tree{border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;padding:1rem}.tree-node{margin-bottom:.5rem}.tree-node:last-child{margin-bottom:0}.tree-node-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-weight:600;color:#1a1a1a}.tree-node-header.clickable{cursor:pointer;transition:background-color .15s ease}.tree-node-header.clickable:hover{background-color:#e8e8e8}.tree-toggle{font-size:.7rem;color:#666;width:1rem;display:inline-block}.tree-node-label{flex:1}.tree-node-children{margin-left:1.5rem;padding-left:1rem;border-left:2px solid #d0d0d0;margin-top:.5rem}.tree-leaf-group{padding:.5rem .75rem;margin-bottom:.5rem;background:#fff;border-radius:4px;border:1px solid #eee}.tree-leaf-group.nested{margin-left:.5rem;background:#f8f8f8}.tree-leaf-group.service-row{margin-bottom:.75rem}.tree-leaf{display:flex;gap:.75rem;padding:.25rem 0;font-size:.9rem}.tree-leaf.highlight .tree-leaf-value{font-weight:700;font-size:1.05em}.tree-leaf-label{min-width:140px;flex-shrink:0;color:#555;font-weight:500}.tree-leaf-value{color:#1a1a1a;flex:1}.structured-item{margin-bottom:1rem;padding:.75rem;background:#fff;border:1px solid #e5e5e5;border-radius:6px}.structured-item:last-child{margin-bottom:0}.form100-item{border-left:3px solid #2563eb}.invoice-item{border-left:3px solid #059669}.receipt-item{border-left:3px solid #d97706}.product-receipt-item{border-left:3px solid #7c3aed}@media (max-width: 768px){.tree-node-children{margin-left:1rem;padding-left:.75rem}.tree-leaf{flex-direction:column;gap:.25rem}.tree-leaf-label{min-width:auto}}.results-display{display:flex;flex-direction:column;gap:2rem}.document-view{background-color:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 2px 8px #0000001a;padding:3rem;max-width:900px;margin:0 auto;font-family:Times New Roman,serif;line-height:1.6;color:#000}.document-header{border-bottom:2px solid #000000;padding-bottom:1.5rem;margin-bottom:2rem}.document-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.document-title h1{font-size:1.75rem;font-weight:700;color:#000;margin:0;font-family:Times New Roman,serif}.stamp-indicator{font-size:.875rem;font-weight:600;color:#000;padding:.25rem .75rem;border:1px solid #000000;border-radius:4px}.document-meta{display:flex;gap:2rem;font-size:.875rem;color:#666}.meta-item{display:flex;gap:.5rem}.meta-item strong{color:#000;font-weight:600}.document-section{margin-bottom:2.5rem;page-break-inside:avoid}.section-heading{font-size:1.25rem;font-weight:700;color:#000;margin:0 0 1.25rem;padding-bottom:.5rem;border-bottom:1px solid #d0d0d0;font-family:Times New Roman,serif}.document-content{display:flex;flex-direction:column;gap:1rem}.document-field{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px dotted #e5e5e5}.document-field.full-width{flex-direction:column;gap:.5rem}.document-field.highlight{background-color:#f5f5f5;padding:1rem;border:1px solid #d0d0d0;border-radius:4px;margin:.5rem 0}.field-label{font-weight:600;color:#000;min-width:150px;flex-shrink:0}.field-value{color:#000;flex:1}.prescription-drug{font-weight:600;font-size:1.05em}.billing-total{font-size:1.25rem;font-weight:700}.lab-results-list{margin:.5rem 0 0;padding-left:1.5rem;list-style-type:disc}.lab-result-item{margin-bottom:.5rem;color:#000}.additional-data-array{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.additional-data-array-item{padding:1rem;background-color:#f8f8f8;border:1px solid #e5e5e5;border-radius:4px}.additional-data-object-wrapper{padding:1rem;background-color:#f8f8f8;border:1px solid #e5e5e5;border-radius:4px;margin-top:.5rem}.additional-data-object{display:flex;flex-direction:column;gap:.5rem}.additional-data-object-field{display:flex;gap:.75rem;padding:.25rem 0}.additional-data-object-field .field-label{min-width:140px}.form-url-link{color:#000;text-decoration:underline}.form-url-link:hover{color:#333}.prescriptions-document{display:flex;flex-direction:column;gap:1.5rem}.prescription-document-item{border:1px solid #d0d0d0;border-radius:4px;padding:1.5rem;background-color:#fafafa}.prescription-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #d0d0d0}.prescription-header h3{font-size:1rem;font-weight:600;color:#000;margin:0}.result-section{background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5;cursor:pointer;transition:background-color .2s ease}.section-header:hover{background-color:#e5e5e5}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#000;margin:0}.section-icon{font-size:1.25rem}.section-toggle{font-size:1.5rem;font-weight:300;color:#666;-webkit-user-select:none;user-select:none}.section-content{padding:1.5rem}.ocr-page{margin-bottom:1.5rem}.ocr-page:last-child{margin-bottom:0}.ocr-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ocr-page-header h4{font-size:.875rem;font-weight:600;color:#000;margin:0}.copy-button{padding:.375rem .75rem;background-color:#000;color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background-color .2s ease}.copy-button:hover{background-color:#333}.ocr-text{padding:1rem;background-color:#1a202c;color:#e2e8f0;border-radius:6px;font-size:.75rem;font-family:Courier New,monospace;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin:0}@media (max-width: 768px){.document-view{padding:1.5rem}.document-title{flex-direction:column;align-items:flex-start;gap:1rem}.document-meta{flex-direction:column;gap:.5rem}.document-field{flex-direction:column;gap:.25rem}.field-label{min-width:auto}}@media print{.document-view{box-shadow:none;border:none;padding:0}.result-section{page-break-before:always}}.document-history{background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-title{font-size:1rem;font-weight:600;color:#000;margin:0}.clear-button{padding:.375rem .75rem;background-color:#fff;color:#000;border:1px solid #000000;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-button:hover{background-color:#000;color:#fff}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{padding:.75rem;background-color:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;transition:background-color .2s ease}.history-item:hover{background-color:#e5e5e5}.history-item-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.history-item-info{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;flex:1}.history-item-type{font-size:.75rem}.history-item-id{font-size:.75rem;font-family:Courier New,monospace;color:#666}.history-item-date{font-size:.75rem;color:#666}.load-button{padding:.375rem .75rem;background-color:#000;color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.load-button:hover:not(:disabled){background-color:#333}.load-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.history-item-content{flex-direction:column;align-items:flex-start}.load-button{width:100%}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff;padding:2rem}.login-card{width:100%;max-width:400px;background-color:#fff;border:2px solid #000000;border-radius:8px;padding:2.5rem;box-shadow:0 4px 12px #0000001a}.login-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem}.login-logo{height:60px;width:auto}.login-title{font-size:1.5rem;font-weight:700;color:#000;margin:0;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.05em}.form-input{padding:.75rem;border:2px solid #e5e5e5;border-radius:6px;font-size:1rem;color:#000;background-color:#fff;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#000}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input::placeholder{color:#999}.login-error{padding:.75rem;background-color:#fed7d7;color:#c53030;border-radius:4px;font-size:.875rem;text-align:center}.login-button{padding:.75rem 2rem;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background-color:#333}.login-button:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#000;color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0003}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.logo{height:40px;width:auto;display:block}.logout-button{padding:.5rem 1rem;background-color:#fff;color:#000;border:1px solid #ffffff;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:#333;color:#fff;border-color:#333}.app-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.api-status{display:flex;align-items:center}.status-indicator{font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:4px;background-color:#ffffff1a}.status-indicator.online{background-color:#48bb7833}.status-indicator.offline{background-color:#f5656533}.status-indicator.checking{background-color:#edf2f733}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.upload-section{margin-bottom:2rem}.section-card{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e5e5}.section-title{font-size:1.25rem;font-weight:600;color:#000;margin:0 0 1.5rem}.file-preview{margin-top:1.5rem;padding:1rem;background-color:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px}.file-preview-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.file-name{font-weight:500;color:#000;flex:1;min-width:200px}.file-size{font-size:.875rem;color:#666}.remove-file-button{padding:.25rem .5rem;background-color:#000;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.remove-file-button:hover{background-color:#333;color:#fff}.upload-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.upload-button{padding:.75rem 2rem;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;flex:1;min-width:200px}.upload-button:hover:not(:disabled){background-color:#333}.upload-button:disabled{opacity:.6;cursor:not-allowed}.reset-button{padding:.75rem 2rem;background-color:#fff;color:#000;border:2px solid #000000;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reset-button:hover:not(:disabled){background-color:#000;color:#fff}.reset-button:disabled{opacity:.6;cursor:not-allowed}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.loading-spinner{width:48px;height:48px;border:4px solid #e5e5e5;border-top-color:#000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:1.5rem;font-size:1.125rem;font-weight:600;color:#000}.loading-hint{margin-top:.5rem;font-size:.875rem;color:#666}.error-section{margin-bottom:2rem}.error-card{background-color:#fed7d7;border:1px solid #fc8181;border-radius:8px;padding:1.5rem}.error-title{font-size:1.125rem;font-weight:600;color:#c53030;margin:0 0 .75rem}.error-message{color:#742a2a;margin:0 0 1rem;line-height:1.6}.error-dismiss{padding:.5rem 1rem;background-color:#c53030;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.error-dismiss:hover{background-color:#9b2c2c}.results-section{margin-bottom:2rem}.results-actions{margin-bottom:1.5rem;display:flex;justify-content:flex-end}.new-document-button{padding:.75rem 2rem;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.new-document-button:hover{background-color:#333}.app-footer{background-color:#000;color:#fff;padding:1rem 2rem;text-align:center;font-size:.875rem}.app-footer p{margin:0;color:#fff}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;align-items:flex-start}.app-main{padding:1rem}.section-card{padding:1.5rem}.upload-actions{flex-direction:column}.upload-button,.reset-button{width:100%}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;margin:0}
