:root{--bg:#07111f;--card:#111928db;--card-solid:#111827;--border:#ffffff1c;--text:#fff;--muted:#9ca3af;--primary:#8b5cf6;--secondary:#06b6d4;--success:#22c55e;--danger:#ef4444;--shadow:0 18px 60px #00000059;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{--bg:#f3f4f6;--card:#ffffffeb;--card-solid:#fff;--border:#00000014;--text:#111827;--muted:#6b7280;--shadow:0 18px 55px #00000014}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top left, #8b5cf638, transparent 34%), radial-gradient(circle at bottom right, #06b6d42e, transparent 30%), var(--bg);min-height:100vh;color:var(--text)}button,input,select{outline:none;font-family:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid;position:relative;overflow:hidden}.login-overlay{background:radial-gradient(circle at 0 0,#8b5cf647,#0000 30%),radial-gradient(circle at 100% 100%,#06b6d440,#0000 30%);position:fixed;inset:0}.login-card{background:var(--card);border:1px solid var(--border);width:100%;max-width:440px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;border-radius:28px;padding:32px;position:relative}.login-top{align-items:center;gap:16px;margin-bottom:18px;display:flex}.logo-circle,.sidebar-logo{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:18px;place-items:center;width:56px;min-width:56px;height:56px;font-size:22px;font-weight:800;display:grid}.eyebrow{color:var(--secondary);letter-spacing:1.4px;text-transform:uppercase;font-size:12px;font-weight:800}.login-card h1{margin-top:4px;font-size:32px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.form-group{margin-top:18px}.form-group label,.filter-field label{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.form-group input,.filter-field input,.filter-field select,.device-form input,.filter-panel select,.filter-panel input{border:1px solid var(--border);width:100%;height:46px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 14px}[data-theme=light] .form-group input,[data-theme=light] .filter-field input,[data-theme=light] .filter-field select,[data-theme=light] .device-form input,[data-theme=light] .filter-panel select,[data-theme=light] .filter-panel input{background:#fffffff2}.form-group input::placeholder,.device-form input::placeholder{color:var(--muted)}.primary-btn{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border:0;border-radius:14px;width:100%;height:48px;margin-top:24px;font-weight:800}.login-footer{text-align:center;color:var(--muted);margin-top:18px;font-size:13px}.navbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);z-index:100;background:#07111fe0;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:sticky;top:0}[data-theme=light] .navbar{background:#ffffffeb}.navbar h2{color:var(--text);white-space:nowrap;font-size:20px}.nav-actions{align-items:center;gap:12px;display:flex}.nav-actions button{border:1px solid var(--border);background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:12px;height:40px;padding:0 16px;font-weight:700}.internet{border:1px solid var(--border);background:#ffffff0f;border-radius:999px;align-items:center;gap:8px;height:40px;padding:0 14px;font-size:14px;font-weight:700;display:flex}.internet.online{color:var(--success)}.internet.offline{color:var(--danger)}.app-shell{min-height:100vh}.dashboard-layout{grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 72px);display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080f1ce6;height:calc(100vh - 72px);padding:22px 16px;position:sticky;top:72px;overflow-y:auto}[data-theme=light] .sidebar{background:#ffffffeb}.sidebar-brand{align-items:center;gap:14px;margin-bottom:30px;display:flex}.sidebar-brand h2{font-size:20px}.sidebar-brand p{color:var(--muted);font-size:13px}.sidebar-menu{flex-direction:column;gap:10px;display:flex}.sidebar-menu button{width:100%;height:52px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:12px;padding:0 16px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.sidebar-menu button:hover:not(:disabled),.sidebar-menu button.active{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-color:#0000}.dashboard{min-width:0;padding:24px}.route-loading,.dashboard-view-loading{min-height:180px;color:var(--muted);place-items:center;font-weight:800;display:grid}.route-loading{min-height:100vh}.hero-card,.filter-panel,.stat-card,.chart-card,.table-card,.event-preview-card,.empty-state{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px}.hero-card{justify-content:space-between;gap:20px;padding:26px;display:flex}.hero-card h1{margin:8px 0;font-size:34px}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.hero-actions button,.filter-panel button,.device-form button{border:1px solid var(--border);height:44px;color:var(--text);background:#ffffff0f;border-radius:14px;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.theme-switcher{gap:8px;display:flex}.theme-switcher button.active,.apply-btn{background:linear-gradient(135deg, var(--primary), var(--secondary))!important;color:#fff!important;border-color:#0000!important}.filter-panel{margin-top:18px;padding:18px}.filter-main{grid-template-columns:minmax(0,1fr) 160px;align-items:end;gap:12px;display:grid}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.event-field select{font-weight:700}.event-preview-card{grid-template-columns:220px minmax(0,1fr);margin-top:20px;display:grid;overflow:hidden}.event-preview-card img{object-fit:cover;width:220px;height:160px}.event-preview-card div{padding:20px}.event-preview-card h2{margin-bottom:8px}.stats-grid,.analytics-stats-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:18px;margin-top:20px;display:grid}.stat-card{min-width:0;padding:22px}.stat-card p,.stat-card h4{color:var(--muted);font-size:14px}.stat-card h2{word-break:break-word;margin-top:10px;font-size:34px}.charts-grid,.analytics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.analytics-chart-grid{align-items:stretch}.chart-card,.table-card{min-width:0;padding:22px;overflow:hidden}.card-heading h3{color:var(--text);margin:0;font-size:20px}.card-heading p{color:var(--muted);margin-top:4px;font-size:13px}.chart-box,.chart-wrap{width:100%;height:360px;min-height:360px;display:block}.chart-empty{height:100%;color:var(--muted);border:1px dashed var(--border);border-radius:18px;place-items:center;display:grid}.recharts-responsive-container{width:100%!important;height:100%!important;min-height:300px!important}.recharts-wrapper{width:100%!important;max-width:100%!important}.recharts-surface{overflow:visible}.recharts-legend-wrapper,.recharts-legend-item-text{color:var(--text)!important}.recharts-cartesian-axis-tick-value{fill:var(--muted)!important}.recharts-text{fill:var(--text)}.responsive-table,.table-card{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}.responsive-table table{min-width:520px}th,td{border-bottom:1px solid var(--border);text-align:left;padding:14px;font-size:14px}th{color:var(--muted);font-weight:800}td{color:var(--text)}.device-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.device-form button{justify-content:center}.empty-state{text-align:center;margin-top:22px;padding:70px 24px}.empty-state h2{margin-top:12px;margin-bottom:6px}.error{color:#fecaca;background:#ef444424;border:1px solid #ef444459;border-radius:14px;margin-top:16px;padding:14px 16px}@media (width<=1200px){.dashboard-layout{grid-template-columns:1fr}.sidebar{z-index:90;border-right:none;border-bottom:1px solid var(--border);height:auto;padding:14px;position:sticky;top:72px}.sidebar-brand{display:none}.sidebar-menu{flex-direction:row;gap:10px;padding-bottom:4px;overflow-x:auto}.sidebar-menu button{justify-content:center;min-width:140px}.stats-grid,.analytics-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-grid,.analytics-chart-grid{grid-template-columns:1fr}.filter-grid,.device-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.navbar{flex-direction:column;align-items:flex-start;gap:12px;height:auto;padding:14px 16px}.navbar h2{font-size:17px}.nav-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.nav-actions button,.internet{justify-content:center;width:100%}.dashboard-layout{min-height:auto}.sidebar{padding:12px;top:0}.sidebar-menu button{min-width:120px;height:46px;font-size:14px}.dashboard{padding:14px}.hero-card{flex-direction:column;padding:18px}.hero-card h1{font-size:26px}.hero-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.hero-actions button,.theme-switcher{width:100%}.theme-switcher{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.theme-switcher button{justify-content:center}.filter-main,.filter-grid,.event-preview-card{grid-template-columns:1fr}.event-preview-card img{width:100%;height:220px}.stats-grid,.analytics-stats-grid{grid-template-columns:1fr;gap:14px}.charts-grid,.analytics-chart-grid{grid-template-columns:1fr;gap:16px}.chart-card,.table-card{padding:16px}.chart-box,.chart-wrap{height:300px;min-height:300px}.device-form{grid-template-columns:1fr}table{min-width:520px}}@media (width<=420px){.hero-actions,.nav-actions{grid-template-columns:1fr}.login-card{padding:24px}.login-card h1{font-size:28px}.chart-box,.chart-wrap{height:280px;min-height:280px}}.analytics-view{flex-direction:column;gap:20px;width:100%;display:flex}.analytics-stats-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:18px;margin-top:20px;display:grid}.analytics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.analytics-card{min-width:0}.card-heading{margin-bottom:18px}.card-heading h3{color:var(--text);margin-bottom:4px;font-size:20px}.card-heading p{color:var(--muted);font-size:13px}.css-chart-empty{border:1px dashed var(--border);min-height:280px;color:var(--muted);border-radius:18px;place-items:center;display:grid}.css-donut-layout{grid-template-columns:240px 1fr;align-items:center;gap:24px;min-height:320px;display:grid}.css-donut{border-radius:50%;place-items:center;width:220px;height:220px;margin:auto;display:grid;box-shadow:0 0 40px #8b5cf633}.css-donut-center{background:var(--card-solid);border:1px solid var(--border);border-radius:50%;align-content:center;place-items:center;width:128px;height:128px;display:grid}.css-donut-center strong{color:var(--text);font-size:34px}.css-donut-center span{color:var(--muted);font-size:13px}.css-legend{gap:10px;display:grid}.css-legend-item{color:var(--text);grid-template-columns:12px 1fr auto;align-items:center;gap:10px;display:grid}.css-legend-item span{border-radius:4px;width:12px;height:12px}.css-legend-item p{color:var(--muted);font-size:13px}.css-legend-item strong{font-size:14px}.css-bar-chart{align-items:end;gap:18px;min-height:300px;padding:20px 10px 0;display:flex}.css-bar-item{text-align:center;flex:1;grid-template-rows:250px auto;gap:12px;min-width:70px;display:grid}.css-bar-track{border:1px solid var(--border);background:#ffffff0f;border-radius:18px;align-items:end;height:250px;display:flex;overflow:hidden}.css-bar-fill{border-radius:18px 18px 0 0;place-items:start center;width:100%;min-height:0;padding-top:8px;transition:height .3s;display:grid}.css-bar-fill span{color:#fff;font-size:13px;font-weight:800}.css-bar-item p{color:var(--muted);font-size:13px}.metric-bars{gap:18px;display:grid}.metric-row{border:1px solid var(--border);background:#ffffff09;border-radius:18px;padding:16px}.metric-name{margin-bottom:14px;font-weight:800}.metric-lines{gap:10px;display:grid}.metric-line{grid-template-columns:80px 1fr 36px;align-items:center;gap:10px;display:grid}.metric-line span{color:var(--muted);font-size:12px}.metric-line div{background:#ffffff14;border-radius:999px;height:10px;overflow:hidden}.metric-line i{border-radius:999px;height:100%;display:block}.metric-line b{text-align:right;font-size:13px}.overview-summary-card{width:100%}@media (width<=1200px){.analytics-stats-grid{grid-template-columns:repeat(3,1fr)}.analytics-chart-grid{grid-template-columns:1fr}.css-donut-layout{grid-template-columns:220px 1fr}}@media (width<=760px){.analytics-stats-grid,.css-donut-layout{grid-template-columns:1fr}.css-donut{width:200px;height:200px}.css-donut-center{width:116px;height:116px}.css-bar-chart{overflow-x:auto}.css-bar-item{min-width:90px}.metric-line{grid-template-columns:70px 1fr 32px}}.merged-hero{grid-template-columns:170px minmax(0,1fr) auto;align-items:stretch;gap:20px;display:grid}.merged-hero-image{border:1px solid var(--border);background:#ffffff0d;border-radius:20px;width:170px;min-height:150px;overflow:hidden}.merged-hero-image img{object-fit:cover;width:100%;height:100%}.merged-hero-content{min-width:0}.merged-hero-content h1{margin:8px 0 14px}.merged-meta-grid .muted{align-items:flex-start;gap:8px;display:flex}.merged-meta-grid svg{flex:none;margin-top:3px}.merged-meta-grid span{min-width:0}.small-hero{isolation:isolate;background-position:50%;background-size:cover;grid-template-columns:minmax(0,1fr) auto;gap:18px;min-height:170px;padding:22px;display:grid;position:relative;overflow:hidden}.small-hero:before{content:"";background:inherit;filter:blur(22px)brightness(.36);z-index:-2;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.14)}.small-hero:after{content:"";z-index:-1;background:linear-gradient(120deg,#07111feb,#07111fad);position:absolute;inset:0}.small-hero .merged-hero-content{z-index:2;position:relative}.small-hero h1{color:#fff;margin:8px 0 12px;font-size:30px;line-height:1.1}.merged-meta-grid{gap:7px;display:grid}.merged-meta-grid .muted{color:#ffffffd1;align-items:center;gap:8px;display:flex}.merged-hero-actions{z-index:2;flex-wrap:wrap;place-content:flex-start flex-end;gap:10px;display:flex;position:relative}.merged-hero-actions button,.merged-hero-actions .theme-switcher button{color:#fff;background:#ffffff17;border:1px solid #ffffff24}@media (width<=900px){.small-hero{grid-template-columns:1fr}.merged-hero-actions{justify-content:flex-start}}@media (width<=600px){.small-hero{min-height:150px;padding:18px}.small-hero h1{font-size:24px}.merged-hero-actions{grid-template-columns:1fr 1fr;display:grid}.merged-hero-actions .theme-switcher{grid-column:1/-1}}.devices-view{gap:20px;display:grid}.device-create-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;padding:22px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:22px}.section-heading p{color:var(--muted);margin-top:4px;font-size:14px}.device-form-modern{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px;display:grid}.form-field label{color:var(--muted);margin-bottom:7px;font-size:13px;font-weight:700;display:block}.form-field input{border:1px solid var(--border);width:100%;height:46px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 14px}.device-form-modern button,.ghost-btn,.table-actions button{border:1px solid var(--border);height:46px;color:var(--text);background:#ffffff0f;border-radius:14px;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.device-form-modern button{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;white-space:nowrap;border-color:#0000}.ghost-btn{background:#ffffff0d}.table-actions{gap:8px;display:flex}.table-actions button{justify-content:center;width:38px;height:38px;padding:0}.table-actions .danger-btn{color:#fff;background:#ef44442e;border-color:#ef444459}@media (width<=1200px){.device-form-modern{grid-template-columns:repeat(2,minmax(0,1fr))}.device-form-modern button{grid-column:1/-1;justify-content:center}}@media (width<=760px){.section-heading{flex-direction:column}.device-form-modern{grid-template-columns:1fr}.device-form-modern button,.ghost-btn{justify-content:center;width:100%}}.device-section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.device-section-title h2{margin:0;font-size:20px}.table-filter-actions select,.table-filter-actions input,.table-filter-actions button{border:1px solid var(--border);height:44px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 14px}.table-filter-actions button{cursor:pointer;font-weight:800}@media (width<=1200px){.table-filter-card{grid-template-columns:1fr}.table-filter-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.table-filter-actions{grid-template-columns:1fr}}.page-stack,.tables-view{flex-direction:column;gap:22px;display:flex}.tables-view>section{margin:0}.table-filter-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,760px);align-items:end;gap:18px;padding:22px;display:grid}.table-filter-left h2{margin:0;font-size:22px}.table-filter-left p{color:var(--muted);margin-top:4px;font-size:14px}.table-filter-actions{grid-template-columns:minmax(220px,1.4fr) minmax(130px,.8fr) minmax(130px,.8fr) auto auto;gap:12px;display:grid}.table-filter-actions select,.table-filter-actions input,.table-filter-actions button{border:1px solid var(--border);width:100%;height:44px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 14px}.table-filter-actions button{cursor:pointer;white-space:nowrap;font-weight:800}.table-filter-actions button:last-child{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-color:#0000}.table-search-input{min-width:0}.analytics-stats-grid,.analytics-chart-grid{margin-top:0!important}.chart-card,.table-card,.stat-card{margin:0}@media (width<=1200px){.table-filter-card{grid-template-columns:1fr}.table-filter-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.table-search-input{grid-column:1/-1}}@media (width<=760px){.page-stack,.tables-view{gap:16px}.table-filter-card{padding:16px}.table-filter-actions{grid-template-columns:1fr}.table-search-input{grid-column:auto}}.css-bar-chart{scrollbar-width:thin;align-items:end;gap:18px;width:100%;max-width:100%;padding:20px 10px 8px;display:flex;overflow:auto hidden}.css-bar-chart::-webkit-scrollbar{height:8px}.css-bar-chart::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.css-bar-chart::-webkit-scrollbar-thumb{background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:999px}.css-bar-item{flex:0 0 95px;min-width:95px}.css-bar-item p{text-overflow:ellipsis;white-space:nowrap;max-width:95px;overflow:hidden}@media (width<=760px){.css-bar-item{flex:0 0 86px;min-width:86px}.css-bar-item p{max-width:86px}}.analytics-stats-grid{gap:14px!important}.stat-card{border-radius:18px;min-height:92px;padding:16px!important}.stat-card h3,.stat-card .title,.stat-card .stat-title{opacity:.8;margin-bottom:8px;font-weight:700;line-height:1.2;font-size:12px!important}.stat-card h2,.stat-card .value,.stat-card .stat-value{font-weight:800;line-height:1;font-size:24px!important}@media (width<=760px){.stat-card{min-height:82px;padding:14px!important}.stat-card h3,.stat-card .title,.stat-card .stat-title{font-size:11px!important}.stat-card h2,.stat-card .value,.stat-card .stat-value{font-size:20px!important}}.tickets-view{flex-direction:column;gap:22px;display:flex}.tickets-panel-grid{grid-template-columns:minmax(320px,.85fr) minmax(480px,1.15fr);align-items:start;gap:20px;display:grid}.ticket-type-card,.ticket-details-card{background:linear-gradient(180deg, #ffffff09, transparent), var(--card);border-radius:20px}.ticket-bars{gap:18px;display:grid}.ticket-row{border:1px solid var(--border);background:#ffffff09;border-radius:18px;padding:16px}.ticket-name{margin-bottom:14px;font-weight:800}.ticket-lines{gap:10px;display:grid}@media (width<=1180px){.tickets-panel-grid{grid-template-columns:1fr}}@media (width<=760px){.tickets-view,.tickets-panel-grid{gap:16px}}.gates-view{flex-direction:column;gap:22px;display:flex}.gate-create-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;padding:22px}.gate-header h2{margin:0;font-size:22px}.gate-header p{color:var(--muted);margin-top:4px;font-size:14px}.gate-create-form{grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:18px;display:grid}.gate-create-form input{border:1px solid var(--border);width:100%;height:48px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 16px}.gate-create-form button{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;border:none;border-radius:14px;align-items:center;gap:8px;height:48px;padding:0 18px;font-weight:800;display:flex}.gate-badge{border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.gate-badge.live{color:#22c55e;background:#22c55e29}.gate-badge.custom{color:#8b5cf6;background:#8b5cf629}.delete-gate-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}@media (width<=760px){.gates-view{gap:16px}.gate-create-card{padding:16px}.gate-create-form{grid-template-columns:1fr}.gate-create-form button{justify-content:center;width:100%}}.reports-view{flex-direction:column;gap:22px;display:flex}.report-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;padding:22px}.report-form{grid-template-columns:minmax(240px,1fr) 180px 180px auto;align-items:end;gap:14px;display:grid}.report-form select,.report-form input{border:1px solid var(--border);width:100%;height:46px;color:var(--text);background:#ffffff0f;border-radius:14px;padding:0 14px}.report-form button{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 18px;font-weight:800;display:inline-flex}.report-message{color:var(--muted);margin-top:16px;font-size:14px}@media (width<=1100px){.report-form{grid-template-columns:repeat(2,minmax(0,1fr))}.report-form button{grid-column:1/-1}}@media (width<=760px){.reports-view{gap:16px}.report-card{padding:16px}.report-form{grid-template-columns:1fr}.report-form button{grid-column:auto}}.config-device-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;display:grid!important}.simple-multi-field{min-width:0}.simple-multi-select{color:#fff;background:#0f172ab8;border:1px solid #8b5cf659;border-radius:16px;outline:none;width:100%;min-height:122px;padding:10px;font-size:14px;font-weight:700}.simple-multi-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf62e}.simple-multi-select option{border-radius:10px;padding:10px}.simple-multi-select option:checked{color:#fff;background:linear-gradient(135deg,#8b5cf6,#06b6d4)}.multi-help{color:var(--muted);margin-top:6px;font-size:12px}[data-theme=light] .simple-multi-select{color:#111827;background:#fff}@media (width<=760px){.config-device-form{grid-template-columns:1fr!important}}.checkbox-option{cursor:pointer;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.checkbox-option input[type=checkbox]{cursor:pointer;accent-color:#8b5cf6;margin:0;transform:scale(1);width:14px!important;min-width:14px!important;height:14px!important;min-height:14px!important}.checkbox-option span{font-size:13px;line-height:1.2}.checkbox-multi-menu{border:1px solid var(--border);background:#0f172a;border-radius:14px;flex-direction:column;gap:4px;max-height:220px;margin-top:8px;padding:8px;display:flex;overflow-y:auto}[data-theme=light] .checkbox-multi-menu{background:#fff}.checkbox-option input{flex:0 0 14px!important;width:14px!important;height:14px!important;padding:0!important}.config-device-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:16px!important;display:grid!important}.checkbox-multi-field{min-width:0}.checkbox-multi-box{background:#0f172a94;border:1px solid #8b5cf647;border-radius:18px;overflow:hidden}.checkbox-multi-top{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:flex}.checkbox-multi-top span{color:var(--muted);font-size:12px;font-weight:800}.checkbox-multi-top div{gap:6px;display:flex}.checkbox-multi-top button{height:28px;color:var(--text);background:#8b5cf61f;border:1px solid #8b5cf652;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.checkbox-multi-list{gap:4px;max-height:170px;padding:8px;display:grid;overflow-y:auto}.checkbox-option{min-height:36px;color:var(--text);cursor:pointer;border-radius:12px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;padding:7px 9px;display:grid}.checkbox-option:hover{background:#8b5cf624}.checkbox-option input[type=checkbox],.scanner-active-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex:0 0 14px!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;min-height:14px!important;max-height:14px!important;margin:0!important;padding:0!important}.checkbox-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.checkbox-empty{color:var(--muted);padding:8px;font-size:13px}.scanner-active-toggle{border:1px solid var(--border);min-height:48px;color:var(--text);background:#ffffff0f;border-radius:14px;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.config-device-form button[type=submit]{grid-column:1/-1}[data-theme=light] .checkbox-multi-box{background:#fffffff5}@media (width<=760px){.config-device-form{grid-template-columns:1fr!important}}.configuration-view{flex-direction:column;gap:20px;display:flex}.configuration-hero,.configuration-view .configuration-card,.configuration-view .configuration-data-card{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff09, transparent), var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px}.configuration-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;display:grid}.configuration-hero h2{margin:4px 0 6px;font-size:24px}.configuration-hero p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:14px;line-height:1.55}.configuration-hero-metrics{grid-template-columns:repeat(2,96px);gap:10px;display:grid}.configuration-hero-metrics div{background:#ffffff0e;border:1px solid #ffffff1a;border-radius:16px;align-content:center;place-items:center;gap:4px;min-height:76px;padding:12px;display:grid}.configuration-hero-metrics strong{font-size:24px}.configuration-hero-metrics span{color:var(--muted);font-size:12px;font-weight:800}.configuration-view .configuration-card{padding:22px}.configuration-view .gate-header,.configuration-title-with-icon{align-items:flex-start;gap:12px;display:flex}.configuration-card-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid}.configuration-view .gate-header h2,.configuration-view .device-section-title h2{margin:0;font-size:20px}.configuration-view .device-section-title p,.configuration-view .gate-header p,.configuration-table-heading p{color:var(--muted);margin-top:4px;font-size:13px}.configuration-view .gate-create-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.configuration-view .gate-create-form input,.configuration-view .form-field input,.configuration-view .form-field select{border-color:var(--border);background:#ffffff0f;border-radius:12px}.configuration-view .gate-create-form input:focus,.configuration-view .form-field input:focus,.configuration-view .form-field select:focus{border-color:#06b6d494;box-shadow:0 0 0 3px #06b6d41f}.configuration-view .gate-create-form button,.configuration-view .device-form-modern button[type=submit]{border-radius:12px}.configuration-view .device-section-title{align-items:flex-start;margin-bottom:18px}.configuration-view .config-device-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:16px!important;display:grid!important}.configuration-view .checkbox-multi-box{background:#ffffff0b;border-color:#8b5cf63d;border-radius:16px;min-height:224px}.configuration-view .checkbox-multi-top{border-bottom-color:var(--border);min-height:46px}.configuration-view .checkbox-multi-top button{background:#06b6d41a;border-color:#06b6d447}.configuration-view .checkbox-option:hover{background:#8b5cf629}.configuration-view .scanner-active-toggle{border-radius:12px;align-self:end;min-height:48px}.configuration-view .config-device-form button[type=submit]{justify-content:center;min-height:48px}.configuration-view .configuration-data-card{padding:0;overflow:hidden}.configuration-table-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-height:72px;padding:20px 22px 0;display:flex}.configuration-table-heading svg{color:var(--secondary)}.configuration-table{border-collapse:separate;border-spacing:0;min-width:860px}.configuration-table th{text-transform:uppercase;background:#ffffff0b;border-bottom:1px solid #ffffff21;padding-top:16px;padding-bottom:16px;font-size:12px}.configuration-table td{vertical-align:middle;overflow-wrap:anywhere;background:#ffffff05}.configuration-table tbody tr:hover td{background:#ffffff0e}.configuration-table td:first-child{box-shadow:inset 4px 0 #8b5cf6a6}.configuration-table strong{font-size:14px}.configuration-view .gate-badge,.config-status{text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:5px 10px;font-size:11px;font-weight:900;display:inline-flex}.configuration-view .gate-badge.live,.config-status.on{color:#dcfce7;background:#22c55e33;border:1px solid #22c55e66}.configuration-view .gate-badge.custom{color:#ede9fe;background:#8b5cf633;border:1px solid #8b5cf661}.config-status.off{color:#fee2e2;background:#ef44442b;border:1px solid #ef44445c}.config-row-actions{min-width:86px}.configuration-view .table-actions button{background:#ffffff13;border-radius:12px}.configuration-view .table-actions button:hover:not(:disabled){background:#8b5cf62e;border-color:#8b5cf66b}[data-theme=light] .configuration-hero,[data-theme=light] .configuration-view .configuration-card,[data-theme=light] .configuration-view .configuration-data-card{background:linear-gradient(180deg, #11182706, transparent), var(--card)}[data-theme=light] .configuration-hero-metrics div,[data-theme=light] .configuration-view .checkbox-multi-box,[data-theme=light] .configuration-table td{background:#ffffffb8}[data-theme=light] .configuration-table th{background:#1118270b;border-bottom-color:#1118271a}[data-theme=light] .configuration-view .gate-badge.live,[data-theme=light] .config-status.on{color:#166534}[data-theme=light] .configuration-view .gate-badge.custom{color:#5b21b6}[data-theme=light] .config-status.off{color:#b91c1c}@media (width<=1100px){.configuration-view .config-device-form{grid-template-columns:1fr!important}.configuration-view .scanner-active-toggle{align-self:stretch}}@media (width<=760px){.configuration-view{gap:16px}.configuration-hero,.configuration-view .configuration-card{padding:16px}.configuration-hero{grid-template-columns:1fr}.configuration-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.configuration-view .gate-create-form{grid-template-columns:1fr}.configuration-view .gate-create-form button,.configuration-view .ghost-btn,.configuration-view .config-device-form button[type=submit]{justify-content:center;width:100%}.configuration-view .device-section-title,.configuration-table-heading{flex-direction:column}.configuration-table-heading{padding:16px 16px 0}.configuration-table{min-width:760px}}.clean-hero{background:var(--card)!important;background-image:none!important;min-height:auto!important;padding:18px 20px!important}.clean-hero:before,.clean-hero:after{display:none!important}.clean-hero h1{color:var(--text)!important;margin:6px 0 10px!important;font-size:26px!important}.clean-hero .merged-meta-grid{flex-wrap:wrap;gap:10px 16px;display:flex}.clean-hero .muted{font-size:13px;color:var(--muted)!important}.clean-hero .hero-actions button,.clean-hero .theme-switcher button{color:var(--text)!important;border:1px solid var(--border)!important;background:#ffffff0f!important}.clean-hero .theme-switcher button.active{color:#fff!important;background:linear-gradient(135deg, var(--primary), var(--secondary))!important;border-color:#0000!important}@media (width<=760px){.clean-hero{padding:16px!important}.clean-hero h1{font-size:22px!important}}.analytics-view{flex-direction:column;gap:20px;display:flex}.dashboard-filters,.filter-card,.filter-panel{margin-bottom:24px}.analytics-stats-grid{margin-top:0!important}.compact-filter-card{margin-bottom:0!important}.table-stats-compact{margin-top:0!important}.table-mini-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.table-mini-charts .chart-card{min-height:300px}.mini-donut-layout{grid-template-columns:170px 1fr;align-items:center;gap:18px;min-height:210px;display:grid}.mini-donut{border-radius:50%;place-items:center;width:160px;height:160px;margin:auto;display:grid}.mini-donut-center{background:var(--card-solid);border:1px solid var(--border);border-radius:50%;align-content:center;place-items:center;width:92px;height:92px;display:grid}.mini-donut-center strong{font-size:24px}.mini-donut-center span{color:var(--muted);font-size:12px}.mini-legend{gap:8px;display:grid}.mini-legend-item{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;display:grid}.mini-legend-item span{border-radius:3px;width:10px;height:10px}.mini-legend-item p{color:var(--muted);font-size:12px}.mini-legend-item strong{font-size:13px}.mini-bar-chart{align-items:end;gap:12px;height:210px;padding:12px 6px 0;display:flex;overflow-x:auto}.mini-bar-item{text-align:center;flex:0 0 72px;grid-template-rows:165px auto;gap:8px;display:grid}.mini-bar-track{border:1px solid var(--border);background:#ffffff0f;border-radius:14px;align-items:end;height:165px;display:flex;overflow:hidden}.mini-bar-fill{border-radius:14px 14px 0 0;place-items:start center;width:100%;padding-top:6px;display:grid}.mini-bar-fill span{color:#fff;font-size:12px;font-weight:800}.mini-bar-item p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.small-chart-empty{min-height:210px!important}@media (width<=900px){.table-mini-charts,.mini-donut-layout{grid-template-columns:1fr}}.tables-view .compact-filter-card,.tables-view .table-card,.printer-status-card{background:linear-gradient(180deg, #ffffff09, transparent), var(--card);border-radius:20px}.tables-view .table-card{padding:0;overflow:hidden}.tables-view .table-heading-actions{padding:20px 22px 0}.printer-status-card{border:1px solid var(--border);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.printer-status-card.connected{border-color:#22c55e6b}.printer-status-card.offline,.printer-status-card.unsupported{border-color:#ef444452}.printer-status-main{align-items:center;gap:12px;min-width:0;display:flex}.printer-status-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:13px;flex:none;place-items:center;width:38px;height:38px;display:grid}.printer-status-card.connected .printer-status-icon{background:linear-gradient(135deg,#22c55e,#06b6d4)}.printer-status-card.offline .printer-status-icon,.printer-status-card.unsupported .printer-status-icon{background:#ef4444b8}.printer-status-main h3{margin:0;font-size:16px}.printer-status-main p{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:13px;font-weight:700}.printer-status-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.printer-status-actions button{border:1px solid var(--border);height:40px;color:var(--text);background:#ffffff0f;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.printer-status-actions button:first-child{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-color:#0000}.printer-status-message{color:var(--text);background:#06b6d41a;border:1px solid #06b6d43d;border-radius:12px;grid-column:1/-1;padding:10px 12px;font-size:13px;font-weight:700}.table-filter-actions-confirmed{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) auto auto auto}.table-filter-actions button,.reception-actions button,.action-modal button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.table-heading-actions{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.settlement-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settlement-badge{text-transform:uppercase;letter-spacing:0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:max-content;min-height:26px;padding:5px 10px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.settlement-badge.settled{color:#dcfce7;background:#22c55e33;border-color:#22c55e6b}.settlement-badge.partial{color:#cffafe;background:#06b6d42e;border-color:#06b6d461}.settlement-badge.due{color:#fee2e2;background:#ef44442b;border-color:#ef44445c}.reception-table{border-collapse:separate;border-spacing:0;min-width:1040px}.reception-table th{z-index:1;text-transform:uppercase;background:#ffffff0b;border-bottom:1px solid #ffffff21;padding-top:16px;padding-bottom:16px;font-size:12px;position:sticky;top:0}.reception-table td{background:#ffffff05;transition:background .18s,box-shadow .18s}.reception-table tbody tr:hover td{background:#ffffff0e}.reception-table .booking-row.settled td{background:#22c55e12}.reception-table .booking-row.partial td{background:#06b6d40f}.reception-table .booking-row.due td{background:#ef44440e}.reception-table .booking-row.settled td:first-child{box-shadow:inset 4px 0 #22c55ed9}.reception-table .booking-row.partial td:first-child{box-shadow:inset 4px 0 #06b6d4cc}.reception-table .booking-row.due td:first-child{box-shadow:inset 4px 0 #ef4444cc}.booking-ref-stack,.table-code-stack,.balance-stack{gap:4px;min-width:0;display:grid}.booking-ref-stack strong,.table-code-stack strong,.balance-stack strong{color:var(--text);overflow-wrap:anywhere;font-size:14px}.booking-ref-stack span,.table-code-stack span,.balance-stack span:not(.settlement-badge){color:var(--muted);font-size:12px;font-weight:700;line-height:1.25}.table-code-stack strong{color:#ede9fe;text-align:center;background:#8b5cf624;border:1px solid #8b5cf647;border-radius:12px;width:max-content;min-width:52px;padding:6px 10px;font-size:18px}.reception-actions{flex-wrap:wrap;min-width:360px}.reception-actions button{background:#ffffff13;border-radius:12px;width:auto;min-width:84px;height:36px;padding:0 10px;font-size:12px;transition:transform .16s,background .16s,border-color .16s}.reception-actions button:hover:not(:disabled){background:#8b5cf62e;border-color:#8b5cf66b;transform:translateY(-1px)}.action-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#030712a3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.action-modal{background:linear-gradient(180deg, #8b5cf624, transparent 34%), var(--card-solid);border:1px solid #ffffff21;border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:0;overflow-y:auto;box-shadow:0 28px 90px #00000085}.action-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 20px 14px;display:flex}.action-modal-title{align-items:center;gap:12px;min-width:0;display:flex}.action-modal-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 24px #06b6d42e}.action-modal-header h3{align-items:center;gap:8px;margin-top:4px;font-size:20px;display:inline-flex}.action-modal-header>button{border:1px solid var(--border);width:38px;height:38px;color:var(--text);background:#ffffff0f;border-radius:12px}.selected-booking-summary{background:#ffffff0e;border:1px solid #ffffff1c;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:10px;margin:16px 20px;padding:12px;display:grid}.selected-booking-summary div{gap:3px;min-width:0;display:grid}.selected-booking-summary span:not(.settlement-badge){color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.selected-booking-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.action-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px;display:grid}.action-form .full-width,.action-form button[type=submit]{grid-column:1/-1}.form-field select,.action-form input,.action-form select{border:1px solid var(--border);width:100%;height:46px;color:var(--text);background:#ffffff0f;border-radius:12px;padding:0 14px}.action-form input:focus,.action-form select:focus{border-color:#06b6d494;box-shadow:0 0 0 3px #06b6d41f}[data-theme=light] .form-field select,[data-theme=light] .action-form input,[data-theme=light] .action-form select,[data-theme=light] .selected-booking-summary{background:#fffffff2}[data-theme=light] .reception-table th{background:#1118270b;border-bottom-color:#1118271a}[data-theme=light] .reception-table td{background:#ffffff9e}[data-theme=light] .settlement-badge.settled{color:#166534;background:#22c55e24}[data-theme=light] .settlement-badge.partial{color:#0e7490;background:#06b6d421}[data-theme=light] .settlement-badge.due{color:#b91c1c;background:#ef44441f}[data-theme=light] .table-code-stack strong{color:#5b21b6;background:#8b5cf61a}[data-theme=light] .action-modal{background:linear-gradient(#8b5cf614,#0000 34%),#fff}.action-form button[type=submit]{color:#fff;background:linear-gradient(135deg, var(--primary), var(--secondary));border:0;border-radius:14px;height:46px;font-weight:800}.table-action-message{color:var(--text);background:#06b6d41f;border:1px solid #06b6d457;border-radius:14px;margin:0 20px 20px;padding:12px 14px;font-size:13px;font-weight:700}@media (width<=1200px){.table-filter-actions-confirmed{grid-template-columns:repeat(2,minmax(0,1fr))}.printer-status-card{grid-template-columns:1fr}.printer-status-actions{justify-content:flex-start}}@media (width<=760px){.table-filter-actions-confirmed,.action-form{grid-template-columns:1fr}.action-form .full-width,.action-form button[type=submit]{grid-column:auto}.table-heading-actions{flex-direction:column}.settlement-legend{justify-content:flex-start}.reception-actions{min-width:260px}.reception-actions button{min-width:76px}.action-modal{border-radius:20px}.selected-booking-summary{grid-template-columns:1fr}.printer-status-actions{grid-template-columns:1fr;display:grid}}
