:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.loading,.auth-shell{min-height:100vh;display:grid;place-items:center;gap:10px;color:#475569;font-weight:700}.auth-card,.form-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 16px 45px #283a6612}.auth-card{width:min(100% - 32px,430px);padding:32px}.brand{display:flex;align-items:center;gap:9px;color:#4338ca;font-size:1.08rem;font-weight:850}h1,h2{color:#172033;letter-spacing:-.03em}.auth-card p,.hero p,.card-title p{color:#64748b;line-height:1.55}form{display:grid;gap:16px;margin-top:22px}label{display:grid;gap:7px;color:#334155;font-size:.88rem;font-weight:700}label small{color:#94a3b8;font-weight:600}input,select{width:100%;border:1px solid #dbe3ef;border-radius:11px;background:#fff;padding:12px;outline:0}input:focus,select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f122}.primary,.camera-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:13px 16px;background:#4f46e5;color:#fff;font-weight:800}.primary:hover,.camera-button:hover{background:#4338ca}.primary:disabled{cursor:wait;opacity:.65}.text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#64748b;font-weight:700}.message{display:flex;align-items:center;gap:8px;margin:0;border-radius:10px;padding:11px 12px;font-size:.88rem;font-weight:650}.message.error{background:#fff1f2;color:#be123c}.message.success{background:#ecfdf5;color:#047857}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{width:min(100% - 32px,920px);margin:0 auto;padding:20px 0 56px}header,.camera-title,.camera-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}header{padding:4px 0 24px}.hero{padding:34px;border-radius:24px;background:linear-gradient(135deg,#4338ca,#6366f1 65%,#818cf8);color:#fff;box-shadow:0 18px 45px #4f46e533}.hero>span{color:#e0e7ff;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero h1{color:#fff;font-size:clamp(1.75rem,5vw,2.5rem);max-width:650px}.hero p{color:#e0e7ff;max-width:680px;margin-bottom:0}.form-card{margin-top:24px;padding:28px}.card-title{display:flex;gap:12px;align-items:center;color:#4338ca}.card-title h2{margin:0;font-size:1.1rem}.card-title p{margin:3px 0 0;font-size:.85rem}.import-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}.file-picker input{position:absolute;opacity:0;pointer-events:none}.file-picker span{display:flex;align-items:center;gap:8px;min-height:47px;overflow:hidden;border:1px dashed #a5b4fc;border-radius:11px;background:#eef2ff;padding:12px;color:#4338ca;text-overflow:ellipsis;white-space:nowrap}.camera-button{background:#0f766e}.camera-button:hover{background:#115e59}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;align-self:end;padding:12px;border:1px solid #dbe3ef;border-radius:11px}.check input{width:16px;height:16px}.extraction{display:grid;gap:5px;border:1px solid #a7f3d0;border-radius:12px;background:#ecfdf5;padding:14px;color:#065f46;font-size:.9rem}.camera-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#0f172acc}.camera-dialog{width:min(100%,680px);border-radius:20px;background:#fff;padding:20px;box-shadow:0 25px 70px #02061780}.camera-title{align-items:start;margin-bottom:16px}.camera-title h2{margin:0;font-size:1.2rem}.camera-title p{margin:4px 0 0;color:#64748b;font-size:.88rem}.camera-preview{width:100%;max-height:65vh;border-radius:14px;background:#0f172a;object-fit:cover}.camera-wait{display:flex;align-items:center;justify-content:center;gap:8px;min-height:220px;color:#64748b}.hidden{display:none}.camera-actions{justify-content:flex-end;margin-top:16px}@media (max-width:620px){.app-shell{width:min(100% - 24px,920px)}.hero,.form-card{padding:22px;border-radius:18px}.import-form{grid-template-columns:1fr}.wide{grid-column:auto}}
