@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg2: #1a1d27;--bg3: #22263a;--surface: #1e2130;--surface2: #252840;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.14);--text: #e8eaf0;--text2: #9ca3af;--text3: #6b7280;--primary: #6366f1;--primary-h: #4f52d9;--primary-glow: rgba(99,102,241,.25);--success: #22c55e;--success-bg: rgba(34,197,94,.12);--warn: #f59e0b;--warn-bg: rgba(245,158,11,.12);--danger: #ef4444;--danger-bg: rgba(239,68,68,.12);--info: #38bdf8;--cyan: #06b6d4;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--shadow: 0 4px 24px rgba(0,0,0,.45);--shadow-lg: 0 12px 48px rgba(0,0,0,.65);--transition: .18s cubic-bezier(.4,0,.2,1)}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.5}a{color:var(--primary);text-decoration:none}.page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px;position:sticky;top:0;z-index:50}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:1px}.topbar h1{font-size:16px;font-weight:700;color:var(--text)}.toolbar{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border);border-radius:99px;padding:5px 14px 5px 6px}.user-chip-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-glow);border:1px solid var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:var(--primary)}.user-chip-name{font-size:13px;font-weight:600;color:var(--text)}.user-chip-role{font-size:11px;color:var(--text3)}.logout-btn{padding:7px 16px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:transparent;color:var(--text2);font-size:13px;font-weight:500;transition:all var(--transition)}.logout-btn:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.dash-body{flex:1;padding:28px 32px;display:flex;flex-direction:column;gap:24px;max-width:1280px;width:100%;margin:0 auto}.alert{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px}.warn-banner{background:var(--warn-bg);border:1px solid var(--warn);color:var(--warn);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;display:flex;align-items:center;gap:16px;transition:border-color var(--transition),transform var(--transition);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 60%,rgba(255,255,255,.025));pointer-events:none}.metric-card:hover{border-color:var(--border2);transform:translateY(-2px)}.metric-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon.blue{background:#38bdf81f;color:var(--info)}.metric-icon.green{background:var(--success-bg);color:var(--success)}.metric-icon.purple{background:var(--primary-glow);color:var(--primary)}.metric-icon.amber{background:var(--warn-bg);color:var(--warn)}.metric-value{font-size:28px;font-weight:800;line-height:1;color:var(--text)}.metric-label{font-size:12px;color:var(--text3);font-weight:500;margin-top:4px}.workspace{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:start}.stack{display:flex;flex-direction:column;gap:20px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px}.panelHeader{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--text)}.panelHeader h2{font-size:14px;font-weight:700;color:var(--text)}.panelHeader svg{color:var(--primary)}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.fieldGrid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3)}.fieldGrid label.wide{grid-column:1 / -1}.fieldGrid input,.fieldGrid select{padding:9px 11px;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-weight:400;outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.fieldGrid input:focus,.fieldGrid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.fieldGrid select option{background:var(--bg2)}.primaryButton{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:700;font-size:13px;transition:background var(--transition),transform var(--transition);width:100%;justify-content:center}.primaryButton:hover:not(:disabled){background:var(--primary-h);transform:translateY(-1px)}.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-bottom:18px;gap:2px}.tab-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;border:none;background:none;color:var(--text3);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition);white-space:nowrap}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.list-item{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;transition:border-color var(--transition)}.list-item:hover{border-color:var(--border2)}.list-item:last-child{margin-bottom:0}.list-item-main{display:flex;flex-direction:column;gap:2px}.list-item-name{font-size:14px;font-weight:600;color:var(--text)}.list-item-sub{font-size:12px;color:var(--text3)}.list-item-badges{display:flex;align-items:center;gap:8px}.avatar-circle{width:36px;height:36px;border-radius:50%;background:var(--primary-glow);border:1px solid var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--primary);flex-shrink:0;margin-right:12px}.visitPanel{min-height:300px}.visitList{display:flex;flex-direction:column;gap:10px}.visitRow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition),background var(--transition)}.visitRow:hover{background:var(--bg3);border-color:var(--border2)}.visitRow strong{font-size:14px;font-weight:600;color:var(--text);display:block;margin-bottom:2px}.visitRow span{font-size:13px;color:var(--text2);display:block}.visitRow small{font-size:11px;color:var(--text3);display:block;margin-top:2px}.actions{display:flex;align-items:center;gap:6px}.actions button{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.actions button:hover{background:var(--primary-glow);color:var(--primary);border-color:var(--primary)}.actions button[title="Check in"]:hover{background:var(--success-bg);color:var(--success);border-color:var(--success)}.actions button[title="Check out"]:hover{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge.expected{background:var(--warn-bg);color:var(--warn)}.badge.expected:before{background:var(--warn)}.badge.checked_in{background:var(--success-bg);color:var(--success)}.badge.checked_in:before{background:var(--success)}.badge.checked_out{background:#38bdf81f;color:var(--info)}.badge.checked_out:before{background:var(--info)}.badge.cancelled{background:var(--bg3);color:var(--text3)}.badge.cancelled:before{background:var(--text3)}.badge.active{background:var(--success-bg);color:var(--success)}.badge.active:before{background:var(--success)}.badge.suspended{background:var(--danger-bg);color:var(--danger)}.badge.suspended:before{background:var(--danger)}.role-badge{display:inline-block;font-size:11px;font-weight:700;border-radius:99px;padding:2px 9px;text-transform:capitalize}.role-badge.company_admin{background:#a78bfa26;color:#a78bfa}.role-badge.reception{background:#60a5fa26;color:#60a5fa}.role-badge.executive{background:var(--success-bg);color:var(--success)}.role-badge.viewer{background:var(--bg3);color:var(--text3)}.section-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-bottom:14px}.empty{text-align:center;color:var(--text3);padding:32px 16px;font-size:14px}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;min-height:60vh;color:var(--text3)}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lp{font-family:Inter,system-ui,sans-serif;color:#0f172a;background:#fff;overflow-x:hidden}.lp *{box-sizing:border-box}.lp a{text-decoration:none}.lp-nav{position:sticky;top:0;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);z-index:100;padding:0 24px}.lp-nav-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}.lp-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:#0f172a}.lp-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #6366f159}.lp-nav-links{display:flex;align-items:center;gap:28px}.lp-nav-link{font-size:14px;font-weight:500;color:#475569;transition:color .15s}.lp-nav-link:hover{color:#6366f1}.lp-nav-cta{display:inline-flex;align-items:center;padding:9px 22px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;font-size:14px;font-weight:700;box-shadow:0 4px 14px #6366f166;transition:opacity .15s,transform .15s}.lp-nav-cta:hover{opacity:.9;transform:translateY(-1px)}.lp-hero{min-height:92vh;background:linear-gradient(160deg,#0f0c29,#302b63,#24243e);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 24px;position:relative;overflow:hidden}.lp-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 50% at 30% 40%,rgba(99,102,241,.3),transparent),radial-gradient(ellipse 50% 40% at 75% 60%,rgba(139,92,246,.2),transparent);pointer-events:none}.lp-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(99,102,241,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.06) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.lp-hero-inner{position:relative;max-width:820px}.lp-hero-badge{display:inline-flex;align-items:center;gap:8px;background:#6366f126;border:1px solid rgba(99,102,241,.35);border-radius:99px;padding:6px 18px;font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lp-hero-badge-dot{width:7px;height:7px;background:#818cf8;border-radius:50%;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.lp-hero h1{font-size:clamp(36px,5.5vw,64px);font-weight:900;line-height:1.1;color:#fff;margin-bottom:24px;letter-spacing:-.02em}.lp-hero h1 .gradient-text{background:linear-gradient(135deg,#818cf8,#c084fc,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lp-hero p{font-size:clamp(16px,2vw,19px);color:#ffffffb3;line-height:1.7;margin-bottom:44px;max-width:600px;margin-left:auto;margin-right:auto}.lp-hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.lp-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:15px 36px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:10px;font-size:16px;font-weight:700;box-shadow:0 8px 30px #6366f180;transition:all .2s}.lp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 36px #6366f199}.lp-btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:15px 36px;background:#ffffff14;color:#ffffffd9;border-radius:10px;font-size:16px;font-weight:600;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s}.lp-btn-ghost:hover{background:#ffffff24}.lp-stats{background:#fff;border-bottom:1px solid #f1f5f9;padding:32px 24px}.lp-stats-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.lp-stat-num{font-size:30px;font-weight:800;color:#6366f1}.lp-stat-label{font-size:13px;color:#64748b;margin-top:2px}.lp-features{padding:96px 24px;background:#f8fafc}.lp-section-inner{max-width:1140px;margin:0 auto}.lp-section-eyebrow{text-align:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6366f1;margin-bottom:12px}.lp-section-title{text-align:center;font-size:clamp(26px,3.5vw,38px);font-weight:800;color:#0f172a;margin-bottom:12px;line-height:1.2}.lp-section-sub{text-align:center;color:#64748b;font-size:16px;margin-bottom:56px;line-height:1.65}.lp-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.lp-feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 26px;transition:border-color .2s,box-shadow .2s,transform .2s}.lp-feature-card:hover{border-color:#c7d2fe;box-shadow:0 8px 32px #6366f11f;transform:translateY(-4px)}.lp-feature-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}.lp-feature-card h3{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:8px}.lp-feature-card p{font-size:14px;color:#64748b;line-height:1.65}.lp-how{padding:96px 24px;background:#fff}.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}.lp-steps:before{content:"";position:absolute;top:28px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);height:2px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#c084fc);opacity:.3}.lp-step{text-align:center}.lp-step-num{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin:0 auto 20px;box-shadow:0 4px 16px #6366f166;position:relative;z-index:1}.lp-step h3{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:8px}.lp-step p{font-size:13px;color:#64748b;line-height:1.6}.lp-register{padding:96px 24px;background:#f8fafc}.lp-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:44px 48px;max-width:680px;margin:0 auto;box-shadow:0 8px 40px #0000000f}.lp-success{text-align:center;padding:48px 24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:16px;max-width:560px;margin:0 auto}.lp-success-icon{font-size:56px;margin-bottom:16px}.lp-success h3{font-size:24px;font-weight:800;color:#15803d;margin-bottom:8px}.lp-success p{color:#166534;font-size:15px;line-height:1.65}.lp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.lp-field{display:flex;flex-direction:column;gap:6px}.lp-field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569}.lp-field input,.lp-field select{padding:11px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.lp-field input:focus,.lp-field select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.lp-field.wide{grid-column:1 / -1}.lp-submit{width:100%;padding:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;margin-top:8px;box-shadow:0 4px 18px #6366f166;transition:opacity .15s,transform .15s}.lp-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.lp-form-note{text-align:center;font-size:13px;color:#94a3b8;margin-top:12px}.lp-alert{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.lp-footer{background:#0f172a;color:#94a3b8;padding:48px 24px 32px}.lp-footer-inner{max-width:1140px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}.lp-footer-logo{font-size:20px;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px}.lp-footer-note{font-size:13px;text-align:center;line-height:1.65}.lp-footer-divider{width:100%;height:1px;background:#ffffff12}.lp-footer-copy{font-size:12px;color:#475569}@media (max-width: 1024px){.workspace{grid-template-columns:1fr}.lp-features-grid,.lp-steps{grid-template-columns:repeat(2,1fr)}.lp-steps:before{display:none}.lp-form-card{padding:32px 28px}}@media (max-width: 768px){.metrics{grid-template-columns:repeat(2,1fr)}.dash-body{padding:16px}.topbar{padding:0 16px}.lp-nav-links{display:none}.lp-features-grid{grid-template-columns:1fr}.lp-steps{grid-template-columns:1fr 1fr}.lp-stats-inner{grid-template-columns:repeat(2,1fr);gap:20px}.lp-form-grid{grid-template-columns:1fr}.lp-form-card{padding:28px 20px}}@media (max-width: 480px){.metrics{grid-template-columns:1fr 1fr}.fieldGrid{grid-template-columns:1fr}.fieldGrid label.wide{grid-column:1}}
