@charset "UTF-8";.workspace{display:flex;height:100vh;overflow:hidden}.sidebar.collapsed~.workspace{margin-left:70px}.workspace-content{flex:1;width:calc(100vw - 208px);overflow:auto}.site-header{border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--background));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40}@supports (backdrop-filter: blur()){.site-header{background-color:hsla(var(--background)/.6)}}.header-container{display:flex;height:4rem;align-items:center;justify-content:space-between;padding:0 1rem}@media (min-width: 640px){.header-container{padding:0 1.5rem}}.header-left{display:flex;align-items:center;gap:1rem}@media (min-width: 1024px){.header-left{gap:1.5rem}}.search-container{position:relative;width:100%;max-width:24rem;display:none}@media (min-width: 768px){.search-container{display:block}}.search-icon{position:absolute;left:.625rem;top:.625rem;height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.search-input{width:100%;padding-left:2rem;background-color:hsl(var(--background));border:1px solid hsl(var(--input));color:hsl(var(--foreground));border-radius:var(--radius);height:2.5rem;padding:0 1rem 0 2rem;font-size:.875rem}.search-input:focus{outline:none;border-color:hsl(var(--primary))}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:none;text-align:right}@media (min-width: 768px){.user-info{display:block}}.username{font-size:.875rem;font-weight:500}.user-role{font-size:.75rem;color:hsl(var(--muted-foreground))}.icon-button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;border-radius:.25rem;color:hsl(var(--foreground));position:relative;transition:background-color .2s}.icon-button.rounded-full{border-radius:50%}.icon{height:1.45rem;width:1.45em}.notification-badge{position:absolute;top:.25rem;right:.25rem;height:.5rem;width:.5rem;border-radius:50%;background-color:var(--primary-foreground)}.user-menu-container{position:relative}.user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;width:16rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;overflow:hidden;z-index:50;animation:dropdownFadeIn .2s ease-out}.user-dropdown .dropdown-header{padding:1rem;background-color:hsla(var(--accent)/.05)}.user-dropdown .dropdown-user-info .dropdown-username{font-weight:500;font-size:.875rem}.user-dropdown .dropdown-user-info .dropdown-user-role{font-size:.75rem;color:hsl(var(--muted-foreground))}.user-dropdown .dropdown-divider{height:1px;background-color:hsl(var(--border));margin:.25rem 0}.user-dropdown .dropdown-item{display:flex;align-items:center;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));transition:background-color .2s}.user-dropdown .dropdown-item:hover{background-color:hsla(var(--accent)/.1)}.user-dropdown .dropdown-item.sign-out,.user-dropdown .dropdown-item.sign-out .dropdown-icon{color:hsl(var(--destructive))}.user-dropdown .dropdown-item .dropdown-icon{height:1rem;width:1rem;margin-right:.75rem;color:hsl(var(--muted-foreground))}.user-dropdown .dropdown-item.profile,.user-dropdown .dropdown-item.settings{opacity:50%;cursor:not-allowed}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.user-dropdown{right:-1rem;width:14rem}}.sidebar{--sidebar-width: 250px;--sidebar-collapsed-width: 70px;--transition-speed: .3s;left:0;top:0;height:100vh;width:var(--sidebar-width);background-color:hsl(var(--sidebar-bg));border-right:1px solid hsl(var(--border));transition:width var(--transition-speed) ease;z-index:40;display:flex;flex-direction:column;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .menu-text,.sidebar.collapsed .menu-divider,.sidebar.collapsed .submenu-arrow{opacity:0;pointer-events:none}.sidebar.collapsed .logo{justify-content:center}.sidebar.collapsed .logo-title{display:none}.sidebar-header{height:4rem;display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid hsl(var(--border))}.logo{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));display:flex;align-items:center;gap:.5rem;width:100%;transition:all var(--transition-speed) ease}.logo .logo-title,.logo-title{display:none}.sidebar-menu{flex:1;overflow-y:auto;padding-top:1.5rem;padding-left:.5rem;padding-right:.5rem}.menu-item{display:flex;align-items:center;padding:.5rem .5rem .5rem 1rem;border-radius:var(--radius);color:hsl(var(--foreground));text-decoration:none;transition:all .2s ease;gap:.75rem;position:relative;margin-bottom:.25rem}.menu-item:hover{background-color:hsla(var(--primary)/.05);color:hsl(var(--primary));text-decoration:none}.dark .menu-item:hover{background-color:hsla(var(--primary)/.05);color:hsl(var(--primary-foreground));text-decoration:none}.menu-item.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.menu-item.active:hover{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));text-decoration:none;transform:scale(1.03);box-shadow:0 2px 8px hsla(var(--primary)/.08)}.menu-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.menu-text{flex:1;white-space:nowrap;transition:opacity var(--transition-speed) ease}.submenu-arrow{transition:transform var(--transition-speed) ease}.submenu-arrow.expanded{transform:rotate(90deg)}.menu-divider{padding:.5rem 1rem;margin:.5rem 0;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.menu-divider:before,.menu-divider:after{content:"";flex:1;height:1px;background-color:hsl(var(--border))}.collapse-button{position:absolute;left:240px;background-color:hsl(var(--background));transform:translate(-50%);height:2rem;width:3rem;border-radius:40%;border:1px solid hsl(var(--border));border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px hsla(var(--foreground)/.1);transition:all .2s ease;color:hsl(var(--foreground));top:5rem}.sidebar.collapsed .collapse-button{left:68px;transform:translate(-50%)}.collapse-button:hover{background-color:hsla(var(--primary)/.2);color:hsl(var(--foreground));border-color:hsl(var(--primary))}.collapse-button svg{width:2rem;height:2rem}@media (max-width: 768px){.sidebar{width:200px}.sidebar.collapsed{width:60px}.sidebar.collapsed .menu-text,.sidebar.collapsed .menu-divider,.sidebar.collapsed .submenu-arrow{opacity:0;pointer-events:none;display:none}.logo{justify-content:center}.sidebar.collapsed .logo{opacity:0;pointer-events:none;display:none}.logo-title{display:none}.sidebar.collapsed .logo-title{display:block;justify-content:center;font-size:1.5rem;font-weight:600}.collapse-button{left:200px}.sidebar.collapsed .collapse-button{left:68px;transform:translate(-50%)}}.metric-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem 1.5rem;overflow:hidden;transition:box-shadow .2s}.metric-card:hover{box-shadow:0 4px 12px hsla(var(--foreground)/.1)}.metric-card .card-header{display:flex;justify-content:between;align-items:center;margin-bottom:1rem}.metric-card .card-header .card-title{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0;flex:1}.metric-card .card-header .card-icon{color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center}.metric-card .card-content .metric-value{font-size:2rem;font-weight:700;color:hsl(var(--foreground));line-height:1;margin-bottom:.5rem}.metric-card .card-content .metric-footer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.metric-card .card-content .metric-footer .trend-indicator{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:9999px}.metric-card .card-content .metric-footer .trend-indicator.positive{background-color:#16a24933;color:#16a249}.metric-card .card-content .metric-footer .trend-indicator.negative{background-color:#ef434333;color:#ef4343}.metric-card .card-content .metric-footer .trend-indicator .trend-icon{width:.75rem;height:.75rem}.metric-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.dark .metric-card{background-color:hsl(var(--card))}.chart-container{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;overflow:hidden}.chart-header{margin-bottom:1.5rem}.chart-header .chart-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.chart-header .chart-description{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}.chart-content .chart-wrapper{height:300px;width:100%}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:hsl(var(--border))}.recharts-tooltip-wrapper .recharts-default-tooltip{border-radius:var(--radius);box-shadow:0 4px 12px hsla(var(--foreground)/.1)}.recharts-area{transition:opacity .2s}.recharts-area:hover{opacity:.8}.dark .chart-container{background-color:hsl(var(--card))}.dark .recharts-cartesian-grid-horizontal line,.dark .recharts-cartesian-grid-vertical line{stroke:hsl(var(--border))}.dashboard-container{padding:1rem 2rem 2rem;max-width:100%;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{margin-bottom:2rem}.dashboard-header .dashboard-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 .5rem}.dashboard-header .dashboard-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:1rem}.refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.refresh-icon.refreshing{animation:spin .5s linear infinite}.dash-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:hsl(var(--muted-foreground))}.dash-loading-container .spinner-icon{width:3rem;height:3rem;animation:spin 2.5s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:hsl(var(--destructive))}.error-container .error-icon{width:3rem;height:3rem;margin-bottom:1rem}.error-container h3{margin:0 0 .5rem;font-size:1.5rem}.error-container p{margin:0 0 1.5rem;color:hsl(var(--muted-foreground))}.error-container .retry-button{padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:background-color .2s}.error-container .retry-button:hover{background-color:hsl(var(--primary)/.9)}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid hsl(var(--border))}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-weight:500;transition:all .2s}.tab-button:hover{color:hsl(var(--foreground))}.tab-button.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.metrics-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}.dashboard-content{margin-bottom:2rem}@media (min-width: 1280px){.dashboard-content{grid-template-columns:6fr 5fr}}.chart-section,.activity-section{height:100%}.activity-section .activity-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.activity-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0}.activity-header .activity-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.activity-header .activity-icon{color:hsl(var(--primary));width:1.25rem;height:1.25rem}.activity-list{padding:1.5rem}.activity-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid hsl(var(--border))}.activity-item:last-child{border-bottom:none}.activity-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background-color:hsl(var(--muted));display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-main{margin-bottom:.5rem}.activity-main .activity-user{font-weight:600;color:hsl(var(--foreground));margin-right:.5rem}.activity-main .activity-action{color:hsl(var(--muted-foreground))}.activity-meta{display:flex;gap:1rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.meta-icon{width:.875rem;height:.875rem;margin-right:.25rem}.activity-footer{padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));text-align:center}.view-all-button{background:none;border:none;color:hsl(var(--primary));cursor:pointer;font-weight:500;transition:opacity .2s}.view-all-button:hover{opacity:.8}.quick-stats{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.quick-stats{grid-template-columns:repeat(3,1fr)}}.stat-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-header .stat-title{font-weight:600;color:hsl(var(--foreground));margin:0}.stat-header .stat-value{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.stat-progress .progress-bar{width:100%;height:.5rem;background-color:hsl(var(--muted));border-radius:9999px;overflow:hidden}.stat-progress .progress-fill{height:100%;background-color:hsl(var(--primary));border-radius:9999px;transition:width .3s ease}.stat-rating .stars{color:#e7b008;font-size:1.25rem;letter-spacing:.1em}.icon-sm{width:1.125rem;height:1.125rem}.dark .activity-card,.dark .stat-card{background-color:hsl(var(--card))}.dark .progress-bar{background-color:hsl(var(--muted))}.devices-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.devices-page .devices-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:hsl(var(--foreground))}.devices-page .devices-title .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.devices-page .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.devices-page .refresh-icon.refreshing{animation:spin .5s linear infinite}.devices-page .devices-tabs{margin-top:1.2rem;background-color:hsl(var(--muted));display:flex;justify-content:start;gap:.5rem;padding:.2rem;border-radius:10px;width:max-content}.devices-page .devices-tabs .tab{background-color:transparent;border-width:0;padding:.5rem;font-weight:600;cursor:pointer;border-radius:5px;color:hsl(var(--muted-foreground))}.devices-page .devices-tabs .tab.active{background-color:hsl(var(--background));box-shadow:0 2px 4px #0000001a;color:hsl(var(--foreground))}.devices-page .devices-list{margin-top:2rem}.devices-page .devices-list .error-message{background-color:hsl(var(--background));color:hsl(var(--destructive));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #fcc}.devices-page .devices-list .success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid hsl(var(--success)/.2)}.devices-page .devices-list .loading-container{display:flex;justify-content:start;padding:2rem;color:hsl(var(--muted-foreground))}.devices-page .devices-list .no-data{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.devices-page .devices-filters{display:flex;justify-content:space-between;padding-bottom:1rem}.devices-page .devices-filters .devices-search-container{position:relative;width:100%;display:flex;align-items:center}@media (min-width: 768px){.devices-page .devices-filters .devices-search-container{width:320px}}.devices-page .devices-filters .devices-search-container .search-icon{position:absolute;left:10px;color:hsl(var(--muted-foreground));z-index:1}.devices-page .devices-filters .devices-search-container .search-input{border:1px solid hsl(var(--muted-foreground));border-radius:.25rem;background-color:hsl(var(--background));color:hsl(var(--foreground));padding:.75rem 1rem .75rem 2.5rem;width:100%}.devices-page .devices-filters .devices-search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.devices-page .devices-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}.devices-page .devices-table-container .devices-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card));min-width:800px}@media (min-width: 1024px){.devices-page .devices-table-container .devices-table{min-width:auto}}.devices-page .devices-table-container .devices-table tr{border-bottom:1px solid hsl(var(--border))}.devices-page .devices-table-container .devices-table th,.devices-page .devices-table-container .devices-table td{padding:1rem;text-align:left}.devices-page .devices-table-container .devices-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.devices-page .devices-table-container .devices-table .device-row:hover{background-color:hsl(var(--muted)/.5)}.devices-page .devices-table-container .devices-table .device-row:last-child td{border-bottom:none}.devices-page .devices-table-container .devices-table .device-row .ssid-cell{display:flex;align-items:center;gap:.5rem}.devices-page .devices-table-container .devices-table .device-row .edit-input,.devices-page .devices-table-container .devices-table .device-row .edit-select{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));width:100%}.devices-page .devices-table-container .devices-table .device-row .edit-input:focus,.devices-page .devices-table-container .devices-table .device-row .edit-select:focus{outline:none;border-color:hsl(var(--primary))}.devices-page .devices-table-container .devices-table .device-row .status{padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:600}.devices-page .devices-table-container .devices-table .device-row .status.status-connected,.devices-page .devices-table-container .devices-table .device-row .status.status-online{background-color:hsl(var(--success)/.2);color:hsl(var(--success))}.devices-page .devices-table-container .devices-table .device-row .status.status-disconnected,.devices-page .devices-table-container .devices-table .device-row .status.status-offline{background-color:hsl(var(--destructive)/.2);color:hsl(var(--destructive))}.devices-page .devices-table-container .devices-table .device-row .status.status-pending{background-color:hsl(var(--warning)/.2);color:hsl(var(--warning))}.devices-page .devices-table-container .devices-table .no-results{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.devices-page .pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.devices-page .pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.devices-page .pagination{display:flex;gap:.5rem}.devices-page .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.devices-page .pagination-button:hover{background-color:hsl(var(--muted))}.devices-page .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.devices-page .pagination-ellipsis{display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;color:hsl(var(--muted-foreground));min-width:2.5rem;font-size:.875rem}@media (min-width: 640px){.devices-page .pagination-ellipsis{min-width:3rem;padding:.5rem}}.devices-page .action-buttons{display:flex;gap:.5rem}.devices-page .action-buttons button{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:transparent;cursor:pointer;transition:all .2s}.devices-page .action-buttons button:hover{background-color:hsl(var(--muted)/.5)}.devices-page .action-buttons .edit-button{color:hsl(var(--foreground))}.devices-page .action-buttons .edit-button:hover{border-color:hsl(var(--primary))}.devices-page .action-buttons .setup-button{color:hsl(var(--primary))}.devices-page .action-buttons .setup-button:hover{border-color:hsl(var(--primary));background-color:hsl(var(--primary)/.1)}.devices-page .action-buttons .save-button{color:hsl(var(--primary))}.devices-page .action-buttons .save-button:hover{border-color:hsl(var(--primary));background-color:hsl(var(--primary)/.1)}.devices-page .action-buttons .cancel-button{color:hsl(var(--muted-foreground))}.devices-page .action-buttons .cancel-button:hover{border-color:hsl(var(--muted-foreground))}.devices-page .action-buttons .delete-button{color:hsl(var(--destructive))}.devices-page .action-buttons .delete-button:hover{border-color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1)}.devices-page .modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.devices-page .modal-overlay .modal-content{background-color:hsl(var(--background));border-radius:var(--radius);width:65%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.devices-page .modal-overlay .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.devices-page .modal-overlay .modal-content .modal-header h2{margin:0;font-size:1.5rem}.devices-page .modal-overlay .modal-content .modal-header .modal-close{background:none;border:none;cursor:pointer;color:hsl(var(--muted-foreground))}.devices-page .modal-overlay .modal-content .modal-header .modal-close:hover{color:hsl(var(--foreground))}.devices-page .modal-overlay .modal-content .modal-body{padding:1.5rem}.devices-page .modal-overlay .modal-content .modal-body p{margin-top:0}.devices-page .modal-overlay .modal-content .modal-body .section-divider{display:flex;align-items:center;margin:1.5rem 0;color:hsl(var(--muted-foreground))}.devices-page .modal-overlay .modal-content .modal-body .section-divider:before,.devices-page .modal-overlay .modal-content .modal-body .section-divider:after{content:"";flex:1;height:1px;background-color:hsl(var(--border))}.devices-page .modal-overlay .modal-content .modal-body .section-divider span{padding:0 1rem}.devices-page .modal-overlay .modal-content .modal-body ol{padding-left:1.5rem;margin:1rem 0}.devices-page .modal-overlay .modal-content .modal-body ol li{margin-bottom:.5rem}.devices-page .modal-overlay .modal-content .modal-body .command-block{background-color:hsl(var(--muted));border-radius:var(--radius);padding:1rem;margin:1rem 0;overflow-x:auto}.devices-page .modal-overlay .modal-content .modal-body .command-block code{font-family:monospace;color:hsl(var(--foreground));white-space:nowrap}.devices-page .modal-overlay .modal-content .modal-footer{padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end}.devices-page .modal-overlay .modal-content .modal-footer .btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);padding:.5rem 1.5rem;cursor:pointer;font-weight:500}.devices-page .modal-overlay .modal-content .modal-footer .btn-primary:hover{background-color:hsl(var(--primary)/.9)}.copy-button{border-radius:4px;padding:4px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:hsl(var(--foreground))}.code-container .copy-button{background-color:transparent!important}.add-device{margin-top:2rem}.add-device .add-device-header{margin-bottom:2rem}.add-device .add-device-header h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.add-device .add-device-header p{color:hsl(var(--muted-foreground));margin:0}.add-device .server-error-message{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--destructive)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-device .server-success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-device .add-device-form{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:2rem}.add-device .add-device-form .form-group{margin-bottom:1.5rem}.add-device .add-device-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;display:flex;justify-content:space-between}.add-device .add-device-form .form-group label .char-count{font-weight:400;color:hsl(var(--muted-foreground));font-size:.875rem}.add-device .add-device-form .form-group input,.add-device .add-device-form .form-group select{width:100%;padding:.75rem 0rem .75rem .5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground))}.add-device .add-device-form .form-group input:focus,.add-device .add-device-form .form-group select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.add-device .add-device-form .form-group input.error,.add-device .add-device-form .form-group select.error{border-color:hsl(var(--destructive))}.add-device .add-device-form .form-group .input-help{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.add-device .add-device-form .form-group .error-message{color:hsl(var(--destructive));font-size:.875rem}.add-device .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.add-device .form-actions button{padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-weight:500}.add-device .form-actions .btn-secondary{background-color:transparent;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.add-device .form-actions .btn-secondary:hover{background-color:hsl(var(--muted))}.add-device .form-actions .btn-primary{background-color:hsl(var(--primary));border:none;color:hsl(var(--primary-foreground))}.add-device .form-actions .btn-primary:hover{background-color:hsl(var(--primary)/.9)}.copy-button{border-radius:4px;padding:4px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.copy-button:hover{background:#e9e9e9}.copy-button:active{background:#ddd}.code-container{position:relative;display:flex;align-items:center}.code-container code{flex:1;padding-right:40px}.code-container .copy-button{background-color:transparent!important;color:hsl(var(--foreground))}.command-block{margin:10px 0;background:#f8f8f8;border-radius:4px;padding:12px;border:1px solid #e0e0e0}.vouchers{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.vouchers .vouchers-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground))}.vouchers .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.vouchers .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.vouchers .refresh-icon.refreshing{animation:spin .5s linear infinite}.vouchers .tabs{margin-top:1.2rem;background-color:hsl(var(--muted));display:flex;justify-content:start;gap:.5rem;width:max-content;padding:.2rem;border-radius:10px}.vouchers .tabs .tab{background-color:transparent;border-width:0;padding:.5rem;font-weight:600;cursor:pointer;border-radius:5px;color:hsl(var(--muted-foreground))}.vouchers .tabs .tab.active{background-color:hsl(var(--background));box-shadow:0 2px 4px #0000001a;color:hsl(var(--foreground))}.vouchers-container{padding-top:2rem;padding-bottom:2rem;max-width:100%}.vouchers-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}@media (min-width: 768px){.vouchers-header{flex-direction:row;justify-content:space-between;align-items:center}}.search-container{position:relative;width:100%}@media (min-width: 768px){.search-container{width:320px}}.search-container .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));width:1.25rem;height:1.25rem}.search-container .search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;background-color:hsl(var(--muted));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));transition:border-color .2s}.search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.filters-container{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-select{padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-width:180px}.filter-select:focus{outline:none;border-color:hsl(var(--primary))}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;font-weight:500;transition:all .2s}.refresh-button:hover:not(:disabled){background-color:hsl(var(--secondary)/.9);transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-button .icon-sm{width:1rem;height:1rem}.refresh-button .icon-sm.spinning{animation:spin 1s linear infinite}.download-pdf-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:background-color .2s}.download-pdf-button:hover{background-color:hsl(var(--primary)/.9)}.download-pdf-button .icon-sm{width:1rem;height:1rem}.quick-filters{display:none;gap:.5rem}@media (min-width: 768px){.quick-filters{display:flex}}.quick-filter-button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font-size:.75rem;transition:background-color .2s}.quick-filter-button:hover{background-color:hsl(var(--muted))}.featured-vouchers{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}@media (min-width: 768px){.featured-vouchers{grid-template-columns:repeat(3,1fr)}}.voucher-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}.voucher-card:hover{box-shadow:0 4px 12px hsla(var(--foreground)/.1)}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.header-content .card-title{font-weight:700;font-size:.875rem;margin:0}.type-badge{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.type-badge.status-active{background-color:hsl(var(--primary-foreground));color:hsl(var(--primary))}.type-badge.status-expired{background-color:#65758b33;color:#65758b}.type-badge.status-depleted{background-color:#ef434333;color:#ef4343}.detail-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.detail-icon{width:1rem;height:1rem}.data-icon{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.vouchers-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}@media (min-width: 768px){.vouchers-table-container{overflow-x:visible}}.vouchers-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card))}.vouchers-table tr{border-bottom:1px solid hsl(var(--border))}.vouchers-table th,.vouchers-table td{padding:.5rem;text-align:left}.vouchers-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.vouchers-table .text-right{text-align:center}.voucher-row:hover{background-color:hsl(var(--muted)/.5)}.voucher-row:last-child td{border-bottom:none}.batch-name-cell{font-weight:500;color:hsl(var(--foreground))}.batch-type{text-transform:capitalize}.usage-cell{font-variant-numeric:tabular-nums}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.active{background-color:#16a24933;color:#16a249}.status-badge.redeemable{background-color:#65758b33;color:#65758b}.status-badge.expired{background-color:#ef434333;color:#ef4343}.actions-cell .action-buttons{display:flex;justify-content:center;gap:.25rem}.action-buttons{display:flex;gap:.25rem}.icon-button{padding:.5rem;background:none;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.icon-button:hover{background-color:hsl(var(--muted))}.icon-button.destructive{color:hsl(var(--destructive))}.icon-button.destructive:hover{background-color:hsl(var(--destructive)/.1)}.icon-xs{width:.875rem;height:.875rem}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.pagination{display:flex;gap:.5rem}.pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.pagination-button:hover{background-color:hsl(var(--muted))}.pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;color:hsl(var(--muted-foreground));min-width:2.5rem;font-size:.875rem}@media (min-width: 640px){.pagination-ellipsis{min-width:3rem;padding:.5rem}}.dark .vouchers-table th{background-color:hsl(var(--muted))}.dark .voucher-card{background-color:hsl(var(--card))}.dark .download-pdf-button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dark .download-pdf-button:hover{background-color:hsl(var(--primary)/.9)}.dark .refresh-button{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.dark .refresh-button:hover:not(:disabled){background-color:hsl(var(--secondary)/.9)}.loading,.error{text-align:center;padding:2rem;color:hsl(var(--muted-foreground))}.error{color:hsl(var(--destructive))}.no-data{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.voucher-generator-container{padding-top:2rem;padding-bottom:2rem;max-width:100%}.voucher-generator-container .error-message{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-bottom:1.5rem;border:1px solid hsl(var(--destructive));border-radius:var(--radius);background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.voucher-generator-container .error-message .error-dismiss{background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:50%;font-size:1.25rem;line-height:1}.voucher-generator-container .error-message .error-dismiss:hover{background-color:hsl(var(--destructive)/.2)}.voucher-generator-container .success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.voucher-generator-container .voucher-generator-form .voucher-form-sections{display:flex;flex-direction:column;gap:1.5rem}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .section-header{padding:1.5rem 1.5rem 0}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .section-header .section-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .section-header .section-description{color:hsl(var(--muted-foreground));margin:0}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content{padding:1.5rem}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-group{margin-bottom:1.5rem}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-group:last-child{margin-bottom:0}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-label{display:block;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-input{width:100%;padding-top:.75rem;padding-bottom:.75rem;padding-left:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-select{width:100%;padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-textarea{width:100%;resize:vertical;min-height:80px;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground))}.voucher-generator-container .voucher-generator-form .voucher-form-sections .voucher-form-section .voucher-section-content .form-textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.section-footer{padding:1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;gap:.75rem}.form-textarea{resize:vertical;min-height:80px}.slider-container{margin-top:.5rem}.slider{width:100%;height:.375rem;border-radius:.375rem;background:hsl(var(--muted));outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.25rem;height:1.25rem;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background))}.slider::-moz-range-thumb{width:1.25rem;height:1.25rem;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background))}.slider-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.date-input-container{display:flex;gap:.5rem}.calendar-button{padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.calendar-button:hover{background-color:hsl(var(--muted))}.checkbox-group{margin-bottom:1rem}.checkbox-group:last-child{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:hsl(var(--foreground))}.checkbox-input{display:none}.checkbox-input:checked+.checkbox-custom{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;left:50%;top:50%;width:.25rem;height:.5rem;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.checkbox-custom{width:1.25rem;height:1.25rem;border:2px solid hsl(var(--input));border-radius:4px;position:relative;transition:all .2s}.primary-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:opacity .2s}.primary-button:hover{opacity:.9}.secondary-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;font-weight:500;transition:background-color .2s}.secondary-button:hover{background-color:hsl(var(--muted)/.8)}.preview-section{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;height:fit-content}.preview-header{padding:1.5rem 1.5rem 0}.preview-header .preview-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.preview-header .preview-description{color:hsl(var(--muted-foreground));margin:0}.preview-content{padding:1.5rem;display:flex;justify-content:center;align-items:center;min-height:300px}.preview-footer{padding:1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:center;gap:.75rem}.voucher-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;width:100%;max-width:300px}.voucher-card.preview{border-style:dashed}.voucher-card .card-header{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.8));padding:.75rem;color:hsl(var(--primary-foreground))}.voucher-card .header-content{display:flex;justify-content:space-between;align-items:center}.voucher-card .card-title{font-weight:700;font-size:.875rem;margin:0}.type-badge{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:hsl(var(--primary-foreground));color:hsl(var(--primary))}.card-content{padding:1rem}.voucher-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.batch-name{font-weight:600;color:hsl(var(--foreground));margin:0;font-size:1.125rem}.ticket-icon{color:hsl(var(--primary));width:1.25rem;height:1.25rem}.voucher-details{margin-bottom:1rem}.detail-item{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem}.detail-item:last-child{margin-bottom:0}.detail-label{color:hsl(var(--muted-foreground))}.detail-value{color:hsl(var(--foreground));font-weight:500}.voucher-code{margin-bottom:.5rem}.code-display{background-color:hsl(var(--muted));border-radius:var(--radius);padding:.75rem;text-align:center}.code-preview{border:1px dashed hsl(var(--border));border-radius:var(--radius);padding:.75rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.code-text{font-family:monospace;font-weight:700;letter-spacing:.1em;color:hsl(var(--foreground))}.preview-note{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center;margin:0}.icon-sm{width:1rem;height:1rem}.dark .form-section,.dark .preview-section{background-color:hsl(var(--card))}.dark .code-display{background-color:hsl(var(--muted))}.sessions-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.sessions-page .sessions-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:hsl(var(--foreground))}.sessions-page .sessions-title .sessions-subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.sessions-page .sessions-filters{display:flex;justify-content:space-between;padding-bottom:1rem}@media (max-width: 600px){.sessions-page .sessions-filters{flex-direction:column;gap:1rem}}.sessions-page .sessions-filters .sessions-search-container{position:relative;width:100%}@media (min-width: 768px){.sessions-page .sessions-filters .sessions-search-container{width:320px}}.sessions-page .sessions-filters .sessions-search-container .search-icon{margin-right:.5rem}.sessions-page .sessions-filters .sessions-search-container .search-input{border:1px solid hsl(var(--muted-foreground));border-radius:.25rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.sessions-page .sessions-filters .sessions-search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.sessions-page .sessions-filters .sessions-status-filter{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.sessions-page .sessions-filters .sessions-status-filter .status-select{padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-width:180px}.sessions-page .sessions-filters .sessions-status-filter .status-select:focus{outline:none;border-color:hsl(var(--primary))}.sessions-page .sessions-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}@media (min-width: 768px){.sessions-page .sessions-table-container{overflow-x:visible}}.sessions-page .sessions-table-container .sessions-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card))}.sessions-page .sessions-table-container .sessions-table tr{border-bottom:1px solid hsl(var(--border))}.sessions-page .sessions-table-container .sessions-table th,.sessions-page .sessions-table-container .sessions-table td{padding:1rem;text-align:left}.sessions-page .sessions-table-container .sessions-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.sessions-page .sessions-table-container .sessions-table .session-row:hover{background-color:hsl(var(--muted)/.5)}.sessions-page .sessions-table-container .sessions-table .session-row:last-child td{border-bottom:none}.sessions-page .sessions-table-container .sessions-table .status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.sessions-page .sessions-table-container .sessions-table .status-badge.active{background-color:#16a24933;color:#16a249}.sessions-page .sessions-table-container .sessions-table .status-badge.inactive{background-color:#ef434333;color:#ef4343}.sessions-page .sessions-pagination{display:flex;justify-content:center;gap:.5rem}.sessions-page .sessions-pagination .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.sessions-page .sessions-pagination .pagination-button:hover{background-color:hsl(var(--muted))}.sessions-page .sessions-pagination .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.price-plans-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.price-plans-page .price-plans-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground))}.price-plans-page .price-plans-title .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.price-plans-page .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.price-plans-page .refresh-icon.refreshing{animation:spin .5s linear infinite}.price-plans-page .price-plans-tabs{margin-top:1.2rem;background-color:hsl(var(--muted));display:flex;justify-content:start;gap:.5rem;padding:.2rem;border-radius:10px;width:max-content}.price-plans-page .price-plans-tabs .tab{background-color:transparent;border-width:0;padding:.5rem;font-weight:600;cursor:pointer;border-radius:5px;color:hsl(var(--muted-foreground))}.price-plans-page .price-plans-tabs .tab.active{background-color:hsl(var(--background));box-shadow:0 2px 4px #0000001a;color:hsl(var(--foreground))}.plan-list{padding-top:2rem;padding-bottom:2rem;max-width:100%}.plan-list .plan-list-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;justify-self:end}@media (min-width: 768px){.plan-list .plan-list-header{flex-direction:row;justify-content:space-between;align-items:center}}.plan-list .plan-list-header .filters-container{display:flex;align-items:center;gap:1rem;justify-content:flex-end}.plan-list .plan-list-header .filters-container .filter-select{padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-width:180px}.plan-list .plan-list-header .filters-container .filter-select:focus{outline:none;border-color:hsl(var(--primary))}.plan-list .plan-list-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}@media (min-width: 768px){.plan-list .plan-list-table-container{overflow-x:visible}}.plan-list .plan-list-table-container .plan-list-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card))}.plan-list .plan-list-table-container .plan-list-table tr{border-bottom:1px solid hsl(var(--border))}.plan-list .plan-list-table-container .plan-list-table th,.plan-list .plan-list-table-container .plan-list-table td{padding:1rem;text-align:left}.plan-list .plan-list-table-container .plan-list-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.plan-list .plan-list-table-container .plan-list-table .plan-row:hover{background-color:hsl(var(--muted)/.5)}.plan-list .plan-list-table-container .plan-list-table .plan-row:last-child td{border-bottom:none}.plan-list .plan-list-table-container .plan-list-table .plan-row .edit-input,.plan-list .plan-list-table-container .plan-list-table .plan-row .edit-select{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));width:100%}.plan-list .plan-list-table-container .plan-list-table .plan-row .edit-input:focus,.plan-list .plan-list-table-container .plan-list-table .plan-row .edit-select:focus{outline:none;border-color:hsl(var(--primary))}.plan-list .plan-list-table-container .plan-list-table .plan-row .edit-select{cursor:pointer}.plan-list .loading-container{display:flex;justify-content:start;padding:2rem;color:hsl(var(--muted-foreground))}.plan-list .no-data{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.plan-list .pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.plan-list .pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.plan-list .pagination{display:flex;gap:.5rem}.plan-list .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.plan-list .pagination-button:hover{background-color:hsl(var(--muted))}.plan-list .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.plan-list .action-buttons{display:flex;gap:.5rem}.plan-list .action-buttons button{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:transparent;cursor:pointer;transition:all .2s}.plan-list .action-buttons button:hover{background-color:hsl(var(--muted)/.5)}.plan-list .action-buttons .edit-button{color:hsl(var(--foreground))}.plan-list .action-buttons .edit-button:hover{border-color:hsl(var(--primary))}.plan-list .action-buttons .save-button{color:hsl(var(--primary))}.plan-list .action-buttons .save-button:hover{border-color:hsl(var(--primary));background-color:hsl(var(--primary)/.1)}.plan-list .action-buttons .cancel-button{color:hsl(var(--muted-foreground))}.plan-list .action-buttons .cancel-button:hover{border-color:hsl(var(--muted-foreground))}.plan-list .action-buttons .delete-button{color:hsl(var(--destructive))}.plan-list .action-buttons .delete-button:hover{border-color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1)}.error-message{background-color:hsl(var(--background));color:hsl(var(--destructive));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #fcc}.success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid hsl(var(--success)/.2)}.loading-overlay{position:fixed;inset:0;background-color:hsl(var(--background)/.7);display:flex;justify-content:center;align-items:center;z-index:1000}button:disabled{opacity:.5;cursor:not-allowed}input:disabled,select:disabled{opacity:.7;cursor:not-allowed}.add-plan{padding-top:2rem;padding-bottom:2rem;padding-left:2rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));margin-bottom:2rem;margin-top:2rem;position:relative}.add-plan .server-error-message{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--destructive)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-plan .server-success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-plan .add-plan-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:hsl(var(--foreground))}.add-plan .add-plan-form{display:flex;flex-direction:column;gap:1.5rem;padding-right:2rem}.add-plan .add-plan-form .add-plan-form-group{display:flex;flex-direction:column;gap:.5rem}.add-plan .add-plan-form .add-plan-form-group .form-label{font-weight:500;color:hsl(var(--foreground))}.add-plan .add-plan-form .add-plan-form-group .form-select,.add-plan .add-plan-form .add-plan-form-group .add-plan-form-input{padding-top:.75rem;padding-bottom:.75rem;padding-left:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:1rem}.add-plan .add-plan-form .add-plan-form-group .form-select:focus,.add-plan .add-plan-form .add-plan-form-group .add-plan-form-input:focus{outline:none;border-color:hsl(var(--primary))}.add-plan .add-plan-form .add-plan-form-group .form-select.error,.add-plan .add-plan-form .add-plan-form-group .add-plan-form-input.error{border-color:hsl(var(--destructive))}.add-plan .add-plan-form .add-plan-form-group .form-select:disabled,.add-plan .add-plan-form .add-plan-form-group .add-plan-form-input:disabled{opacity:.7;cursor:not-allowed;background-color:hsl(var(--muted))}.add-plan .add-plan-form .add-plan-form-group .error-message{color:hsl(var(--destructive));font-size:.875rem}.add-plan .add-plan-form .submit-button{padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:background-color .2s;align-self:flex-start}.add-plan .add-plan-form .submit-button:hover:not(:disabled){background-color:hsl(var(--primary)/.9)}.add-plan .add-plan-form .submit-button:disabled{opacity:.7;cursor:not-allowed;background-color:hsl(var(--muted))}:root{--success: 142 76% 36%}.sites-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.sites-page .sites-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:hsl(var(--foreground))}.sites-page .sites-title .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.sites-page .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.sites-page .refresh-icon.refreshing{animation:spin .5s linear infinite}.sites-page .refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:all .2s ease}.sites-page .refresh-button:hover:not(:disabled){background-color:hsl(var(--primary)/.9);transform:translateY(-1px)}.sites-page .refresh-button:disabled{opacity:.7;cursor:not-allowed}.sites-page .refresh-button.refreshing .refresh-icon{animation:spin 1s linear infinite}.sites-page .refresh-button .refresh-icon{width:1.25rem;height:1.25rem}.sites-page .sites-tabs{margin-top:1.2rem;background-color:hsl(var(--muted));display:flex;justify-content:start;gap:.5rem;padding:.2rem;border-radius:10px;width:max-content}.sites-page .sites-tabs .tab{background-color:transparent;border-width:0;padding:.5rem;font-weight:600;cursor:pointer;border-radius:5px;color:hsl(var(--muted-foreground))}.sites-page .sites-tabs .tab.active{background-color:hsl(var(--background));box-shadow:0 2px 4px #0000001a;color:hsl(var(--foreground))}.sites-page .sites-list{margin-top:2rem}.sites-page .sites-list .loading-container{display:flex;justify-content:start;padding:2rem;color:hsl(var(--muted-foreground))}.sites-page .sites-list .no-data{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.sites-page .sites-list .error-message{background-color:hsl(var(--background));color:hsl(var(--destructive));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #fcc}.sites-page .sites-list .success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid hsl(var(--success)/.2)}.sites-page .sites-filters{display:flex;justify-content:space-between;padding-bottom:1rem}.sites-page .sites-filters .sites-search-container{position:relative;width:100%;display:flex;align-items:center}@media (min-width: 768px){.sites-page .sites-filters .sites-search-container{width:320px}}.sites-page .sites-filters .sites-search-container .search-icon{position:absolute;left:10px;color:hsl(var(--muted-foreground));z-index:1}.sites-page .sites-filters .sites-search-container .search-input{border:1px solid hsl(var(--muted-foreground));border-radius:.25rem;background-color:hsl(var(--background));color:hsl(var(--foreground));padding:.75rem 1rem .75rem 2.5rem;width:100%}.sites-page .sites-filters .sites-search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.sites-page .sites-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}.sites-page .sites-table-container .sites-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card));min-width:600px}@media (min-width: 768px){.sites-page .sites-table-container .sites-table{min-width:auto}}.sites-page .sites-table-container .sites-table tr{border-bottom:1px solid hsl(var(--border))}.sites-page .sites-table-container .sites-table th,.sites-page .sites-table-container .sites-table td{padding:1rem;text-align:left}.sites-page .sites-table-container .sites-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.sites-page .sites-table-container .sites-table .site-row:hover{background-color:hsl(var(--muted)/.5)}.sites-page .sites-table-container .sites-table .site-row:last-child td{border-bottom:none}.sites-page .sites-table-container .sites-table .site-row .edit-input,.sites-page .sites-table-container .sites-table .site-row .edit-select{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));width:100%}.sites-page .sites-table-container .sites-table .site-row .edit-input:focus,.sites-page .sites-table-container .sites-table .site-row .edit-select:focus{outline:none;border-color:hsl(var(--primary))}.sites-page .sites-table-container .sites-table .no-results{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.sites-page .pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.sites-page .pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.sites-page .pagination{display:flex;gap:.5rem}.sites-page .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.sites-page .pagination-button:hover{background-color:hsl(var(--muted))}.sites-page .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.sites-page .action-buttons{display:flex;gap:.5rem}.sites-page .action-buttons button{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:transparent;cursor:pointer;transition:all .2s}.sites-page .action-buttons button:hover{background-color:hsl(var(--muted)/.5)}.sites-page .action-buttons .edit-button{color:hsl(var(--foreground))}.sites-page .action-buttons .edit-button:hover{border-color:hsl(var(--primary))}.sites-page .action-buttons .save-button{color:hsl(var(--primary))}.sites-page .action-buttons .save-button:hover{border-color:hsl(var(--primary));background-color:hsl(var(--primary)/.1)}.sites-page .action-buttons .cancel-button{color:hsl(var(--muted-foreground))}.sites-page .action-buttons .cancel-button:hover{border-color:hsl(var(--muted-foreground))}.sites-page .action-buttons .delete-button{color:hsl(var(--destructive))}.sites-page .action-buttons .delete-button:hover{border-color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1)}.add-site{padding-top:2rem;padding-bottom:2rem;padding-left:2rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));margin-bottom:2rem;margin-top:2rem}.add-site .server-error-message{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--destructive)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-site .server-success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-site .add-site-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:hsl(var(--foreground))}.add-site .add-site-form{display:flex;flex-direction:column;gap:1.5rem;padding-right:2rem}.add-site .add-site-form .add-site-form-group{display:flex;flex-direction:column;gap:.5rem}.add-site .add-site-form .add-site-form-group .form-label{font-weight:500;color:hsl(var(--foreground))}.add-site .add-site-form .add-site-form-group .form-select,.add-site .add-site-form .add-site-form-group .add-site-form-input{padding-top:.75rem;padding-bottom:.75rem;padding-left:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:1rem}.add-site .add-site-form .add-site-form-group .form-select:focus,.add-site .add-site-form .add-site-form-group .add-site-form-input:focus{outline:none;border-color:hsl(var(--primary))}.add-site .add-site-form .add-site-form-group .form-select.error,.add-site .add-site-form .add-site-form-group .add-site-form-input.error{border-color:hsl(var(--destructive))}.add-site .add-site-form .add-site-form-group .error-message{color:hsl(var(--destructive));font-size:.875rem}.add-site .add-site-form .submit-button{padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:background-color .2s;align-self:flex-start}.add-site .add-site-form .submit-button:hover:not(:disabled){background-color:hsl(var(--primary)/.9)}.add-site .add-site-form .submit-button:disabled{opacity:.7;cursor:not-allowed}.revenue-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh}.revenue-page .revenue-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}@media (max-width: 768px){.revenue-page .revenue-header{flex-direction:column;gap:1rem}}.revenue-page .revenue-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1rem}.revenue-page .revenue-title .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0rem}.revenue-page .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.revenue-page .refresh-icon.refreshing{animation:spin .5s linear infinite}.revenue-page .refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:all .2s ease}.revenue-page .refresh-button:hover:not(:disabled){background-color:hsl(var(--primary)/.9);transform:translateY(-1px)}.revenue-page .refresh-button:disabled{opacity:.7;cursor:not-allowed}.revenue-page .refresh-button.refreshing .refresh-icon{animation:spin 1s linear infinite}.revenue-page .refresh-button .refresh-icon{width:1.25rem;height:1.25rem}.revenue-page .revenue-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:hsl(var(--muted-foreground))}.revenue-page .revenue-loading-container .loading-spinner{margin-bottom:1rem}.revenue-page .revenue-loading-container .loading-spinner .spinner-icon{width:3rem;height:3rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.revenue-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:hsl(var(--destructive))}.revenue-page .error-container .error-icon{width:3rem;height:3rem;margin-bottom:1rem}.revenue-page .error-container h3{margin:0 0 .5rem;font-size:1.5rem}.revenue-page .error-container p{margin:0 0 1.5rem;color:hsl(var(--muted-foreground))}.revenue-page .error-container .retry-button{padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-weight:500;transition:background-color .2s}.revenue-page .error-container .retry-button:hover{background-color:hsl(var(--primary)/.9)}.revenue-page .revenue-filters{display:flex;justify-content:space-between;padding-bottom:1rem;gap:1rem}@media (max-width: 768px){.revenue-page .revenue-filters{flex-direction:column}}.revenue-page .revenue-filters .revenue-search-container{position:relative;display:flex;align-items:center;width:100%}@media (min-width: 768px){.revenue-page .revenue-filters .revenue-search-container{width:320px}}.revenue-page .revenue-filters .revenue-search-container .search-icon{position:absolute;left:.75rem;width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground));z-index:1}.revenue-page .revenue-filters .revenue-search-container .search-input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem}.revenue-page .revenue-filters .revenue-search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.revenue-page .revenue-filters .revenue-search-container .search-input::placeholder{color:hsl(var(--muted-foreground))}.revenue-page .revenue-filters .revenue-status-filter .status-select{padding:.75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-width:180px;font-size:.875rem}.revenue-page .revenue-filters .revenue-status-filter .status-select:focus{outline:none;border-color:hsl(var(--primary))}.revenue-page .no-results{display:flex;justify-content:center;align-items:center;padding:3rem;color:hsl(var(--muted-foreground));font-style:italic}.revenue-page .revenue-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}.revenue-page .revenue-table-container .revenue-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card));font-size:.875rem}.revenue-page .revenue-table-container .revenue-table th,.revenue-page .revenue-table-container .revenue-table td{padding:1rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.revenue-page .revenue-table-container .revenue-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));white-space:nowrap}.revenue-page .revenue-table-container .revenue-table .revenue-row:hover{background-color:hsl(var(--muted)/.5)}.revenue-page .revenue-table-container .revenue-table .revenue-row:last-child td{border-bottom:none}.revenue-page .revenue-table-container .revenue-table .status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;display:inline-block;text-align:center;min-width:80px}.revenue-page .revenue-table-container .revenue-table .status-badge.active{background-color:#16a24933;color:#16a249}.revenue-page .revenue-table-container .revenue-table .status-badge.expired{background-color:#ef434333;color:#ef4343}.revenue-page .revenue-table-container .revenue-table .status-badge.redeemable{background-color:#65758b33;color:#65758b}.revenue-page .pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.revenue-page .pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.revenue-page .pagination{display:flex;gap:.5rem}.revenue-page .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.revenue-page .pagination-button:hover{background-color:hsl(var(--muted))}.revenue-page .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.revenue-page .pagination-ellipsis{display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;color:hsl(var(--muted-foreground));min-width:2.5rem;font-size:.875rem}@media (min-width: 640px){.revenue-page .pagination-ellipsis{min-width:3rem;padding:.5rem}}.dark .revenue-page .revenue-table-container .revenue-table{background-color:hsl(var(--card))}.dark .revenue-page .revenue-table-container .revenue-table th{background-color:hsl(var(--muted))}.managers-page{display:flex;padding:1.5rem;flex-direction:column;background-color:hsl(var(--background));color:hsl(var(--foreground))}.managers-page .managers-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:hsl(var(--foreground))}.managers-page .managers-title .subtitle{font-size:1rem;font-weight:400;color:hsl(var(--muted-foreground));margin-top:0}.managers-page .refresh-icon{width:1.45rem;height:1.25rem;cursor:pointer;margin-left:.5rem;color:hsl(var(--muted-foreground))}.managers-page .refresh-icon.refreshing{animation:spin .5s linear infinite}.managers-page .managers-tabs{margin-top:1.2rem;background-color:hsl(var(--muted));display:flex;justify-content:start;gap:.5rem;padding:.2rem;border-radius:10px;width:max-content}.managers-page .managers-tabs .tab{background-color:transparent;border-width:0;padding:.5rem;font-weight:600;cursor:pointer;border-radius:5px;color:hsl(var(--muted-foreground))}.managers-page .managers-tabs .tab.active{background-color:hsl(var(--background));box-shadow:0 2px 4px #0000001a;color:hsl(var(--foreground))}.managers-page .managers-list{margin-top:2rem}.managers-page .managers-list .error-message{background-color:hsl(var(--background));color:hsl(var(--destructive));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid #fcc}.managers-page .managers-list .success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:10px;border-radius:4px;margin-bottom:15px;border:1px solid hsl(var(--success)/.2)}.managers-page .managers-list .loading-container{display:flex;justify-content:start;padding:2rem;color:hsl(var(--muted-foreground))}.managers-page .managers-list .no-data{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-style:italic}.managers-page .managers-filters{display:flex;justify-content:space-between;padding-bottom:1rem}.managers-page .managers-filters .managers-search-container{position:relative;width:100%}@media (min-width: 768px){.managers-page .managers-filters .managers-search-container{width:320px}}.managers-page .managers-filters .managers-search-container .search-icon{margin-right:.5rem}.managers-page .managers-filters .managers-search-container .search-input{border:1px solid hsl(var(--muted-foreground));border-radius:.25rem;background-color:hsl(var(--background));color:hsl(var(--foreground))}.managers-page .managers-filters .managers-search-container .search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.managers-page .managers-filters .managers-status-filter{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.managers-page .managers-filters .managers-status-filter .status-select{padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;min-width:180px}.managers-page .managers-filters .managers-status-filter .status-select:focus{outline:none;border-color:hsl(var(--primary))}.managers-page .managers-table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow-x:auto;margin-bottom:2rem}@media (min-width: 768px){.managers-page .managers-table-container{overflow-x:visible}}.managers-page .managers-table-container .managers-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card))}.managers-page .managers-table-container .managers-table tr{border-bottom:1px solid hsl(var(--border))}.managers-page .managers-table-container .managers-table th,.managers-page .managers-table-container .managers-table td{padding:1rem;text-align:left}.managers-page .managers-table-container .managers-table th{background-color:hsl(var(--muted));font-weight:600;color:hsl(var(--foreground));font-size:.875rem}.managers-page .managers-table-container .managers-table .manager-row:hover{background-color:hsl(var(--muted)/.5)}.managers-page .managers-table-container .managers-table .manager-row:last-child td{border-bottom:none}.managers-page .managers-table-container .managers-table .manager-row .edit-input,.managers-page .managers-table-container .managers-table .manager-row .edit-select{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));width:100%}.managers-page .managers-table-container .managers-table .manager-row .edit-input:focus,.managers-page .managers-table-container .managers-table .manager-row .edit-select:focus{outline:none;border-color:hsl(var(--primary))}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container{position:relative}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .edit-select-multi{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));width:100%;height:5rem}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .edit-select-multi:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .edit-select-multi option{padding:.5rem;border-bottom:1px solid hsl(var(--border)/.3)}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .edit-select-multi option:last-child{border-bottom:none}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .edit-select-multi option:checked{background-color:hsl(var(--primary)/.2);color:hsl(var(--foreground))}.managers-page .managers-table-container .managers-table .manager-row .multi-select-container .multi-select-help{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.5rem;padding:.25rem .5rem;background-color:hsl(var(--muted)/.3);border-radius:var(--radius);line-height:1.3}.managers-page .managers-table-container .managers-table .manager-row .edit-select{cursor:pointer}.managers-page .pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:0 .5rem}.managers-page .pagination-info{color:hsl(var(--muted-foreground));font-size:.875rem}.managers-page .pagination{display:flex;gap:.5rem}.managers-page .pagination-button{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.managers-page .pagination-button:hover{background-color:hsl(var(--muted))}.managers-page .pagination-button.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.managers-page .action-buttons{display:flex;gap:.5rem}.managers-page .action-buttons button{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:transparent;cursor:pointer;transition:all .2s}.managers-page .action-buttons button:hover{background-color:hsl(var(--muted)/.5)}.managers-page .action-buttons .edit-button{color:hsl(var(--foreground))}.managers-page .action-buttons .edit-button:hover{border-color:hsl(var(--primary))}.managers-page .action-buttons .save-button{color:hsl(var(--primary))}.managers-page .action-buttons .save-button:hover{border-color:hsl(var(--primary));background-color:hsl(var(--primary)/.1)}.managers-page .action-buttons .cancel-button{color:hsl(var(--muted-foreground))}.managers-page .action-buttons .cancel-button:hover{border-color:hsl(var(--muted-foreground))}.managers-page .action-buttons .delete-button{color:hsl(var(--destructive))}.managers-page .action-buttons .delete-button:hover{border-color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1)}.add-manager{padding-top:2rem;padding-bottom:2rem;padding-left:2rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));margin-bottom:2rem;margin-top:2rem}.add-manager .server-error-message{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--destructive)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-manager .server-success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.add-manager .add-manager-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:hsl(var(--foreground))}.add-manager .add-manager-form{display:flex;flex-direction:column;gap:1.5rem;padding-right:2rem}.add-manager .add-manager-form .add-manager-form-group{display:flex;flex-direction:column;gap:.5rem}.add-manager .add-manager-form .add-manager-form-group .form-label{font-weight:500;color:hsl(var(--foreground))}.add-manager .add-manager-form .add-manager-form-group .add-manager-form-select,.add-manager .add-manager-form .add-manager-form-group .add-manager-form-input{padding-top:.75rem;padding-bottom:.75rem;padding-left:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:1rem}.add-manager .add-manager-form .add-manager-form-group .add-manager-form-select:focus,.add-manager .add-manager-form .add-manager-form-group .add-manager-form-input:focus{outline:none;border-color:hsl(var(--primary))}.add-manager .add-manager-form .add-manager-form-group .add-manager-form-select.error,.add-manager .add-manager-form .add-manager-form-group .add-manager-form-input.error{border-color:hsl(var(--destructive))}.add-manager .add-manager-form .add-manager-form-group .error-message{color:hsl(var(--destructive));font-size:.875rem}.add-manager .add-manager-form .submit-button{padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:background-color .2s;align-self:flex-end}.add-manager .add-manager-form .submit-button:hover:not(:disabled){background-color:hsl(var(--primary)/.9)}.add-manager .add-manager-form .submit-button:disabled{opacity:.7;cursor:not-allowed}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--success: 142 76% 36%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 277 100% 25%;--primary-foreground: 60 100% 50%;--secondary: 60 100% 50%;--secondary-foreground: 277 100% 25%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 277 60% 94%;--accent-foreground: 277 100% 25%;--destructive: 360 100% 47.1%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 277 100% 25%;--radius: .5rem;--sidebar-background: 0 0% 100%;--sidebar-foreground: 277 25% 25%;--sidebar-primary: 277 100% 25%;--sidebar-primary-foreground: 60 100% 50%;--sidebar-accent: 277 25% 95%;--sidebar-accent-foreground: 277 100% 25%;--sidebar-border: 214.3 31.8% 91.4%;--sidebar-ring: 277 100% 25%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 277 100% 35%;--primary-foreground: 60 100% 50%;--secondary: 60 100% 50%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 277 60% 20%;--accent-foreground: 60 100% 50%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 277 65% 50%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 60 100% 50%;--sidebar-primary: 277 90% 40%;--sidebar-primary-foreground: 60 100% 50%;--sidebar-accent: 277 25% 20%;--sidebar-accent-foreground: 60 100% 50%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 277 65% 50%}body{color:hsl(var(--foreground));background-color:hsl(var(--background));margin:0;height:100%}button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.6em 1.2em;font-weight:500;transition:all .2s}button:hover{opacity:.9}a{color:hsl(var(--primary));text-decoration:none}a:hover{text-decoration:underline}html.dark{color-scheme:dark}html.light{color-scheme:light}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:1px solid hsl(var(--border));border-top:4px solid hsl(var(--border));border-radius:50%;animation:spin 1s linear infinite}.error-boundary{padding:2rem;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;max-width:800px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:hsl(var(--foreground))}.error-boundary h2{color:hsl(var(--destructive));margin-bottom:1rem;font-size:1.8rem}.error-boundary details{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;margin:1rem 0;max-height:200px;overflow:auto;width:100%;text-align:left;font-family:monospace;font-size:.875rem}.error-boundary button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;margin-top:1rem;transition:background-color .2s}.error-boundary button:hover{background-color:hsl(var(--primary)/.9)}.user-friendly-error{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:2rem}.user-friendly-error .error-content{text-align:center;max-width:500px;background:hsl(var(--card));color:hsl(var(--card-foreground));padding:2rem;border-radius:var(--radius);box-shadow:0 4px 6px #0000001a;border:1px solid hsl(var(--border))}.user-friendly-error h2{color:hsl(var(--destructive));margin-bottom:1rem;font-size:1.8rem}.user-friendly-error p{margin-bottom:1.5rem;color:hsl(var(--muted-foreground));line-height:1.6}.user-friendly-error .error-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.user-friendly-error .error-actions button{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem;transition:background-color .2s}.user-friendly-error .error-actions button:first-child{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.user-friendly-error .error-actions button:last-child{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.user-friendly-error .error-actions button:hover{opacity:.9}.user-friendly-error details{text-align:left;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:var(--radius);padding:1rem;margin-top:1rem}.user-friendly-error summary{cursor:pointer;color:hsl(var(--foreground));margin-bottom:.5rem;font-weight:500}.dark .error-boundary,.dark .user-friendly-error{background-color:hsl(var(--background))}.dark .error-boundary details,.dark .user-friendly-error details{background-color:hsl(var(--muted));border-color:hsl(var(--border))}.dark .user-friendly-error .error-content{background:hsl(var(--card));border-color:hsl(var(--border))}.signup-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));color:hsl(var(--foreground));padding:2rem}.signup-container .signup-form{width:100%;max-width:500px;padding:2rem;margin-bottom:5rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border))}.signup-container .signup-form h2{color:hsl(var(--primary));margin-bottom:1.5rem;margin-top:0;text-align:center;font-size:1.8rem}.signup-container .signup-form .name-fields{display:flex;gap:1.5rem}.signup-container .signup-form .name-fields .form-group{flex:1;min-width:0}.signup-container .signup-form .form-group{margin-bottom:1.5rem}.signup-container .signup-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.signup-container .signup-form .form-group input{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);transition:border-color .2s}.signup-container .signup-form .form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.signup-container .signup-form .form-group input:disabled{opacity:.6;cursor:not-allowed;background-color:hsl(var(--muted))}.signup-container .signup-form .form-group.password{position:relative}.signup-container .signup-form .form-group.password input{padding-right:3rem}.signup-container .signup-form .form-group.password .password-toggle{position:absolute;right:.75rem;top:30%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));border-radius:4px;transition:color .2s ease;height:30px;width:30px;display:flex;align-items:center;justify-content:center}.signup-container .signup-form .form-group.password .password-toggle:hover{color:hsl(var(--foreground));background-color:hsl(var(--accent))}.signup-container .signup-form .form-group.password .password-toggle:focus{outline:none;box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.signup-container .signup-success{text-align:center;padding:3rem 2rem;background-color:hsl(var(--card));border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border));max-width:500px;width:100%}.signup-container .signup-success h2{color:hsl(var(--success));margin-bottom:1rem;font-size:2rem}.signup-container .signup-success p{margin-bottom:2rem;color:hsl(var(--muted-foreground));font-size:1.1rem}.signup-container .signup-success .login-link{display:inline-block;padding:.75rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));text-decoration:none;border-radius:var(--radius);font-weight:600;transition:opacity .2s}.signup-container .signup-success .login-link:hover{opacity:.9;text-decoration:none}.error{color:hsl(var(--destructive));background-color:hsla(var(--destructive)/.12);border:1px solid hsl(var(--destructive)/.3);font-size:.875rem;margin-top:.25rem;display:block;padding:.5rem;text-align:left}.general-error{background-color:hsl(var(--destructive)/.12);border:1px solid hsl(var(--destructive)/.3);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center;font-size:.875rem}.password-requirements{margin-top:.5rem;font-size:.875rem}.password-requirements p{margin-bottom:.5rem;color:hsl(var(--muted-foreground))}.password-requirements ul{list-style:none;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.password-requirements ul li{display:flex;align-items:center;gap:.5rem;color:hsl(var(--muted-foreground))}.password-requirements ul li:before{content:"✗";color:hsl(var(--destructive))}.password-requirements ul li.valid{color:hsl(var(--muted-foreground))}.password-requirements ul li.valid:before{content:"✓";color:green}.signup-button{width:100%;padding:.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .2s}.signup-button:hover:not(:disabled){opacity:.9}.signup-button:active:not(:disabled){transform:scale(.98)}.signup-button:disabled{opacity:.6;cursor:not-allowed}.dark .signup-form{box-shadow:0 4px 6px hsla(var(--foreground)/.2)}.dark .password-requirements li{color:hsl(var(--muted-foreground))}.dark .signup-success{background-color:hsl(var(--card));border-color:hsl(var(--border))}.dark .signup-success h2{color:green}.login-prompt{margin-top:1.5rem;text-align:center;font-size:1rem}.login-prompt .login-link{color:hsl(var(--primary));text-decoration:none;font-weight:500}.login-prompt .login-link:hover{text-decoration:underline}@media (max-width: 640px){.signup-container{padding:1rem}.signup-container .signup-form{padding:1.5rem}.name-fields{flex-direction:column;gap:1rem!important}.password-requirements ul{grid-template-columns:1fr!important}.signup-success{padding:2rem 1.5rem}.signup-success h2{font-size:1.5rem!important}}.topnav{border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--background));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40}@supports (backdrop-filter: blur()){.topnav{background-color:hsla(var(--background)/.6)}}.topnav-container{display:flex;height:4rem;align-items:center;justify-content:space-between;padding:0 1.5rem}@media (min-width: 640px){.topnav-container{padding:0 2rem}}.topnav-left{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:hsl(var(--foreground))}.logo .logo-image{height:2rem;width:auto}.logo .logo-text{font-size:1.25rem;font-weight:700;cursor:pointer;color:hsl(var(--foreground))}.topnav-right{display:flex;align-items:center;gap:1rem}.icon-button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;border-radius:.25rem;color:hsl(var(--foreground));padding:.5rem;transition:background-color .2s}.icon-button:hover{background-color:hsla(var(--foreground)/.05);color:hsl(var(--primary))}.icon{height:1.25rem;width:1.25rem}.login-button{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}@media (max-width: 768px){.topnav-container{padding:0 1rem}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:1rem}.login-form{box-sizing:border-box;width:100%;max-width:500px;padding:2rem;margin-bottom:5rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border))}.login-form h2{color:hsl(var(--primary));margin-bottom:1.5rem;margin-top:0;text-align:center;font-size:1.8rem}.login-form .form-group{margin-bottom:1.5rem}.login-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.login-form .form-group input{width:100%;padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);box-sizing:border-box;transition:border-color .2s}.login-form .form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.login-form .form-group .password-input-container{position:relative}.login-form .form-group .password-input-container input{width:100%;padding:.75rem 3rem .75rem .75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);box-sizing:border-box;transition:border-color .2s}.login-form .form-group .password-input-container input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.login-form .form-group .password-input-container input.error-input{border-color:hsl(var(--destructive))}.login-form .form-group .error{color:hsl(var(--destructive));background-color:hsla(var(--destructive)/.12);border:1px solid hsl(var(--destructive)/.3);font-size:.875rem;margin-top:.25rem;display:block;padding:.5rem;text-align:left}.login-form .form-group.password{position:relative}.login-form .form-group.password input{padding-right:3rem}.login-form .form-group.password .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));border-radius:4px;transition:color .2s ease;height:30px;width:30px;display:flex;align-items:center;justify-content:center}.login-form .form-group.password .password-toggle:hover{color:hsl(var(--foreground));background-color:hsl(var(--accent))}.login-form .form-group.password .password-toggle:focus{outline:none;box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.forgot-password{display:block;text-align:right;font-size:.875rem;margin-top:.5rem;color:hsl(var(--muted-foreground));text-decoration:none}.forgot-password:hover{color:hsl(var(--primary));text-decoration:underline}.login-button{width:100%;padding:.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:hsl(var(--primary)/.9)}.signup-prompt{text-align:center;margin-top:1.5rem;color:hsl(var(--muted-foreground))}.signup-prompt .signup-link{color:hsl(var(--primary));text-decoration:none;font-weight:500}.signup-prompt .signup-link:hover{text-decoration:underline}.auth-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:hsl(var(--background));color:hsl(var(--foreground));font-family:inherit}.tegrafi-loading{text-align:center}.tegrafi-loading p{margin-top:1rem;color:hsl(var(--muted-foreground));font-size:.875rem}.tegrafi-spinner{width:48px;height:48px;border:3px solid hsl(var(--muted));border-top:3px solid hsl(var(--primary));border-right:3px solid hsl(var(--secondary));border-radius:50%;animation:tegrafi-spin 1.2s linear infinite;margin:0 auto}@keyframes tegrafi-spin{0%{transform:rotate(0);border-top-color:hsl(var(--primary));border-right-color:hsl(var(--secondary))}50%{border-top-color:hsl(var(--secondary));border-right-color:hsl(var(--primary))}to{transform:rotate(360deg);border-top-color:hsl(var(--primary));border-right-color:hsl(var(--secondary))}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-icon{position:relative;width:64px;height:64px;margin:0 auto}.loading-icon .spinner{width:100%;height:100%;color:hsl(var(--primary));animation:spin 1.2s linear infinite}.loading-icon .shield{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;color:hsl(var(--secondary))}.forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:1rem;flex-direction:column}.forgot-password-container .error-message{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--destructive)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.forgot-password-container .success-message{background-color:hsl(var(--success)/.1);color:hsl(var(--success));padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--success)/.2);margin-bottom:1.5rem;font-size:.875rem;width:max-content}.forgot-password-form{box-sizing:border-box;width:100%;max-width:500px;padding:2rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border));margin-bottom:5rem}.forgot-password-form h2{color:hsl(var(--primary));margin-bottom:1rem;margin-top:0;text-align:center;font-size:1.8rem}.forgot-password-form .instruction-text{text-align:center;color:hsl(var(--muted-foreground));margin-bottom:1.5rem;line-height:1.5}.forgot-password-form .form-group{margin-bottom:1.5rem}.forgot-password-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.forgot-password-form .form-group input{width:100%;padding:.75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);box-sizing:border-box;transition:border-color .2s}.forgot-password-form .form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.forgot-password-form .form-group .error{color:hsl(var(--destructive));background-color:hsla(var(--destructive)/.12);border:1px solid hsl(var(--destructive)/.3);font-size:.875rem;margin-top:.25rem;display:block;padding:.5rem;text-align:left}.back-to-login{text-align:center;color:hsl(var(--muted-foreground))}.success-message{text-align:center;padding:1rem;background-color:hsl(var(--accent));border-radius:var(--radius);margin-bottom:1.5rem}.success-message p{margin-bottom:1rem;color:hsl(var(--foreground))}.success-message .back-to-login{display:inline-block;padding:.5rem 1rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));text-decoration:none;border-radius:var(--radius);font-weight:500}.success-message .back-to-login:hover{background-color:hsl(var(--primary)/.9);text-decoration:none}.reset-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:1rem}.reset-password-form{box-sizing:border-box;width:100%;max-width:500px;padding:2rem;margin-bottom:5rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border))}.reset-password-form h2{color:hsl(var(--primary));margin-bottom:1rem;margin-top:0;text-align:center;font-size:1.8rem}.reset-password-form .instruction-text{text-align:center;color:hsl(var(--muted-foreground));margin-bottom:1.5rem;line-height:1.5}.reset-password-form .form-group{margin-bottom:1.5rem}.reset-password-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.reset-password-form .form-group .password-input-container{position:relative}.reset-password-form .form-group .password-input-container input{width:100%;padding:.75rem 3rem .75rem .75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);box-sizing:border-box;transition:border-color .2s}.reset-password-form .form-group .password-input-container input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.reset-password-form .form-group .password-input-container input.error-input{border-color:hsl(var(--destructive))}.reset-password-form .form-group .password-input-container .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));border-radius:4px;transition:color .2s ease}.reset-password-form .form-group .password-input-container .password-toggle:hover{color:hsl(var(--foreground));background-color:hsl(var(--accent))}.reset-password-form .form-group .password-input-container .password-toggle:focus{outline:none;box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.reset-password-form .form-group .error{color:hsl(var(--destructive));border:1px solid hsl(var(--destructive)/.3);background-color:hsla(var(--destructive)/.12);font-size:.875rem;margin-top:.25rem;display:block;padding:.5rem;text-align:left}.reset-button{width:100%;padding:.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:1.5rem}.reset-button:hover{background-color:hsl(var(--primary)/.9)}.set-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:1rem}.set-password-form{box-sizing:border-box;width:100%;max-width:500px;padding:2rem;margin-bottom:5rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border))}.set-password-form h2{color:hsl(var(--primary));margin-bottom:1rem;margin-top:0;text-align:center;font-size:1.8rem}.set-password-form .instruction-text{text-align:center;color:hsl(var(--muted-foreground));margin-bottom:1.5rem;line-height:1.5}.set-password-form .form-group{margin-bottom:1.5rem;position:relative}.set-password-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:hsl(var(--foreground))}.set-password-form .form-group .password-input-container{position:relative}.set-password-form .form-group .password-input-container input{width:100%;padding:.75rem 3rem .75rem .75rem;border:1px solid hsl(var(--input));border-radius:var(--radius);box-sizing:border-box;transition:border-color .2s}.set-password-form .form-group .password-input-container input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.set-password-form .form-group .password-input-container input.error-input{border-color:hsl(var(--destructive))}.set-password-form .form-group .password-input-container .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));border-radius:4px;transition:color .2s ease}.set-password-form .form-group .password-input-container .password-toggle:hover{color:hsl(var(--foreground));background-color:hsl(var(--accent))}.set-password-form .form-group .password-input-container .password-toggle:focus{outline:none;box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.set-password-form .form-group .error{color:hsl(var(--destructive));border:1px solid hsl(var(--destructive)/.3);background-color:hsla(var(--destructive)/.12);font-size:.875rem;margin-top:.25rem;display:block;padding:.5rem;text-align:left}.set-button{width:100%;padding:.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:1.5rem}.set-button:hover{background-color:hsl(var(--primary)/.9)}.success-message{text-align:center;padding:1rem;background-color:hsl(var(--accent));border-radius:var(--radius)}.success-message p{margin-bottom:.5rem;color:hsl(var(--foreground))}.success-message p:last-child{margin-bottom:0;color:hsl(var(--muted-foreground));font-size:.9rem}@media (max-width: 480px){.set-password-container{padding:.5rem}.set-password-form{padding:1.5rem;margin-bottom:2rem}}.confirm-email-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:hsl(var(--background));padding:1rem}.confirm-email-container .confirm-email-card{box-sizing:border-box;width:100%;max-width:500px;padding:2.5rem;border-radius:var(--radius);box-shadow:0 4px 6px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border));text-align:center;margin-bottom:5rem}.confirm-email-container .confirm-email-card h2{color:hsl(var(--primary));margin-bottom:1.5rem;margin-top:0;font-size:1.8rem}.confirm-email-container .confirm-email-card .verifying-state{padding:2rem 0}.confirm-email-container .confirm-email-card .verifying-state .loading-spinner{width:50px;height:50px;border:4px solid hsl(var(--border));border-top:4px solid hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.confirm-email-container .confirm-email-card .verifying-state p{color:hsl(var(--muted-foreground));font-size:1.1rem}.success-state,.error-state{padding:1rem 0}.success-state .success-icon,.success-state .error-icon,.error-state .success-icon,.error-state .error-icon{margin-bottom:1.5rem}.success-state .success-icon svg,.success-state .error-icon svg,.error-state .success-icon svg,.error-state .error-icon svg{color:hsl(var(--primary))}.success-state .error-icon svg,.error-state .error-icon svg{color:hsl(var(--destructive))}.success-state h3,.error-state h3{color:hsl(var(--foreground));margin-bottom:1rem;font-size:1.4rem}.success-state p,.error-state p{color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:1.5rem}.success-state .login-button,.success-state .resend-button,.error-state .login-button,.error-state .resend-button{width:100%;padding:.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:1.5rem;font-size:1rem}.success-state .login-button:hover,.success-state .resend-button:hover,.error-state .login-button:hover,.error-state .resend-button:hover{background-color:hsl(var(--primary)/.9)}.success-state .resend-button,.error-state .resend-button{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.success-state .resend-button:hover,.error-state .resend-button:hover{background-color:hsl(var(--secondary)/.9)}.back-to-login{text-align:center}.back-to-login .login-link{color:hsl(var(--primary));text-decoration:none;font-weight:500}.back-to-login .login-link:hover{text-decoration:underline}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.confirm-email-card{padding:1.5rem}.success-state h3,.error-state h3{font-size:1.2rem}.success-state p,.error-state p{font-size:.9rem}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:300px;margin-top:4rem;padding:1rem;background-color:hsl(var(--background));border-radius:var(--radius);border:1px solid hsl(var(--border))}.error-boundary .error-boundary-content{text-align:center;max-width:500px;width:100%}.error-boundary .error-icon{font-size:3rem;margin-bottom:1rem;color:hsl(var(--destructive))}.error-boundary .error-title{color:hsl(var(--destructive));margin-bottom:1rem;font-size:1.5rem;font-weight:600}.error-boundary .error-message{color:hsl(var(--muted-foreground));margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.error-boundary .error-details{text-align:left;margin-bottom:2rem;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem}.error-boundary .error-details summary{cursor:pointer;font-weight:600;margin-bottom:.5rem;color:hsl(var(--foreground))}.error-boundary .error-details summary:hover{color:hsl(var(--primary))}.error-boundary .error-details .error-text{color:hsl(var(--destructive));font-family:monospace;margin-bottom:1rem;padding:.5rem;background:hsl(var(--background));border-radius:calc(var(--radius) - .1rem);border:1px solid hsl(var(--border));font-size:.875rem}.error-boundary .error-details .router-error-info{margin-bottom:1rem;padding:.75rem;background:hsl(var(--muted));border-radius:calc(var(--radius) - .1rem);border-left:4px solid hsl(var(--primary))}.error-boundary .error-details .router-error-info p{margin:.25rem 0;font-size:.875rem}.error-boundary .error-details .error-stack{color:hsl(var(--muted-foreground));font-size:.75rem;white-space:pre-wrap;padding:.5rem;background:hsl(var(--background));border-radius:calc(var(--radius) - .1rem);border:1px solid hsl(var(--border));max-height:200px;overflow-y:auto;line-height:1.4}.error-boundary .error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary .error-actions .btn{padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;font-weight:500;font-family:inherit}.error-boundary .error-actions .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-subtle)}.error-boundary .error-actions .btn:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.error-boundary .error-actions .btn.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.error-boundary .error-actions .btn.btn-primary:hover{background-color:#3f0066;box-shadow:0 4px 12px #4f00804d}.error-boundary .error-actions .btn.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.error-boundary .error-actions .btn.btn-secondary:hover{background-color:#e6e600;box-shadow:0 4px 12px #ffff004d}.error-boundary .error-actions .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.error-boundary.success-state{background-color:#16a2490d;border-color:#16a24933}.error-boundary.success-state .error-icon,.error-boundary.success-state .error-title{color:hsl(var(--success))}@media (max-width: 768px){.error-boundary{padding:1rem}.error-boundary .error-actions{flex-direction:column;align-items:center}.error-boundary .error-actions .btn{width:100%;max-width:200px}}
