*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#2c3e50;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.app-header h1{font-size:1.5rem}.header-controls{display:flex;gap:1rem;align-items:center}.nav-btn,.logout-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;background:rgba(255,255,255,.2);color:#fff}.nav-btn:hover,.logout-btn:hover{background:rgba(255,255,255,.3)}.nav-btn.active{background:#3498db}.logout-btn{background:#e74c3c}.app-content{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-box{background:white;padding:2rem;border-radius:8px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{margin-bottom:.5rem;color:#2c3e50}.login-logo{width:120px;height:120px;margin:0 auto 1.5rem;display:block}.login-box h1{text-align:center}.login-subtitle{color:#036;font-size:.95rem;font-weight:600;margin-bottom:.5rem!important;text-align:center}.login-description{color:#7f8c8d;margin-bottom:1.5rem;text-align:center}.login-box form{display:flex;flex-direction:column;gap:1rem}.login-box input{padding:.75rem;border:1px solid #bdc3c7;border-radius:4px;font-size:1rem}.login-box button{padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.login-box button:hover{background:#2980b9}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ecf0f1;text-align:center}.beta-disclaimer{color:#e74c3c;font-size:.85rem;font-weight:600;margin-bottom:.5rem!important}.branding,.branding-text{color:#7f8c8d;font-size:.8rem;margin:0!important;line-height:1.5}.branding a,.branding-text a{color:#036;text-decoration:none;font-weight:600}.branding a:hover,.branding-text a:hover{text-decoration:underline}.branding-tagline{display:block;color:#7f8c8d;font-size:.75rem;font-style:italic}.scanner{display:flex;flex-direction:column;gap:1rem}.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.category-btn{padding:1rem;border:2px solid #bdc3c7;background:white;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.category-btn:hover{border-color:#3498db;background:#ecf0f1}.category-btn.active{border-color:#3498db;background:#3498db;color:#fff}.camera-section,.preview-section{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.video-feed,.preview-image{width:100%;max-width:500px;border-radius:4px;margin:1rem auto;display:block}.camera-controls,.preview-controls,.edit-controls{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.btn-large,.btn-capture,.btn-upload,.btn-cancel,.btn-delete,.btn-edit,.btn-save,.btn-page-delete{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.btn-large{padding:1.5rem 3rem;font-size:1.2rem;background:#3498db;color:#fff}.btn-large:hover{background:#2980b9}.btn-capture,.btn-upload,.btn-save{background:#27ae60;color:#fff}.btn-capture:hover,.btn-upload:hover,.btn-save:hover{background:#229954}.btn-cancel,.btn-edit{background:#95a5a6;color:#fff}.btn-cancel:hover,.btn-edit:hover{background:#7f8c8d}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.batch-section{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.batch-section h3{margin-bottom:1rem;color:#2c3e50}.batch-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:4px}.batch-page{position:relative;border:2px solid #bdc3c7;border-radius:4px;overflow:hidden;background:#ecf0f1}.batch-page img{width:100%;height:100px;object-fit:cover;display:block}.btn-page-delete{position:absolute;top:-8px;right:-8px;background:#e74c3c;color:#fff;width:32px;height:32px;padding:2px 0 0;border-radius:50%;font-size:18px;line-height:1;border:none;cursor:pointer}.btn-page-delete:hover{background:#c0392b}.batch-section-new-preview{background:#f8f9fa;padding:1rem;border-radius:4px;margin-bottom:1rem;border:2px dashed #bdc3c7}.batch-section-new-preview h4{margin-bottom:.5rem;color:#2c3e50;font-size:.9rem}.new-preview-image{width:100%;max-width:300px;border-radius:4px;margin-bottom:.75rem;display:block}.pdf-preview{width:100%;max-width:300px;height:200px;border:2px solid #bdc3c7;border-radius:4px;margin-bottom:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8f9fa}.pdf-icon{font-size:3rem;margin-bottom:.5rem}.pdf-name{font-size:.85rem;color:#7f8c8d;text-align:center;word-break:break-word;padding:0 .5rem}.new-preview-controls{display:flex;gap:.5rem;flex-wrap:wrap}.batch-controls{display:flex;flex-direction:column;gap:.75rem}.start-section{background:white;padding:3rem 1.5rem;border-radius:8px;text-align:center;display:flex;flex-direction:column;gap:1rem}.admin{display:flex;flex-direction:column;gap:2rem}.admin-section{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-section h2{margin-bottom:1rem;color:#2c3e50}.mappings-list,.uploads-list{display:flex;flex-direction:column;gap:1rem}.mapping-item,.upload-item{border:1px solid #ecf0f1;padding:1rem;border-radius:4px;background:#f8f9fa}.mapping-header{margin-bottom:.5rem}.mapping-view{display:flex;justify-content:space-between;align-items:center;gap:1rem}.mapping-view code{background:#ecf0f1;padding:.5rem;border-radius:4px;word-break:break-all;flex:1}.mapping-edit{display:flex;flex-direction:column;gap:.5rem}.mapping-edit input{padding:.5rem;border:1px solid #bdc3c7;border-radius:4px;font-family:monospace}.upload-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.upload-meta{display:flex;gap:1rem;font-size:.85rem;color:#7f8c8d}.upload-meta .status{padding:.25rem .5rem;border-radius:3px;font-weight:500}.upload-meta .status.completed{background:#d5f4e6;color:#27ae60}.upload-meta .status.processing{background:#fdebd0;color:#e67e22}.upload-meta .status.failed{background:#fadbd8;color:#e74c3c}.message,.error{padding:1rem;border-radius:4px;margin-top:1rem;font-weight:500}.message{background:#d5f4e6;color:#27ae60;border-left:4px solid #27ae60}.error{background:#fadbd8;color:#e74c3c;border-left:4px solid #e74c3c}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem}.header-controls{width:100%;justify-content:center}.categories{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.category-btn{font-size:.8rem;padding:.75rem .5rem}.mapping-view{flex-direction:column;align-items:stretch}.upload-info{flex-direction:column;align-items:flex-start}}
