:root{--primary:#6366f1;--primary-hover:#4f46e5;--bg:#0f172a;--card-bg:#1e293bb3;--text:#f8fafc;--text-muted:#94a3b8;--accent:#10b981;--error:#f43f5e;--border:#ffffff1a;--glass:#ffffff0d;--radius:12px;--font:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background-color:var(--bg);color:var(--text);background-image:radial-gradient(at 0 0,#100f15 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a 0,#0000 50%),radial-gradient(at 100% 0,#722741 0,#0000 50%);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow-x:hidden}.container{z-index:1;width:100%;max-width:900px;padding:2rem}.app-card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:24px;padding:2.5rem;animation:.6s ease-out fadeIn;position:relative;box-shadow:0 25px 50px -12px #00000080}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}header{text-align:center;margin-bottom:2.5rem}h1{background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:800}p.subtitle{color:var(--text-muted);font-size:1.1rem}.grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=768px){.grid{grid-template-columns:1fr}}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--glass);flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:2rem;transition:all .3s;display:flex;position:relative}.upload-area:hover,.upload-area.drag-over{border-color:var(--primary);background:#6366f10d}.upload-icon{color:var(--primary);margin-bottom:1rem;font-size:3rem}#preview-img{border-radius:var(--radius);object-fit:contain;max-width:100%;max-height:300px;display:none}.form-section{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}label{color:var(--text-muted);font-size:.875rem;font-weight:500}input{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.75rem 1rem;font-size:1rem;transition:all .2s}input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #6366f11a}.btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 10px 15px -3px #6366f14d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius);z-index:10;background:#0f172acc;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan-line{background:var(--primary);width:100%;height:2px;box-shadow:0 0 15px var(--primary);animation:2s ease-in-out infinite scan;display:none;position:absolute;top:0;left:0}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}.status-badge{background:var(--glass);border-radius:9999px;margin-left:auto;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-badge.processing{color:#fbbf24;border:1px solid #fbbf24}.status-badge.complete{color:var(--accent);border:1px solid var(--accent)}#success-msg{text-align:center;color:var(--accent);margin-top:1rem;font-weight:500;animation:.3s ease-out fadeIn;display:none}.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0f172ae6;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:none;position:fixed;top:0;left:0}.modal.active{display:flex}.modal-content{background:var(--card-bg);border:1px solid var(--border);border-radius:24px;width:100%;max-width:1000px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;transition:color .2s}.close-btn:hover{color:var(--text)}.table-container{border-radius:var(--radius);background:var(--glass);border:1px solid var(--border);padding-bottom:.5rem;overflow-x:auto}.table-container::-webkit-scrollbar{height:6px}.table-container::-webkit-scrollbar-track{background:#ffffff05;border-radius:8px;margin:0 8px}.table-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:8px}.table-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border);white-space:nowrap;padding:1rem}th{color:var(--text-muted);background:#ffffff08;font-size:.75rem;font-weight:600}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.action-btns{gap:.5rem;display:flex}.icon-btn{background:var(--glass);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.icon-btn:hover{background:var(--primary);border-color:var(--primary);transform:scale(1.1)}.icon-btn.delete:hover{background:var(--error);border-color:var(--error)}.icon-btn.download:hover{background:var(--accent);border-color:var(--accent)}.view-all-btn{padding:.6rem 1rem;font-size:.875rem;position:absolute;top:1.5rem;right:1.5rem}@media (width<=640px){.view-all-btn{width:100%;margin-top:1rem;margin-bottom:1rem;position:static}.container{padding:1rem}.app-card{border-radius:16px;padding:1.5rem}h1{font-size:2rem}.upload-area{min-height:200px;padding:1.5rem}.modal-content{border-radius:16px;padding:1rem}.modal-header h2{font-size:1.25rem}th,td{white-space:nowrap;padding:.75rem;font-size:.875rem}}
