*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:#1a1a2e;color:#fff}.navbar-brand{font-size:1.25rem;font-weight:700}.navbar-links{display:flex;gap:1rem;flex:1}.navbar-links a{color:#aaa;text-decoration:none;padding:.25rem .5rem;border-radius:4px}.navbar-links a.active,.navbar-links a:hover{color:#fff;background:#ffffff1a}.navbar-user{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.main-content{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-actions{display:flex;gap:.5rem}.btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.875rem}.btn:hover{background:#f0f0f0}.btn-primary{background:#4361ee;color:#fff;border-color:#4361ee}.btn-primary:hover{background:#3a56d4}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:#e63946;color:#fff;border-color:#e63946}.btn-danger:hover{background:#d62839}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th{text-align:left;padding:.75rem 1rem;background:#f8f9fa;font-weight:600;font-size:.8rem;text-transform:uppercase;color:#666}.data-table td{padding:.75rem 1rem;border-top:1px solid #eee}.data-table tbody tr:hover{background:#f8f9fa}.status{padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-pending{background:#fff3cd;color:#856404}.status-processing{background:#cce5ff;color:#004085}.status-completed{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:600;font-size:.875rem}.form-group textarea,.form-group input[type=text]{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.radio-group{display:flex;gap:1.5rem}.radio-group label{display:flex;align-items:center;gap:.25rem;font-weight:400}.error-message{color:#e63946;padding:.5rem;background:#f8d7da;border-radius:6px;margin-bottom:1rem}.upload-form{max-width:600px;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.drop-zone{border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;margin-bottom:1rem;transition:all .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:#4361ee;background:#f0f4ff}.drop-zone.has-file{border-color:#28a745;background:#f0fff4}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-card{background:#fff;padding:1.25rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.detail-card.full-width{grid-column:1 / -1}.detail-card h3{margin-bottom:.75rem;font-size:1rem}.detail-card dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.detail-card dt{font-weight:600;font-size:.8rem;color:#666}.detail-card dd{font-size:.875rem}.ocr-text{white-space:pre-wrap;font-size:.8rem;background:#f8f9fa;padding:1rem;border-radius:4px;max-height:400px;overflow-y:auto}.chat-page{padding:0!important;height:calc(100vh - 52px)}.chat-layout{display:flex;height:100%}.chat-sidebar{width:280px;border-right:1px solid #eee;background:#fff;display:flex;flex-direction:column}.chat-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #eee}.chat-sidebar-header h3{font-size:.95rem;margin:0}.chat-conv-list{flex:1;overflow-y:auto}.chat-conv-item{padding:.75rem;border-bottom:1px solid #f0f0f0;cursor:pointer;position:relative}.chat-conv-item:hover{background:#f8f9fa}.chat-conv-item.active{background:#e8f0fe;border-left:3px solid #4361ee}.chat-conv-title{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:1.5rem}.chat-conv-meta{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.7rem;color:#888}.chat-conv-scope{background:#f0f0f0;padding:.1rem .3rem;border-radius:4px}.chat-conv-delete{position:absolute;top:.5rem;right:.5rem;background:none;border:none;cursor:pointer;color:#ccc;font-size:1.1rem;line-height:1}.chat-conv-delete:hover{color:#e63946}.chat-empty-sidebar{text-align:center;color:#999;padding:2rem;font-size:.85rem}.chat-new-form{padding:.75rem;border-bottom:1px solid #eee;background:#fafafa}.chat-new-form input,.chat-new-form select{width:100%;padding:.4rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem;margin-bottom:.5rem}.chat-new-form .form-group{margin-bottom:.5rem}.chat-new-form .form-group label{font-size:.75rem}.doc-select-list{max-height:150px;overflow-y:auto;border:1px solid #eee;border-radius:4px;padding:.25rem}.doc-select-item{display:flex;align-items:center;gap:.35rem;padding:.2rem .35rem;font-size:.8rem;font-weight:400;cursor:pointer}.doc-select-item:hover{background:#f0f4ff}.text-muted{color:#999;font-size:.8rem}.chat-panel{flex:1;display:flex;flex-direction:column;background:#fff}.chat-panel-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #eee}.chat-panel-header h3{margin:0;font-size:1rem}.chat-scope-badge{background:#e8f0fe;color:#1a56db;padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.chat-no-conv{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#666;gap:.75rem}.chat-no-conv h2{color:#1a1a2e}.chat-messages{flex:1;overflow-y:auto;padding:1rem}.chat-empty{text-align:center;color:#999;padding:2rem}.chat-message{margin-bottom:.75rem;display:flex}.chat-user{justify-content:flex-end}.chat-bubble{max-width:70%;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;line-height:1.4;white-space:pre-wrap}.chat-user .chat-bubble{background:#4361ee;color:#fff;border-bottom-right-radius:4px}.chat-assistant .chat-bubble{background:#f0f0f0;border-bottom-left-radius:4px}.chat-input-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #eee}.chat-input-form input{flex:1;padding:.5rem 1rem;border:1px solid #ddd;border-radius:20px;font-size:.875rem}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.login-page h1{font-size:2.5rem}.login-page p{color:#666;margin-bottom:1rem}.loading,.empty-state{text-align:center;padding:3rem;color:#666}.landing{min-height:100vh;background:#fff}.landing-header{border-bottom:1px solid #eee}.landing-nav{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{font-size:1.5rem;font-weight:700;color:#1a1a2e}.landing-nav-links{display:flex;gap:.75rem}.hero{text-align:center;padding:5rem 1.5rem 4rem;max-width:800px;margin:0 auto}.hero h1{font-size:3rem;line-height:1.1;color:#1a1a2e;margin-bottom:1.5rem}.hero-subtitle{font-size:1.25rem;color:#555;line-height:1.6;margin-bottom:2rem}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.hero-price{color:#888;font-size:.9rem}.btn-lg{padding:.75rem 2rem;font-size:1rem}.features{padding:4rem 1.5rem;background:#f8f9fa}.features h2{text-align:center;margin-bottom:2.5rem;font-size:2rem;color:#1a1a2e}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000000f}.feature-card h3{margin-bottom:.5rem;color:#1a1a2e}.feature-card p{color:#666;line-height:1.5;font-size:.95rem}.pricing{padding:4rem 1.5rem;text-align:center}.pricing h2{font-size:2rem;margin-bottom:.5rem;color:#1a1a2e}.pricing-subtitle{color:#666;margin-bottom:2rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto}.pricing-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:2rem;text-align:center;position:relative}.pricing-card.featured{border-color:#4361ee;box-shadow:0 4px 20px #4361ee26}.pricing-card.current{border-color:#28a745}.pricing-card h3{font-size:1.25rem;margin-bottom:.5rem}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#4361ee;color:#fff;padding:.2rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.pricing-card.current .pricing-badge{background:#28a745}.pricing-amount{font-size:2.5rem;font-weight:700;color:#1a1a2e}.pricing-amount span{font-size:1rem;color:#888;font-weight:400}.pricing-yearly{font-size:.8rem;color:#888;margin-bottom:.5rem}.pricing-features{list-style:none;text-align:left;margin:1rem 0}.pricing-features li{padding:.35rem 0;color:#444;font-size:.9rem}.pricing-features li:before{content:"✓";color:#4361ee;margin-right:.5rem;font-weight:700}.pricing-features.compact{margin:1rem 0}.pricing-features.compact li{padding:.2rem 0;font-size:.85rem}.period-toggle{display:flex;justify-content:center;gap:0;margin-bottom:1.5rem}.period-btn{padding:.5rem 1.25rem;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:.85rem}.period-btn:first-child{border-radius:6px 0 0 6px}.period-btn:last-child{border-radius:0 6px 6px 0}.period-btn.active{background:#4361ee;color:#fff;border-color:#4361ee}.tier-section{margin-top:2rem}.tier-section h2{margin-bottom:1rem}.usage-dashboard{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.usage-dashboard h2{margin-bottom:.25rem}.usage-period{color:#666;font-size:.85rem;margin-bottom:1rem}.usage-grid{display:grid;gap:.75rem}.usage-label{font-size:.8rem;font-weight:600;text-transform:capitalize;margin-bottom:.2rem}.usage-bar-container{height:8px;background:#eee;border-radius:4px;overflow:hidden}.usage-bar{height:100%;background:#4361ee;border-radius:4px;transition:width .3s}.usage-bar.warning{background:#ffc107}.usage-bar.danger{background:#e63946}.usage-text{font-size:.75rem;color:#666;margin-top:.1rem}.usage-warn{color:#e63946;font-weight:600}.landing-footer{text-align:center;padding:2rem;color:#888;border-top:1px solid #eee}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:2rem}.register-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 2px 12px #00000014;max-width:500px;width:100%}.register-card h1{margin-bottom:.25rem}.register-subtitle{color:#666;margin-bottom:1.5rem}.register-footer{text-align:center;margin-top:1.5rem;color:#666;font-size:.9rem}.register-footer a{color:#4361ee}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.billing-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:500px}.billing-card h2{margin-bottom:1rem}.billing-status{display:inline-block;padding:.3rem .75rem;border-radius:20px;font-weight:600;font-size:.85rem;margin-bottom:1rem}.billing-status.active{background:#d4edda;color:#155724}.billing-status.inactive{background:#f8d7da;color:#721c24}.success-message{padding:.75rem 1rem;background:#d4edda;color:#155724;border-radius:6px;margin-bottom:1rem}.create-form{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.create-form h3{margin-bottom:1rem}.permission-toggles{display:flex;gap:1.5rem}.toggle-label{display:flex;align-items:center;gap:.35rem;font-weight:400;font-size:.875rem;cursor:pointer}.permission-badges{display:flex;gap:.35rem;flex-wrap:wrap}.badge{display:inline-block;padding:.15rem .45rem;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge-view{background:#cce5ff;color:#004085}.badge-download{background:#d4edda;color:#155724}.badge-upload{background:#fff3cd;color:#856404}.shared-view{min-height:100vh;background:#f5f5f5;display:flex;align-items:flex-start;justify-content:center;padding:2rem}.shared-container{max-width:800px;width:100%}.shared-header{text-align:center;margin-bottom:2rem}.shared-header h1{font-size:1.75rem;color:#1a1a2e}.shared-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.shared-card h2{margin-bottom:.75rem;font-size:1.25rem}.shared-card h3{margin-bottom:.75rem;font-size:1rem}.shared-meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.shared-meta dt{font-weight:600;font-size:.8rem;color:#666}.shared-meta dd,.shared-content .data-table{font-size:.875rem}.verify-code-input{font-size:1.5rem!important;letter-spacing:.5rem;text-align:center;max-width:250px;font-family:monospace}.subscription-gate{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:500px;margin:2rem auto}.subscription-gate h2{margin-bottom:.5rem}.subscription-gate p{color:#666}.form-group select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;background:#fff}@media(max-width:768px){.features-grid{grid-template-columns:1fr}.hero h1{font-size:2rem}.form-row{grid-template-columns:1fr}.shared-view{padding:1rem}}
