@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.sidebar{position:fixed;top:0;left:0;height:calc(100vh * var(--zoom-scale, 1));min-height:100vh;max-width:100vw;background-color:hsl(var(--primary));border-right:none;display:flex;flex-direction:column;transition:width .3s ease,background-color .3s ease;z-index:50;overflow-x:hidden;box-sizing:border-box}.sidebar-expanded{width:var(--sidebar-width)}.sidebar-collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.15);background-color:hsl(var(--primary))}.sidebar-logo{display:flex;align-items:center}.sidebar-logo-image{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}html[data-system-scale="125"] .sidebar-logo-image{height:25.6px;max-width:100%}html[data-system-scale="150"] .sidebar-logo-image{height:calc(32px / 1.5);max-width:100%}.sidebar-collapsed .sidebar-logo{display:none}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:#ffffffe6;cursor:pointer;border-radius:.375rem;transition:all .2s ease}.sidebar-toggle:hover{background-color:#ffffff26;color:#fff}.sidebar-toggle svg{width:1.25rem;height:1.25rem}.sidebar-nav{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding:1rem .75rem;scrollbar-color:rgba(255,255,255,.25) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar-nav-zoom{width:66.67%;transform:scale(1.5);transform-origin:top left;font-size:66.67%}.sidebar-nav-zoom .sidebar-nav-link{font-size:.875em}.sidebar-nav-zoom .sidebar-submenu-link{font-size:.8125em}html[data-system-scale="125"] .sidebar-nav-zoom,html[data-system-scale="150"] .sidebar-nav-zoom{width:auto;transform:none;font-size:inherit}html[data-system-scale="100"] .sidebar,html:not([data-system-scale]) .sidebar{font-size:16px}html[data-system-scale="100"] .sidebar-header,html:not([data-system-scale]) .sidebar-header{padding:12px 14px;align-items:center}html[data-system-scale="100"] .sidebar-nav,html:not([data-system-scale]) .sidebar-nav{padding:12px 10px}html[data-system-scale="100"] .sidebar-nav-link,html:not([data-system-scale]) .sidebar-nav-link{padding:8px 12px;gap:10px;align-items:center}html[data-system-scale="100"] .sidebar-nav-link svg,html:not([data-system-scale]) .sidebar-nav-link svg{width:18px;height:18px;flex-shrink:0}html[data-system-scale="100"] .sidebar-nav-link .sidebar-nav-icon-fa,html:not([data-system-scale]) .sidebar-nav-link .sidebar-nav-icon-fa{width:18px;height:18px;font-size:18px}html[data-system-scale="100"] .sidebar-chevron,html:not([data-system-scale]) .sidebar-chevron{width:14px;height:14px;margin-left:auto}html[data-system-scale="100"] .sidebar-nav-list,html:not([data-system-scale]) .sidebar-nav-list{gap:2px}html[data-system-scale="100"] .sidebar-submenu,html:not([data-system-scale]) .sidebar-submenu{padding:2px 0 2px 12px}html[data-system-scale="100"] .sidebar-submenu-link,html:not([data-system-scale]) .sidebar-submenu-link{padding:6px 12px;gap:8px;align-items:center}html[data-system-scale="100"] .sidebar-submenu-link svg,html:not([data-system-scale]) .sidebar-submenu-link svg{width:14px;height:14px;flex-shrink:0}html[data-system-scale="100"] .sidebar-submenu-link .sidebar-submenu-icon-fa,html:not([data-system-scale]) .sidebar-submenu-link .sidebar-submenu-icon-fa{width:14px;height:14px;font-size:14px}html[data-system-scale="100"] .sidebar-footer,html:not([data-system-scale]) .sidebar-footer{padding:12px 14px}html[data-system-scale="100"] .sidebar-logout-btn,html:not([data-system-scale]) .sidebar-logout-btn{padding:8px 12px;gap:10px;align-items:center}html[data-system-scale="100"] .sidebar-logout-icon,html:not([data-system-scale]) .sidebar-logout-icon{width:18px;height:18px;flex-shrink:0}html[data-system-scale="100"] .sidebar-toggle,html:not([data-system-scale]) .sidebar-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center}html[data-system-scale="100"] .sidebar-toggle svg,html:not([data-system-scale]) .sidebar-toggle svg{width:18px;height:18px}.sidebar-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav-item{list-style:none}.sidebar-nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;color:#fffc;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.sidebar-nav-link:hover{background-color:#ffffff26;color:#fff}.sidebar-nav-link-active{background-color:#fff3;color:#fff}.sidebar-nav-link-active:hover{background-color:#ffffff40;color:#fff}.sidebar-nav-link svg{width:1.25rem;height:1.25rem;flex-shrink:0}.sidebar-nav-icon-fa{width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.sidebar-nav-link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar-nav-parent{width:100%;border:none;background:transparent;cursor:pointer;font-family:inherit}.sidebar-chevron{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.sidebar-chevron-expanded{transform:rotate(180deg)}.sidebar-submenu{list-style:none;margin:0;padding:.25rem 0 .25rem 1rem}.sidebar-submenu-item{list-style:none}.sidebar-submenu-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;color:#ffffffb3;text-decoration:none;font-size:.8125rem;font-weight:400;transition:all .2s ease}.sidebar-submenu-link:hover{background-color:#ffffff26;color:#fff}.sidebar-submenu-link-active{background-color:#fff3;color:#fff}.sidebar-submenu-link svg{width:1rem;height:1rem;flex-shrink:0}.sidebar-submenu-icon-fa{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.sidebar-submenu-disabled{cursor:not-allowed;opacity:.5}.sidebar-submenu-disabled:hover{background-color:transparent;color:#ffffffb3}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.15)}.sidebar-logout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:none;border-radius:.5rem;background:transparent;color:#fffc;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar-logout-btn:hover{background-color:#ffffff26;color:#fff}.sidebar-logout-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.sidebar-logout-text{white-space:nowrap}.sidebar-collapsed .sidebar-nav-link-text,.sidebar-collapsed .sidebar-logout-text,.sidebar-collapsed .sidebar-chevron,.sidebar-collapsed .sidebar-submenu{display:none}.sidebar-collapsed .sidebar-header{justify-content:center}.sidebar-collapsed .sidebar-nav-link,.sidebar-collapsed .sidebar-logout-btn{justify-content:center;padding:.625rem}:root.dark .sidebar{background-color:#0f1729}:root.dark .sidebar-header{background-color:#0f1729;border-bottom-color:#ffffff1a}:root.dark .sidebar-toggle{color:#ffffffd9}:root.dark .sidebar-toggle:hover{background-color:#ffffff1a;color:#fff}:root.dark .sidebar-nav-link{color:#ffffffbf}:root.dark .sidebar-nav-link:hover{background-color:#ffffff1a;color:#fff}:root.dark .sidebar-nav-link-active{background-color:#ffffff26;color:#fff}:root.dark .sidebar-nav-link-active:hover{background-color:#fff3}:root.dark .sidebar-submenu-link{color:#ffffffa6}:root.dark .sidebar-submenu-link:hover{background-color:#ffffff1a;color:#fff}:root.dark .sidebar-submenu-link-active{background-color:#ffffff26;color:#fff}:root.dark .sidebar-footer{border-top-color:#ffffff1a}:root.dark .sidebar-logout-btn{color:#ffffffbf}:root.dark .sidebar-logout-btn:hover{background-color:#ffffff1a;color:#fff}.header{position:fixed;top:0;right:0;height:var(--header-height);background-color:hsl(var(--background) / .95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;padding:0 1.5rem;z-index:40;transition:left .3s ease;justify-content:space-between}.header-title-container{position:static;margin-bottom:2rem}.header-title{position:absolute;left:50%;transform:translate(-50%);font-size:1.125rem;font-weight:700;color:hsl(var(--primary))}.header-sidebar-expanded{left:var(--sidebar-width)}.header-sidebar-collapsed{left:var(--sidebar-collapsed-width)}.header-search{position:relative;width:20rem}.header-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.header-search-icon svg{width:1rem;height:1rem}.header-search-input{width:100%;height:2.25rem;padding-left:2.5rem;padding-right:.75rem;border-radius:.375rem;border:1px solid hsl(var(--input));background-color:hsl(var(--background));font-size:.875rem;color:hsl(var(--foreground));transition:all .2s ease}.header-search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.header-search-input::placeholder{color:hsl(var(--muted-foreground))}.header-search-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-action-btn-nav{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:.375rem;transition:all .2s ease;position:relative}.header-action-btn-nav:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.header-action-btn-nav svg{width:1.25rem;height:1.25rem}.header-notification-badge{position:absolute;top:.25rem;right:.25rem;min-width:1rem;height:1rem;border-radius:9999px;background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 .25rem}.header-divider{width:1px;height:1.5rem;background-color:hsl(var(--border));margin:0 .5rem}.header-user-section{display:flex;align-items:center;gap:.75rem;position:relative}.header-user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background-color:hsl(var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;border:2px solid hsl(var(--primary) / .3)}.header-user-info{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.header-user-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));line-height:1.2}.header-role-dropdown-trigger{display:flex;align-items:center;gap:.25rem;background:transparent;border:none;cursor:pointer;padding:0}.header-user-role{font-size:.75rem;color:hsl(var(--primary));font-weight:500}.header-role-chevron{width:.875rem;height:.875rem;color:hsl(var(--primary));transition:transform .2s ease}.header-role-chevron.open{transform:rotate(180deg)}.header-role-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:10rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 4px 12px hsl(var(--foreground) / .1);z-index:50;overflow:hidden}.header-role-option{display:block;width:100%;padding:.625rem 1rem;text-align:left;font-size:.875rem;color:hsl(var(--foreground));background:transparent;border:none;cursor:pointer;transition:background-color .15s ease}.header-role-option:hover{background-color:hsl(var(--accent))}.header-role-option.active{color:hsl(var(--primary));font-weight:500}@media (max-width: 768px){.header-search,.header-user-name{display:none}}.dashboard-layout{min-height:100vh;background-color:hsl(var(--background));max-width:100%;min-width:0}.dashboard-main{padding-top:var(--header-height);transition:margin-left .3s ease;max-width:100%;min-width:0}.dashboard-main-expanded{margin-left:var(--sidebar-width)}.dashboard-main-collapsed{margin-left:var(--sidebar-collapsed-width)}.dashboard-content{padding:1rem;max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}@media (max-width: 768px){.dashboard-main-expanded,.dashboard-main-collapsed{margin-left:0}.dashboard-content{padding:1rem}}.login-page{display:flex;min-height:100vh;width:100%}.login-left-panel{display:none;width:60%;flex-direction:column;justify-content:space-between;align-items:center;padding:2rem 3rem;background-color:#f0f8ff}.login-footer-branding{display:contents}@media (min-width: 1024px){.login-left-panel{display:flex}}.login-header-logo{text-align:center}.login-secorex-logo{max-width:280px;width:100%;height:auto}.login-illustration{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:600px;padding:2rem 0}.login-illustration-img{width:100%;height:auto;max-height:400px;-o-object-fit:contain;object-fit:contain}.login-footer-branding{text-align:center}.login-fidrox-logo{max-width:200px;width:100%;height:auto;margin-bottom:.5rem}.login-footer-copyright{font-size:.75rem;color:#64748b;margin-top:.5rem}.login-footer-copyright a{color:#3b82f6;text-decoration:none}.login-footer-copyright a:hover{text-decoration:underline}.login-right-panel{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:#fff;position:relative}@media (min-width: 1024px){.login-right-panel{width:40%}}.login-theme-toggle{position:absolute;top:1rem;right:1rem}.login-card{width:100%;max-width:380px;padding:2rem}.login-lock-icon{width:56px;height:56px;background-color:hsl(var(--primary-btn));border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff}.login-welcome-title{font-size:1.5rem;font-weight:600;color:#1e293b;text-align:center;margin-bottom:.5rem}.login-subtitle{font-size:.875rem;color:#64748b;text-align:center;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-label{font-size:.875rem;font-weight:500;color:#1e293b;text-align:left}.login-input-wrapper{position:relative}.login-input{width:100%;border:1px solid #e2e8f0;background-color:#f8fafc;font-size:.875rem;color:#1e293b;outline:none;padding:.75rem 1rem;border-radius:.5rem;transition:border-color .2s ease,box-shadow .2s ease}.login-input:focus{border-color:hsl(var(--primary-btn));box-shadow:0 0 0 3px #4f6ef71a}.login-input::-moz-placeholder{color:#94a3b8}.login-input::placeholder{color:#94a3b8}.login-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.25rem}.login-password-toggle:hover{color:#64748b}.login-checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:#475569;cursor:pointer}.login-checkbox{width:1rem;height:1rem;accent-color:#4f6ef7;flex-shrink:0;margin-top:.125rem}.login-policy-link{color:#4f6ef7;text-decoration:none;background:none;border:none;padding:0;font:inherit;cursor:pointer}.login-policy-link:hover{text-decoration:underline}.login-privacy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.login-privacy-modal{background:#fff;border-radius:.75rem;max-width:520px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000026}.login-privacy-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.login-privacy-title{margin:0;font-size:1.25rem;font-weight:700;color:#1e293b}.login-privacy-close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:#4f6ef7;cursor:pointer;border-radius:.375rem}.login-privacy-close:hover{background:#f1f5f9;color:#1e293b}.login-privacy-content{padding:1.5rem;overflow-y:auto;flex:1}.login-privacy-content p{margin:0 0 1rem;font-size:.938rem;line-height:1.6;color:#1e293b;text-align:justify}.login-privacy-content p:last-child{margin-bottom:0}.login-error{font-size:.75rem;color:#dc2626;text-align:center;background-color:#fef2f2;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #fecaca}.login-field-error{font-size:.75rem;color:#dc2626;text-align:left}.policy-error{margin-top:-.5rem}.login-input.input-error{border-color:#dc2626}.login-input.input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.checkbox-error .login-checkbox{outline:2px solid #dc2626;outline-offset:1px}.login-btn{width:100%;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-btn-primary{background-color:hsl(var(--primary-btn));color:#fff;border:none}.login-btn-primary:hover:not(:disabled){background-color:hsl(var(--primary-btn))}.login-btn-primary:disabled{opacity:.7;cursor:not-allowed}.login-btn-secondary{background-color:#fff;color:#1e293b;border:1px solid #e2e8f0}.login-btn-secondary:hover{background-color:#f8fafc}.login-divider{display:flex;align-items:center;gap:1rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:#e2e8f0}.login-divider span{font-size:.75rem;color:#94a3b8}.login-forgot-link{font-size:.875rem;color:#4f6ef7;text-decoration:none;text-align:center}.login-forgot-link:hover{text-decoration:underline}.login-footer-notice{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;font-size:.75rem;color:#64748b}.login-footer-notice svg{flex-shrink:0}.spin{animation:spin 1s linear infinite}@media (max-width: 1023px){.login-right-panel{min-height:100vh}.login-company-name{font-size:2rem}.login-card{max-width:100%}}[data-theme=dark] .login-left-panel{background-color:#0f172a}[data-theme=dark] .login-brand-title,[data-theme=dark] .login-footer-logo{color:#e2e8f0}[data-theme=dark] .login-brand-tagline,[data-theme=dark] .login-footer-copyright{color:#94a3b8}[data-theme=dark] .login-card{background:#1e293b}[data-theme=dark] .login-welcome-title,[data-theme=dark] .login-input{color:#e2e8f0}[data-theme=dark] .login-input-group{border-color:#475569}[data-theme=dark] .login-checkbox-label{color:#cbd5e1}[data-theme=dark] .login-privacy-modal{background:#1e293b}[data-theme=dark] .login-privacy-header{border-bottom-color:#334155}[data-theme=dark] .login-privacy-title,[data-theme=dark] .login-privacy-content p{color:#e2e8f0}[data-theme=dark] .login-privacy-close{color:#94a3b8}[data-theme=dark] .login-privacy-close:hover{background:#334155;color:#e2e8f0}.dashboard-stat-card{border-radius:.625rem;padding:2rem 1.25rem;min-height:120px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;transition:transform .25s ease,box-shadow .25s ease,border-color .2s ease;animation:fadeIn .4s ease-out;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;position:relative;overflow:hidden;width:clamp(140px,14vw,220px);min-width:clamp(140px,14vw,220px);max-width:100%;flex-shrink:0;box-sizing:border-box}html[data-system-scale="125"] .dashboard-stat-card{width:clamp(120px,11vw,190px);min-width:clamp(120px,11vw,190px)}html[data-system-scale="150"] .dashboard-stat-card{width:clamp(110px,9vw,165px);min-width:clamp(110px,9vw,165px)}@media (max-width: 400px){.dashboard-stat-card{width:100%;min-width:0}}.dashboard-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:.4;border-radius:.625rem .625rem 0 0}.dashboard-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #00000014,0 4px 8px #0000000a;border-color:#00000014}.dashboard-stat-card-clickable{cursor:pointer}.dashboard-stat-card-clickable:hover{box-shadow:0 16px 32px #0000001a,0 6px 12px #0000000f}.dark .dashboard-stat-card{border-color:#ffffff14;box-shadow:0 1px 3px #0003}.dark .dashboard-stat-card:hover{border-color:#ffffff1f;box-shadow:0 12px 24px #00000040}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard-stat-card-large{justify-content:center;align-items:center;text-align:center;padding:2.25rem 1.25rem}.dashboard-stat-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.dashboard-stat-card:hover .dashboard-stat-icon{transform:scale(1.05)}.dashboard-stat-icon svg{width:1.125rem;height:1.125rem}.dashboard-stat-card-large .dashboard-stat-icon{width:2.5rem;height:2.5rem;border-radius:.5rem}.dashboard-stat-card-large .dashboard-stat-icon svg{width:1.25rem;height:1.25rem}.dashboard-stat-title{font-size:.6875rem;font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.04em;opacity:.9}.dashboard-stat-value{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.dashboard-stat-card-large .dashboard-stat-value{font-size:1.5rem;font-weight:800}.dashboard-stat-card-green:before{background:linear-gradient(90deg,#22c358,#47d175)}.dashboard-stat-card-yellow:before{background:linear-gradient(90deg,#da8e0b,#ffd11a)}.dashboard-stat-card-blue:before{background:linear-gradient(90deg,#2258c3,#30abe8)}.dashboard-stat-card-purple:before{background:linear-gradient(90deg,#9d26d9,#ad5cd6)}.dashboard-stat-card-red:before{background:linear-gradient(90deg,#df2020,#dd3c3c)}.dashboard-stat-card-orange:before{background:linear-gradient(90deg,#e06106,#ff8c1a)}.dashboard-stat-card-teal:before{background:linear-gradient(90deg,#29a3a3,#3c9)}.dashboard-stat-card-green{background:linear-gradient(145deg,#effaf3,#def7e7)}.dark .dashboard-stat-card-green{background:linear-gradient(145deg,#1b3724,#122b1b)}.dashboard-stat-icon-green{background-color:#cef3da;color:#1b9844}.dark .dashboard-stat-icon-green{background-color:#206035;color:#52e081}.dashboard-stat-title-green{color:#1b9844}.dark .dashboard-stat-title-green{color:#5cd685}.dashboard-stat-value-green{color:#17823b}.dark .dashboard-stat-value-green{color:#85e0a3}.dashboard-stat-card-yellow{background:linear-gradient(145deg,#fff9e0,#fff3c2)}.dark .dashboard-stat-card-yellow{background:linear-gradient(145deg,#3f3612,#312a0c)}.dashboard-stat-icon-yellow{background-color:#ffeb99;color:#c27e0a}.dark .dashboard-stat-icon-yellow{background-color:#6c5b13;color:#ebca47}.dashboard-stat-title-yellow{color:#c27e0a}.dark .dashboard-stat-title-yellow{color:#e0c452}.dashboard-stat-value-yellow{color:#aa6f09}.dark .dashboard-stat-value-yellow{color:#e8d37d}.dashboard-stat-card-blue{background:linear-gradient(145deg,#e9f5fc,#d1ecfa)}.dark .dashboard-stat-card-blue{background:linear-gradient(145deg,#162f3b,#0f242e)}.dashboard-stat-icon-blue{background-color:#bae3f7;color:#1f4ead}.dark .dashboard-stat-icon-blue{background-color:#194c66;color:#52b1e0}.dashboard-stat-title-blue{color:#1f4ead}.dark .dashboard-stat-title-blue{color:#70b8db}.dashboard-stat-value-blue{color:#1241a1}.dark .dashboard-stat-value-blue{color:#85c2e0}.dashboard-stat-card-purple{background:linear-gradient(145deg,#f7effa,#efdef7)}.dark .dashboard-stat-card-purple{background:linear-gradient(145deg,#2e1b37,#23122b)}.dashboard-stat-icon-purple{background-color:#e7cef3;color:#9d26d9}.dark .dashboard-stat-icon-purple{background-color:#4a2060;color:#b870db}.dashboard-stat-title-purple{color:#8e22c3}.dark .dashboard-stat-title-purple{color:#b675d7}.dashboard-stat-value-purple{color:#8114b8}.dark .dashboard-stat-value-purple{color:#c188dd}.dashboard-stat-card-red{background:linear-gradient(145deg,#fef1f1,#fbdfdf)}.dark .dashboard-stat-card-red{background:linear-gradient(145deg,#3b1616,#2e0f0f)}.dashboard-stat-icon-red{background-color:#fad1d1;color:#df2020}.dark .dashboard-stat-icon-red{background-color:#661919;color:#e05252}.dashboard-stat-title-red{color:#df2020}.dark .dashboard-stat-title-red{color:#db5757}.dashboard-stat-value-red{color:#cf1717}.dark .dashboard-stat-value-red{color:#e06c6c}.dashboard-stat-card-orange{background:linear-gradient(145deg,#fff2e5,#ffe8d1)}.dark .dashboard-stat-card-orange{background:linear-gradient(145deg,#3b2916,#2e1f0f)}.dashboard-stat-icon-orange{background-color:#ffd9b3;color:#da620b}.dark .dashboard-stat-icon-orange{background-color:#664019;color:#eb9947}.dashboard-stat-title-orange{color:#da620b}.dark .dashboard-stat-title-orange{color:#e09952}.dashboard-stat-value-orange{color:#c75605}.dark .dashboard-stat-value-orange{color:#e4a667}.dashboard-stat-card-teal{background:linear-gradient(145deg,#e7f8f3,#d6f5eb)}.dark .dashboard-stat-card-teal{background:linear-gradient(145deg,#1b372e,#122b23)}.dashboard-stat-icon-teal{background-color:#c2f0e0;color:#248f8f}.dark .dashboard-stat-icon-teal{background-color:#20604a;color:#47d1a3}.dashboard-stat-title-teal{color:#1f7a7a}.dark .dashboard-stat-title-teal{color:#61d1ac}.dashboard-stat-value-teal{color:#1241a1}.dark .dashboard-stat-value-teal{color:#75d7b6}.dashboard-chart-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 2px hsl(var(--foreground) / .05)}.dashboard-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.dashboard-chart-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1rem}.dashboard-chart-header .dashboard-chart-title{margin-bottom:0}.dashboard-chart-container{width:100%;min-height:400px}html[data-system-scale="125"] .dashboard-chart-container{min-height:300px}html[data-system-scale="150"] .dashboard-chart-container{min-height:220px}.dashboard-chart-toggle{display:flex;background-color:hsl(var(--muted));border-radius:.5rem;padding:.25rem}.dashboard-toggle-btn{padding:.5rem 1rem;border:none;background:transparent;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.dashboard-toggle-btn:hover{color:hsl(var(--foreground))}.dashboard-toggle-btn.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .1)}.dark .dashboard-chart-card{background-color:hsl(var(--card))}.dark .recharts-cartesian-axis-tick-value{fill:hsl(var(--muted-foreground))!important}.dark .recharts-cartesian-grid line{stroke:hsl(var(--border))!important}.dark .recharts-tooltip-wrapper .recharts-default-tooltip{background-color:hsl(var(--card))!important;border-color:hsl(var(--border))!important}.dark .recharts-legend-item-text{color:hsl(var(--foreground))!important}@media (max-width: 640px){.dashboard-chart-card{padding:1rem}.dashboard-chart-header{flex-direction:column;align-items:flex-start}.dashboard-chart-container{min-height:320px}}.dashboard-chart-loading,.dashboard-chart-error{display:flex;align-items:center;justify-content:center;min-height:300px;color:hsl(var(--muted-foreground));font-size:.875rem}.dashboard-chart-error p{margin:0;text-align:center}.pagination-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 0;gap:.75rem;background:hsl(var(--background))}.pagination-info{font-size:.8125rem;color:hsl(var(--muted-foreground));text-align:center}.pagination-main{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.pagination-page-size{display:flex;align-items:center;gap:.5rem}.page-size-label{font-size:.8125rem;color:hsl(var(--muted-foreground))}.page-size-select{padding:.375rem .75rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:5rem}.page-size-select:hover{border-color:hsl(var(--primary))}.page-size-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.page-size-custom-input{width:4rem;padding:.375rem .5rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.375rem;font-size:.875rem;text-align:center;transition:all .2s ease}.page-size-custom-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.page-size-custom-input::-moz-placeholder{color:hsl(var(--muted-foreground));font-size:.75rem}.page-size-custom-input::placeholder{color:hsl(var(--muted-foreground));font-size:.75rem}.pagination-controls{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.375rem;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:hsl(var(--muted));border-color:hsl(var(--primary));color:hsl(var(--primary))}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg{width:1rem;height:1rem}.pagination-pages{display:flex;align-items:center;gap:.25rem;margin:0 .5rem}.pagination-page{display:flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-page:hover{background:hsl(var(--muted));border-color:hsl(var(--primary))}.pagination-page.active{background:hsl(var(--primary-btn));border-color:hsl(var(--primary-btn));color:#fff;font-weight:600}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:hsl(var(--muted-foreground));font-size:.875rem}@media (max-width: 640px){.pagination-container{padding:1rem 0}.pagination-main{flex-direction:column;gap:1rem}.pagination-page-size{flex-wrap:wrap;justify-content:center}.pagination-pages{margin:0 .25rem}.pagination-page,.pagination-btn{min-width:2rem;width:2rem;height:2rem;font-size:.8125rem}.page-size-select{min-width:4.5rem;font-size:.8125rem}.page-size-custom-input{width:3.5rem;font-size:.8125rem}}.dashboard-page{display:flex;flex-direction:column;gap:2.25rem}.dashboard-stats-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:1.5rem 0;width:100%}.dashboard-charts-grid{display:grid;gap:2rem;grid-template-columns:1fr}.profile-margin{margin:1.5rem}@media (min-width: 1024px){.dashboard-charts-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-detail-section{display:flex;flex-direction:column;gap:1rem}.dashboard-detail-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.dashboard-detail-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.dashboard-back-btn{flex-shrink:0}.dashboard-detail-header .header-actions{display:flex;align-items:center;gap:.75rem}.dashboard-detail-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.dashboard-detail-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.dashboard-detail-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;min-width:150px;color:hsl(var(--foreground))}.dashboard-detail-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.dashboard-detail-header .download-btn:hover{color:hsl(var(--primary))}.dashboard-detail-content .master-table-wrapper{max-height:40vh}.dashboard-detail-content .empty-state{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.dashboard-detail-content .empty-text{margin:0;font-size:.875rem}.dashboard-detail-section .master-table .action-btn.reprint-btn{background:transparent;color:hsl(var(--primary))}.dashboard-detail-section .master-table .action-btn.reprint-btn:hover{background:transparent;color:#204cc5}.dashboard-detail-section .master-table .action-btn.action-btn-icon{min-width:2.25rem;padding:.35rem;display:inline-flex;align-items:center;justify-content:center}.dashboard-detail-section .master-table .action-btn.action-btn-icon:hover{background:hsl(var(--primary) / .08)}.dashboard-checkins-photo,.dashboard-checkins-photo-placeholder{width:2.5rem;height:2.5rem;border-radius:50%;vertical-align:middle;flex-shrink:0}.dashboard-checkins-photo{-o-object-fit:cover;object-fit:cover}.dashboard-checkins-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.dashboard-checkins-photo-placeholder svg{width:1.25rem;height:1.25rem}.dashboard-table-photo-cell{text-align:center;vertical-align:middle;white-space:nowrap}.dashboard-table-photo-cell .dashboard-checkins-photo,.dashboard-table-photo-cell .dashboard-checkins-photo-placeholder{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.dashboard-table-photo-cell .dashboard-checkins-photo{display:inline-block}.dashboard-table-photo-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;border-radius:50%;transition:opacity .2s ease}.dashboard-table-photo-btn:hover{opacity:.85}.dashboard-confirm-visitor{margin-top:0}.dashboard-confirm-visitor-card{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:hsl(var(--muted) / .35);border-radius:.625rem;border:1px solid hsl(var(--border))}.dashboard-confirm-photo{flex-shrink:0;display:flex;align-items:center;justify-content:center}.dashboard-confirm-photo img,.dashboard-confirm-photo .dashboard-checkins-photo-placeholder{width:6rem;height:6rem;border-radius:50%}.dashboard-confirm-photo img{-o-object-fit:cover;object-fit:cover}.dashboard-confirm-details{min-width:0;display:flex;flex-direction:column;gap:.625rem}.dashboard-confirm-row{font-size:.875rem;color:hsl(var(--foreground));display:grid;grid-template-columns:1fr auto 1fr;-moz-column-gap:.5rem;column-gap:.5rem;align-items:baseline}.dashboard-confirm-label{text-align:left}.dashboard-confirm-label strong{color:hsl(var(--muted-foreground));font-weight:500;font-size:.8125rem}.dashboard-confirm-colon{color:hsl(var(--muted-foreground));text-align:center;flex-shrink:0}.dashboard-confirm-value{text-align:left}.dashboard-checkin-dialog,.dashboard-checkout-dialog{max-width:560px;width:90vw}.dashboard-visitor-detail-dialog{width:85%;max-width:none;min-height:unset;padding:1.25rem 1.5rem 2rem;gap:0}.dashboard-visitor-detail-dialog>button[class*=absolute]{padding:.5rem}.dashboard-visitor-detail-dialog>button[class*=absolute] svg{width:1.5rem;height:1.5rem}.dashboard-checkin-dialog>div:first-child,.dashboard-checkout-dialog>div:first-child{padding-bottom:.25rem}.dashboard-checkin-dialog .dashboard-confirm-visitor,.dashboard-checkout-dialog .dashboard-confirm-visitor{padding:.25rem 0}.dashboard-checkin-dialog>div:last-child,.dashboard-checkout-dialog>div:last-child{padding-top:1rem;gap:.75rem}.dashboard-dialog-footer-divider{border:none;border-top:1px solid hsl(var(--border));margin:1rem 0 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-visitor-detail-popup{padding:0}.dashboard-visitor-detail-header{display:flex;align-items:flex-start;gap:1rem}.dashboard-visitor-detail-avatar{flex-shrink:0;width:4rem;height:4rem;border-radius:50%;overflow:hidden;border:2px solid hsl(217 91% 60%);display:flex;align-items:center;justify-content:center;background:hsl(var(--muted))}.dashboard-visitor-detail-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dashboard-visitor-detail-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:hsl(var(--muted-foreground))}.dashboard-visitor-detail-avatar-placeholder svg{width:2rem;height:2rem}.dashboard-visitor-detail-heading{min-width:0;flex:1}.dashboard-visitor-detail-name{font-size:1.35rem;font-weight:700;color:#3c83f6;margin:0 0 .2rem;line-height:1.3}.dashboard-visitor-detail-meta{font-size:.9375rem;color:hsl(var(--muted-foreground));margin:0 0 .1rem;line-height:1.35}.dashboard-visitor-detail-divider{border:none;border-top:1px solid hsl(var(--border));margin:.75rem 0}.dashboard-visitor-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}.dashboard-visitor-detail-column{display:flex;flex-direction:column;gap:.5rem}.dashboard-visitor-detail-item{display:flex;flex-direction:column;gap:.15rem;font-size:.9375rem}.dashboard-visitor-detail-key{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.dashboard-visitor-detail-val{font-size:.9375rem;color:hsl(var(--muted-foreground));font-weight:400}.dashboard-visitor-detail-dialog>div:first-child{gap:0;margin-bottom:2rem}.dashboard-visitor-detail-dialog>div:first-child>*+*{margin-top:0}.dashboard-confirm-popup-compact.dashboard-visitor-detail-popup{padding:.35rem 0}.dashboard-confirm-popup-compact .dashboard-visitor-detail-header{gap:.875rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-avatar{width:3.25rem;height:3.25rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-name{font-size:1.125rem;margin-bottom:.2rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-meta{font-size:.8125rem;margin-bottom:.1rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-divider{margin:.75rem 0}.dashboard-confirm-popup-compact .dashboard-visitor-detail-grid{gap:.5rem 1.5rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-column{gap:.4rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-item{font-size:.875rem;gap:.1rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-key{font-size:.875rem}.dashboard-confirm-popup-compact .dashboard-visitor-detail-val{font-size:.8125rem}.header-action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;height:2.5rem;white-space:nowrap;flex-shrink:0;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important;border:none;cursor:pointer;transition:all .2s ease}.header-action-btn:hover:not(:disabled){background-color:hsl(var(--primary-btn) / .9)!important;box-shadow:0 2px 6px hsl(var(--primary-btn) / .3)}.header-action-btn:disabled{background-color:hsl(var(--primary-btn) / .6)!important;cursor:not-allowed;pointer-events:none}.header-action-btn .btn-icon-sm{width:1rem;height:1rem;flex-shrink:0;color:hsl(var(--primary-foreground))}.header-action-btn svg{color:hsl(var(--primary-foreground))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;outline:none}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn svg{width:1rem;height:1rem;flex-shrink:0}.btn-primary{background-color:hsl(var(--primary-btn));color:hsl(var(--primary-foreground))}.btn-primary:hover{background-color:hsl(var(--primary-btn) / .9)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background-color:hsl(var(--secondary) / .8)}.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover{background-color:hsl(var(--destructive) / .9)}.btn-outline{border:1px solid hsl(var(--input));background-color:hsl(var(--background));color:hsl(var(--foreground))}.btn-outline:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-ghost{background-color:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-link{background-color:transparent;color:hsl(var(--primary));text-decoration-line:underline;text-underline-offset:4px}.btn-link:hover{text-decoration-line:underline}.btn-sm{height:2.25rem;padding:0 .75rem;border-radius:.375rem}.btn-md{height:2.5rem;padding:0 1rem}.btn-lg{height:2.75rem;padding:0 2rem;border-radius:.375rem}.btn-icon{height:2.5rem;width:2.5rem;padding:0}.btn-icon-sm{height:1.5rem;width:1.5rem;padding:0}.input-wrapper{display:flex;flex-direction:column;gap:.375rem}.input-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.input-label-required:after{content:" *";color:hsl(var(--destructive))}.input-field{display:flex;height:2.5rem;width:100%;border-radius:.375rem;border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:.5rem .75rem;font-size:.875rem;color:hsl(var(--foreground));transition:all .2s ease}.input-field::-moz-placeholder{color:hsl(var(--muted-foreground))}.input-field::placeholder{color:hsl(var(--muted-foreground))}.input-field:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.input-field:disabled{cursor:not-allowed;opacity:.5}.input-field-error{border-color:hsl(var(--destructive))}.input-field-error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 2px hsl(var(--destructive) / .2)}.input-error-message{font-size:.75rem;color:hsl(var(--destructive))}.input-helper-text{font-size:.75rem;color:hsl(var(--muted-foreground))}.input-with-icon{position:relative}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.input-icon svg{width:1rem;height:1rem}.input-with-icon .input-field{padding-left:2.5rem}.status-badge{display:inline-flex;align-items:center;border-radius:9999px;border:1px solid;padding:.125rem .625rem;font-size:.75rem;font-weight:500;transition:colors .2s ease}.status-pending{background-color:hsl(var(--warning) / .15);color:hsl(var(--warning));border-color:hsl(var(--warning) / .3)}.status-checked_in{background-color:hsl(var(--success) / .15);color:hsl(var(--success));border-color:hsl(var(--success) / .3)}.status-checked_out{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}.status-denied{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.status-expired{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}.status-admitted{background-color:hsl(var(--success) / .15);color:hsl(var(--success));border-color:hsl(var(--success) / .3)}.status-discharged{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}.status-restricted{background-color:hsl(var(--warning) / .15);color:hsl(var(--warning));border-color:hsl(var(--warning) / .3)}.status-no_visitors{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.status-low{background-color:hsl(var(--info) / .15);color:hsl(var(--info));border-color:hsl(var(--info) / .3)}.status-medium{background-color:hsl(var(--warning) / .15);color:hsl(var(--warning));border-color:hsl(var(--warning) / .3)}.status-high{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.status-critical{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-color:hsl(var(--destructive))}.masked-field{display:flex;align-items:center;gap:.5rem}.masked-field-label{font-size:.875rem;color:hsl(var(--muted-foreground))}.masked-field-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.masked-field-value-hidden{color:hsl(var(--muted-foreground));letter-spacing:.05em}.masked-field-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:.25rem;transition:all .2s ease}.masked-field-toggle:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.masked-field-toggle svg{width:.875rem;height:.875rem}.visitors-page{display:flex;flex-direction:column;gap:1.5rem}.visitors-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.visitors-header{flex-direction:row;align-items:center;justify-content:space-between}}.visitors-header h1{font-size:1.5rem;font-weight:700}.visitors-header p{color:hsl(var(--muted-foreground))}.visitors-filters{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.visitors-filters{flex-direction:row;align-items:center}}.visitors-search{position:relative;flex:1;max-width:28rem}.visitors-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.visitors-search input{padding-left:2.25rem}.visitors-status-filters{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}@media (min-width: 640px){.visitors-status-filters{padding-bottom:0}}.visitors-table-container{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));box-shadow:var(--shadow-sm);overflow:hidden}.visitors-table-scroll{overflow-x:auto}.visitors-table{width:100%;border-collapse:collapse}.visitors-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border))}.visitors-table th:last-child{text-align:right}.visitors-table td{padding:1rem;border-bottom:1px solid hsl(var(--border))}.visitors-table tr:last-child td{border-bottom:none}.visitors-table tbody tr{transition:background-color .15s ease}.visitors-table tbody tr:hover{background-color:hsl(var(--muted) / .5)}.visitors-table tbody tr:nth-child(2n){background-color:hsl(var(--muted) / .2)}.visitors-table-empty{padding:3rem 1rem;text-align:center;color:hsl(var(--muted-foreground))}.visitor-info-name{font-weight:500}.visitor-info-company{font-size:.875rem;color:hsl(var(--muted-foreground))}.visitor-host-name{font-size:.875rem}.visitor-host-department{font-size:.75rem;color:hsl(var(--muted-foreground))}.visitor-purpose{font-size:.875rem;text-transform:capitalize}.visitor-checkin-time{font-size:.875rem}.visitor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.visitors-pagination{display:flex;align-items:center;justify-content:space-between}.visitors-pagination-info{font-size:.875rem;color:hsl(var(--muted-foreground))}.visitors-pagination-buttons{display:flex;align-items:center;gap:.5rem}.patients-page{display:flex;flex-direction:column;gap:1.5rem}.patients-header h1{font-size:1.5rem;font-weight:700}.patients-header p{color:hsl(var(--muted-foreground))}.patients-hipaa-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.5rem;border:1px solid hsl(var(--warning) / .3);background-color:hsl(var(--warning) / .05)}.patients-hipaa-notice svg{flex-shrink:0;height:1.25rem;width:1.25rem;color:hsl(var(--warning))}.patients-hipaa-notice-title{font-weight:500;color:hsl(var(--warning))}.patients-hipaa-notice-text{font-size:.875rem;color:hsl(var(--muted-foreground))}.patients-search{position:relative;max-width:28rem}.patients-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.patients-search input{padding-left:2.25rem}.patients-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.patients-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.patients-grid{grid-template-columns:repeat(3,1fr)}}.patient-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s ease}.patient-card:hover{box-shadow:var(--shadow-md)}.patient-card-header{display:flex;align-items:flex-start;justify-content:space-between}.patient-card-name{font-weight:600}.patient-card-details{margin-top:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.875rem}.patient-card-detail-label{color:hsl(var(--muted-foreground))}.patient-card-detail-value{font-weight:500}.patient-visitor-count{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:.5rem;background-color:hsl(var(--muted) / .5)}.patient-visitor-count-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.patient-visitor-count-label svg{height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.patient-visitor-count-value{font-weight:600}.patient-visitor-count-value.active{color:hsl(var(--success))}.patient-restrictions{margin-top:1rem}.patient-restrictions-label{font-size:.875rem;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.patient-restrictions-list{display:flex;flex-wrap:wrap;gap:.375rem}.patient-restriction-tag{padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:hsl(var(--warning) / .1);color:hsl(var(--warning))}.patients-empty{grid-column:1 / -1;padding:3rem;text-align:center;color:hsl(var(--muted-foreground))}.checkin-page-new{padding:1.5rem;max-width:1400px;margin:0 auto}.checkin-stats-toggle{display:flex;justify-content:flex-end;margin-bottom:1rem}.checkin-stats-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--card));color:hsl(var(--foreground));font-size:.875rem;cursor:pointer;transition:all .2s ease}.checkin-stats-toggle-btn:hover{background:hsl(var(--muted))}.checkin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.checkin-stats-grid{grid-template-columns:1fr}}.checkin-stat-card{padding:1.25rem 1.5rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card))}.checkin-stat-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.checkin-stat-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem}.checkin-stat-icon-blue{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.checkin-stat-icon-purple{background:#7f33cc1a;color:#7f33cc}.checkin-stat-icon-teal{background:#29a3a31a;color:#29a3a3}.checkin-stat-icon-orange{background:#f9741526;color:#e06106}.checkin-stat-icon-green{background:#21c45d26;color:#1eae53}.checkin-stat-label{font-size:.875rem;color:hsl(var(--muted-foreground))}.checkin-stat-value{font-size:1.75rem;font-weight:700;color:hsl(var(--foreground));line-height:1.2}.checkin-stat-sublabel{font-size:.813rem;color:hsl(var(--muted-foreground));margin-top:.25rem}.checkin-mode-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.checkin-mode-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.938rem;color:hsl(var(--foreground))}.checkin-mode-option input[type=radio]{width:1.125rem;height:1.125rem;accent-color:hsl(var(--primary));cursor:pointer}.checkin-under-development{font-size:.875rem;font-weight:600;color:hsl(var(--warning));margin:0 0 .5rem;padding:.375rem .75rem;background:hsl(var(--warning) / .15);border-radius:.5rem;display:inline-block}.checkin-scan-panel{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));padding:2rem;min-height:500px;display:flex;align-items:center;justify-content:center}.checkin-scan-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.checkin-form-block{width:100%;max-width:320px;text-align:left}.checkin-form-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.checkin-form-input{width:100%;padding:.625rem .75rem;font-size:.938rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));box-sizing:border-box}.checkin-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.checkin-form-input::placeholder{color:hsl(var(--muted-foreground))}.checkin-form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.checkin-form-select{width:100%;padding:.625rem .75rem;font-size:.938rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;box-sizing:border-box}.checkin-form-select:focus{outline:none;border-color:hsl(var(--primary))}.checkin-qr-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.checkin-qr-image{width:200px;height:200px;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;background:#fff;padding:.5rem}.checkin-camera-preview{width:340px;height:340px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}@media (max-width: 480px){.checkin-camera-preview{width:280px;height:280px}}.checkin-camera-face{background:#1a1d24}.checkin-video-feed{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.checkin-face-guide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:2;pointer-events:none}.checkin-face-circle{width:100%;height:100%}.checkin-camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;color:hsl(var(--destructive));font-size:.875rem}.checkin-camera-qr{background:hsl(var(--muted));position:relative}.checkin-qr-video{transform:none}.checkin-qr-canvas{position:absolute;left:-9999px;top:0;width:1px;height:1px;pointer-events:none;visibility:hidden}.checkin-qr-guide{width:180px;height:180px;position:relative;border:2px dashed hsl(var(--success));display:flex;align-items:center;justify-content:center}.checkin-camera-qr .checkin-qr-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}@media (max-width: 480px){.checkin-qr-guide{width:150px;height:150px}}.checkin-qr-icon{color:hsl(var(--success));opacity:.8}.checkin-qr-corner{position:absolute;width:20px;height:20px}.checkin-qr-corner-tl{top:-2px;left:-2px;border-top:3px solid hsl(var(--primary));border-left:3px solid hsl(var(--primary))}.checkin-qr-corner-tr{top:-2px;right:-2px;border-top:3px solid hsl(var(--success));border-right:3px solid hsl(var(--success))}.checkin-qr-corner-bl{bottom:-2px;left:-2px;border-bottom:3px solid hsl(var(--primary));border-left:3px solid hsl(var(--primary))}.checkin-qr-corner-br{bottom:-2px;right:-2px;border-bottom:3px solid hsl(var(--success));border-right:3px solid hsl(var(--success))}.checkin-scan-instruction{font-size:.938rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.checkin-scan-status{font-size:.938rem;font-weight:500}.checkin-status-success{color:hsl(var(--success))}.checkin-status-error{color:hsl(var(--destructive))}.checkin-status-pending{color:hsl(var(--warning))}.checkin-scan-content .btn{margin-top:.5rem;min-width:160px}.checkin-face-scan-content{width:100%;max-width:640px}.checkin-face-scan-start,.checkin-face-captured-done{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.checkin-face-captured-done .captured-preview-wrap{max-width:320px}.checkin-face-captured-done .captured-photo-preview-inline{max-height:320px}.checkin-camera-starting{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.checkin-camera-error-btn{margin-top:.25rem}.checkin-camera-site-info{margin-top:.5rem;padding:1rem 1.25rem;background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:.5rem;text-align:left;max-width:360px}.checkin-camera-site-info-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.checkin-camera-site-info-steps{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0;padding-left:1.25rem;line-height:1.6}.checkin-camera-site-info-steps li{margin-bottom:.35rem}.checkin-camera-site-info-steps li:last-child{margin-bottom:0}[data-theme=dark] .checkin-camera-qr{background:hsl(var(--muted) / .5)}[data-theme=dark] .checkin-qr-guide{border-color:hsl(var(--success) / .8)}.checkin-result-page{display:flex;flex-direction:column;padding:1rem 1.5rem}.checkin-result-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.checkin-result-header-left{display:flex;align-items:center;gap:.75rem}.checkin-result-submit-btn{margin-left:auto}.checkin-result-back{display:inline-flex;align-items:center;gap:.5rem}.checkin-result-message{font-size:1.125rem;font-weight:600;margin:0}.checkin-result-layout{display:flex;flex-direction:column;gap:1.5rem;flex:1;min-height:0}.checkin-result-main-card,.checkin-result-additional-section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.25rem 1.5rem;overflow:hidden}.checkin-result-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.checkin-result-section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.checkin-result-primary-photo-right{display:flex;align-items:center;margin-left:auto}.checkin-result-optional{font-size:.813rem;font-weight:500;color:hsl(var(--muted-foreground))}.checkin-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem}.checkin-result-field{display:flex;flex-direction:column;gap:.25rem}.checkin-result-field .label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em}.checkin-result-field .value{font-size:.875rem;color:hsl(var(--foreground));word-break:break-word}.checkin-result-empty{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.checkin-result-table-wrap{overflow:auto;max-height:clamp(200px,40vh,420px);border:1px solid hsl(var(--border));border-radius:.5rem}.checkin-result-primary-box{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem 1rem;padding:.75rem 1rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.813rem;text-align:left}.checkin-result-primary-item{display:flex;flex-direction:column;gap:.125rem;min-width:0;text-align:left}.checkin-result-primary-box .label{font-size:.688rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em;text-align:left}.checkin-result-primary-box .value{font-size:.813rem;color:hsl(var(--foreground));word-break:break-word;text-align:left}.checkin-result-photo-wrap{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.checkin-result-photo-thumb{width:48px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:.375rem;border:1px solid hsl(var(--border))}.checkin-result-capture-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.75rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--card));color:hsl(var(--primary));cursor:pointer;transition:background .2s,color .2s}.checkin-result-capture-btn:hover{background:hsl(var(--primary) / .1)}.checkin-result-table{width:100%;border-collapse:collapse;font-size:.813rem}.checkin-result-table th,.checkin-result-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.checkin-result-additional-section .checkin-result-table th,.checkin-result-additional-section .checkin-result-table td{text-align:left}.checkin-result-table th{background:hsl(var(--muted) / .5);font-weight:600;color:hsl(var(--foreground));white-space:nowrap;position:sticky;top:0;z-index:1}.checkin-result-table td{color:hsl(var(--foreground))}.checkin-result-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.checkin-result-modal{background:hsl(var(--card));border-radius:.75rem;box-shadow:0 20px 50px #0003;max-width:480px;width:100%;max-height:90vh;display:flex;flex-direction:column}.checkin-result-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.checkin-result-modal-header h3{font-size:1rem;font-weight:600;margin:0;color:hsl(var(--foreground));text-align:left}.checkin-result-modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.5rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .2s,color .2s}.checkin-result-modal-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.checkin-result-modal-body{padding:1.25rem;overflow-y:auto;flex:1;min-height:0;text-align:left}.checkin-result-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.25rem;text-align:left}.checkin-result-modal .checkin-result-field .label,.checkin-result-modal .checkin-result-field .value{text-align:left}.checkin-result-modal-footer{padding:1rem 1.25rem;border-top:1px solid hsl(var(--border));text-align:left}.checkin-result-capture-modal{background:hsl(var(--card));border-radius:.75rem;box-shadow:0 20px 50px #0003;max-width:560px;width:100%;display:flex;flex-direction:column}.checkin-result-capture-footer{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.75rem}.checkin-result-capture-body{padding:1rem;display:flex;align-items:center;justify-content:center;min-height:320px;background:hsl(var(--muted) / .3)}.checkin-result-capture-video{width:100%;max-width:520px;height:auto;max-height:400px;border-radius:.5rem;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.stepper-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap}.visit-booking-content{min-height:60vh}.visitor-type-cards{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.visitor-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 3rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;min-width:180px;border:none}.visitor-type-card.guest{background-color:#d7e9fe}.visitor-type-card.guest:hover{background-color:#c3ddfd}.visitor-type-card.insurance{background-color:#d2f9e7}.visitor-type-card.insurance:hover{background-color:#bcf6db}.visitor-type-card.police{background-color:#fef3c8}.visitor-type-card.police:hover{background-color:#fdeeaf}.visitor-type-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:50%;margin-bottom:1rem}.visitor-type-card.guest .visitor-type-icon{background-color:#9cc7fc;color:#0b64f4}.visitor-type-card.insurance .visitor-type-icon{background-color:#8ff0c2;color:#16a249}.visitor-type-card.police .visitor-type-icon{background-color:#f9c56c;color:#f97415}.visitor-type-icon svg{width:1.75rem;height:1.75rem}.visitor-type-label{font-size:1rem;font-weight:600}.visitor-type-card.guest .visitor-type-label{color:#0b64f4}.visitor-type-card.insurance .visitor-type-label{color:#16a249}.visitor-type-card.police .visitor-type-label{color:#c75605}.step-2-content{display:flex;align-items:center;justify-content:center;min-height:45vh;padding:0 1rem;box-sizing:border-box}.photo-capture-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:100%;text-align:center}.photo-capture-inline{width:100%;max-width:720px;margin:0 auto;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center}.photo-capture-inline-title{font-size:1.35rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem;text-align:center}.photo-capture-inline .camera-video-wrap{margin:0 auto .5rem;max-height:45vh;display:flex;justify-content:center;align-items:center}.photo-capture-inline .camera-video-wrap .camera-video{max-height:45vh;-o-object-fit:contain;object-fit:contain}.face-scan-ui-wrap{position:relative;background:linear-gradient(145deg,#1d222a,#15171e);border-radius:.6rem;padding:.5rem;box-shadow:inset 0 0 60px #0006,0 4px 24px #00000040}.face-scan-ui-wrap .camera-video,.face-scan-ui-wrap .face-guide-overlay,.face-scan-ui-wrap .face-landmark-canvas{border-radius:.4rem}.face-scan-ambient{position:absolute;top:.5rem;bottom:.5rem;width:28px;pointer-events:none;opacity:.35;border-radius:.4rem}.face-scan-ambient:before{content:"";position:absolute;top:0;right:0;bottom:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 2px,hsl(199 85% 75% / .25) 2px,hsl(199 85% 75% / .25) 3px);left:8px;width:1px}.face-scan-ambient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(199 85% 75% / .08) 0%,transparent 100%);width:100%}.face-scan-ambient-left{left:.5rem}.face-scan-ambient-right{right:.5rem;transform:scaleX(-1)}.face-scan-crosshair{position:absolute;top:.75rem;left:50%;transform:translate(-50%);width:20px;height:20px;pointer-events:none;z-index:2;opacity:.85}.face-scan-crosshair:before,.face-scan-crosshair:after{content:"";position:absolute;background:#89d3f5;box-shadow:0 0 8px #89d3f599}.face-scan-crosshair:before{left:50%;top:0;bottom:0;width:1.5px;transform:translate(-50%)}.face-scan-crosshair:after{top:50%;left:0;right:0;height:1.5px;transform:translateY(-50%)}.photo-capture-inline .camera-video-wrap .camera-video{max-width:100%;max-height:45vh;-o-object-fit:contain;object-fit:contain;-o-object-position:center center;object-position:center center;display:block;margin:0 auto}.photo-capture-inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center;margin-top:0}.captured-preview-wrap{position:relative;display:inline-block;margin:0 auto 1rem;border-radius:.5rem;overflow:hidden;border:3px solid hsl(var(--border));transition:border-color .25s ease,box-shadow .25s ease}.captured-preview-wrap.face-detected-ok{border-color:#16a249;box-shadow:0 0 0 2px #16a2494d}.face-detected-signal{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#16a24926;color:#12873d;font-size:.875rem;font-weight:600;border-radius:9999px}.face-detected-signal svg{flex-shrink:0}.captured-photo-preview-inline{display:block;margin:0 auto;max-height:520px;max-width:100%}.camera-video-wrap{position:relative;width:100%;max-width:640px;max-height:45vh;border-radius:.5rem;overflow:hidden}.camera-video-wrap .camera-video{display:block;width:100%;max-height:45vh;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center center;object-position:center center;margin:0 auto;border-radius:.5rem;background-color:hsl(var(--foreground))}.face-guide-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:.5rem;background:radial-gradient(ellipse 42% 52% at 50% 44%,transparent 0%,transparent 98%,rgba(0,0,0,.55) 100%)}.face-guide-oval{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58%;height:62%;max-width:220px;max-height:260px;border:2px solid rgba(255,255,255,.7);border-radius:50%;box-shadow:0 0 0 1px #0000004d}.face-guide-oval-3d{border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #0003,inset 0 2px 12px #ffffff26,0 4px 20px #00000040;background:radial-gradient(ellipse at center,rgba(255,255,255,.03) 0%,transparent 70%);transition:border-color .25s ease,box-shadow .25s ease}.face-guide-oval-3d.face-guide-oval--detected{border-color:#16a249;box-shadow:0 0 0 2px #16a24980,inset 0 2px 12px #ffffff1a,0 4px 20px #0003}.face-scan-line-box{position:absolute;pointer-events:none;border:2px solid hsl(199 85% 75%);border-radius:8px;box-shadow:0 0 14px #89d3f559,0 0 0 1px #0000001f;background:transparent;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.face-scan-line-box.face-scan-line-box--ready{border-color:#16a249;box-shadow:0 0 14px #16a24966,0 0 0 1px #0000001f}.face-scan-corner{position:absolute;width:14px;height:14px;border-color:#89d3f5;border-style:solid;border-width:0;box-shadow:0 0 6px #89d3f580;transition:border-color .2s ease,box-shadow .2s ease}.face-scan-line-box--ready .face-scan-corner{border-color:#16a249;box-shadow:0 0 6px #16a24980}.face-scan-corner-tl{top:2px;left:2px;border-top-width:2.5px;border-left-width:2.5px;border-radius:4px 0 0}.face-scan-corner-tr{top:2px;right:2px;border-top-width:2.5px;border-right-width:2.5px;border-radius:0 4px 0 0}.face-scan-corner-bl{bottom:2px;left:2px;border-bottom-width:2.5px;border-left-width:2.5px;border-radius:0 0 0 4px}.face-scan-corner-br{bottom:2px;right:2px;border-bottom-width:2.5px;border-right-width:2.5px;border-radius:0 0 4px}.face-guide-3d .face-guide-label{font-size:.8rem;letter-spacing:.2em;text-shadow:0 2px 4px rgba(0,0,0,.6)}.face-detected-live{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:#16a249f2;color:#fff;font-size:.95rem;font-weight:600;box-shadow:0 -2px 12px #0003}.face-detected-live svg{flex-shrink:0}.face-guide-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;letter-spacing:.15em;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.5)}.face-landmark-canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;border-radius:.5rem}.face-guide-status{position:absolute;bottom:2.75rem;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:500;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);background:#00000080;padding:.35rem .75rem;border-radius:9999px}html[data-system-scale="125"] .visit-booking-page .camera-modal{max-width:400px}html[data-system-scale="125"] .visit-booking-page .camera-modal-body{max-height:40vh;padding:.75rem 1.25rem}html[data-system-scale="125"] .visit-booking-page .camera-video-wrap,html[data-system-scale="125"] .visit-booking-page .camera-video-wrap .camera-video{max-height:36vh}html[data-system-scale="125"] .visit-booking-page .face-guide-oval{max-width:176px;max-height:208px}html[data-system-scale="125"] .visit-booking-page .face-guide-3d .face-guide-label,html[data-system-scale="125"] .visit-booking-page .face-guide-label{font-size:.7rem}html[data-system-scale="125"] .visit-booking-page .face-detected-live{font-size:.85rem;padding:.5rem .75rem}html[data-system-scale="125"] .visit-booking-page .camera-modal-header{padding:.75rem 1.25rem}html[data-system-scale="125"] .visit-booking-page .camera-modal-header h3{font-size:1rem}html[data-system-scale="125"] .visit-booking-page .camera-modal-close{width:1.75rem;height:1.75rem}html[data-system-scale="125"] .visit-booking-page .camera-modal-close svg{width:1.1rem;height:1.1rem}html[data-system-scale="125"] .visit-booking-page .camera-modal-footer{padding:.75rem 1.25rem;gap:.5rem}html[data-system-scale="125"] .visit-booking-page .camera-video{max-height:36vh}html[data-system-scale="125"] .visit-booking-page .captured-photo-preview{max-width:320px;max-height:36vh}html[data-system-scale="125"] .visit-booking-page .capture-btn{padding:.6rem 1.5rem;font-size:.875rem}html[data-system-scale="150"] .visit-booking-page .camera-modal{max-width:333px}html[data-system-scale="150"] .visit-booking-page .camera-modal-body{max-height:33vh;padding:.6rem 1rem}html[data-system-scale="150"] .visit-booking-page .camera-video-wrap,html[data-system-scale="150"] .visit-booking-page .camera-video-wrap .camera-video{max-height:30vh}html[data-system-scale="150"] .visit-booking-page .face-guide-oval{max-width:147px;max-height:173px}html[data-system-scale="150"] .visit-booking-page .face-guide-3d .face-guide-label,html[data-system-scale="150"] .visit-booking-page .face-guide-label{font-size:.65rem}html[data-system-scale="150"] .visit-booking-page .face-detected-live{font-size:.8rem;padding:.4rem .6rem}html[data-system-scale="150"] .visit-booking-page .camera-modal-header{padding:.6rem 1rem}html[data-system-scale="150"] .visit-booking-page .camera-modal-header h3{font-size:.9rem}html[data-system-scale="150"] .visit-booking-page .camera-modal-close{width:1.5rem;height:1.5rem}html[data-system-scale="150"] .visit-booking-page .camera-modal-close svg{width:1rem;height:1rem}html[data-system-scale="150"] .visit-booking-page .camera-modal-footer{padding:.6rem 1rem;gap:.4rem}html[data-system-scale="150"] .visit-booking-page .camera-video{max-height:30vh}html[data-system-scale="150"] .visit-booking-page .captured-photo-preview{max-width:267px;max-height:30vh}html[data-system-scale="150"] .visit-booking-page .capture-btn{padding:.5rem 1.25rem;font-size:.8125rem}html[data-system-scale="125"] .visit-booking-page .photo-capture-inline{max-width:520px}html[data-system-scale="125"] .visit-booking-page .photo-capture-inline-title{font-size:1.1rem}html[data-system-scale="125"] .visit-booking-page .photo-capture-inline .camera-video-wrap{max-width:420px;max-height:42vh;margin-left:auto;margin-right:auto}html[data-system-scale="125"] .visit-booking-page .photo-capture-inline .camera-video-wrap .camera-video{max-height:42vh;-o-object-position:center center;object-position:center center}html[data-system-scale="125"] .visit-booking-page .face-guide-status{font-size:.7rem;bottom:2.2rem}html[data-system-scale="150"] .visit-booking-page .photo-capture-inline{max-width:400px}html[data-system-scale="150"] .visit-booking-page .photo-capture-inline-title{font-size:.95rem}html[data-system-scale="150"] .visit-booking-page .photo-capture-inline .camera-video-wrap{max-width:360px;max-height:48vh;margin-left:auto;margin-right:auto;display:flex;justify-content:center;align-items:center}html[data-system-scale="150"] .visit-booking-page .photo-capture-inline .camera-video-wrap .camera-video{max-height:48vh;max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center center;object-position:center center}html[data-system-scale="150"] .visit-booking-page .face-guide-status{font-size:.65rem;bottom:1.75rem}.patient-search-container.form-field-error .search-input-wrapper input{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.patient-search-container.form-field-error .search-input-wrapper input:focus{outline-color:#dc2626;border-color:#dc2626}.field-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.search-input-wrapper{position:relative;margin-bottom:.5rem}.search-input-wrapper input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.search-input-wrapper .search-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground))}.empty-state-panel{border:2px dashed hsl(var(--border));border-radius:.75rem;padding:3rem;text-align:center}.empty-state-panel svg{width:3rem;height:3rem;color:hsl(var(--muted-foreground) / .5);margin-bottom:1rem}.empty-state-panel p{font-size:.875rem;color:hsl(var(--muted-foreground))}.patient-info-item label{display:block;font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:.25rem}.patient-info-item span{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.form-field label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.recurring-visitor-info h4{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.25rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1.5rem}@media (max-width: 768px){.visit-booking-content{padding:1.5rem}.form-row.two-col,.form-row.three-col{grid-template-columns:1fr}.visitor-type-cards{flex-direction:column;align-items:center}.visitor-type-card{width:100%;max-width:280px}.visit-booking-stepper{overflow-x:auto;padding:1rem}.patient-info-row{grid-template-columns:1fr}.visit-booking-footer{flex-wrap:wrap;gap:1rem}.footer-center{order:3;width:100%;text-align:center}.time-slot-row{flex-direction:column;align-items:stretch}.time-slot-row .time-field,.time-slot-row .duration-field{min-width:100%}.additional-visitor-row-inline{flex-direction:column;align-items:stretch}.additional-visitor-row-inline .visitor-name-field,.additional-visitor-row-inline .relationship-field,.additional-visitor-row-inline .take-photo-field{min-width:100%}.additional-visitor-row-inline .remove-visitor-btn-inline{align-self:flex-end}.take-photo-container{height:auto}.additional-visitor-card{flex-direction:column;align-items:stretch}.additional-visitor-photo{flex-direction:row;justify-content:flex-start;gap:1rem}.additional-visitor-card .remove-visitor-btn{align-self:flex-end}}.visit-from-date-wrap .visit-from-panel{margin-top:.25rem;left:0;width:100%;min-width:22rem}.visit-from-to-grid.visit-from-to-same-line .form-field.visit-from-date-wrap{flex:1.8;min-width:20rem}.step-field-error{color:hsl(var(--destructive));font-size:.875rem;margin:.75rem 0 0;padding:0}.form-field.form-field-error input,.form-field.form-field-error select{border-color:#dc2626;outline-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.visit-from-date-wrap.form-field-error .date-time-dropdown-trigger,.visit-from-to-grid .form-field.time-field.basic-time-picker-wrap.form-field-error .basic-time-picker-input{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626}.visit-from-date-wrap.form-field-error .date-time-dropdown-trigger:focus-within,.visit-from-to-grid .form-field.time-field.basic-time-picker-wrap.form-field-error .basic-time-picker-input:focus-within{outline-color:#dc2626;box-shadow:0 0 0 2px #dc262640}.date-time-dropdown-trigger:hover{border-color:#3c83f6}.date-time-dropdown-panel{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:1rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 4px 12px hsl(var(--foreground) / .1);z-index:50;text-align:left;min-width:0}.date-time-slots-label{display:block;margin-top:.5rem;text-align:left;width:100%}.date-time-slot-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.35rem;align-items:start;justify-items:start;max-height:20rem;overflow-y:auto;width:100%;min-width:0}.date-time-slot-btn{padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));font-size:.8125rem;cursor:pointer;transition:background .2s,border-color .2s;text-align:center;white-space:nowrap;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.visit-from-to-grid .form-field.duration-field{grid-column:1 / -1}.additional-visitors-table-wrapper .master-table th:first-child,.additional-visitors-table-wrapper .master-table td:first-child{width:4.5rem;vertical-align:middle}.additional-visitor-table-photo{display:flex;align-items:center;gap:.35rem}.additional-visitor-table-photo img{width:2.5rem;height:2.5rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid hsl(var(--border))}.additional-visitor-table-photo-placeholder{width:2.5rem;height:2.5rem;border-radius:50%;background-color:hsl(var(--muted));display:inline-flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground) / .7)}.additional-visitor-table-photo .action-btn.photo-btn{padding:.25rem;min-width:auto;color:hsl(var(--muted-foreground))}.additional-visitor-table-photo .action-btn.photo-btn:hover{color:#0b64f4}.additional-visitor-photo-row{margin-bottom:.5rem}.additional-visitor-photo-control{display:flex;align-items:center;gap:1rem}.additional-visitor-photo-preview{width:4rem;height:4rem;border-radius:50%;overflow:hidden;border:2px solid hsl(var(--border));flex-shrink:0}.additional-visitor-photo-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.additional-visitor-modal .additional-visitor-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground) / .7)}.additional-visitor-photo-actions{display:flex;flex-wrap:wrap;gap:.5rem}.additional-visitor-modal .btn-sm{padding:.4rem .75rem;font-size:.8125rem}.additional-visitor-modal{background-color:hsl(var(--card));border-radius:1rem;box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25);width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.additional-visitor-modal-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.search-input-wrapper .search-chevron-icon{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);pointer-events:none;color:hsl(var(--muted-foreground))}.empty-state-panel .empty-state-panel-icon,.empty-state-panel svg{width:3rem;height:3rem;color:hsl(var(--muted-foreground) / .7)}.checkout-page-new{padding:1.5rem;max-width:1400px;margin:0 auto}.checkout-mode-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.checkout-mode-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.938rem;color:hsl(var(--foreground))}.checkout-mode-option input[type=radio]{width:1.125rem;height:1.125rem;accent-color:hsl(var(--primary));cursor:pointer}.checkout-under-development{font-size:.875rem;font-weight:600;color:hsl(var(--warning));margin:0 0 .5rem;padding:.375rem .75rem;background:hsl(var(--warning) / .15);border-radius:.5rem;display:inline-block}.checkout-form-block{width:100%;max-width:320px;text-align:left}.checkout-form-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.checkout-form-input{width:100%;padding:.625rem .75rem;font-size:.938rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));box-sizing:border-box}.checkout-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.checkout-form-input::placeholder{color:hsl(var(--muted-foreground))}.checkout-form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.checkout-form-select{width:100%;padding:.625rem .75rem;font-size:.938rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;box-sizing:border-box}.checkout-form-select:focus{outline:none;border-color:hsl(var(--primary))}.checkout-scan-panel{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));padding:2rem;min-height:500px;display:flex;align-items:center;justify-content:center}.checkout-scan-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.checkout-camera-preview{width:340px;height:340px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}@media (max-width: 480px){.checkout-camera-preview{width:280px;height:280px}}.checkout-camera-face{background:#1a1d24}.checkout-video-feed{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.checkout-face-guide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:2;pointer-events:none}.checkout-face-circle{width:100%;height:100%}.checkout-camera-error{display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;color:hsl(var(--destructive));font-size:.875rem}.checkout-camera-qr{background:hsl(var(--muted))}.checkout-qr-guide{width:180px;height:180px;position:relative;border:2px dashed hsl(var(--success));display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.checkout-qr-guide{width:150px;height:150px}}.checkout-qr-icon{color:hsl(var(--success));opacity:.8}.checkout-qr-corner{position:absolute;width:20px;height:20px}.checkout-qr-corner-tl{top:-2px;left:-2px;border-top:3px solid hsl(var(--primary));border-left:3px solid hsl(var(--primary))}.checkout-qr-corner-tr{top:-2px;right:-2px;border-top:3px solid hsl(var(--success));border-right:3px solid hsl(var(--success))}.checkout-qr-corner-bl{bottom:-2px;left:-2px;border-bottom:3px solid hsl(var(--primary));border-left:3px solid hsl(var(--primary))}.checkout-qr-corner-br{bottom:-2px;right:-2px;border-bottom:3px solid hsl(var(--success));border-right:3px solid hsl(var(--success))}.checkout-scan-instruction{font-size:.938rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.checkout-scan-status{font-size:.938rem;font-weight:500}.checkout-status-success{color:hsl(var(--success))}.checkout-status-error{color:hsl(var(--destructive))}.checkout-status-pending{color:hsl(var(--warning))}.checkout-scan-content .btn{margin-top:.5rem;min-width:160px}.checkout-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.checkout-popup{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;min-width:320px;max-width:420px;box-shadow:0 10px 40px #0003}.checkout-popup-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.checkout-popup-title{margin:0;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}.checkout-popup-close{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:.375rem}.checkout-popup-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.checkout-popup-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.checkout-popup-field{display:flex;flex-direction:column;gap:.25rem}.checkout-popup-label{font-size:.813rem;font-weight:500;color:hsl(var(--muted-foreground))}.checkout-popup-value{font-size:.938rem;color:hsl(var(--foreground))}.checkout-popup-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid hsl(var(--border))}[data-theme=dark] .checkout-camera-qr{background:hsl(var(--muted) / .5)}[data-theme=dark] .checkout-qr-guide{border-color:hsl(var(--success) / .8)}.new-appointment-form{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.new-appointment-form{grid-template-columns:1fr 1fr 1fr;align-items:start}}.form-section{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 3px hsl(var(--foreground) / .04)}.form-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.625rem;border-bottom:1px solid hsl(var(--border))}.form-section-title{font-size:1rem;font-weight:600;color:hsl(var(--primary));margin:0}.form-section-fields{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.form-field-label .required{color:hsl(var(--destructive));margin-left:.25rem;font-weight:600}.form-field-input,.form-field-select,.form-field-textarea{width:100%;min-height:2.5rem;padding:.5rem .75rem;font-size:1rem;color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease;text-align:left}.form-field-input:focus,.form-field-select:focus,.form-field-textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.form-field-input::-moz-placeholder,.form-field-select::-moz-placeholder,.form-field-textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-field-input::placeholder,.form-field-select::placeholder,.form-field-textarea::placeholder{color:hsl(var(--muted-foreground))}.form-field-input:-moz-read-only{background-color:hsl(var(--muted) / .5);cursor:default;color:hsl(var(--muted-foreground))}.form-field-input:read-only{background-color:hsl(var(--muted) / .5);cursor:default;color:hsl(var(--muted-foreground))}.form-field-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;padding-right:2rem}.form-field-select option{background-color:hsl(var(--card));color:hsl(var(--foreground));padding:.5rem}.form-field-textarea{min-height:5rem;resize:vertical;line-height:1.5}.form-field-checkbox{display:flex;align-items:center;gap:.5rem;min-height:2.5rem}.form-field-checkbox input[type=checkbox]{width:1rem;height:1rem;border:1px solid hsl(var(--border));border-radius:.25rem;cursor:pointer;accent-color:hsl(var(--primary))}.form-field-checkbox label{font-size:1rem;color:hsl(var(--foreground));cursor:pointer}.form-field-file-container{display:flex;flex-direction:column;gap:.625rem}.form-field-file-buttons{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.form-field-file-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;color:hsl(var(--primary-foreground));background-color:hsl(var(--primary));border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease;min-height:2rem}.form-field-file-btn:hover{background-color:hsl(var(--primary) / .9)}.form-field-file-btn.secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.form-field-file-btn.secondary:hover{background-color:hsl(var(--secondary) / .8)}.form-field-file-name{font-size:.875rem;color:hsl(var(--muted-foreground))}.form-field-file-input{display:none}.form-field-time-container{position:relative}.form-field-time-container .form-field-input{padding-right:2rem}.form-field-time-icon{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.form-field-date-container{position:relative}.form-field-date-container .form-field-input{padding-right:2rem}.form-field-date-icon{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.form-field-photo-preview{width:5rem;height:5rem;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;border:2px solid hsl(var(--border))}.camera-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsl(var(--foreground) / .7);display:flex;align-items:center;justify-content:center;z-index:100}.camera-modal{background-color:hsl(var(--card));border-radius:.5rem;padding:1.25rem;max-width:31.25rem;width:90%;box-shadow:0 1.25rem 2.5rem hsl(var(--foreground) / .2)}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.camera-modal-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.camera-modal-close{background:none;border:none;cursor:pointer;color:hsl(var(--muted-foreground));padding:.25rem;border-radius:.25rem;transition:color .2s ease}.camera-modal-close:hover{color:hsl(var(--foreground))}.camera-video{width:100%;border-radius:.375rem;background-color:hsl(var(--muted))}.camera-modal-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.appointments-page{display:flex;flex-direction:column;gap:1.5rem}.appointments-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.appointments-header{flex-direction:row;align-items:center;justify-content:space-between}}.appointments-header h1{font-size:1.5rem;font-weight:700}.appointments-header p{color:hsl(var(--muted-foreground))}.appointments-header-back{display:flex;align-items:center;gap:.75rem}.back-button{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease}.back-button:hover{background-color:hsl(var(--muted))}.appointments-filters{display:flex;align-items:center;gap:.5rem}.appointments-table-container{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));box-shadow:var(--shadow-sm);overflow:hidden}.appointments-table-scroll{overflow-x:auto}.appointments-table{width:100%;border-collapse:collapse}.appointments-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border))}.appointments-table th:last-child{text-align:right}.appointments-table td{padding:1rem;border-bottom:1px solid hsl(var(--border))}.appointments-table tr:last-child td{border-bottom:none}.appointments-table tbody tr{transition:background-color .15s ease}.appointments-table tbody tr:hover{background-color:hsl(var(--muted) / .5)}.appointments-table-empty{padding:3rem 1rem;text-align:center;color:hsl(var(--muted-foreground))}.appointment-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.appointment-status{display:inline-flex;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.appointment-status.scheduled{background-color:hsl(var(--info) / .1);color:hsl(var(--info))}.appointment-status.confirmed{background-color:hsl(var(--success) / .1);color:hsl(var(--success))}.appointment-status.cancelled{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.new-appointment-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.new-appointment-header{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--background));flex-shrink:0}@media (min-width: 640px){.new-appointment-header{flex-direction:row;align-items:center;justify-content:space-between}}.new-appointment-header-left{display:flex;align-items:center;gap:.75rem}.new-appointment-header-text h1{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0}.new-appointment-header-text p{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.new-appointment-header-actions{display:flex;align-items:center;gap:.75rem}.new-appointment-form-container{flex:1;overflow-y:auto;padding-top:1.5rem;padding-bottom:2rem}.alerts-page{display:flex;flex-direction:column;gap:1.5rem}.alerts-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.alerts-header{flex-direction:row;align-items:center;justify-content:space-between}}.alerts-header-content{display:flex;align-items:center;gap:.75rem}.alerts-header-icon{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:.75rem;background-color:hsl(var(--warning) / .1)}.alerts-header-icon svg{height:1.5rem;width:1.5rem;color:hsl(var(--warning))}.alerts-header h1{font-size:1.5rem;font-weight:700}.alerts-header p{color:hsl(var(--muted-foreground))}.alerts-filters{display:flex;align-items:center;gap:.5rem}.alerts-filters svg{height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.alerts-filter-buttons{display:flex;gap:.25rem}.alerts-filter-badge{margin-left:.375rem;display:inline-flex;height:1.25rem;min-width:1.25rem;align-items:center;justify-content:center;padding:0 .25rem;border-radius:9999px;font-size:.75rem;background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.alerts-list{display:flex;flex-direction:column;gap:.75rem}.alert-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s ease}.alert-card:hover{box-shadow:var(--shadow-md)}.alert-card.unacknowledged{border-left:4px solid hsl(var(--warning))}.alert-card.acknowledged{border-color:hsl(var(--muted));background-color:hsl(var(--muted) / .3);opacity:.6}.alert-card-content{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.alert-card-content{flex-direction:row;align-items:flex-start;justify-content:space-between}}.alert-card-main{flex:1}.alert-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.alert-card-type{font-size:.875rem;font-weight:500}.alert-card-time{font-size:.875rem;color:hsl(var(--muted-foreground))}.alert-card-message{margin-top:.5rem;font-size:.875rem}.alert-card-acknowledged-by{margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.alerts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.alerts-empty-icon{display:flex;height:4rem;width:4rem;align-items:center;justify-content:center;border-radius:50%;background-color:hsl(var(--success) / .1)}.alerts-empty-icon svg{height:2rem;width:2rem;color:hsl(var(--success))}.alerts-empty-title{margin-top:1rem;font-weight:500}.alerts-empty-text{font-size:.875rem;color:hsl(var(--muted-foreground))}.stats-card{border-radius:.75rem;border:1px solid hsl(var(--border));padding:1.25rem;box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:all .2s ease;animation:fadeIn .3s ease-out}.stats-card:hover{box-shadow:0 4px 6px -1px hsl(var(--foreground) / .1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-card-default{background-color:hsl(var(--card))}.stats-card-primary{background-color:hsl(var(--primary) / .05);border-color:hsl(var(--primary) / .2)}.stats-card-success{background-color:hsl(var(--success) / .05);border-color:hsl(var(--success) / .2)}.stats-card-warning{background-color:hsl(var(--warning) / .05);border-color:hsl(var(--warning) / .2)}.stats-card-destructive{background-color:hsl(var(--destructive) / .05);border-color:hsl(var(--destructive) / .2)}.stats-card-content{display:flex;align-items:flex-start;justify-content:space-between}.stats-card-info{flex:1}.stats-card-title{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground))}.stats-card-value{margin-top:.5rem;font-size:1.875rem;font-weight:700;letter-spacing:-.025em;color:hsl(var(--foreground))}.stats-card-subtitle{margin-top:.25rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.stats-card-trend{margin-top:.5rem;display:flex;align-items:center;gap:.25rem}.stats-card-trend-value{font-size:.875rem;font-weight:500}.stats-card-trend-positive{color:hsl(var(--success))}.stats-card-trend-negative{color:hsl(var(--destructive))}.stats-card-trend-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.stats-card-icon{border-radius:.5rem;padding:.625rem}.stats-card-icon svg{width:1.25rem;height:1.25rem}.stats-card-icon-default{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.stats-card-icon-primary{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.stats-card-icon-success{background-color:hsl(var(--success) / .1);color:hsl(var(--success))}.stats-card-icon-warning{background-color:hsl(var(--warning) / .1);color:hsl(var(--warning))}.stats-card-icon-destructive{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.reports-page{display:flex;flex-direction:column;gap:1.5rem}.reports-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.reports-header{flex-direction:row;align-items:center;justify-content:space-between}}.reports-header h1{font-size:1.5rem;font-weight:700}.reports-header p{color:hsl(var(--muted-foreground))}.reports-header-buttons{display:flex;gap:.5rem}.reports-stats-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.reports-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.reports-stats-grid{grid-template-columns:repeat(4,1fr)}}.reports-charts-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width: 1024px){.reports-charts-grid{grid-template-columns:repeat(2,1fr)}}.reports-chart-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.5rem;box-shadow:var(--shadow-sm)}.reports-chart-title{font-weight:600}.reports-chart-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground))}.reports-bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;height:16rem;margin-top:1.5rem}.reports-bar{flex:1;border-radius:.25rem .25rem 0 0;background-color:hsl(var(--primary) / .2);transition:background-color .2s ease}.reports-bar:hover{background-color:hsl(var(--primary) / .4)}.reports-bar-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.reports-purpose-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.reports-purpose-item{display:flex;flex-direction:column;gap:.25rem}.reports-purpose-header{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.reports-purpose-value{font-weight:500}.reports-purpose-bar-bg{height:.5rem;border-radius:9999px;background-color:hsl(var(--muted))}.reports-purpose-bar{height:100%;border-radius:9999px;transition:width .3s ease}.reports-purpose-bar.primary{background-color:hsl(var(--primary))}.reports-purpose-bar.info{background-color:hsl(var(--info))}.reports-purpose-bar.warning{background-color:hsl(var(--warning))}.reports-purpose-bar.success{background-color:hsl(var(--success))}.reports-purpose-bar.muted{background-color:hsl(var(--muted-foreground))}.reports-types-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.reports-types-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.reports-types-grid{grid-template-columns:repeat(3,1fr)}}.reports-type-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:all .2s ease}.reports-type-card:hover{box-shadow:var(--shadow-md);border-color:hsl(var(--primary) / .5)}.reports-type-icon{padding:.625rem;border-radius:.5rem;background-color:hsl(var(--primary) / .1)}.reports-type-icon svg{height:1.25rem;width:1.25rem;color:hsl(var(--primary))}.reports-type-title{font-weight:600}.reports-type-description{font-size:.875rem;color:hsl(var(--muted-foreground))}.users-page{display:flex;flex-direction:column;gap:1.5rem}.users-header{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.users-header{flex-direction:row;align-items:center;justify-content:space-between}}.users-header h1{font-size:1.5rem;font-weight:700}.users-header p{color:hsl(var(--muted-foreground))}.users-tabs{display:flex;gap:.25rem;border-bottom:1px solid hsl(var(--border));padding-bottom:.5rem}.users-tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease}.users-tab:hover{color:hsl(var(--foreground))}.users-tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.users-table-container{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));box-shadow:var(--shadow-sm);overflow:hidden}.users-table-scroll{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border))}.users-table th:last-child{text-align:right}.users-table td{padding:1rem;border-bottom:1px solid hsl(var(--border))}.users-table tr:last-child td{border-bottom:none}.users-table tbody tr{transition:background-color .15s ease}.users-table tbody tr:hover{background-color:hsl(var(--muted) / .5)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:50%;background-color:hsl(var(--primary) / .1);font-size:.875rem;font-weight:600;color:hsl(var(--primary))}.user-name{font-weight:500}.user-email{font-size:.875rem;color:hsl(var(--muted-foreground))}.user-role-badge{display:inline-flex;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.user-role-badge.admin{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.user-role-badge.receptionist{background-color:hsl(var(--info) / .1);color:hsl(var(--info))}.user-role-badge.security{background-color:hsl(var(--warning) / .1);color:hsl(var(--warning))}.user-department{font-size:.875rem}.user-last-login{font-size:.875rem;color:hsl(var(--muted-foreground))}.user-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.roles-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.roles-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.roles-grid{grid-template-columns:repeat(3,1fr)}}.role-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.5rem;box-shadow:var(--shadow-sm)}.role-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.role-card-title{font-size:1.125rem;font-weight:600;text-transform:capitalize}.role-card-count{font-size:.875rem;color:hsl(var(--muted-foreground))}.role-permissions{display:flex;flex-direction:column;gap:.5rem}.role-permission{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.role-permission svg{height:1rem;width:1rem;color:hsl(var(--success))}.audit-logs-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.audit-logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.audit-logs-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.audit-logs-subtitle{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-top:.125rem}.audit-logs-header-actions{display:flex;align-items:center;gap:.75rem}.audit-search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.audit-search-box .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.audit-search-box .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:200px;color:hsl(var(--foreground))}.audit-search-box .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.audit-search-box .search-input::placeholder{color:hsl(var(--muted-foreground))}.audit-filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.audit-filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.audit-filter-toggle-btn .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.audit-filter-toggle-btn .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.audit-filter-toggle-btn .chevron-icon.rotated{transform:rotate(90deg)}.audit-download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.audit-download-btn:hover{color:hsl(var(--primary))}.audit-download-btn svg{width:1.25rem;height:1.25rem}.audit-filter-collapsible{margin-bottom:1rem}.audit-filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-top:.5rem}.audit-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.audit-filter-field{display:flex;flex-direction:column;gap:.375rem}.audit-filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.audit-filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.audit-filter-input:focus{border-color:hsl(var(--primary))}.audit-filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.audit-filter-input::placeholder{color:hsl(var(--muted-foreground))}.audit-filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.audit-readonly-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.audit-readonly-badge svg{width:.75rem;height:.75rem}.audit-activity-tag{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.audit-device-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:.25rem;font-size:.75rem;font-weight:500;white-space:nowrap}.audit-device-web{background:#daf0fb;color:#0f618a}.audit-device-kiosk{background:#fceccf;color:#8a5d0f}:root.dark .audit-device-web{background:#143d52;color:#8cd0f2}:root.dark .audit-device-kiosk{background:#523b14;color:#f2cd8c}.audit-masked-value{font-family:Courier New,monospace;font-size:.8125rem;letter-spacing:.05em;color:hsl(var(--muted-foreground));cursor:help}.audit-patient-masked{font-size:.8125rem;color:hsl(var(--muted-foreground));cursor:help;font-style:italic}.audit-visitor-type{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.audit-visitor-walkin{background:#dae5fb;color:#1241a1}.audit-visitor-frequent{background:#d6f5e7;color:#1d724a}:root.dark .audit-visitor-walkin{background:#142952;color:#8caef2}:root.dark .audit-visitor-frequent{background:#1c402f;color:#85e0b6}.audit-email{font-size:.8125rem;color:hsl(var(--muted-foreground))}.audit-visit-time{font-size:.8125rem;white-space:nowrap}.audit-logs-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;font-size:.8125rem;color:hsl(var(--muted-foreground))}.audit-logs-footer-info{display:flex;align-items:center;gap:.5rem}.audit-logs-footer-info svg{width:.875rem;height:.875rem}:root.dark .audit-activity-tag{filter:brightness(.85) saturate(1.2)}.audit-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.audit-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.audit-empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.audit-date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}@media (max-width: 1024px){.audit-filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.audit-logs-header{flex-direction:column;gap:1rem;align-items:flex-start}.audit-logs-header-actions{width:100%;flex-wrap:wrap}.audit-search-box{flex:1;min-width:150px}.audit-search-box .search-input{width:100%}.audit-filter-grid{grid-template-columns:1fr}.audit-filter-actions{flex-direction:column}.audit-filter-actions button{width:100%}}.settings-page{max-width:56rem;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.settings-header{display:flex;align-items:center;gap:.75rem}.settings-header-icon{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:.75rem;background-color:hsl(var(--primary) / .1)}.settings-header-icon svg{height:1.5rem;width:1.5rem;color:hsl(var(--primary))}.settings-header h1{font-size:1.5rem;font-weight:700}.settings-header p{color:hsl(var(--muted-foreground))}.settings-sections{display:flex;flex-direction:column;gap:1.5rem}.settings-section{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.5rem;box-shadow:var(--shadow-sm)}.settings-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.settings-section-header svg{height:1.25rem;width:1.25rem;color:hsl(var(--muted-foreground))}.settings-section-title{font-size:1.125rem;font-weight:600}.settings-form-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.settings-form-grid{grid-template-columns:repeat(2,1fr)}}.settings-form-field{display:flex;flex-direction:column;gap:.5rem}.settings-form-field.full-width{grid-column:1 / -1}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:.5rem;border:1px solid hsl(var(--border))}.settings-toggle-info p:first-child{font-weight:500}.settings-toggle-info p:last-child{font-size:.875rem;color:hsl(var(--muted-foreground))}.settings-toggle{position:relative;width:2.75rem;height:1.5rem;background-color:hsl(var(--muted));border-radius:9999px;cursor:pointer;transition:background-color .2s}.settings-toggle.active{background-color:hsl(var(--primary))}.settings-toggle:after{content:"";position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;transition:transform .2s}.settings-toggle.active:after{transform:translate(1.25rem)}.settings-footer{display:flex;justify-content:flex-end}.profile-page{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.profile-header{text-align:center;padding:2rem;border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.profile-avatar{display:flex;margin:0 auto;height:6rem;width:6rem;align-items:center;justify-content:center;border-radius:50%;background-color:hsl(var(--primary));font-size:2rem;font-weight:700;color:hsl(var(--primary-foreground))}.profile-name{margin-top:1rem;font-size:1.5rem;font-weight:700}.profile-role{display:inline-flex;margin-top:.5rem;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;text-transform:capitalize;background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.profile-section{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.5rem}.profile-section-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.profile-form-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.profile-form-grid{grid-template-columns:repeat(2,1fr)}}.profile-form-field{display:flex;flex-direction:column;gap:.5rem}.profile-form-field.full-width{grid-column:1 / -1}.profile-footer{display:flex;justify-content:flex-end;gap:.75rem}.employee-modal-content{width:60vw;max-width:1400px;min-width:800px;max-height:90vh;overflow-y:auto;padding:2rem}.employee-modal-header{margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.employee-modal-title{font-size:1.375rem;font-weight:600;color:hsl(var(--foreground))}.employee-modal-form{display:flex;flex-direction:column;gap:1.5rem}.modal-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.modal-form-field{display:flex;flex-direction:column;gap:.5rem}.modal-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.125rem}.required{color:hsl(var(--destructive));margin-left:.125rem}.modal-form-input,.modal-form-select{width:100%;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease}.modal-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.modal-form-input::placeholder{color:hsl(var(--muted-foreground))}.modal-form-input:focus,.modal-form-select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.modal-form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.modal-date-picker{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;transition:all .2s ease}.modal-date-picker:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.modal-date-placeholder span{color:hsl(var(--muted-foreground))}.modal-date-icon{width:1.125rem;height:1.125rem;color:hsl(var(--muted-foreground))}.modal-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.modal-btn-reset{background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.modal-btn-reset:hover{opacity:.9}.modal-btn-submit{background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}@media (max-width: 992px){.modal-form-row{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (max-width: 768px){.employee-modal-content{padding:1.5rem;width:100%;max-width:100%}.modal-form-row{grid-template-columns:1fr;gap:1.25rem}.employee-modal-header{margin-bottom:1.25rem;padding-bottom:.75rem}.employee-modal-title{font-size:1.25rem}.modal-form-actions{flex-direction:column-reverse;gap:.75rem}.modal-btn-reset,.modal-btn-submit{width:100%;justify-content:center}}.bulk-upload-modal-content{max-width:600px;max-height:90vh;overflow-y:auto;background:hsl(var(--card))}.bulk-upload-modal-content.bulk-upload-preview-mode{max-width:900px;width:95vw}.bulk-upload-modal-header{padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.bulk-upload-modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--primary))}.bulk-upload-body{padding:1.5rem 0;display:flex;flex-direction:column;gap:1.5rem}.bulk-upload-step{display:flex;gap:1rem;align-items:flex-start}.step-number{width:2rem;height:2rem;border-radius:50%;background:hsl(var(--primary-btn));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.step-content{flex:1}.step-content h4{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.25rem}.step-content p{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:.75rem}.template-download-btn{display:flex;align-items:center;gap:.5rem}.template-download-btn .btn-icon{width:1rem;height:1rem}.file-upload-area{border:2px dashed hsl(var(--border));border-radius:.5rem;padding:1.5rem;text-align:center;transition:all .2s ease}.file-upload-area:hover{border-color:hsl(var(--primary));background:hsl(var(--muted) / .3)}.file-input-hidden{display:none}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;color:hsl(var(--muted-foreground))}.file-upload-label .upload-icon{width:2rem;height:2rem;color:hsl(var(--primary-btn))}.file-upload-label span{font-size:.875rem}.file-upload-label .file-types{font-size:.75rem;color:hsl(var(--muted-foreground))}.bulk-upload-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--accent));border-radius:.5rem;color:hsl(var(--accent-foreground));font-size:.875rem}.bulk-upload-info .info-icon{width:1.25rem;height:1.25rem}.bulk-preview-body{padding:1rem 0}.bulk-preview-table-wrapper{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:.5rem}.bulk-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.bulk-preview-table th,.bulk-preview-table td{padding:.5rem;text-align:center;border-bottom:1px solid hsl(var(--border))}.bulk-preview-table th{font-weight:600;white-space:nowrap}.bulk-preview-table th:first-child{border-top-left-radius:.375rem}.bulk-preview-table th:last-child{border-top-right-radius:.375rem}.bulk-preview-table td{color:hsl(var(--foreground));background:hsl(var(--card))}.bulk-preview-table tbody tr:hover td{background:hsl(var(--muted) / .5)}.preview-edit-input{width:100%;min-width:80px;padding:.375rem .5rem;border:1px solid transparent;border-radius:.25rem;background:transparent;font-size:.8125rem;color:hsl(var(--foreground));transition:all .2s ease}.preview-edit-input:focus{outline:none;border-color:hsl(var(--primary));background:hsl(var(--background))}.preview-edit-input:hover{background:hsl(var(--muted) / .5)}.bulk-upload-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.preview-btn{background-color:hsl(var(--primary-btn))!important}.preview-btn:hover{opacity:.9}.preview-btn:disabled{opacity:.5;cursor:not-allowed}.submit-bulk-btn{background-color:hsl(var(--primary-btn))!important}.submit-bulk-btn:hover{opacity:.9}.submit-bulk-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.bulk-upload-modal-content.bulk-upload-preview-mode{max-width:100%;width:100%}.preview-edit-input{min-width:60px;padding:.25rem .375rem;font-size:.75rem}.bulk-preview-table th,.bulk-preview-table td{padding:.375rem;font-size:.75rem}}.delete-confirm-modal{max-width:400px;padding:1.5rem}.delete-confirm-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.delete-confirm-icon-wrapper{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:hsl(var(--destructive) / .1)}.delete-confirm-icon{width:1.75rem;height:1.75rem;color:hsl(var(--destructive))}.delete-confirm-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}.delete-confirm-message{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5}.delete-confirm-footer{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.delete-confirm-footer button{min-width:100px}.add-employee-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.add-employee-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.add-employee-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.header-action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;height:2.5rem;white-space:nowrap;flex-shrink:0;position:relative;z-index:1;width:-moz-fit-content;width:fit-content}.header-action-btn:hover{opacity:.9;box-shadow:0 2px 6px hsl(var(--primary) / .3)}.header-action-btn .btn-icon-sm{width:1rem;height:1rem;flex-shrink:0}.header-action-btn span{color:hsl(var(--primary-foreground))}.add-dropdown-menu{background:hsl(var(--card))!important;border:1px solid hsl(var(--border));border-radius:.5rem;padding:.5rem;min-width:160px;z-index:100}.dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;cursor:pointer;border-radius:.25rem;color:hsl(var(--foreground))}.dropdown-item:hover{background:hsl(var(--muted))}.dropdown-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.employee-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.employee-table-wrapper{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.employee-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.employee-table-wrapper::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:4px}.employee-table-wrapper::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:4px}.employee-table-wrapper::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.employee-table-wrapper{overflow-x:auto}.employee-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.employee-table th,.employee-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.employee-table th{font-weight:600;color:hsl(var(--primary-foreground));background:hsl(var(--primary));position:sticky;top:0;z-index:10}.employee-table th:first-child{border-top-left-radius:0}.employee-table th:last-child{border-top-right-radius:0}.employee-table td{color:hsl(var(--foreground));background:hsl(var(--card))}.employee-table tbody tr:hover{background:hsl(var(--muted) / .5)}.sortable-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:background-color .2s ease}.sortable-header:hover{background:hsl(var(--primary) / .85)}.sort-icon{width:.875rem;height:.875rem;display:inline-block;vertical-align:middle;margin-left:.25rem}.sort-icon.inactive{opacity:.5}@media (max-width: 768px){.add-employee-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}.employee-table th,.employee-table td{padding:.625rem .5rem;font-size:.8125rem}}.status-toggle-cell{display:flex;align-items:center}.status-toggle{cursor:pointer}.status-label{display:none!important}.role-menu-map-modal-content{max-width:500px;width:95vw;padding:1.5rem;background:hsl(var(--card));border-radius:.5rem}.role-menu-map-modal-header{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.role-menu-map-modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.role-menu-map-modal-form{display:flex;flex-direction:column;gap:1.25rem}.role-menu-map-modal-form .modal-form-field{display:flex;flex-direction:column;gap:.5rem}.role-menu-map-modal-form .modal-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.role-menu-map-modal-form .modal-form-label .required{color:hsl(var(--destructive))}.role-menu-map-modal-form .modal-form-select{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.role-menu-map-modal-form .modal-form-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.role-menu-map-modal-form .modal-form-actions{display:flex;justify-content:end;gap:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.role-menu-map-modal-form .modal-btn-reset{min-width:100px}.role-menu-map-modal-form .modal-btn-submit{min-width:100px;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important}.role-menu-map-modal-form .modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 480px){.role-menu-map-modal-content{padding:1rem}.role-menu-map-modal-form .modal-form-actions{flex-direction:row}.role-menu-map-modal-form .modal-btn-reset,.role-menu-map-modal-form .modal-btn-submit{flex:1}}.role-menu-map-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.role-menu-map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.role-menu-map-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.role-menu-map-header .header-actions{display:flex;align-items:center;gap:.75rem}.role-menu-map-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.role-menu-map-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.role-menu-map-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.role-menu-map-header .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.role-menu-map-header .search-input::placeholder{color:hsl(var(--muted-foreground))}.role-menu-map-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.role-menu-map-header .download-btn:hover{color:hsl(var(--primary))}.role-menu-map-header .download-btn svg{width:1.25rem;height:1.25rem}.role-menu-map-header .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.role-menu-map-header .add-icon-btn:hover{opacity:.9}.role-menu-map-header .add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.role-menu-map-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.role-menu-map-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.role-menu-map-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.role-menu-map-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.role-menu-map-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.role-menu-map-table .action-btn svg{width:1rem;height:1rem}.role-menu-map-table .edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.role-menu-map-table .edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.role-menu-map-table .delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.role-menu-map-table .delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.role-menu-map-header{flex-direction:column;gap:1rem;align-items:flex-start}.role-menu-map-header .header-actions{width:100%;flex-wrap:wrap}.role-menu-map-header .search-box{flex:1;min-width:150px}.role-menu-map-header .search-input{width:100%}.role-menu-map-table th,.role-menu-map-table td{padding:.625rem .5rem;font-size:.8125rem}}.employee-type-modal-content{max-width:500px;width:95vw;padding:1.5rem;background:hsl(var(--card));border-radius:.5rem}.employee-type-modal-header{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.employee-type-modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.employee-type-modal-form{display:flex;flex-direction:column;gap:1.25rem}.employee-type-modal-form .modal-form-field{display:flex;flex-direction:column;gap:.5rem}.employee-type-modal-form .modal-form-field.checkbox-field{flex-direction:row;align-items:center;justify-content:space-between}.employee-type-modal-form .modal-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.employee-type-modal-form .modal-form-label .required{color:hsl(var(--destructive))}.employee-type-modal-form .modal-form-input{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s ease,box-shadow .2s ease}.employee-type-modal-form .modal-form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.employee-type-modal-form .modal-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.employee-type-modal-form .modal-form-input::placeholder{color:hsl(var(--muted-foreground))}.employee-type-modal-form .modal-form-textarea{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease,box-shadow .2s ease}.employee-type-modal-form .modal-form-textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.employee-type-modal-form .modal-form-textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.employee-type-modal-form .modal-form-textarea::placeholder{color:hsl(var(--muted-foreground))}.employee-type-modal-form .modal-form-checkbox{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:hsl(var(--primary))}.employee-type-modal-form .modal-form-actions{display:flex;justify-content:end;gap:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.employee-type-modal-form .modal-btn-reset{min-width:100px}.employee-type-modal-form .modal-btn-submit{min-width:100px;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important}.employee-type-modal-form .modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 480px){.employee-type-modal-content{padding:1rem}.employee-type-modal-form .modal-form-actions{flex-direction:row}.employee-type-modal-form .modal-btn-reset,.employee-type-modal-form .modal-btn-submit{flex:1}}.employee-type-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.employee-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.employee-type-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.employee-type-header .header-actions{display:flex;align-items:center;gap:.75rem}.employee-type-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.employee-type-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.employee-type-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.employee-type-header .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.employee-type-header .search-input::placeholder{color:hsl(var(--muted-foreground))}.employee-type-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.employee-type-header .download-btn:hover{color:hsl(var(--primary))}.employee-type-header .download-btn svg{width:1.25rem;height:1.25rem}.employee-type-header .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.employee-type-header .add-icon-btn:hover{opacity:.9}.employee-type-header .add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.employee-type-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.employee-type-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.employee-type-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.employee-type-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.employee-type-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.employee-type-table .action-btn svg{width:1rem;height:1rem}.employee-type-table .edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.employee-type-table .edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.employee-type-table .delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.employee-type-table .delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.employee-type-header{flex-direction:column;gap:1rem;align-items:flex-start}.employee-type-header .header-actions{width:100%;flex-wrap:wrap}.employee-type-header .search-box{flex:1;min-width:150px}.employee-type-header .search-input{width:100%}.employee-type-table th,.employee-type-table td{padding:.625rem .5rem;font-size:.8125rem}}.nationality-modal-content{max-width:500px;width:95vw;padding:1.5rem;background:hsl(var(--card));border-radius:.5rem}.nationality-modal-header{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.nationality-modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.nationality-modal-form{display:flex;flex-direction:column;gap:1.25rem}.nationality-modal-form .modal-form-field{display:flex;flex-direction:column;gap:.5rem}.nationality-modal-form .modal-form-field.checkbox-field,.nationality-modal-form .modal-form-field.radio-field{flex-direction:row;align-items:center;justify-content:space-between}.nationality-modal-form .modal-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.nationality-modal-form .modal-form-label .required{color:hsl(var(--destructive))}.nationality-modal-form .modal-form-input{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s ease,box-shadow .2s ease}.nationality-modal-form .modal-form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.nationality-modal-form .modal-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.nationality-modal-form .modal-form-input::placeholder{color:hsl(var(--muted-foreground))}.nationality-modal-form .modal-form-checkbox{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:hsl(var(--primary))}.nationality-modal-form .radio-group{display:flex;gap:1.5rem}.nationality-modal-form .radio-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--foreground));cursor:pointer}.nationality-modal-form .modal-form-radio{width:1rem;height:1rem;cursor:pointer;accent-color:hsl(var(--primary))}.nationality-modal-form .radio-no{color:hsl(var(--destructive))}.nationality-modal-form .modal-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.nationality-modal-form .modal-btn-reset{min-width:100px}.nationality-modal-form .modal-btn-submit{min-width:100px;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important}.nationality-modal-form .modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 480px){.nationality-modal-content{padding:1rem}.nationality-modal-form .modal-form-actions{flex-direction:row}.nationality-modal-form .modal-btn-reset,.nationality-modal-form .modal-btn-submit{flex:1}}.nationality-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.nationality-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.nationality-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.nationality-header .header-actions{display:flex;align-items:center;gap:.75rem}.nationality-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.nationality-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.nationality-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.nationality-header .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.nationality-header .search-input::placeholder{color:hsl(var(--muted-foreground))}.nationality-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.nationality-header .download-btn:hover{color:hsl(var(--primary))}.nationality-header .download-btn svg{width:1.25rem;height:1.25rem}.nationality-header .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.nationality-header .add-icon-btn:hover{opacity:.9}.nationality-header .add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.nationality-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.nationality-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.nationality-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.nationality-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.nationality-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.nationality-table .action-btn svg{width:1rem;height:1rem}.nationality-table .edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.nationality-table .edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.nationality-table .delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.nationality-table .delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.nationality-header{flex-direction:column;gap:1rem;align-items:flex-start}.nationality-header .header-actions{width:100%;flex-wrap:wrap}.nationality-header .search-box{flex:1;min-width:150px}.nationality-header .search-input{width:100%}.nationality-table th,.nationality-table td{padding:.625rem .5rem;font-size:.8125rem}}.select-wrapper{display:flex;flex-direction:column;gap:.375rem}.select-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.select-label-required:after{content:" *";color:hsl(var(--destructive))}.select-field{display:flex;height:2.5rem;width:100%;border-radius:.375rem;border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:0 2.5rem 0 .75rem;font-size:.875rem;color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.select-field:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.select-field:disabled{cursor:not-allowed;opacity:.5}.select-field-error{border-color:hsl(var(--destructive))}.select-field-error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 2px hsl(var(--destructive) / .2)}.select-error-message{font-size:.75rem;color:hsl(var(--destructive))}.select-helper-text{font-size:.75rem;color:hsl(var(--muted-foreground))}.card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .05)}.card-header{display:flex;flex-direction:column;gap:.375rem;padding:1.5rem}.card-header-row{flex-direction:row;align-items:center;justify-content:space-between}.card-title{font-size:1.125rem;font-weight:600;line-height:1.25;letter-spacing:-.025em;color:hsl(var(--foreground));margin:0}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.card-content{padding:0 1.5rem 1.5rem}.card-content-full{padding:1.5rem}.card-footer{display:flex;align-items:center;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.card-footer-end{justify-content:flex-end}.card-footer-between{justify-content:space-between}.table-container{width:100%;max-height:60vh;min-inline-size:auto;overflow-x:auto;overflow-y:auto}.table{width:100%;caption-side:bottom;border-collapse:collapse;font-size:.875rem}.table-header{border-bottom:1px solid hsl(var(--border))}.table-header-row{transition:background-color .2s ease}.table-head{height:3rem;padding:0 1rem;text-align:left;vertical-align:middle;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap}.table-body{border-top:1px solid hsl(var(--border))}.table-body>tr:last-child{border-bottom:none}.table-row{border-bottom:1px solid hsl(var(--border));transition:background-color .2s ease}.table-row:hover{background-color:hsl(var(--muted) / .5)}.table-cell{padding:.75rem 1rem;vertical-align:middle;color:hsl(var(--foreground))}.table-cell-nowrap{white-space:nowrap}.table-footer{border-top:1px solid hsl(var(--border));background-color:hsl(var(--muted) / .5);font-weight:500}.table-caption{margin-top:1rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.table-empty{padding:3rem 1rem;text-align:center;color:hsl(var(--muted-foreground))}.table-actions{display:flex;align-items:center;gap:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsl(var(--background) / .8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.modal{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.75rem;box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25);width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;animation:slideUp .2s ease-out}.modal-sm{max-width:24rem}.modal-md{max-width:32rem}.modal-lg{max-width:42rem}.modal-xl{max-width:56rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:.375rem;transition:all .2s ease}.modal-close:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.modal-close svg{width:1.25rem;height:1.25rem}.modal-body{padding:1.5rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.tabs{width:100%}.tabs-list{display:inline-flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;background-color:hsl(var(--muted));padding:.25rem;color:hsl(var(--muted-foreground))}.tabs-trigger{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s ease;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.tabs-trigger:hover{color:hsl(var(--foreground))}.tabs-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.tabs-trigger:disabled{pointer-events:none;opacity:.5}.tabs-trigger-active{background-color:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .05)}.tabs-content{margin-top:.5rem}.tabs-content:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:.375rem;transition:all .2s ease}.theme-toggle:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.theme-toggle svg{width:1.25rem;height:1.25rem}.active-visitors{grid-column:span 2}.active-visitors-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.active-visitors-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.active-visitors-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.active-visitors-count{font-size:.875rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));padding:.25rem .75rem;border-radius:9999px}.active-visitors-list{padding:.75rem;max-height:20rem;overflow-y:auto}.active-visitor-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:.5rem;transition:background-color .2s ease}.active-visitor-item:hover{background-color:hsl(var(--muted) / .5)}.active-visitor-info{display:flex;align-items:center;gap:.75rem}.active-visitor-avatar{width:2.5rem;height:2.5rem;border-radius:9999px;background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.active-visitor-details{display:flex;flex-direction:column;gap:.125rem}.active-visitor-name{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.active-visitor-patient{font-size:.75rem;color:hsl(var(--muted-foreground))}.active-visitor-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.active-visitor-time{font-size:.75rem;color:hsl(var(--muted-foreground))}.active-visitor-location{font-size:.75rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));padding:.125rem .5rem;border-radius:.25rem}.active-visitors-empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.active-visitors{grid-column:span 1}}.recent-activity{grid-column:span 1}.recent-activity-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.recent-activity-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.recent-activity-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.recent-activity-view-all{font-size:.875rem;color:hsl(var(--primary));text-decoration:none;font-weight:500;transition:opacity .2s ease}.recent-activity-view-all:hover{opacity:.8}.recent-activity-list{padding:.75rem;max-height:20rem;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem;transition:background-color .2s ease}.activity-item:hover{background-color:hsl(var(--muted) / .5)}.activity-icon{width:2rem;height:2rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon svg{width:.875rem;height:.875rem}.activity-icon-check-in{background-color:hsl(var(--success) / .1);color:hsl(var(--success))}.activity-icon-check-out{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.activity-icon-denied{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.activity-icon-default{background-color:hsl(var(--info) / .1);color:hsl(var(--info))}.activity-content{flex:1;min-width:0}.activity-description{font-size:.875rem;color:hsl(var(--foreground));line-height:1.4;margin:0}.activity-description strong{font-weight:600}.activity-time{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.25rem}.recent-activity-empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.alerts-panel{grid-column:span 1}.alerts-panel-card{border-radius:.75rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.alerts-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.alerts-panel-title-group{display:flex;align-items:center;gap:.5rem}.alerts-panel-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.alerts-panel-badge{font-size:.75rem;font-weight:600;background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));padding:.125rem .5rem;border-radius:9999px}.alerts-panel-view-all{font-size:.875rem;color:hsl(var(--primary));text-decoration:none;font-weight:500;transition:opacity .2s ease}.alerts-panel-view-all:hover{opacity:.8}.alerts-panel-list{padding:.75rem;max-height:20rem;overflow-y:auto}.alert-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.5rem;border-left:3px solid transparent;transition:background-color .2s ease}.alert-item:hover{background-color:hsl(var(--muted) / .5)}.alert-item-low{border-left-color:hsl(var(--info))}.alert-item-medium{border-left-color:hsl(var(--warning))}.alert-item-high{border-left-color:hsl(var(--destructive))}.alert-item-critical{border-left-color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .05)}.alert-icon{width:2rem;height:2rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon svg{width:.875rem;height:.875rem}.alert-icon-low{background-color:hsl(var(--info) / .1);color:hsl(var(--info))}.alert-icon-medium{background-color:hsl(var(--warning) / .1);color:hsl(var(--warning))}.alert-icon-high{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.alert-icon-critical{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.alert-content{flex:1;min-width:0}.alert-message{font-size:.875rem;color:hsl(var(--foreground));line-height:1.4;margin:0}.alert-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.alert-time{font-size:.75rem;color:hsl(var(--muted-foreground))}.alert-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.125rem .375rem;border-radius:.25rem}.alert-badge-low{background-color:hsl(var(--info) / .1);color:hsl(var(--info))}.alert-badge-medium{background-color:hsl(var(--warning) / .1);color:hsl(var(--warning))}.alert-badge-high{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.alert-badge-critical{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.alerts-panel-empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.alerts-panel-empty svg{width:2rem;height:2rem;margin:0 auto .5rem;color:hsl(var(--success))}.identity-proof-modal-content{max-width:550px;width:95vw;max-height:90vh;overflow-y:auto;padding:1.5rem}.identity-proof-modal-header{margin-bottom:1.5rem;padding-bottom:0;border-bottom:none}.identity-proof-modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.identity-proof-modal-form{display:flex;flex-direction:column;gap:1.25rem}.identity-proof-modal-form .modal-form-field{display:flex;flex-direction:column;gap:.5rem}.identity-proof-modal-form .modal-form-label{font-size:.875rem;font-weight:500;text-align:left}.identity-proof-modal-form .required{color:hsl(var(--destructive));margin-left:.125rem}.identity-proof-modal-form .modal-form-input{width:100%;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease}.identity-proof-modal-form .modal-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.identity-proof-modal-form .modal-form-input::placeholder{color:hsl(var(--muted-foreground))}.identity-proof-modal-form .modal-form-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.identity-proof-modal-form .modal-form-textarea{width:100%;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease;resize:vertical;min-height:100px;font-family:inherit}.identity-proof-modal-form .modal-form-textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.identity-proof-modal-form .modal-form-textarea::placeholder{color:hsl(var(--muted-foreground))}.identity-proof-modal-form .modal-form-textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.identity-proof-modal-form .radio-group{display:flex;gap:1.5rem;align-items:center}.identity-proof-modal-form .radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer}.identity-proof-modal-form .radio-option input[type=radio]{width:1rem;height:1rem;accent-color:hsl(var(--primary));cursor:pointer}.identity-proof-modal-form .radio-label{font-size:.875rem;color:hsl(var(--foreground))}.identity-proof-modal-form .modal-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.identity-proof-modal-form .modal-btn-reset{background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.identity-proof-modal-form .modal-btn-reset:hover{background-color:hsl(var(--destructive) / .9)!important}.identity-proof-modal-form .modal-btn-submit{background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.identity-proof-modal-form .modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 768px){.identity-proof-modal-content{padding:1.25rem;width:100%;max-width:100%}.identity-proof-modal-header{margin-bottom:1rem}.identity-proof-modal-title{font-size:1.125rem}.identity-proof-modal-form .radio-group{gap:1rem}.identity-proof-modal-form .modal-form-actions{flex-direction:column-reverse;gap:.75rem}.identity-proof-modal-form .modal-btn-reset,.identity-proof-modal-form .modal-btn-submit{width:100%;justify-content:center}}.identity-proof-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.identity-proof-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.identity-proof-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.identity-proof-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.identity-proof-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.identity-proof-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}@media (max-width: 768px){.identity-proof-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}.identity-proof-table th,.identity-proof-table td{padding:.625rem .5rem;font-size:.8125rem}}.employee-role-mapping-form-modal{background:hsl(var(--card));border-radius:.5rem;width:40%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-select{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}@media (max-width: 640px){.employee-role-mapping-form-modal{width:calc(100% - 1rem);max-width:100%;margin:.5rem}.modal-header,.modal-form{padding:1rem}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.employee-role-mapping-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.employee-role-mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.employee-role-mapping-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.employee-role-mapping-header .header-actions{display:flex;align-items:center;gap:.75rem}.employee-role-mapping-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.employee-role-mapping-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.employee-role-mapping-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.employee-role-mapping-header .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.employee-role-mapping-header .search-input::placeholder{color:hsl(var(--muted-foreground))}.employee-role-mapping-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.employee-role-mapping-header .download-btn:hover{color:hsl(var(--primary))}.employee-role-mapping-header .download-btn svg{width:1.25rem;height:1.25rem}.employee-role-mapping-header .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.employee-role-mapping-header .add-icon-btn:hover{opacity:.9}.employee-role-mapping-header .add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.employee-role-mapping-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.employee-role-mapping-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.employee-role-mapping-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.employee-role-mapping-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.employee-role-mapping-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.employee-role-mapping-table .action-btn svg{width:1rem;height:1rem}.employee-role-mapping-table .edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.employee-role-mapping-table .edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.employee-role-mapping-table .delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.employee-role-mapping-table .delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.employee-role-mapping-header{flex-direction:column;gap:1rem;align-items:flex-start}.employee-role-mapping-header .header-actions{width:100%;flex-wrap:wrap}.employee-role-mapping-header .search-box{flex:1;min-width:150px}.employee-role-mapping-header .search-input{width:100%}.employee-role-mapping-table th,.employee-role-mapping-table td{padding:.625rem .5rem;font-size:.8125rem}}[role=dialog]>*,.modal-overlay>*:not(button){overflow-x:auto;box-sizing:border-box}.configuration-form-modal{background:hsl(var(--card));border-radius:.5rem;width:45%;min-width:400px;min-height:420px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.modal-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;color:hsl(var(--muted-foreground));border-radius:.25rem;transition:all .2s ease}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;flex:1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.form-label .required{color:hsl(var(--destructive))}.form-input,.form-select{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border));margin-top:.5rem}@media (max-width: 640px){.configuration-form-modal{width:100%;min-height:380px;margin:.5rem}.modal-header,.modal-form{padding:1rem}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.configuration-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.configuration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.configuration-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.configuration-header .header-actions{display:flex;align-items:center;gap:.75rem}.configuration-header .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.configuration-header .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.configuration-header .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.configuration-header .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.configuration-header .search-input::placeholder{color:hsl(var(--muted-foreground))}.configuration-header .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.configuration-header .download-btn:hover{color:hsl(var(--primary))}.configuration-header .download-btn svg{width:1.25rem;height:1.25rem}.configuration-header .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.configuration-header .add-icon-btn:hover{opacity:.9}.configuration-header .add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.configuration-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.configuration-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.configuration-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.configuration-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.configuration-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.configuration-table .action-btn svg{width:1rem;height:1rem}.configuration-table .edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.configuration-table .edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.configuration-table .delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.configuration-table .delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.configuration-header{flex-direction:column;gap:1rem;align-items:flex-start}.configuration-header .header-actions{width:100%;flex-wrap:wrap}.configuration-header .search-box{flex:1;min-width:150px}.configuration-header .search-input{width:100%}.configuration-table th,.configuration-table td{padding:.625rem .5rem;font-size:.8125rem}}.change-password-page{padding:1.5rem;min-height:calc(100vh - 60px)}.change-password-container{display:flex;justify-content:center;align-items:flex-start;padding:1rem 0}.change-password-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 4px 12px hsl(var(--foreground) / .08);padding:2rem 2.5rem;width:100%;max-width:600px}.change-password-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:hsl(var(--primary) / .1);border-radius:10px;color:hsl(var(--primary));flex-shrink:0}.header-text{display:flex;flex-direction:column;gap:.25rem}.change-password-card .page-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary));margin:0}.page-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.password-requirements-inline{margin-top:.5rem}.password-requirements-inline .requirements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem;text-align:left}.password-requirements-inline .requirements-list li{font-size:.75rem;color:hsl(var(--muted-foreground));transition:color .2s ease}.password-requirements-inline .requirements-list li.valid{color:#16a249}[data-theme=dark] .password-requirements-inline .requirements-list li.valid,.dark .password-requirements-inline .requirements-list li.valid{color:#21c45d}.change-password-form{display:flex;flex-direction:column;gap:1.25rem}.change-password-form .form-group{display:flex;flex-direction:column;gap:.5rem}.change-password-form .form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.change-password-form .form-label .required{color:hsl(var(--destructive));margin-left:2px}.password-input-wrapper{position:relative;display:flex;align-items:center}.change-password-form .form-input{width:100%;height:2.75rem;padding:.625rem 2.75rem .625rem 1rem;font-size:.875rem;border:1px solid hsl(var(--input));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s,box-shadow .2s}.change-password-form .form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.change-password-form .form-input::placeholder{color:hsl(var(--muted-foreground))}.change-password-form .form-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.change-password-form .form-input:disabled{cursor:not-allowed;opacity:.5}.password-toggle{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:hsl(var(--foreground))}.form-actions{display:flex;justify-content:right;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btn-reset{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background-color:hsl(var(--destructive));color:#fff;transition:opacity .2s,background-color .2s;min-width:120px}.btn-reset:hover{opacity:.9}.btn-change-password{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background-color:#155dfc;color:#fff;transition:opacity .2s,background-color .2s;min-width:160px}.btn-change-password:hover{opacity:.9}[data-theme=dark] .change-password-card,.dark .change-password-card{background:hsl(var(--card));border-color:hsl(var(--border))}[data-theme=dark] .btn-reset,.dark .btn-reset{background-color:hsl(var(--destructive));color:#fff}[data-theme=dark] .btn-change-password,.dark .btn-change-password{background-color:#155dfc;color:#fff}@media (max-width: 576px){.change-password-page{padding:1rem}.change-password-card{padding:1.5rem}.change-password-header{flex-direction:column;align-items:center;text-align:center}.header-text{align-items:center}.form-actions{flex-direction:column}.btn-reset,.btn-change-password{width:100%}}.badge-template-modal-content{max-width:500px;width:95vw;max-height:90vh;overflow-y:auto;padding:2rem}.badge-template-modal-header{margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.badge-template-modal-title{font-size:1.375rem;font-weight:600;color:hsl(var(--primary));text-align:left}.badge-template-modal-form{display:flex;flex-direction:column;gap:1.25rem}.btm-form-field{display:flex;flex-direction:column;gap:.5rem}.btm-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.125rem;text-align:left}.btm-form-label .required{color:hsl(var(--destructive));margin-left:.125rem}.btm-form-select{width:100%;padding:.625rem 2.5rem .625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer;text-align:left}.btm-form-select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.btm-form-select.error{border-color:hsl(var(--destructive))}.btm-error-message{display:block;font-size:.75rem;color:hsl(var(--destructive));margin-top:.25rem;text-align:left}.btm-template-input-wrapper{display:flex;align-items:center;gap:.5rem}.btm-template-input-wrapper .btm-form-select{flex:1}.btm-preview-icon-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;color:hsl(var(--foreground));transition:all .2s ease}.btm-preview-icon-btn:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.btm-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btm-btn-reset{background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.btm-btn-reset:hover{opacity:.9}.btm-btn-submit{background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.btm-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 576px){.badge-template-modal-content{padding:1.5rem;width:100%;max-width:100%}.badge-template-modal-header{margin-bottom:1.25rem;padding-bottom:.75rem}.badge-template-modal-title{font-size:1.25rem}.btm-form-actions{flex-direction:column-reverse;gap:.75rem}.btm-btn-reset,.btm-btn-submit{width:100%;justify-content:center}}.template-preview-content{max-width:720px!important;width:-moz-fit-content!important;width:fit-content!important;max-height:90vh;overflow-y:auto;padding:.75rem 1rem!important;gap:0!important}.template-preview-header{margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid hsl(var(--border))}.template-preview-title{font-size:1.375rem;font-weight:600;color:hsl(var(--primary));text-align:left}.preview-body{display:flex;flex-direction:column;gap:2rem}.visitor-details-section{margin-bottom:0}.section-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid hsl(var(--primary));text-align:left}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;text-align:left}.detail-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.025em}.detail-value{font-size:.875rem;color:hsl(var(--foreground));font-weight:500}.id-card-section{margin-bottom:0}.id-cards-container{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.id-card{width:280px;height:180px;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #00000026;position:relative;display:flex;flex-direction:column}.id-card.front{background:linear-gradient(135deg,hsl(var(--primary)),#3c83f6)}.id-card.back{background:linear-gradient(135deg,#515761,#23272f)}.id-card-header{background:#ffffff26;padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center}.hospital-name{font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.card-type{font-size:.6rem;font-weight:700;color:#fbbf24;text-transform:uppercase}.id-card-body{flex:1;padding:.75rem;display:flex;gap:.75rem}.photo-section{flex-shrink:0}.photo-placeholder{width:60px;height:70px;background:#fff3;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#ffffffb3}.info-section{flex:1;display:flex;flex-direction:column;gap:.25rem;text-align:left}.visitor-name{font-size:.85rem;font-weight:700;color:#fff}.visitor-company{font-size:.65rem;color:#ffffffd9}.visitor-purpose{font-size:.6rem;color:#ffffffb3;margin-top:auto}.validity{font-size:.6rem;color:#fffc}.id-card-footer{background:#0003;padding:.4rem .75rem;display:flex;justify-content:space-between;align-items:center}.visitor-type-badge{font-size:.55rem;font-weight:600;color:hsl(var(--primary));background:#fbbf24;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase}.visitor-id{font-size:.6rem;color:#ffffffe6;font-family:monospace}.card-label{position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%);font-size:.7rem;color:hsl(var(--muted-foreground));font-weight:500}.back-body{flex-direction:column;gap:.5rem}.back-info{flex:1;text-align:left}.info-row{display:flex;gap:.5rem;margin-bottom:.35rem;font-size:.65rem}.info-row .info-label{color:#ffffffb3;min-width:70px}.info-row .info-value{color:#fff;font-weight:500}.emergency-info{margin-top:auto}.emergency-info p{font-size:.55rem;color:#fff9;margin:0;text-align:center;font-style:italic}.id-card.back .id-card-footer .footer-text{font-size:.5rem;color:#ffffffb3;text-align:center;width:100%}.qr-section{display:flex;justify-content:flex-end;margin-top:1rem}.qr-code-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:hsl(var(--muted));border-radius:8px;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.qr-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.preview-actions{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btn-close-preview{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.btn-close-preview:hover{opacity:.9}@media (max-width: 768px){.template-preview-content{padding:1rem;width:100%;max-width:100%}.template-preview-header{margin-bottom:.5rem;padding-bottom:.5rem}.template-preview-title{font-size:1.25rem}.details-grid{grid-template-columns:1fr}.id-cards-container{flex-direction:column;align-items:center}.id-card{width:100%;max-width:300px;margin-bottom:2rem}.qr-section{justify-content:center}}.badge-template-mapping-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.badge-template-mapping-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.badge-template-mapping-page .page-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary));margin:0}.badge-template-mapping-page .header-actions{display:flex;align-items:center;gap:.75rem}.badge-template-mapping-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.badge-template-mapping-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.badge-template-mapping-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.badge-template-mapping-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.badge-template-mapping-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.badge-template-mapping-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.badge-template-mapping-page .download-btn:hover{color:hsl(var(--primary))}.badge-template-mapping-page .download-btn svg{width:1.25rem;height:1.25rem}.badge-template-mapping-page .add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.badge-template-mapping-page .add-icon-btn:hover{opacity:.9}.badge-template-mapping-page .add-icon-btn svg{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.badge-template-mapping-page .add-dropdown-menu{background:hsl(var(--card))!important;border:1px solid hsl(var(--border));border-radius:.5rem;padding:.5rem;min-width:160px;z-index:100}.badge-template-mapping-page .dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;cursor:pointer;border-radius:.25rem;color:hsl(var(--foreground))}.badge-template-mapping-page .dropdown-item:hover{background:hsl(var(--muted))}.badge-template-mapping-page .dropdown-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.badge-template-mapping-page .table-container{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.badge-template-mapping-page .data-table-wrapper{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.badge-template-mapping-page .data-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.badge-template-mapping-page .data-table-wrapper::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:4px}.badge-template-mapping-page .data-table-wrapper::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:4px}.badge-template-mapping-page .data-table-wrapper::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.badge-template-mapping-page .data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.badge-template-mapping-page .data-table th,.badge-template-mapping-page .data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.badge-template-mapping-page .data-table th{font-weight:600;color:hsl(var(--primary-foreground));background:hsl(var(--primary));position:sticky;top:0;z-index:10}.badge-template-mapping-page .data-table th:first-child{border-top-left-radius:0}.badge-template-mapping-page .data-table th:last-child{border-top-right-radius:0}.badge-template-mapping-page .data-table td{color:hsl(var(--foreground));background:hsl(var(--card))}.badge-template-mapping-page .data-table tbody tr:hover td{background:hsl(var(--muted) / .5)}.badge-template-mapping-page .th-content{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.badge-template-mapping-page .data-table th:hover{background:hsl(var(--primary) / .85)}.badge-template-mapping-page .sort-icon{width:.875rem;height:.875rem;opacity:.7}.badge-template-mapping-page .no-data{text-align:center!important;padding:2rem!important;color:hsl(var(--muted-foreground))}.badge-template-mapping-page .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.badge-template-mapping-page .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.badge-template-mapping-page .action-btn svg{width:1rem;height:1rem}.badge-template-mapping-page .action-btn.edit{background:hsl(var(--muted));color:hsl(var(--foreground))}.badge-template-mapping-page .action-btn.edit:hover{background:hsl(var(--muted-foreground) / .3)}.badge-template-mapping-page .action-btn.delete{background:hsl(var(--muted));color:hsl(var(--foreground))}.badge-template-mapping-page .action-btn.delete:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}.badge-template-mapping-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.badge-template-mapping-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}@media (max-width: 768px){.badge-template-mapping-page{padding:1rem}.badge-template-mapping-page .page-header{flex-direction:column;align-items:flex-start}.badge-template-mapping-page .header-actions{width:100%;flex-wrap:wrap}.badge-template-mapping-page .search-box{flex:1;min-width:150px}.badge-template-mapping-page .search-input{width:100%}.badge-template-mapping-page .data-table th,.badge-template-mapping-page .data-table td{padding:.625rem .5rem;font-size:.8125rem}}.entity-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.entity-modal-container{background:hsl(var(--card));border-radius:.5rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.entity-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border));border-radius:.5rem .5rem 0 0}.entity-modal-title{font-size:1.125rem;font-weight:600}.entity-modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;border-radius:.25rem;transition:background-color .2s ease}.entity-modal-close:hover{background:hsl(var(--primary-foreground) / .1)}.entity-modal-close svg{width:1.25rem;height:1.25rem}.entity-modal-form{padding:1.5rem}.entity-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.entity-form-group{display:flex;flex-direction:column;gap:.375rem}.entity-form-group.full-width{grid-column:1 / -1}.entity-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.entity-form-label .required{color:hsl(var(--destructive))}.entity-form-input,.entity-form-select{padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s ease}.entity-form-input:focus,.entity-form-select:focus{outline:none;border-color:hsl(var(--primary))}.entity-form-input.error{border-color:hsl(var(--destructive))}.entity-form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.entity-form-input::placeholder{color:hsl(var(--muted-foreground))}.entity-error-text{font-size:.75rem;color:hsl(var(--destructive))}.entity-file-upload{position:relative}.entity-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.entity-file-label{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border:1px dashed hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));cursor:pointer;transition:border-color .2s ease}.entity-file-label:hover{border-color:hsl(var(--primary))}.entity-file-label .upload-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.entity-file-label span{font-size:.875rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.entity-btn-reset{min-width:100px;background-color:hsl(var(--destructive) / .9)!important;color:hsl(var(--primary-foreground))!important}.entity-btn-submit{min-width:100px;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important}.entity-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 640px){.entity-form-grid{grid-template-columns:1fr}.entity-modal-container{max-height:95vh}}.entity-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.entity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.entity-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.entity-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.entity-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.entity-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.nda-document-cell{display:flex;align-items:center;gap:.5rem;color:hsl(var(--primary))}.nda-download-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.link-cell{color:hsl(var(--primary));text-decoration:none;transition:opacity .2s ease;word-break:break-all}.link-cell:hover{text-decoration:underline;opacity:.8}@media (max-width: 768px){.entity-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}.entity-table th,.entity-table td{padding:.625rem .5rem;font-size:.8125rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.visitor-type-form-modal{background:hsl(var(--card));border-radius:.5rem;width:60%;min-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-loading-bar{padding:.5rem 1.5rem;font-size:.875rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);border-bottom:1px solid hsl(var(--border))}.form-body{flex:1;overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 6rem}.form-column{display:flex;flex-direction:column}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.form-input.error,.form-input-error.form-input,.form-input-error.icon-picker-trigger,.multi-select-dropdown.form-input-error .multi-select-trigger{border-color:hsl(var(--destructive));box-shadow:0 0 0 1px hsl(var(--destructive) / .3)}.color-picker-wrapper.form-input-error{outline:1px solid hsl(var(--destructive));outline-offset:-1px;border-radius:.375rem}.form-error-text{display:block;font-size:.75rem;color:hsl(var(--destructive));margin-top:.25rem}.form-textarea{resize:vertical;min-height:80px}.radio-group{display:flex;gap:1.5rem;align-items:center}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.radio-input{width:1rem;height:1rem;accent-color:hsl(var(--primary));cursor:pointer}.radio-text{color:hsl(var(--foreground))}.checkbox-group{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-input{width:1rem;height:1rem;accent-color:hsl(var(--primary));cursor:pointer}.checkbox-text{color:hsl(var(--foreground))}.time-window-rows{margin-bottom:.25rem}.time-window-rows.form-input-error{padding:.5rem;border-radius:.375rem;border:1px solid hsl(var(--destructive));background:hsl(var(--destructive) / .04)}.time-window-row{display:flex;align-items:stretch;gap:1rem;margin-bottom:.75rem}.time-input-group{display:flex;align-items:center;gap:.5rem}.time-input-group-flex{flex:1;min-width:0}.time-label{font-size:.875rem;color:hsl(var(--foreground));min-width:2.5rem;flex-shrink:0}.time-select{flex:1;min-width:120px;max-width:160px;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.time-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.time-select:hover{border-color:hsl(var(--primary))}.time-select option{background:hsl(var(--card));color:hsl(var(--foreground));padding:.5rem}.remove-time-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:transparent;color:hsl(var(--destructive));cursor:pointer;border-radius:.375rem;transition:background-color .2s ease}.remove-time-btn:hover{background:hsl(var(--destructive) / .1)}.add-time-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border:none;background:transparent;color:hsl(var(--primary));cursor:pointer;font-size:.875rem;font-weight:500;transition:color .2s ease}.add-time-btn:hover{color:hsl(var(--primary) / .8)}.duration-input-group{display:flex;gap:.5rem;align-items:center}.duration-input{width:120px}.duration-suffix{flex-shrink:0}.duration-select{width:auto;min-width:100px;padding:.625rem .75rem}.badge-template-input-wrapper{display:flex;align-items:stretch;gap:.5rem}.badge-template-select{flex:1;min-width:0}.badge-preview-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:auto;min-height:2.5rem;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--primary));cursor:pointer;border-radius:.375rem;transition:all .2s ease;flex-shrink:0}.badge-preview-btn:hover:not(:disabled){background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.badge-preview-btn:disabled{opacity:.5;cursor:not-allowed;color:hsl(var(--muted-foreground))}.multi-select-dropdown{position:relative;width:100%}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));transition:border-color .2s ease,box-shadow .2s ease}.multi-select-trigger:hover{border-color:hsl(var(--primary))}.multi-select-trigger:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.multi-select-value{color:hsl(var(--foreground))}.multi-select-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));transition:transform .2s ease}.multi-select-icon.open{transform:rotate(180deg)}.multi-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:150px;overflow-y:auto}.multi-select-menu-tree{max-height:320px;min-width:260px}.tree-parent{border-bottom:1px solid hsl(var(--border) / .6)}.tree-parent:last-child{border-bottom:none}.tree-parent-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;border:none;background:hsl(var(--muted) / .4);cursor:pointer;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left;transition:background-color .15s ease}.tree-parent-row:hover{background:hsl(var(--muted))}.tree-parent-chevron{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));flex-shrink:0}.tree-parent-label{flex:1}.tree-children{padding-left:.5rem;background:hsl(var(--card))}.tree-child{padding-left:1.5rem}.multi-select-option{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));transition:background-color .15s ease}.multi-select-option:hover{background:hsl(var(--muted))}.multi-select-option.selected{background:hsl(var(--primary) / .1)}.multi-select-checkbox{width:1rem;height:1rem;accent-color:hsl(var(--primary));cursor:pointer}.multi-select-check-icon{color:hsl(var(--primary))}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.selected-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:.25rem;font-size:.75rem;color:hsl(var(--primary))}.tag-remove-btn{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:hsl(var(--primary));cursor:pointer;opacity:.7;transition:opacity .15s ease}.tag-remove-btn:hover{opacity:1}.modal-btn-reset{min-width:100px;background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.modal-btn-reset:hover{background-color:hsl(var(--destructive) / .9)!important}@media (max-width: 768px){.visitor-type-form-modal{width:95%;min-width:unset;max-width:100%;margin:.5rem}.form-grid{grid-template-columns:1fr;gap:0}.form-column{gap:1rem}.modal-header{padding:.875rem 1rem}.form-body{padding:1rem}.modal-footer{padding:.875rem 1rem;flex-direction:column-reverse}.modal-footer button{width:100%}.time-window-row{flex-wrap:wrap}.radio-group,.checkbox-group{gap:1rem}}.color-picker-wrapper{display:flex;align-items:center;gap:12px}.color-picker-wrapper input[type=color]{width:42px;height:42px;padding:0;border:none;background:none;cursor:pointer}.color-hex{font-size:.85rem;font-family:monospace;color:hsl(var(--muted-foreground))}.color-hex-input{width:6.5rem;padding:.4rem .5rem;font-size:.85rem;font-family:monospace;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground))}.color-hex-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15)}.color-hex-input::-moz-placeholder{color:hsl(var(--muted-foreground) / .7)}.color-hex-input::placeholder{color:hsl(var(--muted-foreground) / .7)}.visitor-type-tail-box-dropdown{position:relative;margin-bottom:1rem}.visitor-type-tail-box-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));text-align:left;transition:border-color .2s ease,box-shadow .2s ease}.visitor-type-tail-box-trigger:hover{border-color:hsl(var(--primary) / .5)}.visitor-type-tail-box-trigger:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.visitor-type-tail-box-preview{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.375rem;flex-shrink:0;box-shadow:0 1px 2px #00000026}.visitor-type-tail-preview-placeholder{font-size:.7rem;opacity:.95}.visitor-type-tail-box-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.visitor-type-tail-box-trigger.has-value .visitor-type-tail-box-label{color:hsl(var(--foreground))}.visitor-type-tail-box-chevron{flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .2s ease}.visitor-type-tail-box-chevron.open{transform:rotate(180deg)}.visitor-type-tail-box-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1000;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;max-height:min(400px,70vh);overflow-y:auto}.visitor-type-tail-box-popup-inner{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.visitor-type-tail-box-popup-inner .form-group{margin-bottom:0}@media (max-width: 768px){.visitor-type-tail-box-popup{max-height:min(360px,60vh)}.visitor-type-tail-box-label{white-space:normal}}.form-group.icon-picker-wrap{position:relative}.icon-picker-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.icon-picker-trigger:hover{border-color:hsl(var(--primary) / .5)}.icon-picker-trigger-icon{flex-shrink:0;color:hsl(var(--primary))}.icon-picker-placeholder{color:hsl(var(--muted-foreground))}.icon-picker-chevron{margin-left:auto;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .2s ease}.icon-picker-trigger[aria-expanded=true] .icon-picker-chevron{transform:rotate(180deg)}.icon-picker-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000a;z-index:50;max-height:280px;display:flex;flex-direction:column}.icon-picker-dropdown-portal{z-index:10001;margin-top:0}.icon-picker-search-wrap{position:relative;margin-bottom:.5rem;flex-shrink:0}.icon-picker-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.icon-picker-search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground))}.icon-picker-search-input:focus{outline:none;border-color:hsl(var(--primary))}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.35rem;overflow-y:auto;flex:1;min-height:0}.icon-picker-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;border:1px solid transparent;border-radius:.375rem;background:transparent;color:hsl(var(--foreground));font-size:.75rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.icon-picker-option:hover{background:hsl(var(--muted) / .5);border-color:hsl(var(--border))}.icon-picker-option-selected{background:hsl(var(--primary) / .12);border-color:hsl(var(--primary));color:hsl(var(--primary))}.icon-picker-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-align:center}.icon-picker-empty{grid-column:1 / -1;padding:1rem;text-align:center;font-size:.875rem;color:hsl(var(--muted-foreground))}.timepicker-container{width:100%;position:relative;font-family:inherit}.timepicker-label{font-size:.875rem;font-weight:500;margin-bottom:.5rem;display:block;color:hsl(var(--foreground))}.timepicker-input{width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;cursor:pointer;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s ease,box-shadow .2s ease}.timepicker-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.timepicker-input::placeholder{color:hsl(var(--muted-foreground))}.timepicker-input:focus{outline:none;border-color:#3c83f6;box-shadow:0 0 0 3px #3c83f61a}.timepicker-popup{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 10px 25px hsl(var(--foreground) / .1);padding:.5rem;z-index:1000}.time-columns{display:flex;gap:.5rem;justify-content:space-between}.time-column{max-height:140px;overflow-y:auto;flex:1}.time-item{padding:.375rem .5rem;text-align:center;cursor:pointer;border-radius:.25rem;font-size:.8125rem;color:hsl(var(--foreground));transition:background-color .15s ease}.time-item:hover{background-color:hsl(var(--muted))}.time-item.active{background-color:#3c83f6;color:#fff}.timepicker-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.cancel-btn{flex:1;padding:.5rem;font-size:.75rem;background-color:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground));border-radius:.375rem;cursor:pointer;transition:background-color .2s,border-color .2s}.cancel-btn:hover{background-color:hsl(var(--muted));border-color:hsl(var(--muted-foreground) / .3)}.timepicker-ok{flex:1;padding:.5rem;font-size:.75rem;background-color:#3c83f6;border:none;color:#fff;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.timepicker-ok:hover{background-color:#0b64f4}.time-column::-webkit-scrollbar{width:4px}.time-column::-webkit-scrollbar-track{background:transparent}.time-column::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:10px}.time-column::-webkit-scrollbar-thumb:hover{background-color:#3c83f6}.time-column{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent}.visitor-type-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.visitor-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.visitor-type-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.add-icon-btn{width:2.5rem;height:2.5rem;padding:0;background-color:hsl(var(--primary))!important;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.add-icon-btn:hover{opacity:.9}.add-icon-btn .btn-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground))}.visitor-type-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.visitor-type-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.visitor-type-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.header-action-btn{background-color:#155dfc}.action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.action-btn svg{width:1rem;height:1rem}.edit-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.edit-btn:hover{background:hsl(var(--muted-foreground) / .3)}.delete-btn{background:hsl(var(--muted));color:hsl(var(--foreground))}.delete-btn:hover{background:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}@media (max-width: 768px){.visitor-type-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}.visitor-type-table th,.visitor-type-table td{padding:.625rem .5rem;font-size:.8125rem}}.visit-booking-page{padding:1.5rem;background-color:hsl(var(--background));min-height:100%}.visit-booking-container{margin:0 auto;background-color:hsl(var(--card));border-radius:1rem;box-shadow:0 1px 3px hsl(var(--foreground) / .1);overflow:hidden}.visit-booking-stepper{display:flex;align-items:center;justify-content:center;padding:1.5rem 2rem;background-color:hsl(var(--card));border-bottom:1px solid hsl(var(--border));gap:.5rem;flex-wrap:wrap}.stepper-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;border:1px solid hsl(var(--border));background-color:hsl(var(--background));transition:all .2s ease}.stepper-item.active{border-color:#3c83f6;background-color:hsl(var(--background))}.stepper-item.completed{border-color:#16a249;background-color:hsl(var(--background))}.stepper-number{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:.75rem;font-weight:600;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.stepper-item.active .stepper-number{background-color:#3c83f6;color:#fff}.stepper-item.completed .stepper-number{background-color:#16a249;color:#fff}.stepper-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap;text-align:left}.stepper-item.active .stepper-label,.stepper-item.completed .stepper-label{color:hsl(var(--foreground))}.stepper-connector{width:2rem;height:2px;background-color:hsl(var(--border));flex-shrink:0}.stepper-connector.completed{background-color:#16a249}.visit-booking-content{padding:2rem 3rem;min-height:60vh;max-width:100%;min-width:0;box-sizing:border-box}.step-header{text-align:center;margin-bottom:2rem}.step-header h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.step-header p{font-size:.875rem;color:hsl(var(--muted-foreground))}.visitor-types-loading,.visitor-types-error,.visitor-types-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.visitor-types-loading .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.visitor-types-error{color:hsl(var(--destructive))}.visitor-type-cards{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;max-width:100%;min-width:0}.visitor-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;border:1px solid hsl(var(--border));border-radius:.75rem;cursor:pointer;width:160px;min-width:100px;min-height:118px;box-sizing:border-box;transition:filter .2s ease,border-color .2s ease;background-color:hsl(var(--muted));color:hsl(var(--foreground))}.visitor-type-card:hover{filter:brightness(.92);border-color:hsl(var(--foreground) / .2)}html[data-system-scale="125"] .visitor-type-card{width:118px;min-height:120px;padding:1.25rem .6rem}html[data-system-scale="125"] .visitor-type-cards{gap:1rem}html[data-system-scale="125"] .visitor-type-icon{width:3.5rem;height:3.5rem;margin-bottom:.5rem}html[data-system-scale="125"] .visitor-type-icon svg{width:1.5rem;height:1.5rem}html[data-system-scale="125"] .visitor-type-label{font-size:.9375rem;font-weight:600}html[data-system-scale="150"] .visitor-type-card{width:92px;min-height:108px;padding:1rem .55rem}html[data-system-scale="150"] .visitor-type-cards{gap:.875rem}html[data-system-scale="150"] .visitor-type-icon{width:3.25rem;height:3.25rem;margin-bottom:.5rem}html[data-system-scale="150"] .visitor-type-icon svg{width:1.55rem;height:1.55rem}html[data-system-scale="150"] .visitor-type-label{font-size:.9375rem;font-weight:600}.visitor-type-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;margin-bottom:.5rem;background-color:#00000014}.visitor-type-icon svg{width:1.5rem;height:1.5rem}.visitor-type-label{font-size:.9375rem;font-weight:600;text-align:center;line-height:1.3;word-wrap:break-word;max-width:100%}.photo-capture-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.photo-avatar-placeholder{width:9rem;height:9rem;border-radius:50%;background-color:hsl(var(--muted));display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden;border:3px solid hsl(var(--border))}.photo-avatar-placeholder svg{width:3.5rem;height:3.5rem;color:hsl(var(--muted-foreground) / .5)}.photo-avatar-placeholder img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.take-photo-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#3c83f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.take-photo-btn:hover{background-color:#0b64f4}.take-photo-btn svg{width:1.25rem;height:1.25rem}.remove-photo-btn{color:#ef4343;border-color:#ef43434d}.remove-photo-btn:hover{background-color:#ef43431a;border-color:#ef4343}.camera-error-message{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background-color:#ef43431a;border:1px solid hsl(0 84% 60% / .3);border-radius:.5rem;color:#ef4343;font-size:.875rem}.camera-error-message svg{width:1rem;height:1rem;flex-shrink:0}.camera-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:hsl(var(--foreground) / .5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.camera-modal{background-color:hsl(var(--card));border-radius:1rem;box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25);width:100%;max-width:500px;overflow:hidden}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.camera-modal-header h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.camera-modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background-color:transparent;color:hsl(var(--muted-foreground));border-radius:.375rem;cursor:pointer;transition:all .2s ease}.camera-modal-close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.camera-modal-close svg{width:1.25rem;height:1.25rem}.camera-modal-body{padding:1rem 1.5rem;max-height:50vh;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--muted) / .3)}.camera-video{width:100%;max-width:400px;max-height:45vh;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;background-color:hsl(var(--foreground))}.captured-photo-preview{width:100%;max-width:400px;max-height:45vh;border-radius:.5rem;-o-object-fit:contain;object-fit:contain}.camera-modal-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.capture-btn{padding:.75rem 2rem}.patient-search-container{max-width:800px;margin:0 auto}.patient-search-section-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .25rem}.patient-search-hint{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0 0 1.25rem}.patient-search-or{font-size:.875rem;font-weight:600;color:hsl(var(--muted-foreground));text-align:center;margin:1rem 0}.field-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;text-align:left}.field-label .required{color:#ef4343;margin-left:.25rem}.search-input-wrapper{position:relative;margin-bottom:.5rem;display:flex;align-items:center}.search-input-wrapper input{width:100%;height:2.75rem;padding:.75rem 2.5rem .75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;line-height:1.25rem;background-color:hsl(var(--background));color:hsl(var(--foreground));box-sizing:border-box}.search-input-wrapper input:focus{outline:none;border-color:#3c83f6;box-shadow:0 0 0 3px #3c83f61a}.search-input-wrapper input::-moz-placeholder{color:hsl(var(--muted-foreground))}.search-input-wrapper input::placeholder{color:hsl(var(--muted-foreground))}.search-input-wrapper .search-icon,.search-input-wrapper .search-chevron-icon{position:absolute;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));flex-shrink:0}.search-input-wrapper .search-icon{right:2.25rem}.search-input-wrapper .search-chevron-icon{right:.75rem;pointer-events:none}.patient-search-dropdown-wrapper{position:relative;margin-bottom:.5rem}.patient-search-dropdown-wrapper .search-input-wrapper{margin-bottom:0}.patient-search-dropdown-wrapper .search-input-wrapper input{padding-right:3.25rem}.patient-dropdown-list{position:absolute;left:0;right:0;top:100%;margin:.25rem 0 0;padding:.25rem 0;list-style:none;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 4px 12px hsl(var(--foreground) / .1);max-height:240px;overflow-y:auto;z-index:50;text-align:left}.patient-dropdown-option{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;cursor:pointer;transition:background-color .15s ease;text-align:left}.patient-dropdown-option:hover{background-color:hsl(var(--muted) / .6)}.patient-dropdown-option-id,.patient-dropdown-option-location{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));min-width:4rem;flex-shrink:0;text-align:left}.patient-dropdown-option-location{width:14rem;min-width:14rem}.patient-dropdown-option-name{font-size:.875rem;color:hsl(var(--muted-foreground));flex:1;min-width:0;text-align:left}.patient-dropdown-loading,.patient-dropdown-error,.patient-dropdown-empty{cursor:default;color:hsl(var(--muted-foreground));font-style:italic}.patient-dropdown-loading:hover,.patient-dropdown-error:hover,.patient-dropdown-empty:hover{background-color:transparent}.patient-dropdown-error{color:hsl(var(--destructive));font-style:normal}.helper-text{font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:1.5rem}.helper-text a{color:#3c83f6;text-decoration:underline;cursor:pointer}.empty-state-panel{display:flex;align-items:center;justify-content:center;gap:.75rem;border:2px dashed hsl(var(--border));border-radius:.75rem;padding:1.25rem 1.5rem;text-align:left}.empty-state-panel .empty-state-panel-icon,.empty-state-panel svg{width:3rem;height:3rem;color:hsl(var(--muted-foreground) / .5);flex-shrink:0}.empty-state-panel p{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground));margin:0}.patient-info-card{border:1px solid hsl(var(--border));border-radius:.75rem;padding:1.5rem;background-color:hsl(var(--muted) / .3)}.patient-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.patient-info-row:last-child{margin-bottom:0}.patient-info-item{text-align:left}.patient-info-item label{display:block;font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:.25rem;text-align:left}.patient-info-item span{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.visitor-details-form{max-width:800px;margin:0 auto}.visitor-details-step-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem}.visitor-details-rules-callout{background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:1.5rem}.visitor-details-rules-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.visitor-details-rules-list{margin:0;padding-left:1.25rem;font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5}.visitor-details-rules-list li{margin-bottom:.25rem}.visitor-details-section-label{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem;text-align:left}.optional-hint{font-weight:400;color:hsl(var(--muted-foreground));font-size:.75rem}.form-row{display:grid;gap:1.5rem;margin-bottom:1.5rem}.form-row.two-col{grid-template-columns:repeat(2,1fr)}.form-row.three-col{grid-template-columns:repeat(3,1fr)}.form-field{display:flex;flex-direction:column}.form-field label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;margin-left:.3rem;text-align:left}.form-field label .required{color:#ef4343;margin-left:.25rem}.form-field input,.form-field select{padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.form-field input:focus,.form-field select:focus{outline:none;border-color:#3c83f6;box-shadow:0 0 0 3px #3c83f61a}.form-field input::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-field input::placeholder{color:hsl(var(--muted-foreground))}.form-field input[readonly]{background-color:hsl(var(--muted) / .5);cursor:not-allowed}.id-proof-number-input-wrap{position:relative;display:flex;align-items:center}.id-proof-number-input-wrap input{flex:1;padding-right:2.75rem}.id-proof-number-input-wrap input.id-proof-number-masked{letter-spacing:.05em}.id-proof-number-eye-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.375rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .2s,background .2s}.id-proof-number-eye-btn:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.recurring-visitor-section{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:hsl(var(--muted) / .3);border-radius:.5rem;margin-top:1rem}.recurring-visitor-info h4{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.25rem;text-align:left}.recurring-visitor-info p{font-size:.75rem;color:hsl(var(--muted-foreground))}.toggle-switch{position:relative;width:3rem;height:1.5rem;background-color:hsl(var(--muted));border-radius:1rem;cursor:pointer;transition:background-color .2s ease}.toggle-switch.active{background-color:#3c83f6}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch.active:after{transform:translate(1.5rem)}.id-proof-container{max-width:800px;margin:0 auto}.section-title{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1.5rem;text-align:left}.section-title svg{width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground))}.id-proof-helper{font-size:.875rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.visit-details-container{max-width:800px;margin:0 auto}.visit-duration-error{color:hsl(var(--destructive));font-size:.875rem;margin:-.5rem 0 1rem;padding:.5rem 0}.time-slot-row{display:flex;gap:1.5rem;align-items:flex-end;margin-bottom:1.5rem}.time-slot-row .form-field{flex:1;min-width:0}.time-slot-row .form-field label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;text-align:left}.time-slot-row .time-field,.time-slot-row .duration-field{flex:1;min-width:140px}.from-to-date-row input[type=date]{width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.from-to-date-row input[type=date]:focus{outline:none;border-color:#3c83f6}.from-to-date-row input[type=datetime-local]{width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.from-to-date-row input[type=datetime-local]:focus{outline:none;border-color:#3c83f6}.visit-from-to-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1rem 1.5rem;margin-bottom:1.5rem;align-items:start}.visit-from-to-grid.visit-from-to-same-line{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:flex-end}.visit-from-to-grid.visit-from-to-same-line .visit-from-to-from-group{display:contents}.visit-from-to-grid.visit-from-to-same-line .form-field{flex:1;min-width:0}.visit-from-col{position:relative;grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:1rem;min-width:0}.visit-to-time-col{grid-column:2;grid-row:2}.visit-from-col .form-field{min-width:0}.visit-from-date-wrap{position:relative}.visit-from-date-wrap .visit-from-panel{margin-top:.25rem;left:0;min-width:100%}.visit-from-col .visit-from-panel{margin-top:0}.visit-from-slots-inline{margin-top:.5rem}.visit-from-slots-inline .date-time-slots-label{margin-top:0}.date-time-trigger-readonly{cursor:default;background:hsl(var(--muted) / .2)}.date-time-trigger-readonly:hover{border-color:hsl(var(--border))}.date-time-slot-btn-selected{background:#3c83f626;border-color:#3c83f6;color:#3c83f6}.visit-from-to-grid .form-field{min-width:0}.visit-from-to-grid .form-field label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;text-align:left}.visit-from-to-grid input[type=date]{width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.visit-from-to-grid input[type=date]:focus{outline:none;border-color:#3c83f6}.visit-from-to-grid input[type=date]:disabled{opacity:.7;cursor:not-allowed}.visit-from-to-grid .time-field .date-time-dropdown-trigger{width:100%}.time-picker-field .time-picker-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-picker-field .time-picker-select{padding:.5rem 1.75rem .5rem .75rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .35rem center}.time-picker-field .time-picker-select:focus{outline:none;border-color:#3c83f6}.time-picker-field .time-picker-hour{min-width:4rem;width:4rem}.time-picker-field .time-picker-minute,.time-picker-field .time-picker-ampm{min-width:4.5rem;width:4.5rem}.time-picker-field .time-picker-select:disabled{opacity:.7;cursor:not-allowed}.time-picker-field .time-picker-sep{font-size:1rem;font-weight:600;color:hsl(var(--muted-foreground));line-height:1}.basic-time-picker-wrap{position:relative}.basic-time-picker-input{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.9375rem;font-weight:500;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-height:2.75rem}.basic-time-picker-input:hover:not(.basic-time-picker-input-disabled){border-color:#3c83f680;background:hsl(var(--background))}.basic-time-picker-input:focus-within{outline:none;border-color:#3c83f6;box-shadow:0 0 0 2px #3c83f626}.basic-time-picker-input-disabled{opacity:.7;cursor:not-allowed}.basic-time-picker-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.basic-time-picker-icon{flex-shrink:0;color:#3c83f6;margin-left:.5rem}.basic-time-picker-panel{position:absolute;top:100%;left:0;margin-top:.25rem;min-width:100%;width:-moz-max-content;width:max-content;padding:1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 10px 25px -5px hsl(var(--foreground) / .15);z-index:50}.basic-time-picker-columns{display:flex;gap:.75rem;margin-bottom:1rem;align-items:stretch;justify-content:center}.basic-time-picker-column{display:flex;flex-direction:column;align-items:center;max-height:160px;min-width:3rem;overflow-y:auto;overflow-x:hidden;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--muted) / .15);scrollbar-width:thin;scrollbar-color:hsl(217 91% 75%) hsl(217 91% 60% / .2)}.basic-time-picker-column::-webkit-scrollbar{width:4px}.basic-time-picker-column::-webkit-scrollbar-track{background:#3c83f633;border-radius:3px}.basic-time-picker-column::-webkit-scrollbar-thumb{background:#85b2f9;border-radius:3px}.basic-time-picker-column::-webkit-scrollbar-thumb:hover{background:#5593f7}.basic-time-picker-option{padding:.4rem .875rem;font-size:.875rem;text-align:center;border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;white-space:nowrap;width:100%;min-width:2.75rem;border-radius:.25rem;transition:background .15s ease,color .15s ease}.basic-time-picker-option:hover{background:#3c83f61a;color:#3c83f6}.basic-time-picker-option-selected{background:#3c83f633;color:#2474f5;font-weight:600}.basic-time-picker-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding-top:.75rem;margin-top:.25rem;border-top:1px solid hsl(var(--border))}.basic-time-picker-btn{padding:.5rem 1rem;font-size:.8125rem;font-weight:600;letter-spacing:.02em;border-radius:.5rem;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.basic-time-picker-cancel{background:hsl(var(--muted) / .3);color:hsl(var(--foreground));border-color:hsl(var(--border))}.basic-time-picker-cancel:hover{background:hsl(var(--muted) / .5);border-color:hsl(var(--border))}.basic-time-picker-ok{background:#3c83f6;color:#fff;border-color:#3c83f6}.basic-time-picker-ok:hover{background:#2474f5;filter:none}.time-picker-single .time-picker-single-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.time-picker-single .time-picker-single-select:focus{outline:none;border-color:#3c83f6}.time-picker-single .time-picker-single-select:disabled{opacity:.7;cursor:not-allowed}.date-time-picker-row{display:flex;gap:.75rem;align-items:center}.date-time-picker-row input[type=date]{flex:1;min-width:0;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.date-time-picker-row input[type=date]:focus{outline:none;border-color:#3c83f6}.date-time-picker-row select{flex:1;min-width:7rem;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.date-time-picker-row select:focus{outline:none;border-color:#3c83f6}.date-time-single-field{display:flex;border:1px solid hsl(var(--border));border-radius:.5rem;overflow:hidden;background-color:hsl(var(--background));gap:0}.date-time-single-field:focus-within{outline:none;border-color:#3c83f6;box-shadow:0 0 0 3px #3c83f61a}.date-time-single-field input[type=date]{flex:1;min-width:0;border:none;border-radius:0;border-right:1px solid hsl(var(--border));padding:.75rem .5rem .75rem 1rem}.date-time-single-field input[type=date]:focus{outline:none;box-shadow:none}.date-time-single-field select{flex:0 0 auto;width:5.5rem;min-width:5.5rem;border:none;border-radius:0;padding:.75rem 1.75rem .75rem .5rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center}.date-time-single-field select:focus{outline:none}.date-time-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;cursor:pointer;transition:border-color .2s ease}.date-time-trigger-content{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1}.date-time-trigger-time{font-size:.8125rem}.date-time-dropdown-trigger:hover{border-color:hsl(var(--foreground) / .2)}.date-time-dropdown-trigger .date-time-placeholder{color:hsl(var(--muted-foreground))}.date-time-dropdown-trigger .date-time-chevron{flex-shrink:0;color:hsl(var(--muted-foreground))}.date-time-dropdown-panel{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:1rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 4px 12px hsl(var(--foreground) / .1);z-index:50}.date-time-dropdown-row{margin-bottom:.75rem}.date-time-dropdown-row:last-child{margin-bottom:0}.date-time-dropdown-label{display:block;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.35rem}.date-time-dropdown-panel input[type=date],.date-time-dropdown-panel select{width:100%;padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.date-time-dropdown-panel select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:2rem}.form-field.time-field{position:relative}.date-time-dropdown-trigger-wrap{display:flex;align-items:center;gap:.35rem}.date-time-dropdown-trigger-wrap .date-time-dropdown-trigger{flex:1;min-width:0}.date-time-edit-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transition:color .2s,border-color .2s}.date-time-edit-btn:hover:not(:disabled){color:#3c83f6;border-color:#3c83f6}.date-time-edit-btn:disabled{opacity:.5;cursor:not-allowed}.date-time-trigger-disabled{opacity:.7;cursor:not-allowed;background-color:hsl(var(--muted) / .3)}.date-time-slot-panel{max-height:20rem;overflow-y:auto}.date-time-slots-label{margin-top:.5rem}.date-time-slot-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.35rem;align-items:stretch}.date-time-slot-btn{padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));color:hsl(var(--foreground));font-size:.8125rem;cursor:pointer;transition:background .2s,border-color .2s;text-align:center;white-space:nowrap;min-width:0}.date-time-slot-btn:hover{background:#3c83f61a;border-color:#3c83f6;color:#3c83f6}.date-time-slot-btn:disabled,.date-time-slot-btn-disabled{opacity:.6;cursor:not-allowed;background:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}.date-time-slot-btn:disabled:hover,.date-time-slot-btn-disabled:hover{background:hsl(var(--muted) / .3);border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.date-time-no-slots{font-size:.875rem;color:hsl(var(--muted-foreground));margin:.5rem 0 0}.date-time-readonly{background:hsl(var(--muted) / .4);cursor:default}.additional-visitors-checkbox-row{margin:1.25rem 0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-align:left}.checkbox-label-inline{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:hsl(var(--foreground));cursor:pointer}.checkbox-label-inline input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:hsl(217 91% 60%);cursor:pointer}.repeat-visit-row{margin:1.25rem 0 .75rem;display:flex;align-items:center}.scheduler-section{margin-top:1rem;padding:1.25rem;background:hsl(var(--muted) / .12);border:1px solid hsl(var(--border));border-radius:.5rem}.scheduler-heading{font-size:1rem;font-weight:700;color:#2474f5;margin:0 0 1rem;padding:0}.scheduler-row{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.scheduler-row:last-child{margin-bottom:0}.scheduler-label{flex-shrink:0;min-width:8rem;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));padding-top:.5rem}.scheduler-select{padding:.5rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));min-width:10rem}.scheduler-input-recur{padding:.5rem .75rem;font-size:.875rem;border:1px solid hsl(var(--border));border-radius:.5rem;background:hsl(var(--background));color:hsl(var(--foreground));width:4rem}.scheduler-checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.scheduler-checkbox-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:hsl(var(--foreground));cursor:pointer}.scheduler-checkbox-item input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(217 91% 60%);cursor:pointer}.duration-field-wrapper{position:relative}.duration-field-wrapper input{background-color:hsl(var(--muted) / .3);cursor:not-allowed;width:100%;padding:.75rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;color:hsl(var(--foreground))}.duration-helper{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.section-divider{height:1px;background-color:hsl(var(--border));margin:2rem 0}.additional-visitors-section{margin-top:1.5rem}.additional-visitors-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.additional-visitors-header .section-title{margin-bottom:0}.add-visitor-btn-header{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:#3c83f6;color:#fff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.add-visitor-btn-header:hover{background-color:#0b64f4;border-color:#0b64f4}.additional-visitors-table-wrapper{max-height:40vh}.additional-visitors-table-wrapper .master-table{width:100%;table-layout:fixed}.additional-visitors-empty-cell{text-align:center;vertical-align:middle;color:hsl(var(--muted-foreground));font-size:.875rem;padding:2rem 1.5rem;width:100%}.additional-visitors-photo-cell{width:3.5rem;vertical-align:middle}.additional-visitors-photo,.additional-visitors-photo-placeholder{width:2.5rem;height:2.5rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid hsl(var(--border));display:block}.additional-visitors-photo-placeholder{background-color:hsl(var(--muted));display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground) / .7)}.additional-visitor-modal{background-color:hsl(var(--card));border-radius:1rem;box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25);width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.additional-visitor-modal-body{padding:1.25rem 1.5rem;overflow-y:auto;overflow-x:hidden;flex:1;min-width:0}.additional-visitor-modal-body .form-row.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.additional-visitor-modal-body .form-field{min-width:0}.additional-visitor-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.form-field.form-field-error input,.form-field.form-field-error select,.form-field.form-field-error .id-proof-number-input-wrap input{border-color:#dc2626!important;outline-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.form-field.form-field-error input:focus,.form-field.form-field-error select:focus{border-color:#dc2626;outline-color:#dc2626;box-shadow:0 0 0 2px #dc262640}.patient-search-dropdown-wrapper.form-field-error .search-input-wrapper,.patient-search-dropdown-wrapper.form-field-error input{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626}.additional-visitor-modal .form-field.modal-field-error input,.additional-visitor-modal .form-field.modal-field-error select,.additional-visitor-modal .form-field.modal-field-error .id-proof-number-input-wrap input{border-color:#dc2626;outline-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.reset-confirm-modal{background-color:hsl(var(--card));border-radius:1rem;box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25);width:100%;max-width:400px;overflow:hidden}.reset-confirm-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.reset-confirm-header h3{margin:0;font-size:1.125rem;font-weight:600}.reset-confirm-icon{flex-shrink:0;color:#f59f0a}.reset-confirm-body{padding:1.25rem 1.5rem}.reset-confirm-body p{margin:0;font-size:.9375rem;color:hsl(var(--muted-foreground));line-height:1.5}.reset-confirm-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.reset-confirm-erase-btn{background-color:#ef4343}.reset-confirm-erase-btn:hover{background-color:#eb1414}.additional-visitor-card-block{padding:1.5rem;margin-bottom:1.5rem;background-color:hsl(var(--muted) / .2);border:1px solid hsl(var(--border));border-radius:.75rem}.additional-visitor-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.additional-visitor-card-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.remove-visitor-btn-block{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#ef43431a;color:#ef4343;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.remove-visitor-btn-block:hover{background-color:#ef434333}.take-photo-container-block{min-height:2.75rem;align-items:flex-start}.take-photo-container-block .photo-preview-inline{max-width:160px}.take-photo-container-block .photo-preview-inline img{width:120px;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:.5rem}.additional-visitor-row-inline{display:flex;gap:1rem;padding:1rem;margin-bottom:1rem;background-color:hsl(var(--muted) / .2);border:1px solid hsl(var(--border));border-radius:.75rem;align-items:flex-end}.additional-visitor-row-inline .visitor-name-field{flex:2;min-width:180px}.additional-visitor-row-inline .relationship-field{flex:1.5;min-width:150px}.additional-visitor-row-inline .take-photo-field{flex:1.5;min-width:140px}.take-photo-container{display:flex;align-items:center;height:calc(2.8125rem + 2px)}.take-photo-btn-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background-color:#3c83f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.take-photo-btn-inline:hover{background-color:#0b64f4}.photo-preview-inline{display:flex;align-items:center;gap:.5rem;width:100%}.photo-preview-inline img{width:2.5rem;height:2.5rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid hsl(var(--border))}.photo-preview-actions{display:flex;gap:.25rem}.retake-btn-inline{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.retake-btn-inline:hover{background-color:hsl(var(--muted) / .8)}.remove-photo-btn-inline{display:flex;align-items:center;justify-content:center;padding:.375rem;background-color:#ef43431a;color:#ef4343;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s ease}.remove-photo-btn-inline:hover{background-color:#ef434333}.remove-visitor-btn-inline{display:flex;align-items:center;justify-content:center;padding:.75rem;background-color:#ef43431a;color:#ef4343;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease;align-self:flex-end;flex-shrink:0}.remove-visitor-btn-inline:hover{background-color:#ef434333}.additional-visitor-card{display:flex;gap:1rem;padding:1rem;margin-bottom:1rem;background-color:hsl(var(--muted) / .2);border:1px solid hsl(var(--border));border-radius:.75rem;align-items:flex-start}.additional-visitor-photo{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.visitor-photo-placeholder{width:4rem;height:4rem;border-radius:50%;background-color:hsl(var(--muted));display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid hsl(var(--border))}.visitor-photo-placeholder svg{width:2rem;height:2rem;color:hsl(var(--muted-foreground) / .5)}.visitor-photo-placeholder img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.visitor-photo-actions{display:flex;gap:.25rem}.capture-visitor-photo-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background-color:#3c83f6;color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.capture-visitor-photo-btn:hover{background-color:#0b64f4}.capture-visitor-photo-btn svg{width:.875rem;height:.875rem}.remove-visitor-photo-btn{display:flex;align-items:center;justify-content:center;padding:.375rem;background-color:#ef43431a;color:#ef4343;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s ease}.remove-visitor-photo-btn:hover{background-color:#ef434333}.remove-visitor-photo-btn svg{width:.875rem;height:.875rem}.additional-visitor-fields{flex:1;display:flex;flex-direction:column;gap:.75rem}.additional-visitor-card .remove-visitor-btn{align-self:flex-start;margin-top:.5rem}.additional-visitor-row{display:flex;gap:1rem;margin-bottom:1rem;align-items:flex-end}.additional-visitor-row .form-field{flex:1}.remove-visitor-btn{padding:.75rem;background-color:#ef43431a;color:#ef4343;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease}.remove-visitor-btn:hover{background-color:#ef434333}.add-visitor-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:transparent;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.add-visitor-btn:hover{border-color:#3c83f6;color:#3c83f6}.add-visitor-btn svg{width:1rem;height:1rem}.visit-booking-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-top:1px solid hsl(var(--border));background-color:hsl(var(--card))}.footer-left{display:flex;gap:.75rem}.footer-center{font-size:.875rem;color:hsl(var(--muted-foreground))}.footer-right{display:flex;gap:.75rem}.btn-outline{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:transparent;color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-outline:hover{background-color:hsl(var(--muted) / .5)}.btn-outline svg{width:1rem;height:1rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background-color:#3c83f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background-color:#0b64f4}.btn-primary svg{width:1rem;height:1rem}@media (max-width: 768px){.visit-booking-content{padding:1.5rem}.form-row.two-col,.form-row.three-col{grid-template-columns:1fr}.visitor-type-cards{flex-direction:column;align-items:center}.visitor-type-card{width:160px;min-height:118px}.visit-booking-stepper{overflow-x:auto;padding:1rem}.patient-info-row{grid-template-columns:1fr}.visit-booking-footer{flex-wrap:wrap;gap:1rem}.footer-center{order:3;width:100%;text-align:center}.time-slot-row{flex-direction:column;align-items:stretch}.time-slot-row .time-field,.time-slot-row .duration-field{min-width:100%}.visit-from-to-grid{grid-template-columns:1fr}.visit-from-to-grid.visit-from-to-same-line{flex-direction:column}.visit-from-col{grid-row:auto}.additional-visitor-row-inline{flex-direction:column;align-items:stretch}.additional-visitor-row-inline .visitor-name-field,.additional-visitor-row-inline .relationship-field,.additional-visitor-row-inline .take-photo-field{min-width:100%}.additional-visitor-row-inline .remove-visitor-btn-inline{align-self:flex-end}.take-photo-container{height:auto}.additional-visitor-card{flex-direction:column;align-items:stretch}.additional-visitor-photo{flex-direction:row;justify-content:flex-start;gap:1rem}.additional-visitor-card .remove-visitor-btn{align-self:flex-end}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.restriction-form-modal{background:hsl(var(--card));border-radius:.5rem;width:60%;min-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card))}.modal-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;cursor:pointer;border-radius:.375rem;color:hsl(var(--muted-foreground));transition:background-color .2s ease,color .2s ease}.modal-close-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.modal-close-btn svg{width:1.25rem;height:1.25rem}.modal-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.form-body{flex:1;overflow-y:auto;padding:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem}.form-column{display:flex;flex-direction:column;gap:1rem}.form-group{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;text-align:left}.required{color:hsl(var(--destructive))}.form-input{width:100%;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.form-input.error{border-color:hsl(var(--destructive))}.form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.form-input::placeholder{color:hsl(var(--muted-foreground))}.form-input.read-only{background:hsl(var(--muted));cursor:not-allowed;opacity:.7}.form-textarea{resize:vertical;min-height:100px}.error-message{display:block;font-size:.75rem;color:hsl(var(--destructive));margin-top:.25rem}.patient-search-wrapper{position:relative;width:100%}.patient-search-input-wrapper{display:flex;align-items:center;border:1px solid hsl(var(--border));border-radius:.375rem;background:hsl(var(--background));padding:0 .75rem;gap:.5rem;transition:border-color .2s ease,box-shadow .2s ease}.patient-search-input-wrapper:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.patient-search-input-wrapper.error{border-color:hsl(var(--destructive))}.patient-search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.patient-search-input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;padding:.625rem 0;color:hsl(var(--foreground))}.patient-search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.patient-search-input::placeholder{color:hsl(var(--muted-foreground))}.patient-dropdown-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:transform .2s ease;flex-shrink:0}.patient-dropdown-icon.open{transform:rotate(180deg)}.patient-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;box-shadow:0 4px 12px #00000026;z-index:1001;max-height:200px;overflow-y:auto}.patient-dropdown-option{padding:.625rem .75rem;cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));transition:background-color .15s ease}.patient-dropdown-option:hover{background:hsl(var(--muted))}.patient-dropdown-option.selected{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.status-toggle-wrapper{display:flex;align-items:center;gap:.75rem}.status-switch{flex-shrink:0}.status-label{font-size:.875rem;color:hsl(var(--foreground))}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.modal-btn-reset{min-width:100px}.modal-btn-submit{min-width:100px;background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important}.modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 768px){.restriction-form-modal{width:95%;min-width:unset;max-width:100%;margin:.5rem}.form-grid{grid-template-columns:1fr;gap:0}.form-column{gap:1rem}.form-body{padding:1rem}.modal-header{padding:.875rem 1rem}.modal-footer{padding:.875rem 1rem;flex-direction:column-reverse}.modal-footer button{width:100%}}.dnd-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.dnd-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.dnd-stat-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.dnd-stat-header{display:flex;justify-content:space-between;align-items:flex-start}.dnd-stat-title{font-size:.875rem;color:hsl(var(--primary));font-weight:500;line-height:1.3}.dnd-stat-info-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.dnd-stat-value{font-size:2rem;font-weight:600;color:hsl(var(--foreground))}.dnd-action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.dnd-search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem;flex:1;max-width:100%}.dnd-search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.dnd-search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:100%;color:hsl(var(--foreground))}.dnd-search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.dnd-search-input::placeholder{color:hsl(var(--muted-foreground))}.dnd-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.patient-name-cell{color:hsl(var(--primary));font-weight:500}.master-table .view-btn{background:transparent;color:hsl(var(--primary))}.master-table .view-btn:hover{background:transparent;color:#204cc5}@media (max-width: 1200px){.dnd-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dnd-page{padding:1rem}.dnd-stats-grid{grid-template-columns:1fr}.dnd-action-bar{flex-direction:column;align-items:stretch}.dnd-search-box{max-width:100%}}.visit-approval-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.summary-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem 1.25rem}.summary-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.summary-card-title{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:400}.summary-card-icon{color:hsl(var(--muted-foreground));opacity:.6}.summary-card-value{font-size:1.75rem;font-weight:600;color:hsl(var(--foreground))}.visit-approval-page .search-section{display:flex;justify-content:flex-start;align-items:center;gap:1rem}.visit-approval-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.625rem;min-width:350px}.visit-approval-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.visit-approval-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:100%;color:hsl(var(--foreground))}.visit-approval-page .search-input:focus{outline:none;box-shadow:none}.visit-approval-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.visit-approval-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.table-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;overflow:hidden}.visitor-name-cell{color:#155dfc;font-weight:500}.status-badge{display:inline-flex;align-items:center;padding:.25rem .875rem;border-radius:.25rem;border:none;font-size:.75rem;font-weight:500}.status-badge-pending{background-color:#ffc105;color:#333}.status-badge-approved{background-color:#16a24926;color:#16a249}.status-badge-rejected{background-color:#ef4343;color:#fff}.action-buttons{display:flex;gap:.375rem;align-items:center}.action-btn{display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border:none;border-radius:.25rem;cursor:pointer;transition:opacity .2s ease;background:transparent}.action-btn:hover{opacity:.8}.view-btn{color:hsl(var(--muted-foreground));background:transparent}.approve-btn{background-color:#16a249;color:#fff}.reject-btn{background-color:#ef4343;color:#fff}.table-empty{text-align:center;padding:3rem 1rem;color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.visit-approval-page{padding:1rem}.summary-cards{grid-template-columns:1fr}.visit-approval-page .search-box{min-width:100%}}.blacklist-modal-content{width:60vw;max-width:800px;min-width:500px;max-height:90vh;overflow-y:auto;padding:2rem}.blacklist-modal-header{margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.blacklist-modal-title{font-size:1.375rem;font-weight:600;color:hsl(var(--primary))}.blacklist-modal-form{display:flex;flex-direction:column;gap:1.5rem}.blacklist-modal-form .modal-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.blacklist-modal-form .modal-form-field{display:flex;flex-direction:column;gap:.5rem}.blacklist-modal-form .modal-form-field-full{grid-column:1 / -1}.blacklist-modal-form .modal-form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.125rem}.blacklist-modal-form .required{color:hsl(var(--destructive));margin-left:.125rem}.blacklist-modal-form .modal-form-input,.blacklist-modal-form .modal-form-select,.blacklist-modal-form .modal-form-textarea{width:100%;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;outline:none;transition:all .2s ease}.blacklist-modal-form .modal-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.blacklist-modal-form .modal-form-input::-moz-placeholder,.blacklist-modal-form .modal-form-textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.blacklist-modal-form .modal-form-input::placeholder,.blacklist-modal-form .modal-form-textarea::placeholder{color:hsl(var(--muted-foreground))}.blacklist-modal-form .modal-form-input:focus,.blacklist-modal-form .modal-form-select:focus,.blacklist-modal-form .modal-form-textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.blacklist-modal-form .modal-date-picker{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;padding:.625rem .75rem;font-size:.875rem;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.375rem;transition:all .2s ease}.blacklist-modal-form .modal-date-picker:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.blacklist-modal-form .modal-date-placeholder span{color:hsl(var(--muted-foreground))}.blacklist-modal-form .modal-date-icon{width:1.125rem;height:1.125rem;color:hsl(var(--muted-foreground))}.status-toggle-wrapper{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.status-toggle-label{font-size:.875rem;color:hsl(var(--foreground));font-weight:500}.blacklist-modal-form .modal-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.blacklist-modal-form .modal-btn-reset{background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.blacklist-modal-form .modal-btn-reset:hover{opacity:.9}.blacklist-modal-form .modal-btn-submit{background-color:hsl(var(--primary-btn))!important;color:hsl(var(--primary-foreground))!important;padding:.625rem 1.5rem!important;font-weight:500!important;border-radius:.375rem!important}.blacklist-modal-form .modal-btn-submit:hover{background-color:hsl(var(--primary-btn) / .9)!important}@media (max-width: 768px){.blacklist-modal-content{padding:1.5rem;width:95vw;min-width:unset;max-width:100%}.blacklist-modal-form .modal-form-row{grid-template-columns:1fr;gap:1.25rem}.blacklist-modal-header{margin-bottom:1.25rem;padding-bottom:.75rem}.blacklist-modal-title{font-size:1.25rem}.blacklist-modal-form .modal-form-actions{flex-direction:column-reverse;gap:.75rem}.blacklist-modal-form .modal-btn-reset,.blacklist-modal-form .modal-btn-submit{width:100%;justify-content:center}}.blacklist-bulk-upload-content{max-width:600px;max-height:90vh;overflow-y:auto;background:hsl(var(--card))}.blacklist-bulk-upload-content.blacklist-bulk-preview-mode{max-width:900px;width:95vw}.blacklist-bulk-upload-header{padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.blacklist-bulk-upload-title{font-size:1.25rem;font-weight:600;color:hsl(var(--primary))}.blacklist-bulk-upload-body{padding:1.5rem 0;display:flex;flex-direction:column;gap:1.5rem}.blacklist-bulk-upload-body .bulk-upload-step{display:flex;gap:1rem;align-items:flex-start}.blacklist-bulk-upload-body .step-number{width:2rem;height:2rem;border-radius:50%;background:hsl(var(--primary-btn));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.blacklist-bulk-upload-body .step-content{flex:1}.blacklist-bulk-upload-body .step-content h4{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.25rem}.blacklist-bulk-upload-body .step-content p{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:.75rem}.blacklist-bulk-upload-body .template-download-btn{display:flex;align-items:center;gap:.5rem}.blacklist-bulk-upload-body .template-download-btn .btn-icon{width:1rem;height:1rem}.blacklist-bulk-upload-body .file-upload-area{border:2px dashed hsl(var(--border));border-radius:.5rem;padding:1.5rem;text-align:center;transition:all .2s ease}.blacklist-bulk-upload-body .file-upload-area:hover{border-color:hsl(var(--primary));background:hsl(var(--muted) / .3)}.blacklist-bulk-upload-body .file-input-hidden{display:none}.blacklist-bulk-upload-body .file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;color:hsl(var(--muted-foreground))}.blacklist-bulk-upload-body .file-upload-label .upload-icon{width:2rem;height:2rem;color:hsl(var(--primary-btn))}.blacklist-bulk-upload-body .file-upload-label span{font-size:.875rem}.blacklist-bulk-upload-body .file-upload-label .file-types{font-size:.75rem;color:hsl(var(--muted-foreground))}.blacklist-bulk-upload-body .bulk-upload-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--accent));border-radius:.5rem;color:hsl(var(--accent-foreground));font-size:.875rem}.blacklist-bulk-upload-body .bulk-upload-info .info-icon{width:1.25rem;height:1.25rem}.blacklist-bulk-preview-body{padding:1rem 0}.blacklist-bulk-preview-table-wrapper{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:.5rem}.blacklist-bulk-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.blacklist-bulk-preview-table th,.blacklist-bulk-preview-table td{padding:.5rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.blacklist-bulk-preview-table th{font-weight:600;white-space:nowrap;background:hsl(var(--muted));color:hsl(var(--foreground))}.blacklist-bulk-preview-table th:first-child{border-top-left-radius:.375rem}.blacklist-bulk-preview-table th:last-child{border-top-right-radius:.375rem}.blacklist-bulk-preview-table td{color:hsl(var(--foreground));background:hsl(var(--card))}.blacklist-bulk-preview-table tbody tr:hover td{background:hsl(var(--muted) / .5)}.blacklist-bulk-preview-table .preview-edit-input{width:100%;min-width:80px;padding:.375rem .5rem;border:1px solid transparent;border-radius:.25rem;background:transparent;font-size:.8125rem;color:hsl(var(--foreground));transition:all .2s ease}.blacklist-bulk-preview-table .preview-edit-input:focus{outline:none;border-color:hsl(var(--primary));background:hsl(var(--background))}.blacklist-bulk-preview-table .preview-edit-input:hover{background:hsl(var(--muted) / .5)}.blacklist-bulk-upload-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.blacklist-bulk-upload-actions .preview-btn{background-color:hsl(var(--primary-btn))!important}.blacklist-bulk-upload-actions .preview-btn:hover{opacity:.9}.blacklist-bulk-upload-actions .preview-btn:disabled{opacity:.5;cursor:not-allowed}.blacklist-bulk-upload-actions .reset-btn{background-color:hsl(var(--destructive))!important;color:hsl(var(--destructive-foreground))!important}.blacklist-bulk-upload-actions .submit-bulk-btn{background-color:hsl(var(--primary-btn))!important}.blacklist-bulk-upload-actions .submit-bulk-btn:hover{opacity:.9}.blacklist-bulk-upload-actions .submit-bulk-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.blacklist-bulk-upload-content.blacklist-bulk-preview-mode{max-width:100%;width:100%}.blacklist-bulk-preview-table .preview-edit-input{min-width:60px;padding:.25rem .375rem;font-size:.75rem}.blacklist-bulk-preview-table th,.blacklist-bulk-preview-table td{padding:.375rem;font-size:.75rem}}.blacklist-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.blacklist-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.blacklist-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary))}.blacklist-view-tabs{display:flex;gap:0;background:hsl(var(--muted));border-radius:.375rem;padding:2px}.blacklist-tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:.25rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .2s,color .2s}.blacklist-tab:hover{color:hsl(var(--foreground))}.blacklist-tab.active{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:0 1px 2px #0000000d}.search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:150px;color:hsl(var(--foreground))}.blacklist-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.visitor-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:hsl(var(--muted));display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid hsl(var(--border))}.visitor-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder-icon{width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground))}.blacklist-page .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.blacklist-page .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease;background:transparent}.blacklist-page .action-btn svg{width:1rem;height:1rem}.blacklist-page .edit-btn{color:hsl(var(--primary))}.blacklist-page .edit-btn:hover{color:#204cc5}.blacklist-page .delete-btn{color:hsl(var(--destructive))}.blacklist-page .delete-btn:hover{color:#eb1414}@media (max-width: 768px){.blacklist-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}}.blacklist-view-toggle{display:flex;gap:.25rem;margin-bottom:1rem;padding:.25rem;background:hsl(var(--muted));border-radius:.5rem;width:-moz-fit-content;width:fit-content}.blacklist-toggle-btn{padding:.5rem 1rem;border:none;background:transparent;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.blacklist-toggle-btn:hover{color:hsl(var(--foreground))}.blacklist-toggle-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.blacklist-loading,.blacklist-error{display:flex;align-items:center;justify-content:center;min-height:200px;color:hsl(var(--muted-foreground));font-size:.875rem}.blacklist-error p{margin:0;text-align:center}.all-visitor-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.all-visitor-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.all-visitor-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-completed{background:#16a24926;color:#16a249}.status-in-progress{background:#e7b00826;color:#ac8306}.flag-badge{font-size:.8125rem;color:hsl(var(--muted-foreground))}.flag-badge.flag-yes{color:#ef4343;font-weight:500}.card-issuance-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.card-issuance-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-issuance-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.card-issuance-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.card-issuance-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.card-issuance-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.card-issuance-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.card-issuance-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.card-issuance-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.card-issuance-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.card-issuance-report-page .download-btn:hover{color:hsl(var(--primary))}.card-issuance-report-page .download-btn svg{width:1.25rem;height:1.25rem}.card-issuance-report-page .filter-collapsible{margin-bottom:1rem}.card-issuance-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.card-issuance-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.card-issuance-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.card-issuance-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.card-issuance-report-page .chevron-icon.rotated{transform:rotate(90deg)}.card-issuance-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-top:.5rem}.card-issuance-report-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.card-issuance-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.card-issuance-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.card-issuance-report-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.card-issuance-report-page .filter-input:focus{border-color:hsl(var(--primary))}.card-issuance-report-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.card-issuance-report-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.card-issuance-report-page .filter-select{height:2.5rem}.card-issuance-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.card-issuance-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.card-issuance-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.card-issuance-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.card-issuance-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.card-issuance-report-page .status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.card-issuance-report-page .status-active{background:#16a24926;color:#16a249}.card-issuance-report-page .status-expired{background:#ef434326;color:#ef4343}@media (max-width: 1024px){.card-issuance-report-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.card-issuance-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.card-issuance-report-page .header-actions{width:100%;flex-wrap:wrap}.card-issuance-report-page .search-box{flex:1;min-width:150px}.card-issuance-report-page .search-input{width:100%}.card-issuance-report-page .filter-grid{grid-template-columns:1fr}.card-issuance-report-page .filter-actions{flex-direction:column}.card-issuance-report-page .filter-actions button{width:100%}}.reception-workload-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.header-actions{display:flex;align-items:center;gap:.75rem}.search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.search-input::placeholder{color:hsl(var(--muted-foreground))}.download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.download-btn:hover{color:hsl(var(--primary))}.download-btn svg{width:1.25rem;height:1.25rem}.filter-collapsible{margin-bottom:1rem}.filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.chevron-icon.rotated{transform:rotate(90deg)}.filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-top:.5rem}.filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.filter-field{display:flex;flex-direction:column;gap:.375rem}.filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.filter-input:focus{border-color:hsl(var(--primary))}.filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.filter-input::placeholder{color:hsl(var(--muted-foreground))}.filter-select{height:2.5rem}.date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.reception-workload-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.reception-workload-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.report-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:150px}.search-input{width:100%}.filter-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-actions button{width:100%}}.visitor-tracking-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.visitor-tracking-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.visitor-tracking-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.visitor-tracking-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.visitor-tracking-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.visitor-tracking-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.visitor-tracking-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.visitor-tracking-report-page .download-btn:hover{color:hsl(var(--primary))}.visitor-tracking-report-page .download-btn svg{width:1.25rem;height:1.25rem}.visitor-tracking-report-page .filter-collapsible{margin-bottom:1rem}.visitor-tracking-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.visitor-tracking-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.visitor-tracking-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.visitor-tracking-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.visitor-tracking-report-page .chevron-icon.rotated{transform:rotate(90deg)}.visitor-tracking-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-top:.5rem}.visitor-tracking-report-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.visitor-tracking-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.visitor-tracking-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.visitor-tracking-report-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.visitor-tracking-report-page .filter-input:focus{border-color:hsl(var(--primary))}.visitor-tracking-report-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .filter-select{height:2.5rem}.visitor-tracking-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.visitor-tracking-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.visitor-tracking-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.visitor-tracking-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.visitor-tracking-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.visitor-tracking-report-page .status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.visitor-tracking-report-page .status-inside{background:#2463eb26;color:#2463eb}.visitor-tracking-report-page .status-exited{background:#6b728026;color:#6b7280}.visitor-tracking-report-page .overstay-text{color:#ef4343;font-weight:500}.visitor-tracking-report-page .normal-duration{color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.visitor-tracking-report-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.visitor-tracking-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.visitor-tracking-report-page .header-actions{width:100%;flex-wrap:wrap}.visitor-tracking-report-page .search-box{flex:1;min-width:150px}.visitor-tracking-report-page .search-input{width:100%}.visitor-tracking-report-page .filter-grid{grid-template-columns:1fr}.visitor-tracking-report-page .filter-actions{flex-direction:column}.visitor-tracking-report-page .filter-actions button{width:100%}}.visitor-reports-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.visitor-reports-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.visitor-reports-page .table-header{position:sticky;top:0;z-index:10}.visitor-reports-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .visitor-reports-page .table-head{background:#1b294b;color:#f8fafc}.visitor-reports-page .table-cell{text-align:left}.visitor-reports-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.visitor-reports-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.visitor-reports-page .header-actions{display:flex;align-items:center;gap:.75rem}.visitor-reports-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.visitor-reports-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.visitor-reports-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.visitor-reports-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.visitor-reports-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.visitor-reports-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.visitor-reports-page .download-btn:hover{color:hsl(var(--primary))}.visitor-reports-page .download-btn svg{width:1.25rem;height:1.25rem}.visitor-reports-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.visitor-reports-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.visitor-reports-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.visitor-reports-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.visitor-reports-page .chevron-icon.rotated{transform:rotate(90deg)}.visitor-reports-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.visitor-reports-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.visitor-reports-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.visitor-reports-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.visitor-reports-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.visitor-reports-page .filter-input:focus{border-color:hsl(var(--primary))}.visitor-reports-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.visitor-reports-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.visitor-reports-page .filter-select{height:2.5rem}.visitor-reports-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem;display:flex;align-items:center}.visitor-reports-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.visitor-reports-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.visitor-reports-page .overstay-count{color:#ef4343;font-weight:500}.visitor-reports-page .flag-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.visitor-reports-page .flag-yes{background:#16a24926;color:#16a249}.visitor-reports-page .flag-no{background:#6b728026;color:#6b7280}@media (max-width: 1024px){.visitor-reports-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.visitor-reports-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.visitor-reports-page .header-actions{width:100%;flex-wrap:wrap}.visitor-reports-page .search-box{flex:1;min-width:150px}.visitor-reports-page .search-input{width:100%}.visitor-reports-page .filter-grid{grid-template-columns:1fr}.visitor-reports-page .filter-actions{flex-direction:column}.visitor-reports-page .filter-actions button{width:100%}}.group-reports-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.group-reports-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.group-reports-page .table-header{position:sticky;top:0;z-index:10}.group-reports-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .group-reports-page .table-head{background:#1b294b;color:#f8fafc}.group-reports-page .table-cell{text-align:left}.group-reports-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.group-reports-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.group-reports-page .header-actions{display:flex;align-items:center;gap:.75rem}.group-reports-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.group-reports-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.group-reports-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.group-reports-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.group-reports-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.group-reports-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.group-reports-page .download-btn:hover{color:hsl(var(--primary))}.group-reports-page .download-btn svg{width:1.25rem;height:1.25rem}.group-reports-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.group-reports-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.group-reports-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.group-reports-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.group-reports-page .chevron-icon.rotated{transform:rotate(90deg)}.group-reports-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.group-reports-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.group-reports-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.group-reports-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.group-reports-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.group-reports-page .filter-input:focus{border-color:hsl(var(--primary))}.group-reports-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.group-reports-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.group-reports-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem;display:flex;align-items:center}.group-reports-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.group-reports-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}@media (max-width: 1024px){.group-reports-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.group-reports-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.group-reports-page .header-actions{width:100%;flex-wrap:wrap}.group-reports-page .search-box{flex:1;min-width:150px}.group-reports-page .search-input{width:100%}.group-reports-page .filter-grid{grid-template-columns:1fr}.group-reports-page .filter-actions{flex-direction:column}.group-reports-page .filter-actions button{width:100%}}.blacklist-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.blacklist-report-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.blacklist-report-page .table-header{position:sticky;top:0;z-index:10}.blacklist-report-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .blacklist-report-page .table-head{background:#1b294b;color:#f8fafc}.blacklist-report-page .table-cell{text-align:left}.blacklist-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.blacklist-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.blacklist-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.blacklist-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.blacklist-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.blacklist-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.blacklist-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.blacklist-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.blacklist-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.blacklist-report-page .download-btn:hover{color:hsl(var(--primary))}.blacklist-report-page .download-btn svg{width:1.25rem;height:1.25rem}.blacklist-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.blacklist-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.blacklist-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.blacklist-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.blacklist-report-page .chevron-icon.rotated{transform:rotate(90deg)}.blacklist-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.blacklist-report-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.blacklist-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.blacklist-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.blacklist-report-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.blacklist-report-page .filter-input:focus{border-color:hsl(var(--primary))}.blacklist-report-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.blacklist-report-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.blacklist-report-page .filter-select{height:2.5rem}.blacklist-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem;display:flex;align-items:center}.blacklist-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.blacklist-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.blacklist-report-page .result-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.blacklist-report-page .result-approved{background:#16a24926;color:#16a249}.blacklist-report-page .result-blocked{background:#ef434326;color:#ef4343}.blacklist-report-page .approved-by-name{color:#16a249}@media (max-width: 1024px){.blacklist-report-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.blacklist-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.blacklist-report-page .header-actions{width:100%;flex-wrap:wrap}.blacklist-report-page .search-box{flex:1;min-width:150px}.blacklist-report-page .search-input{width:100%}.blacklist-report-page .filter-grid{grid-template-columns:1fr}.blacklist-report-page .filter-actions{flex-direction:column}.blacklist-report-page .filter-actions button{width:100%}}.frequent-visitors-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.frequent-visitors-report-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.frequent-visitors-report-page .table-header{position:sticky;top:0;z-index:10}.frequent-visitors-report-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .frequent-visitors-report-page .table-head{background:#1b294b;color:#f8fafc}.frequent-visitors-report-page .table-cell{text-align:left}.frequent-visitors-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.frequent-visitors-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.frequent-visitors-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.frequent-visitors-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.frequent-visitors-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.frequent-visitors-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.frequent-visitors-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.frequent-visitors-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.frequent-visitors-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.frequent-visitors-report-page .download-btn:hover{color:hsl(var(--primary))}.frequent-visitors-report-page .download-btn svg{width:1.25rem;height:1.25rem}.frequent-visitors-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.frequent-visitors-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.frequent-visitors-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.frequent-visitors-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.frequent-visitors-report-page .chevron-icon.rotated{transform:rotate(90deg)}.frequent-visitors-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.frequent-visitors-report-page .filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.frequent-visitors-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.frequent-visitors-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.frequent-visitors-report-page .filter-input{height:2.5rem;padding:0 .75rem;border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.875rem;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease}.frequent-visitors-report-page .filter-input:focus{border-color:hsl(var(--primary))}.frequent-visitors-report-page .filter-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.frequent-visitors-report-page .filter-input::placeholder{color:hsl(var(--muted-foreground))}.frequent-visitors-report-page .filter-select{height:2.5rem}.frequent-visitors-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.frequent-visitors-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.frequent-visitors-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.frequent-visitors-report-page .status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.frequent-visitors-report-page .status-active{background:#16a24926;color:#16a249}.frequent-visitors-report-page .status-inactive{background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.frequent-visitors-report-page .filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.frequent-visitors-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.frequent-visitors-report-page .header-actions{width:100%;flex-wrap:wrap}.frequent-visitors-report-page .search-box{flex:1;min-width:150px}.frequent-visitors-report-page .search-input{width:100%}.frequent-visitors-report-page .filter-grid{grid-template-columns:1fr}.frequent-visitors-report-page .filter-actions{flex-direction:column}.frequent-visitors-report-page .filter-actions button{width:100%}}.month-wise-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.month-wise-report-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.month-wise-report-page .table-header{position:sticky;top:0;z-index:10}.month-wise-report-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .month-wise-report-page .table-head{background:#1b294b;color:#f8fafc}.month-wise-report-page .table-cell{text-align:left}.month-wise-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.month-wise-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.month-wise-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.month-wise-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.month-wise-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.month-wise-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.month-wise-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.month-wise-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.month-wise-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.month-wise-report-page .download-btn:hover{color:hsl(var(--primary))}.month-wise-report-page .download-btn svg{width:1.25rem;height:1.25rem}.month-wise-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.month-wise-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.month-wise-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.month-wise-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.month-wise-report-page .chevron-icon.rotated{transform:rotate(90deg)}.month-wise-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.month-wise-report-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.month-wise-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.month-wise-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.month-wise-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.month-wise-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.month-wise-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.month-wise-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.month-wise-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:1.75rem;padding:0 .5rem;border-radius:9999px;font-size:.8125rem;font-weight:500}.blacklist-low{background:#f9741526;color:#e06106}.blacklist-high{background:#ef434326;color:#eb1414}@media (max-width: 768px){.month-wise-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.month-wise-report-page .header-actions{width:100%;flex-wrap:wrap}.month-wise-report-page .search-box{flex:1;min-width:150px}.month-wise-report-page .search-input{width:100%}.month-wise-report-page .filter-grid{grid-template-columns:1fr}.month-wise-report-page .filter-actions{flex-direction:column}.month-wise-report-page .filter-actions button{width:100%}}.master-table-wrapper{max-height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.master-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.master-table-wrapper::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:4px}.master-table-wrapper::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:4px}.master-table-wrapper::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.master-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.master-table th,.master-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.master-table th{font-weight:600;color:hsl(var(--foreground));background:#edeff2;position:sticky;top:0;z-index:10}:root.dark .master-table th{background:#1b294b;color:#f8fafc}:root.dark .master-table .sortable-header:hover{background:#22345e}.master-table th:first-child{border-top-left-radius:0}.master-table th:last-child{border-top-right-radius:0}.master-table td{color:hsl(var(--foreground));background:hsl(var(--card))}.master-table tbody tr:hover td{background:hsl(var(--muted) / .5)}.master-table .sortable-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:background-color .2s ease}.master-table .sortable-header.header-wrap{white-space:normal;word-break:break-word;min-width:0}.master-table .sortable-header:hover{background:#e2e4e9}.master-table .sort-icon{width:.875rem;height:.875rem;display:inline-block;vertical-align:middle;margin-left:.25rem}.master-table .sort-icon.inactive{opacity:.5}.master-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.master-table .action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.master-table .action-btn svg{width:1rem;height:1rem}.master-table .edit-btn{background:transparent;color:hsl(var(--primary))}.master-table .edit-btn:hover{background:transparent;color:#204cc5}.master-table .delete-btn{background:transparent;color:hsl(var(--primary))}.master-table .delete-btn:hover{background:transparent;color:#204cc5}@media (max-width: 768px){.master-table-wrapper{height:50vh}.master-table th,.master-table td{padding:.625rem .5rem;font-size:.8125rem}}.day-wise-report-page{padding:1.5rem;background:hsl(var(--background));min-height:100%}.day-wise-report-page .table-container{height:60vh;overflow-y:auto;overflow-x:auto;border-radius:.375rem;border:1px solid hsl(var(--border))}.day-wise-report-page .table-header{position:sticky;top:0;z-index:10}.day-wise-report-page .table-head{font-weight:600;color:hsl(var(--foreground));background:#edeff2;text-align:left}:root.dark .day-wise-report-page .table-head{background:#1b294b;color:#f8fafc}.day-wise-report-page .table-cell{text-align:left}.day-wise-report-page .report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.day-wise-report-page .report-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.day-wise-report-page .header-actions{display:flex;align-items:center;gap:.75rem}.day-wise-report-page .search-box{display:flex;align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;gap:.5rem}.day-wise-report-page .search-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.day-wise-report-page .search-input{border:none;outline:none;background:transparent;font-size:.875rem;width:180px;color:hsl(var(--foreground))}.day-wise-report-page .search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.day-wise-report-page .search-input::placeholder{color:hsl(var(--muted-foreground))}.day-wise-report-page .download-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:color .2s ease}.day-wise-report-page .download-btn:hover{color:hsl(var(--primary))}.day-wise-report-page .download-btn svg{width:1.25rem;height:1.25rem}.day-wise-report-page .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.day-wise-report-page .filter-toggle-btn:hover{background:hsl(var(--muted) / .5)}.day-wise-report-page .filter-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.day-wise-report-page .chevron-icon{width:1rem;height:1rem;margin-left:auto;transition:transform .2s ease}.day-wise-report-page .chevron-icon.rotated{transform:rotate(90deg)}.day-wise-report-page .filter-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;padding:1.25rem;margin-bottom:1rem}.day-wise-report-page .filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.day-wise-report-page .filter-field{display:flex;flex-direction:column;gap:.375rem}.day-wise-report-page .filter-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.day-wise-report-page .date-picker-btn{width:100%;justify-content:flex-start;font-weight:400;height:2.5rem}.day-wise-report-page .filter-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.day-wise-report-page .report-content{background:hsl(var(--card));border-radius:.5rem;display:flex;flex-direction:column}.day-wise-report-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.day-wise-report-page .empty-text{font-size:.9375rem;color:hsl(var(--muted-foreground))}.overstay-badge{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:.75rem;font-weight:600}.overstay-low{background:#16a24926;color:#16a249}.overstay-medium{background:#e7b00833;color:#ac8306}.overstay-high{background:#f43e5c26;color:#f10e34}@media (max-width: 768px){.day-wise-report-page .report-header{flex-direction:column;gap:1rem;align-items:flex-start}.day-wise-report-page .header-actions{width:100%;flex-wrap:wrap}.day-wise-report-page .search-box{flex:1;min-width:150px}.day-wise-report-page .search-input{width:100%}.day-wise-report-page .filter-grid{grid-template-columns:1fr}.day-wise-report-page .filter-actions{flex-direction:column}.day-wise-report-page .filter-actions button{width:100%}}.notfound-page{display:flex;min-height:100vh;align-items:center;justify-content:center;background-color:hsl(var(--muted))}.notfound-content{text-align:center}.notfound-code{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.notfound-message{margin-bottom:1rem;font-size:1.25rem;color:hsl(var(--muted-foreground))}.notfound-link{color:hsl(var(--primary));text-decoration:underline}.notfound-link:hover{color:hsl(var(--primary) / .9)}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:hsl(var(--background))}.forgot-password-container{display:flex;justify-content:center;align-items:center;width:100%}.forgot-password-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 4px 12px hsl(var(--foreground) / .08);padding:2rem 2.5rem;width:100%;max-width:450px}.forgot-password-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.forgot-password-header .header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:hsl(var(--primary) / .1);border-radius:10px;color:hsl(var(--primary));flex-shrink:0}.forgot-password-header .header-text{display:flex;flex-direction:column;gap:.25rem}.forgot-password-card .page-title{font-size:1.5rem;font-weight:600;color:hsl(var(--primary));margin:0}.forgot-password-card .page-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.forgot-password-form{display:flex;flex-direction:column;gap:1.25rem}.forgot-password-form .form-group{display:flex;flex-direction:column;gap:.5rem}.forgot-password-form .form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:left}.forgot-password-form .form-input{width:100%;height:2.75rem;padding:.625rem 1rem;font-size:.875rem;border:1px solid hsl(var(--input));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s,box-shadow .2s}.forgot-password-form .form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.forgot-password-form .form-input::placeholder{color:hsl(var(--muted-foreground))}.forgot-password-form .form-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.forgot-password-form .form-input.input-error{border-color:hsl(var(--destructive))}.forgot-password-form .form-input.input-error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 2px hsl(var(--destructive) / .2)}.error-message{font-size:.75rem;color:hsl(var(--destructive));text-align:left}.forgot-password-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.btn-cancel{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;border:1px solid hsl(var(--border));border-radius:6px;cursor:pointer;background-color:hsl(var(--background));color:hsl(var(--foreground));transition:background-color .2s,border-color .2s;min-width:100px}.btn-cancel:hover{background-color:hsl(var(--muted))}.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;background-color:#155dfc;color:#fff;transition:opacity .2s,background-color .2s;min-width:100px}.btn-submit:hover{opacity:.9}[data-theme=dark] .forgot-password-card,.dark .forgot-password-card{background:hsl(var(--card));border-color:hsl(var(--border))}[data-theme=dark] .btn-cancel,.dark .btn-cancel{background-color:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}[data-theme=dark] .btn-cancel:hover,.dark .btn-cancel:hover{background-color:hsl(var(--muted))}[data-theme=dark] .btn-submit,.dark .btn-submit{background-color:#155dfc;color:#fff}@media (max-width: 576px){.forgot-password-page{padding:1rem}.forgot-password-card{padding:1.5rem}.forgot-password-header{flex-direction:column;align-items:center;text-align:center}.forgot-password-header .header-text{align-items:center}.forgot-password-form .form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.self-checkin-container{min-height:100vh;background:linear-gradient(to bottom,#f5f7fb,#eef2f7);display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;text-align:center}.self-checkin-logo{width:260px;margin-bottom:1rem}.self-checkin-title{font-size:2.2rem;font-weight:600;margin-bottom:2.2rem;color:#1f2937}.self-checkin-toggle{display:flex;gap:2.5rem;margin-bottom:3rem;font-size:1rem}.self-checkin-toggle label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.self-checkin-toggle input{width:18px;height:18px;accent-color:#2563eb}.self-checkin-card{background:#fff;width:100%;max-width:520px;min-height:520px;padding:3rem 2.5rem;border-radius:20px;box-shadow:0 20px 50px #00000014;display:flex;flex-direction:column}.card-heading{font-size:1.45rem;font-weight:600;margin-bottom:3rem;color:#374151}.card-body{flex:1;display:flex;flex-direction:column;align-items:center}.camera-area{width:320px;height:320px;background:#0f172a;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.video-feed{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.qr-area{width:220px;height:220px;background:#f1f5f9;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#2563eb;margin-bottom:2rem}.verify-icon-wrapper{margin-bottom:2.2rem}.verify-icon{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1e40af);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 15px 35px #2563eb47}.self-checkin-under-development{font-size:.875rem;font-weight:600;color:#d97706;margin:0 0 1rem;padding:.375rem .75rem;background:#d977061f;border-radius:.5rem;display:inline-block}.self-checkin-form-block{width:100%;max-width:360px;text-align:left;margin-bottom:1.25rem}.self-checkin-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.self-checkin-form-input,.self-checkin-form-select{width:100%;padding:1rem 1.2rem;border-radius:12px;border:1px solid #d1d5db;font-size:1rem;background:#fff;color:#1f2937;box-sizing:border-box}.self-checkin-form-input:focus,.self-checkin-form-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.self-checkin-form-select{cursor:pointer}.email-input{width:100%;max-width:360px;padding:1rem 1.2rem;border-radius:12px;border:1px solid #d1d5db;font-size:1rem;margin-bottom:2rem}.email-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}.status-text{font-size:1rem;font-weight:500;margin-bottom:1.5rem;color:#f59e0b}.status-text.success{color:#16a34a}.error-text{color:#dc2626;padding:1rem;text-align:center}@media (max-width: 768px){.self-checkin-card{min-height:480px}.camera-area{width:260px;height:260px}.self-checkin-logo{width:200px}}@media (max-width: 480px){.self-checkin-toggle{flex-direction:column;gap:1rem}.camera-area{width:220px;height:220px}}#root{margin:0 auto;padding:0;text-align:center;width:100%;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.vd-root{min-height:100vh;background:linear-gradient(to bottom,#f3f6fb,#e8edf5);padding-bottom:130px;font-family:Segoe UI,sans-serif}.vd-topLogo{display:flex;justify-content:center;align-items:center;padding:28px 0 10px;width:100%}.vd-topLogo img{width:170px;max-width:70%;display:block}.vd-container{max-width:1300px;margin:0 auto;padding:0 16px}.vd-title{text-align:center;font-size:22px;font-weight:800;margin-bottom:24px;color:#0f172a}.vd-grid{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width: 768px){.vd-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1200px){.vd-grid{grid-template-columns:1fr 1fr 1fr}}.vd-card{background:#fff;padding:22px;border-radius:20px;box-shadow:0 15px 35px #00000014;display:flex;flex-direction:column}.vd-card h2{text-align:center;font-size:16px;font-weight:700;margin-bottom:18px}.vd-card label{text-align:left;font-size:13px;font-weight:600;margin-bottom:6px;margin-top:12px;color:#334155;width:100%}.vd-card input{width:100%;padding:12px;border-radius:12px;border:1px solid #d3dbe6;background:#f8fafc;font-size:14px;color:#0f172a}.vd-photo{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.vd-photoCircle{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 10px 20px #2563eb4d}.vd-photo span{font-size:12px;margin-top:8px}.vd-checkboxRow{margin-top:16px}.vd-checkboxLabel{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.vd-checkboxLabel input{width:18px;height:18px;accent-color:#2563eb;flex:0 0 auto;margin:0}.vd-checkboxLabel span{font-size:14px;font-weight:700;color:#0f172a}@media (max-width: 360px){.vd-checkboxLabel span{font-size:13px}}.vd-actionBar{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16px;display:flex;gap:12px;box-shadow:0 -6px 20px #00000014}.vd-btn{flex:1;height:54px;border-radius:14px;font-size:16px;font-weight:700;border:none;cursor:pointer}.vd-cancel{background:#fff;border:1px solid #d3dbe6}.vd-confirm{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;box-shadow:0 8px 20px #2563eb59}@media (min-width: 768px){.vd-actionBar{max-width:600px;margin:0 auto}}.mv-root{min-height:100vh;background:linear-gradient(to bottom,#f3f6fb,#e8edf5);font-family:Segoe UI,sans-serif}.mv-shell{max-width:1100px;margin:0 auto;padding:18px 14px 130px}@media (min-width: 768px){.mv-shell{padding:24px 20px 150px}}.mv-logoWrap{display:flex;justify-content:center;padding:18px 0 8px}.mv-logo{width:170px;max-width:70%;height:auto;display:block}.mv-header{text-align:center;padding:8px 0 16px}.mv-title{margin:0;font-size:22px;font-weight:900;color:#0f172a;letter-spacing:-.02em}.mv-subtitle{margin:8px auto 0;max-width:520px;font-size:13px;font-weight:600;color:#64748b;line-height:1.35}@media (min-width: 768px){.mv-title{font-size:28px}.mv-subtitle{font-size:14px}}.mv-grid{display:grid;gap:14px;grid-template-columns:1fr;padding-top:10px}@media (min-width: 768px){.mv-grid{grid-template-columns:1fr 1fr;gap:16px}}@media (min-width: 1100px){.mv-grid{grid-template-columns:1fr 1fr;gap:18px}}.mv-card{width:100%;border:1px solid rgba(15,23,42,.08);background:#fffffff2;border-radius:18px;padding:14px;display:flex;gap:14px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 14px 30px #0000000f;transition:transform .08s ease,box-shadow .2s ease,background .2s ease}.mv-card:active{transform:scale(.995)}.mv-card:hover{box-shadow:0 18px 36px #00000017}.mv-card.is-selected{background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#2563eb80;box-shadow:0 18px 40px #2563eb38}.mv-avatar{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:#eef2ff;border:1px solid rgba(37,99,235,.25)}.mv-avatar span{font-weight:900;color:#1e40af;letter-spacing:.02em}.mv-card.is-selected .mv-avatar{background:#ffffff2e;border-color:#ffffff59}.mv-card.is-selected .mv-avatar span{color:#fff}.mv-info{min-width:0;flex:1}.mv-nameRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.mv-name{font-size:15px;font-weight:900;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv-card.is-selected .mv-name{color:#fff}.mv-pill{font-size:11px;font-weight:800;padding:6px 10px;border-radius:999px;background:#0f172a0f;color:#334155;flex:0 0 auto}.mv-pill.is-selected{background:#ffffff38;color:#fff}.mv-meta{margin-top:10px;display:grid;gap:6px}.mv-line{display:flex;gap:10px;min-width:0}.mv-label{width:50px;font-size:12px;font-weight:800;color:#64748b;flex:0 0 auto}.mv-value{font-size:12px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv-card.is-selected .mv-label,.mv-card.is-selected .mv-value{color:#ffffffeb}.mv-actionBar{position:fixed;left:0;right:0;bottom:0;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(15,23,42,.08);padding:14px 14px calc(14px + env(safe-area-inset-bottom));z-index:50}.mv-actionInner{max-width:560px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.mv-actionInner{grid-template-columns:1fr 1fr;gap:14px}}.mv-btn{height:54px;width:100%;border-radius:16px;font-size:16px;font-weight:900;border:none;cursor:pointer;transition:transform .08s ease,filter .2s ease}.mv-btn:active{transform:translateY(1px) scale(.99)}.mv-btnSecondary{background:#fff;border:1px solid #d3dbe6;color:#0f172a;box-shadow:0 6px 14px #0f172a0f}.mv-btnPrimary{color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 12px 26px #2563eb59}.zoom-stabilizer-viewport{position:fixed;right:0;bottom:0;overflow:hidden;width:100vw;height:100vh;z-index:0;left:0;top:0}.zoom-stabilizer-inner{position:absolute;left:0;top:0;min-height:100%;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;max-width:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--primary: 223.11, 73.77%, 35.88%;--primary-foreground: 0 0% 100%;--primary-btn: 221.3 97.47% 53.53%;--background: 220 20% 97%;--foreground: 224 30% 15%;--card: 0 0% 100%;--card-foreground: 224 30% 15%;--popover: 0 0% 100%;--popover-foreground: 224 30% 15%;--secondary: 220 15% 92%;--secondary-foreground: 224 30% 25%;--muted: 220 15% 94%;--muted-foreground: 220 10% 45%;--accent: 220 80% 95%;--accent-foreground: 224 72% 36%;--success: 152 60% 40%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 10%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--info: 200 80% 50%;--info-foreground: 0 0% 100%;--border: 220 15% 88%;--input: 220 15% 88%;--ring: 224 72% 36%;--radius: .625rem;--sidebar-background: 224 72% 36%;--sidebar-foreground: 0 0% 100%;--sidebar-primary: 0 0% 100%;--sidebar-primary-foreground: 224 72% 36%;--sidebar-accent: 224 72% 45%;--sidebar-accent-foreground: 0 0% 100%;--sidebar-border: 224 72% 30%;--sidebar-ring: 224 72% 50%;--sidebar-muted: 0 0% 100% / .1;--sidebar-muted-foreground: 0 0% 100% / .7;--header-height: 64px;--sidebar-width: 290px;--sidebar-collapsed-width: 64px;--shadow-sm: 0 1px 2px 0 hsl(224 30% 15% / .05);--shadow-md: 0 4px 6px -1px hsl(224 30% 15% / .08), 0 2px 4px -2px hsl(224 30% 15% / .05);--shadow-lg: 0 10px 15px -3px hsl(224 30% 15% / .1), 0 4px 6px -4px hsl(224 30% 15% / .08);--shadow-glow: 0 0 20px hsl(224 72% 36% / .15)}.dark{--background: 224 30% 8%;--foreground: 220 20% 95%;--card: 224 25% 12%;--card-foreground: 220 20% 95%;--popover: 224 25% 12%;--popover-foreground: 220 20% 95%;--primary: 224 72% 55%;--primary-foreground: 0 0% 100%;--secondary: 224 20% 18%;--secondary-foreground: 220 20% 85%;--muted: 224 20% 15%;--muted-foreground: 220 15% 55%;--accent: 224 40% 20%;--accent-foreground: 224 72% 70%;--success: 152 55% 45%;--warning: 38 90% 55%;--destructive: 0 65% 55%;--info: 200 75% 55%;--border: 224 20% 20%;--input: 224 20% 20%;--ring: 224 72% 55%;--sidebar-background: 224 30% 12%;--sidebar-foreground: 220 20% 90%;--sidebar-accent: 224 25% 20%;--sidebar-border: 224 25% 18%;--sidebar-muted: 0 0% 100% / .08;--sidebar-muted-foreground: 0 0% 100% / .6;--shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / .3);--shadow-md: 0 4px 6px -1px hsl(0 0% 0% / .4), 0 2px 4px -2px hsl(0 0% 0% / .3);--shadow-lg: 0 10px 15px -3px hsl(0 0% 0% / .5), 0 4px 6px -4px hsl(0 0% 0% / .4);--shadow-glow: 0 0 25px hsl(224 72% 55% / .2)}*{border-color:hsl(var(--border))}html{font-family:Inter,system-ui,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}html[data-system-scale="100"],html:not([data-system-scale]){font-size:18px;--header-height: 64px;--sidebar-width: 290px;--sidebar-collapsed-width: 64px}html[data-system-scale="125"]{font-size:80%;--header-height: 51.2px ;--sidebar-width: 232px ;--sidebar-collapsed-width: 51.2px }html[data-system-scale="150"]{font-size:66.667%;--header-height: calc(64px / 1.5);--sidebar-width: calc(290px / 1.5);--sidebar-collapsed-width: calc(64px / 1.5)}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"cv11","ss01";font-size:1rem;line-height:1.5;overflow-x:clip;max-width:100vw}#root{max-width:100%;min-width:0;width:100%}[role=dialog],[data-state=open][data-radix-collection-item]{max-width:100%}[role=dialog]>*,.modal-overlay>*:not(button){max-width:100%;overflow-x:auto;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1001\]{z-index:1001}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[80px\]{min-height:80px}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-4xl{max-width:56rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary-btn))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary-btn))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary-btn))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color: hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.7}}.sonner-toast-error,[data-sonner-toast][data-type=error]{background-color:#ef43431f!important;border-color:#dc2828!important;color:#9a1919!important;box-shadow:0 0 0 1px #dc28284d!important}.sonner-toast-error [data-title],[data-sonner-toast][data-type=error] [data-title]{color:#9a1919!important;font-weight:600}.sonner-toast-error [data-description],[data-sonner-toast][data-type=error] [data-description]{color:#af1d1df2!important}.sonner-toast-success,[data-sonner-toast][data-type=success]{background-color:#16a2491f!important;border-color:#16a249!important;color:#1d723c!important;box-shadow:0 0 0 1px #16a2494d!important}.sonner-toast-success [data-title],[data-sonner-toast][data-type=success] [data-title]{color:#1d723c!important;font-weight:600}.sonner-toast-success [data-description],[data-sonner-toast][data-type=success] [data-description]{color:#1f7a40f2!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary-btn))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary-btn) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary-btn) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary-btn))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary-btn))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-\[hsl\(var\(--primary-btn\)\)\][data-state=checked],.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary-btn))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected],.data-\[state\=unchecked\]\:bg-muted[data-state=unchecked]{background-color:hsl(var(--muted))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
