@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap";:root{--primary: #10B981;--primary-dark: #059669;--danger: #EF4444;--danger-dark: #DC2626;--bg-color: #F8FAFC;--text-main: #0F172A;--text-muted: #64748B;--card-bg: #FFFFFF;--border-color: #E2E8F0;--radius-lg: 16px;--radius-md: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{display:flex;flex-direction:column;min-height:100vh;margin:0 auto;max-width:600px;background-color:var(--card-bg);box-shadow:var(--shadow-2xl)}h1{font-size:2rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}p{color:var(--text-muted);margin-bottom:1rem}.app-container{display:flex;flex-direction:column;flex:1;padding:1.5rem}.header{text-align:center;padding:2rem 0;border-bottom:1px solid var(--border-color);margin-bottom:2rem}.logo-placeholder{font-size:2.5rem;font-weight:900;color:var(--primary);letter-spacing:-1px;text-transform:uppercase;margin-bottom:.5rem;display:inline-block}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.form-input{width:100%;padding:1rem;font-size:1.1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98133}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1.25rem 2rem;font-size:1.25rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:transform .1s,box-shadow .2s,background-color .2s;text-decoration:none;margin-bottom:1rem;gap:.75rem}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 14px #10b98163}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-danger{background-color:var(--danger);color:#fff;box-shadow:0 4px 14px #ef444463}.btn-danger:hover:not(:disabled){background-color:var(--danger-dark)}.btn-secondary{background-color:var(--bg-color);color:var(--text-main);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:#e2e8f0}.btn-text{background:none;border:none;color:var(--text-muted);font-weight:600;text-decoration:underline;padding:.5rem;font-size:1rem;margin:0 auto;display:block;text-transform:none;letter-spacing:normal}.camera-container{position:relative;width:100%;aspect-ratio:3/4;background-color:#000;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-lg)}video{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;text-align:center;font-size:.875rem}.status-pill{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:var(--radius-full);font-weight:600;font-size:.875rem;gap:.5rem;margin-bottom:1rem}.status-loading{background-color:#dbeafe;color:#1e3a8a}.status-success{background-color:#d1fae5;color:#065f46}.status-error{background-color:#fee2e2;color:#991b1b}.stamped-preview{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:1.5rem;display:block}.text-center{text-align:center}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.flex-1{flex:1}.hidden{display:none!important}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.record-card{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:#fff}.record-img{width:100%;height:200px;object-fit:cover}.record-details{padding:1rem}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:700;text-transform:uppercase}.type-entrada{background:#d1fae5;color:#065f46}.type-salida{background:#fee2e2;color:#991b1b}
