*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}body{background:#f3f4f6;color:#111827}.app{min-height:100%;display:flex;align-items:center;justify-content:center}.title{font-size:1.875rem;font-weight:700;color:#2563eb}.login-background{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:30px;background:linear-gradient(135deg,#eff1f5,#4f46e5)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:20px;box-shadow:0 8px 30px #1118271f;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform-origin:center;transition:opacity .36s ease,transform .36s ease}.login-card.mounted{opacity:1;transform:translateY(0)}.login-card:not(.mounted){opacity:0;transform:translateY(10px)}.brand-badge{width:100%;height:94px;border-radius:12px}.myleads-brand-logo{height:45px}.brand-logo{height:200px;border-radius:12px}.login-title{text-align:center;font-size:20px;font-weight:600;color:#111827}.login-subtitle{text-align:center;font-size:13px;color:#6b7280;margin-top:6px;margin-bottom:12px}.form-field{display:block;width:100%}.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #e6e9ef;background:#fff;transition:box-shadow .16s ease,border-color .16s ease,transform .12s ease;font-size:14px;color:#111827}.input:focus{outline:none;border-color:#60a5fa;box-shadow:0 6px 18px #3b82f61f,0 0 0 6px #3b82f614}.input::placeholder{color:#9ca3af}.error{margin-top:6px;font-size:12px;color:#ef4444}.btn-primary{width:100%;margin-top:16px;padding:12px 14px;border-radius:12px;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;font-weight:600;border:none;cursor:pointer;box-shadow:0 8px 18px #2563eb2e;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.01);box-shadow:0 12px 30px #2563eb38}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.helper-link{margin-top:12px;font-size:13px;text-align:center;color:#111827b3}@media (min-width: 720px){.login-card{padding:28px;max-width:480px}}.leads-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:#fff;border-radius:8px;box-shadow:0 1px #0206170a}.leads-title{font-weight:700;font-size:18px;text-align:center;color:#0f172a}.lead-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 6px 16px #0206170f;cursor:pointer}.lead-avatar{width:44px;height:44px;border-radius:50%;background:#eef2ff;display:flex;align-items:center;justify-content:center;color:#3b82f6;font-weight:700}.lead-company{font-weight:600;color:#111827}.fab{position:fixed;right:16px;bottom:28px;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;border:none;padding:12px 18px;border-radius:14px;box-shadow:0 10px 30px #2563eb2e;font-weight:600;cursor:pointer}.lead-form-container{background:#fff;border-radius:12px;padding:14px;box-shadow:0 8px 20px #0206170f}.form-row{margin-bottom:12px}.form-label{display:block;font-size:13px;color:#374151;margin-bottom:6px}.form-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e6e9ef;font-size:14px}.back-btn{background:transparent;border:none;font-size:20px;cursor:pointer}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;z-index:40}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;padding:12px 16px 28px;box-shadow:0 -10px 30px #0206171f;z-index:50}.sheet-handle{width:36px;height:4px;background:#e6e9ef;margin:6px auto 12px;border-radius:4px}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border-radius:12px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:16px}.sheet-item+.sheet-item{margin-top:8px}.sheet-icon{width:36px;height:36px;border-radius:8px;background:#eef2ff;display:flex;align-items:center;justify-content:center;color:#3b82f6}.sheet-text{color:#0f172a;font-weight:600}.scan-card{background:#fff;border-radius:12px;padding:18px;text-align:center;box-shadow:0 8px 20px #0206170f;margin-bottom:12px}.scan-icon{font-size:42px;color:#2563eb}.scan-title{font-weight:700;margin-top:8px;color:#0f172a}.scan-sub{color:#6b7280;font-size:13px}.or-divider{display:flex;align-items:center;gap:12px;margin:12px 0;color:#9ca3af}.or-divider span{background:#f8fafc;padding:0 10px}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#e6e9ef}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .input-icon{position:absolute;left:12px;z-index:2;font-size:16px;color:#6b7280}.input-with-icon .form-input{padding-left:44px}.save-btn{width:100%;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;font-weight:700;border:none;box-shadow:0 12px 28px #2563eb2e;cursor:pointer}.save-btn:disabled{opacity:.7;cursor:not-allowed}.scan-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f8fafc,#eef2ff)}.scan-container{width:420px;max-width:96%;background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 50px #02061714;margin-top:84px}.scan-heading{margin:0 0 18px;font-size:20px;color:#0f172a;text-align:center;font-weight:700}.scan-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 24px #0206170f;position:fixed;top:18px;left:50%;transform:translate(-50%);width:420px;max-width:calc(100% - 32px);z-index:80}.nav-back{width:40px;height:40px;border-radius:10px;border:none;background:linear-gradient(180deg,#fff,#f3f6ff);box-shadow:0 6px 18px #0206170a;font-size:18px;cursor:pointer}.nav-back:active{transform:translateY(1px)}.nav-title{font-size:16px;font-weight:700;color:#0f172a}.scan-box{display:flex;align-items:center;flex-direction:column;gap:18px;padding:20px;border-radius:14px;border:1px dashed rgba(14,42,80,.06);background:#fff;cursor:pointer;box-shadow:inset 0 1px #fff9}.scan-graphic{font-size:34px;width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(180deg,#eef6ff,#ecf3ff);color:#123e9c;box-shadow:0 8px 22px #123e9c14}.scan-info{flex:1;text-align:center}.scan-title{font-weight:700;color:#0f172a;font-size:16px}.scan-sub{color:#6b7280;font-size:13px;margin-top:6px}.scan-actions{margin-left:12px;display:flex;align-items:center}.scan-open-btn{padding:10px 18px;border-radius:999px;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;border:none;font-weight:700;box-shadow:0 10px 30px #2563eb2e;cursor:pointer}.scan-open-btn:active{transform:translateY(1px)}.scan-video-wrapper{margin-top:16px;display:flex;flex-direction:column;gap:12px}.scan-video-frame{border-radius:12px;overflow:hidden;background:#000;box-shadow:0 18px 40px #02061714;border:1px solid rgba(2,6,23,.04)}.capture-controls{display:flex;gap:12px;justify-content:center}.capture-btn{width:120px;height:48px;border-radius:12px;background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:none;font-weight:700;cursor:pointer;box-shadow:0 10px 30px #065f461f}.btn-ghost{height:48px;border-radius:12px;background:transparent;border:1px solid #e6eef9;padding:0 14px;cursor:pointer}.scan-video-wrapper{margin-top:12px;display:flex;flex-direction:column;gap:12px}.scan-video-frame{border-radius:12px;overflow:hidden;background:#000;box-shadow:0 10px 30px #02061714}.scan-video{width:100%;height:auto;display:block}.capture-controls{display:flex;gap:10px;justify-content:center}.capture-btn{width:120px;height:44px;border-radius:10px;background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:none;font-weight:700;cursor:pointer}.btn-ghost{height:44px;border-radius:10px;background:transparent;border:1px solid #e6eef9;padding:0 14px;cursor:pointer}.scan-preview{margin-top:16px;display:flex;flex-direction:column;gap:14px;align-items:center}.preview-image-wrap{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px #0206170f}.preview-image{width:100%;display:block}.preview-actions{display:flex;gap:12px}.scan-footer{margin-top:18px;text-align:center}.btn-link{background:transparent;border:none;color:#6b7280;cursor:pointer;font-size:14px}@media (max-width:420px){.scan-container{width:100%;padding:16px;border-radius:10px}.scan-graphic{width:56px;height:56px;font-size:30px}.capture-btn{width:110px}}
