:root{--bg-dark: #0f172a;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--accent-color: #3b82f6;--accent-glow: rgba(59, 130, 246, .5);--text-main: #f8fafc;--text-muted: #94a3b8;--brand-color: #f1f5f9}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-dark);background-image:radial-gradient(at 0% 0%,rgba(56,189,248,.1) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,.1) 0px,transparent 50%);color:var(--text-main);min-height:100vh;overflow-y:auto;padding:2rem 0}.app-container{width:100%;max-width:900px;margin:0 auto;padding:0 2rem}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000040;text-align:center;transition:transform .3s ease}.glass-card:hover{border-color:#fff3}.upload-zone{margin-top:2rem;border:2px dashed var(--glass-border);border-radius:16px;padding:3rem 1.5rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--accent-color);background:#3b82f60d;box-shadow:0 0 20px var(--accent-glow)}.icon-wrapper{color:var(--accent-color);margin-bottom:1rem}.title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-muted);font-size:.95rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:99px;background:#ffffff1a;margin-top:1.5rem;font-size:.9rem}.loader{width:18px;height:18px;border:2px solid var(--text-muted);border-bottom-color:var(--accent-color);border-radius:50%;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-btn{margin-top:1.5rem;background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}.file-input{display:none}.upload-btn{margin-top:1.5rem;background:var(--accent-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:background .2s}.upload-btn:hover,.success-btn:hover{background:#2563eb}.header-horizontal{display:flex;align-items:center;gap:2rem;text-align:left;margin-bottom:2.5rem}.camera-scan-container{margin-top:1.5rem;width:100%}.camera-scan-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;border-radius:16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease}.camera-scan-btn:hover{background:#3b82f633;border-color:#60a5fa;transform:translateY(-2px);box-shadow:0 4px 15px #3b82f633}.login-screen{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 4rem);padding:0}.login-card{max-width:520px;width:100%;padding:3rem;position:relative;overflow:hidden}.login-icon-box{width:120px;height:120px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.login-title{font-size:2.5rem;font-weight:800;margin-bottom:0;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.025em;line-height:1.1}.login-subtitle{color:var(--text-muted);font-size:1.1rem;margin-top:.5rem}.login-input-group{position:relative;margin-bottom:1.5rem}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:1.25rem;color:var(--text-muted);pointer-events:none;transition:color .3s ease}.login-input{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem 1.25rem 1.25rem 3.5rem;font-size:1.1rem;color:#fff;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;letter-spacing:.05em}.login-input:focus{border-color:var(--accent-color);background:#0006;box-shadow:0 0 0 4px #3b82f626}.login-input:focus+.login-input-icon{color:var(--accent-color)}.login-error{background:#ef44441a;border-left:3px solid #ef4444;color:#ef4444;padding:.875rem;border-radius:12px;margin-bottom:1.5rem;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.625rem;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.login-submit-btn{width:100%;padding:1.25rem;border-radius:16px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:600;font-size:1.1rem;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #2563eb4d;display:flex;align-items:center;justify-content:center;gap:.75rem}.login-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #2563eb66;background:linear-gradient(135deg,#1d4ed8,#2563eb)}.login-submit-btn:active{transform:translateY(0)}.line-items-header{display:grid;grid-template-columns:minmax(200px,2fr) 70px 70px 100px 110px 40px;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;color:var(--text-muted);align-items:center}.line-items-container{display:flex;flex-direction:column;gap:1px;background:var(--glass-border);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.line-item-row{display:grid;grid-template-columns:minmax(200px,2fr) 70px 70px 100px 110px 40px;align-items:center;background:#1e293b66;padding:.5rem}.line-item-details{display:contents}.mobile-label{display:none}.item-name-input,.item-qty-input,.item-tax-input,.item-net-input,.item-gross-input{width:100%;background:transparent;border:none;color:var(--text-main);padding:.25rem;font-family:inherit;outline:none}.item-qty-input,.item-tax-input{text-align:center}.item-net-input,.item-gross-input{text-align:right;padding-right:.5rem}.remove-item-btn{background:transparent;color:#ef4444;border:none;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;opacity:.7;transition:opacity .2s}.remove-item-btn:hover{opacity:1}@media(max-width:640px){.line-items-header{display:none}.line-items-container{gap:1rem;background:transparent;border:none}.line-item-row{display:flex;flex-direction:column;gap:1rem;background:#ffffff08;border:1px solid var(--glass-border);border-radius:16px;padding:1.25rem}.line-item-main{width:100%;border-bottom:1px solid var(--glass-border);padding-bottom:.75rem;margin-bottom:.25rem}.item-name-input{font-weight:600;font-size:1.05rem;color:var(--accent-color)}.line-item-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%;position:relative}.mobile-field{display:flex;flex-direction:column;gap:.4rem}.mobile-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.line-item-details input{background:#0003;border:1px solid var(--glass-border);border-radius:8px;padding:.6rem;text-align:left;font-size:.95rem}.remove-item-btn{position:absolute;top:-3.5rem;right:0;width:32px;height:32px;background:#ef44441a;border-radius:8px}}.summary-row{display:grid;grid-template-columns:minmax(200px,2fr) 70px 70px 100px 110px 40px;gap:.5rem;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--glass-border)}.summary-label{grid-column:1 / 5;text-align:right;font-size:.8rem;color:var(--text-muted)}.summary-value{text-align:right;padding:.5rem;border-radius:8px;font-weight:700;width:100%}.summary-value.match{background:#22c55e33;color:#4ade80;border:1px solid #22c55e}.summary-value.mismatch{background:#ef444433;color:#f87171;border:1px solid #ef4444}.diff-alert{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:.5rem}.diff-alert span{font-size:.75rem;color:#f87171}.fix-diff-btn{background:var(--accent-color);color:#fff;border:none;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;cursor:pointer;font-weight:500}@media(max-width:640px){.summary-row{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.summary-label{text-align:left;font-size:1rem}.summary-value{width:auto;min-width:120px;font-size:1.1rem}.diff-alert{flex-direction:column;align-items:flex-end;gap:.5rem}}
