*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #3b82f6;--primary-dark: #2563eb;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-50);color:var(--gray-900);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.navigation{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 3px #0000001a}.nav-brand{display:flex;align-items:center;gap:.5rem}.logo{font-size:1.5rem}.brand-name{font-weight:600;font-size:1.25rem;color:var(--gray-800)}.nav-links{display:flex;gap:2rem}.nav-links a{text-decoration:none;color:var(--gray-600);font-weight:500;padding:.5rem;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.nav-user{display:flex;align-items:center;gap:1rem}.user-name{color:var(--gray-600)}.logout-btn{padding:.5rem 1rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:.375rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--gray-200)}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;min-height:calc(100vh - 80px)}.upload-page{width:100%}.tenant-selector{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.tenant-container{text-align:center;color:#fff}.tenant-container h1{font-size:2.5rem;margin-bottom:.5rem}.tenant-container .subtitle{opacity:.9;margin-bottom:2rem}.tenant-form{background:#fff;color:var(--gray-900);padding:2rem;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:400px;text-align:left}.tenant-form h2{margin-bottom:.5rem;text-align:center}.tenant-form .description{text-align:center;color:var(--gray-500);font-size:.875rem;margin-bottom:1.5rem}.tenant-badge{background:var(--gray-100);padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem;color:var(--gray-600)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--gray-700)}.form-group input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.submit-btn{width:100%;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;margin-top:.5rem}.submit-btn:hover:not(:disabled){background:var(--primary-dark)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-text{margin-top:1.5rem;text-align:center;color:var(--gray-600);font-size:.875rem}.toggle-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:500}.upload-page h1{margin-bottom:.5rem}.page-description{color:var(--gray-600);margin-bottom:2rem}.tab-switcher{display:flex;gap:1rem;margin-bottom:2rem}.tab{padding:1rem 2rem;background:#fff;border:2px solid var(--gray-200);border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.tab:hover{border-color:var(--primary)}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.file-upload{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.document-type-selector{margin-bottom:1.5rem}.document-type-selector label{display:block;font-weight:500;margin-bottom:.5rem}.document-type-selector select{padding:.75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem;min-width:200px}.drop-zone{border:2px dashed var(--gray-300);border-radius:.5rem;padding:3rem;text-align:center;cursor:pointer;transition:all .2s}.drop-zone:hover,.drop-zone.active{border-color:var(--primary);background:#3b82f60d}.drop-zone.has-preview{padding:1rem}.drop-zone-content .upload-icon{font-size:3rem;margin-bottom:1rem}.drop-zone-content p{color:var(--gray-600);margin-bottom:.5rem}.drop-zone-content .hint{font-size:.875rem;color:var(--gray-400)}.preview-container{position:relative;display:inline-block}.preview-image{max-width:100%;max-height:300px;border-radius:.375rem}.preview-container .clear-btn{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;background:var(--danger);color:#fff;border:none;cursor:pointer;font-size:1.25rem;line-height:1}.file-info{margin-top:1rem;color:var(--gray-600);font-size:.875rem}.file-size{margin-left:.5rem;color:var(--gray-400)}.upload-btn{margin-top:1.5rem;width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.upload-btn:hover:not(:disabled){background:var(--primary-dark)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.camera-capture{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.camera-start{text-align:center;padding:3rem}.start-camera-btn{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:var(--gray-100);border:2px solid var(--gray-200);border-radius:1rem;cursor:pointer;transition:all .2s;margin:0 auto}.start-camera-btn:hover{border-color:var(--primary);background:#3b82f60d}.camera-icon{font-size:3rem}.video-container{position:relative;background:#000;border-radius:.5rem;overflow:hidden}.camera-video{width:100%;display:block}.camera-controls{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;align-items:center}.capture-btn{width:60px;height:60px;border-radius:50%;background:#fff;border:4px solid var(--gray-300);cursor:pointer;font-size:1.5rem;transition:transform .2s}.capture-btn:hover{transform:scale(1.1)}.switch-camera-btn,.cancel-btn{width:40px;height:40px;border-radius:50%;background:#00000080;color:#fff;border:none;cursor:pointer;font-size:1.25rem}.captured-container{text-align:center}.captured-image{max-width:100%;max-height:400px;border-radius:.5rem;margin-bottom:1rem}.captured-actions{display:flex;gap:1rem;justify-content:center}.retake-btn{padding:.75rem 2rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:.375rem;cursor:pointer;font-size:1rem}.result-view{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.processing-time{color:var(--gray-500);font-size:.875rem}.extracted-items h3{margin-bottom:1rem}.items-table{overflow-x:auto}.items-table table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.items-table th{background:var(--gray-50);font-weight:500;color:var(--gray-600)}.confidence{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.confidence.high{background:#22c55e1a;color:var(--success)}.confidence.medium{background:#f59e0b1a;color:var(--warning)}.confidence.low{background:#ef44441a;color:var(--danger)}.raw-text{margin-top:2rem}.raw-text h3{margin-bottom:1rem}.raw-text pre{background:var(--gray-50);padding:1rem;border-radius:.375rem;overflow-x:auto;font-size:.875rem;max-height:300px}.result-view .clear-btn{margin-top:2rem;padding:.75rem 1.5rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:.375rem;cursor:pointer;font-size:1rem}.inventory-page h1{margin-bottom:1.5rem}.inventory-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:.75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem}.category-filter{padding:.75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem;min-width:150px}.refresh-btn{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.inventory-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.inventory-card.low{border-left:4px solid var(--danger)}.inventory-card.high{border-left:4px solid var(--success)}.inventory-card.normal{border-left:4px solid var(--primary)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--gray-100)}.card-header h3{font-size:1rem;font-weight:600}.category-badge{background:var(--gray-100);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;color:var(--gray-600)}.card-body{padding:1rem}.quantity{text-align:center;margin-bottom:1rem}.quantity .value{font-size:2.5rem;font-weight:700;color:var(--gray-800)}.quantity .unit{font-size:1rem;color:var(--gray-500);margin-left:.5rem}.stock-levels{display:flex;justify-content:space-between;font-size:.875rem;color:var(--gray-500)}.card-footer{padding:.75rem 1rem;background:var(--gray-50);font-size:.75rem;color:var(--gray-500)}.error-message{background:#ef44441a;color:var(--danger);padding:.75rem;border-radius:.375rem;margin-bottom:1rem}.error-banner{display:flex;justify-content:space-between;align-items:center;background:#ef44441a;color:var(--danger);padding:1rem;border-radius:.375rem;margin-bottom:1.5rem}.error-banner button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.25rem}.loading{text-align:center;padding:3rem;color:var(--gray-500)}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:.5rem;color:var(--gray-500)}.hint{font-size:.875rem;color:var(--gray-400);margin-top:1rem}.document-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.overlay-svg{width:100%;height:100%}.document-outline{animation:pulse-outline 1.5s ease-in-out infinite}.document-glow{animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-outline{0%,to{opacity:1}50%{opacity:.8}}@keyframes pulse-glow{0%,to{opacity:.5;stroke-width:8}50%{opacity:.8;stroke-width:12}}.corner-marker{animation:pulse-corner 1s ease-in-out infinite}@keyframes pulse-corner{0%,to{r:12;opacity:1}50%{r:16;opacity:.8}}.guide-frame{animation:guide-dash 2s linear infinite}@keyframes guide-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:60}}.overlay-status{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:10}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:2rem;font-weight:500;font-size:.875rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000004d}.status-badge.loading{background:#000000b3;color:#fff}.status-badge.searching{background:#0009;color:#ffffffe6}.status-badge.detected{background:#22c55ee6;color:#fff}.status-badge.ready{background:var(--success);color:#fff;animation:ready-pulse .5s ease-in-out}@keyframes ready-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.status-icon{font-size:1rem}.countdown-ring{display:flex;align-items:center;gap:.5rem;margin-left:.5rem}.countdown-ring svg{width:28px;height:28px}.countdown-progress{transition:stroke-dasharray .1s linear}.countdown-text{font-size:.75rem;font-weight:600;min-width:2rem}.confidence-indicator{position:absolute;bottom:5rem;left:1rem;right:1rem;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.confidence-bar{height:100%;background:var(--success);border-radius:2px;transition:width .2s ease}.camera-capture .hint{color:var(--gray-500);text-align:center;margin-top:1rem}.capture-btn{position:relative;display:flex;align-items:center;justify-content:center}.capture-btn .capture-ring{width:50px;height:50px;border-radius:50%;background:#fff;transition:all .2s}.capture-btn:hover .capture-ring{transform:scale(.9)}.capture-btn.ready{border-color:var(--success)}.capture-btn.ready .capture-ring{background:var(--success)}@media (max-width: 768px){.navigation{flex-direction:column;gap:1rem;padding:1rem}.nav-links{gap:1rem}.main-content{padding:1rem}.tab-switcher{flex-direction:column}.tab{text-align:center}.inventory-controls{flex-direction:column}.search-input,.category-filter,.refresh-btn{width:100%}}
