:root{--primary: #6366f1;--primary-hover: #4f46e5;--bg-dark: #0f172a;--card-bg: rgba(30, 41, 59, .7);--text-white: #f8fafc;--text-muted: #94a3b8;--accent-success: #10b981;--accent-error: #ef4444;--radius: 16px;--font-family: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-dark);color:var(--text-white);height:100vh;overflow:hidden}#app{height:100%}.step-container{height:100%;width:100%;transition:opacity .5s ease}.step-container.hidden{display:none;opacity:0}.main-layout{display:grid;grid-template-columns:1fr 2fr;height:100%}.sidebar{background:#0f172ae6;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid rgba(255,255,255,.1)}.camera-section{position:relative;background:#000;display:flex;justify-content:center;align-items:center}.camera-wrapper{position:relative;width:100%;height:100%;display:flex}video{width:100%;height:100%;object-fit:cover;background:#111}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;pointer-events:none}.guide-box{width:80%;height:40%;border:2px dashed rgba(255,255,255,.5);border-radius:12px;box-shadow:0 0 0 9999px #0006}.review-layout{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1rem}.data-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;height:65%}.log-container{flex:1;display:flex;flex-direction:column;min-height:200px}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.25rem;box-shadow:0 8px 32px #0000004d}.invoice-card{display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}.invoice-card h4{color:var(--primary);margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.data-row{display:flex;justify-content:space-between}.data-label{color:var(--text-muted)}.btn{padding:.75rem 1.5rem;border-radius:12px;font-family:inherit;font-weight:600;cursor:pointer;border:none;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px)}.btn-sm{padding:.4rem .8rem;font-size:.75rem;border-radius:8px}.btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.counter{font-size:2.5rem;font-weight:600;text-align:center;margin:1rem 0;background:linear-gradient(135deg,#fff,var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.log-content{background:#0000004d;border-radius:12px;padding:1rem;overflow-y:auto;flex:1;font-family:monospace;font-size:.85rem}.log-item{margin-bottom:.5rem;border-left:3px solid transparent;padding-left:.5rem}.log-item.info{border-color:var(--primary)}.log-item.error{border-color:var(--accent-error);color:#fda4af}.log-item.success{border-color:var(--accent-success);color:#6ee7b7}.modal{border:none;border-radius:var(--radius);padding:0;background:transparent}.modal::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#1e293b;padding:2rem;border-radius:var(--radius);color:#fff;min-width:400px;display:flex;flex-direction:column;gap:1.5rem}.form-group input{width:100%;padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;color:#fff;margin-top:.5rem}
