*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#35aee3,#347290);padding:2rem}.login-container{background:#fff;border-radius:12px;padding:3rem;max-width:500px;width:100%;text-align:center;box-shadow:0 10px 40px #3472904d;border-top:4px solid #4bb754}.login-logo{width:200px;height:auto;margin-bottom:2rem}.login-container h1{font-size:1.75rem;margin-bottom:1rem;color:#347290;font-weight:700}.login-description{font-size:1rem;color:#5a7a8a;margin-bottom:2rem;line-height:1.5}.login-button{background-color:#347290;color:#fff;border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color .2s ease;width:100%;max-width:300px}.login-button:hover{background-color:#35aee3}.login-button:active{background-color:#2a5a73}.user-profile{display:flex;align-items:center;gap:1rem;padding:.5rem}.user-email{font-size:.875rem;color:#333;font-weight:500}.user-profile-loading{font-size:.875rem;color:#666}.logout-button{padding:.5rem 1rem;background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.875rem;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:#f5f5f5;border-color:#999}.logout-button:active{background-color:#e5e5e5}:root{--primary-color: #347290;--primary-hover: #35aee3;--secondary-color: #e58838;--secondary-accent: #e58838;--danger-color: #d13438;--warning-color: #e58838;--success-color: #4bb754;--border-color: #e1e1e1;--background-light: #f8fafc;--text-primary: #333;--text-secondary: #347290;--shadow: 0 2px 4px rgba(52, 114, 144, .1)}*{box-sizing:border-box;margin:0;padding:0}body{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;color:var(--text-primary);background:var(--background-light)}.app-logo{height:50px;width:auto}.auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.page-header{padding:2rem;background:#fff;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.page-header .header-content{display:flex;align-items:center;gap:1.5rem}.page-header h1{font-size:1.75rem;margin-bottom:.5rem}.page-header p{color:var(--text-secondary)}.upload-page{max-width:1200px;margin:0 auto;padding:2rem}.case-name-section{margin:2rem 0;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid var(--border-color)}.case-name-label{display:block;font-weight:600;margin-bottom:.5rem;font-size:1rem}.required-indicator{color:var(--danger-color);margin-left:.25rem}.case-name-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s}.case-name-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3472901a}.case-name-input::placeholder{color:var(--text-secondary);opacity:.7}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}.upload-zone{margin-bottom:1rem}.upload-label{display:block;font-weight:600;margin-bottom:.5rem}.required{color:var(--danger-color)}.upload-count{color:var(--success-color);font-weight:400}.dropzone{border:2px dashed var(--border-color);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.dropzone:hover,.dropzone.active{border-color:var(--primary-color);background:#3472900d}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{color:var(--primary-color)}.file-info{font-size:.875rem;color:var(--text-secondary)}.document-list{margin:2rem 0;padding:1.5rem;background:var(--background-light);border-radius:8px}.document-list h3{margin-bottom:1rem}.document-list ul{list-style:none}.document-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border-radius:4px;margin-bottom:.5rem}.document-type{padding:.25rem .75rem;background:var(--primary-color);color:#fff;border-radius:4px;font-size:.875rem;text-transform:capitalize;min-width:100px;text-align:center}.document-name{flex:1}.upload-actions{display:flex;justify-content:center;margin-top:2rem}.review-page{height:100vh;display:flex;flex-direction:column}.review-page.loading,.review-page.error{justify-content:center;align-items:center;padding:2rem;text-align:center}.review-layout{flex:1;display:grid;grid-template-columns:60% 40%;overflow:hidden}.pdf-panel,.fields-panel{overflow:auto;border-right:1px solid var(--border-color)}.fields-panel{border-right:none;padding:1rem}.pdf-viewer{display:flex;flex-direction:column;height:100%;background:#525252}.pdf-controls{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#2d2d2d;color:#fff}.document-nav{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding-bottom:.5rem;border-bottom:1px solid #555}.document-nav-label{font-weight:600;color:#ddd;margin-right:.5rem}.document-nav-btn{padding:.5rem 1rem;background:#404040;color:#fff;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.document-nav-btn:hover{background:#505050;border-color:#666}.document-nav-btn.active{background:var(--primary-color);border-color:var(--primary-hover);font-weight:600}.page-controls,.zoom-controls{display:flex;gap:.5rem;align-items:center}.pdf-controls>div:not(.document-nav){display:flex;justify-content:space-between;width:100%}.page-indicator,.zoom-level{padding:0 1rem}.pdf-canvas-container{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:2rem}.pdf-canvas-container canvas{box-shadow:0 0 10px #00000080;display:block;max-width:none;max-height:none;width:auto;height:auto}.field-editor{padding:1rem;display:flex;flex-direction:column;height:100%}.field-editor h2{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color);flex-shrink:0}.fields-list{flex:1;overflow-y:auto;padding-right:.5rem}.fields-list::-webkit-scrollbar{width:8px}.fields-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.fields-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.fields-list::-webkit-scrollbar-thumb:hover{background:#555}.field-item{margin-bottom:1rem;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background:#fff;transition:all .2s}.field-item:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--primary-color)}.field-item.has-location{cursor:pointer;border-left:3px solid #ff4444}.field-item.has-location:hover{border-color:#f44;background:#ff444405;box-shadow:0 2px 12px #ff444426}.field-item.low-confidence{background:#fff3cd;border-color:var(--warning-color)}.field-item.edited{background:#d4edda;border-color:var(--success-color)}.field-label{display:flex;align-items:center;gap:.5rem;font-weight:500;margin-bottom:.5rem}.confidence-warning{color:var(--warning-color)}.edited-badge{padding:.125rem .5rem;background:var(--success-color);color:#fff;border-radius:4px;font-size:.75rem}.field-input,.field-textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.field-input:focus,.field-textarea:focus{outline:none;border-color:#f44;box-shadow:0 0 0 3px #ff44441a}.field-textarea{resize:vertical}.confidence-score{font-size:.75rem;color:var(--text-secondary);font-weight:400;white-space:nowrap}.placeholder-text{color:var(--text-secondary);font-style:italic}button{cursor:pointer;font-family:inherit}.btn-primary{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.remove-btn{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:4px;font-size:.875rem}.remove-btn:hover{background:#c02228}.pdf-controls button{padding:.5rem 1rem;background:#404040;color:#fff;border:1px solid #555;border-radius:4px}.pdf-controls button:hover:not(:disabled){background:#505050}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.array-field-section{margin-bottom:2rem;padding:1rem;border-radius:8px;border:2px solid var(--border-color);background:#fff;transition:all .2s}.array-field-section.low-confidence{background:#fff3cd;border-color:var(--warning-color)}.array-field-section.edited{background:#d4edda;border-color:var(--success-color)}.array-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.array-field-header h3{margin:0;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.array-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.array-empty{text-align:center;color:var(--text-secondary);font-style:italic;padding:1rem}.array-item{padding:1rem;border:1px solid var(--border-color);border-radius:6px;background:#f9f9f9;transition:all .2s}.array-item.low-confidence{background:#fffbf0;border-color:var(--warning-color)}.array-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.array-item-number{font-weight:600;color:var(--primary-color);font-size:.875rem}.btn-remove{width:28px;height:28px;padding:0;background:var(--danger-color);color:#fff;border:none;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:#c02228;transform:scale(1.1)}.btn-add-item{width:100%;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-item:hover{background:var(--primary-hover)}.amendment-fields,.landlord-fields,.guaranty-fields{display:flex;flex-direction:column;gap:.75rem}.field-group{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:#fff;transition:all .2s}.field-group.has-location{cursor:pointer;border-left:3px solid #ff4444}.field-group.has-location:hover{border-color:#f44;background:#ff444405;box-shadow:0 2px 12px #ff444426;transform:translateY(-1px)}.field-group.low-confidence{background:#fff3cd;border-color:var(--warning-color)}.field-group label{font-weight:500;font-size:.875rem;color:var(--text-primary);display:flex;align-items:center;flex-wrap:wrap}.field-group input,.field-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.field-group input:focus,.field-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3472901a}.field-group textarea{resize:vertical;min-height:60px}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f5f5f5;border-color:var(--text-secondary)}.case-finder{position:relative}.status-badge{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-badge.submitted{background-color:#d4edda;color:#155724}.status-badge.extracted{background-color:#fff3cd;color:#856404}.case-finder-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.case-finder-button:hover{background:#f5f5f5;border-color:var(--primary-color)}.case-finder-icon{font-size:1.1rem}.case-finder-label{font-family:inherit}.case-finder-overlay{position:fixed;inset:0;background:transparent;z-index:999}.case-finder-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:400px;max-height:500px;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.case-finder-header{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.case-finder-search{width:100%;padding:.625rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .2s}.case-finder-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3472901a}.case-finder-filters{display:flex;gap:.5rem}.filter-btn{flex:1;padding:.5rem .75rem;background:#fff;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f5f5f5;border-color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.case-finder-list{flex:1;overflow-y:auto;padding:.5rem 0}.case-finder-item{width:100%;padding:1rem;background:#fff;border:none;text-align:left;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border-color)}.case-finder-item:last-child{border-bottom:none}.case-finder-item:hover{background:#3472900d}.case-finder-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.case-finder-item-name{font-weight:600;color:var(--text-primary);font-size:.95rem;flex:1;min-width:0;word-wrap:break-word}.case-finder-item-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.case-finder-item-badge{padding:.25rem .5rem;background:var(--primary-color);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.case-finder-item-meta{display:flex;flex-direction:column;gap:.25rem}.case-finder-item-date{font-size:.8rem;color:var(--text-secondary)}.case-finder-footer{padding:.75rem 1rem;border-top:1px solid var(--border-color);background:#f9f9f9;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.case-finder-count{font-size:.85rem;color:var(--text-secondary);font-weight:500}.case-finder-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.case-finder-error{padding:2rem 1rem;text-align:center;color:var(--danger-color);font-size:.9rem}.header-actions{display:flex;align-items:center;gap:1rem}
