@font-face{font-family:Lufga;src:url(/assets/Lufga-Light-DxuSyusC.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Lufga;src:url(/assets/Lufga-Regular-B8PVUt0U.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lufga;src:url(/assets/Lufga-Medium-CMSdB7Wf.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Lufga;src:url(/assets/Lufga-SemiBold-OHe5RMWV.otf)format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Lufga;src:url(/assets/Lufga-Bold-d_QNk0Pm.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--c-bg:#f6f5f2;--c-surface:#fff;--c-surface-2:#f1efea;--c-border:#e4e1da;--c-border-strong:#cfcbc2;--c-text:#1c1a17;--c-text-2:#5d5850;--c-text-3:#8c867c;--c-primary:#ec5b26;--c-primary-hover:#d64c1a;--c-primary-soft:#fde9e0;--c-on-primary:#fff;--c-success:#0e9f5b;--c-success-soft:#e2f7ec;--c-danger:#c62828;--c-danger-soft:#fdecec;--c-warning:#b7791f;--c-warning-soft:#fef4dc;--c-focus:#2563eb;--c-green:#16b86a;--c-yellow:#f7b52c;--c-idle:#d3d7dd;--font:"Lufga", "Segoe UI", system-ui, sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:32px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--control-h:40px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 16px 48px #0000002e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--c-bg:#141311;--c-surface:#1d1b19;--c-surface-2:#26231f;--c-border:#34302b;--c-border-strong:#48433c;--c-text:#f3f1ed;--c-text-2:#bdb6ab;--c-text-3:#8a8378;--c-primary:#f26a37;--c-primary-hover:#ff7c4b;--c-primary-soft:#3a2216;--c-on-primary:#1a0d05;--c-success:#34d399;--c-success-soft:#12301f;--c-danger:#f87171;--c-danger-soft:#3a1717;--c-warning:#fbbf24;--c-warning-soft:#3a2c10;--c-green:#22c97a;--c-yellow:#f8c04a;--c-idle:#4a4640;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--c-bg:#141311;--c-surface:#1d1b19;--c-surface-2:#26231f;--c-border:#34302b;--c-border-strong:#48433c;--c-text:#f3f1ed;--c-text-2:#bdb6ab;--c-text-3:#8a8378;--c-primary:#f26a37;--c-primary-hover:#ff7c4b;--c-primary-soft:#3a2216;--c-on-primary:#1a0d05;--c-success:#34d399;--c-success-soft:#12301f;--c-danger:#f87171;--c-danger-soft:#3a1717;--c-warning:#fbbf24;--c-warning-soft:#3a2c10;--c-green:#22c97a;--c-yellow:#f8c04a;--c-idle:#4a4640;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-md);background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.25}a{color:var(--c-primary)}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.ui-btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-4);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;white-space:nowrap;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--c-surface-2)}.ui-btn:disabled{opacity:.5;cursor:default}.ui-btn.primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.ui-btn.primary:hover:not(:disabled){background:var(--c-primary-hover)}.ui-btn.danger{color:var(--c-danger)}.ui-btn.ghost{background:0 0;border-color:#0000}.ui-btn.sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.ui-btn.block{width:100%}.ui-field{font-size:var(--fs-sm);color:var(--c-text-2);flex-direction:column;gap:6px;font-weight:500;display:flex}.ui-field .hint{color:var(--c-text-3);font-weight:400;font-size:var(--fs-xs)}.ui-input,.ui-field input,.ui-field select,.ui-field textarea{height:var(--control-h);padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-md)}.ui-field textarea{height:auto;padding:var(--sp-2) var(--sp-3);resize:vertical}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);outline:none}.ui-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.ui-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);display:flex}.ui-card-head h3{font-size:var(--fs-lg)}.ui-card-body{padding:var(--sp-5)}.ui-badge{height:22px;font-size:var(--fs-xs);background:var(--c-surface-2);color:var(--c-text-2);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-weight:600;display:inline-flex}.ui-badge.success{background:var(--c-success-soft);color:var(--c-success)}.ui-badge.danger{background:var(--c-danger-soft);color:var(--c-danger)}.ui-badge.warning{background:var(--c-warning-soft);color:var(--c-warning)}.ui-modal-backdrop{z-index:50;padding:var(--sp-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.ui-modal{background:var(--c-surface);border-radius:var(--r-lg);width:min(480px,100%);max-height:90vh;box-shadow:var(--shadow-lg);overflow:auto}.ui-modal-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;display:flex}.ui-modal-body{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.ui-empty{padding:var(--sp-6);text-align:center;color:var(--c-text-3)}.ui-error{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-danger-soft);color:var(--c-danger);font-size:var(--fs-sm)}.ui-muted{color:var(--c-text-3)}.ui-stack{gap:var(--sp-4);flex-direction:column;display:flex}.ui-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ui-grid-2{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.fm{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.fm-dot{fill:var(--c-border-strong)}.fm-body{fill:var(--c-surface)}.fm-seat{fill:var(--c-idle)}.fm-name{fill:var(--c-text);font-size:17px;font-weight:600}.fm-line{fill:var(--c-text-2);font-size:11.5px}.fm-table.clickable{cursor:pointer}.fm-table.dim{opacity:.55}.fm-table:active .fm-body{fill:var(--c-surface-2)}.fm-zone{fill:color-mix(in srgb, var(--c-surface-2) 70%, transparent);stroke:var(--c-border-strong);stroke-width:1.5px;stroke-dasharray:6 5}.fm-zone-text,.fm-label{fill:var(--c-text-3);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:500}.fm-label-box{fill:#0000;stroke:var(--c-border);stroke-dasharray:3 3}.fm-edit .fm-table,.fm-edit .fm-decor{cursor:grab}.fm-table.sel .fm-body,.fm-decor.sel .fm-zone,.fm-decor.sel .fm-label-box{stroke:var(--c-primary);stroke-width:2.5px;stroke-dasharray:none}.layout{min-height:100vh;display:flex}.sidebar{gap:var(--sp-5);width:248px;padding:var(--sp-5) var(--sp-4);background:var(--c-surface);border-right:1px solid var(--c-border);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--sp-3);display:flex}.brand div{flex-direction:column;line-height:1.2;display:flex}.brand span{font-size:var(--fs-xs);color:var(--c-text-3)}.brand-mark{border-radius:var(--r-md);background:var(--c-primary);width:36px;height:36px;color:var(--c-on-primary);place-items:center;font-size:18px;font-weight:800;display:grid}.brand.big .brand-mark{width:44px;height:44px;font-size:22px}.side-nav{flex-direction:column;flex:1;gap:2px;display:flex}.side-nav a{padding:10px var(--sp-3);border-radius:var(--r-md);color:var(--c-text-2);font-weight:500;text-decoration:none}.side-nav a:hover{background:var(--c-surface-2)}.side-nav a.active{background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}.side-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--c-border);display:flex}.who{min-width:0;font-size:var(--fs-sm);flex-direction:column;display:flex}.who span{color:var(--c-text-3);font-size:var(--fs-xs)}.main{flex:1;min-width:0}.page{max-width:1200px;padding:var(--sp-6) var(--sp-5);margin:0 auto}.page.narrow{max-width:640px}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-2xl);font-weight:700}.crumb{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--c-text-3);text-decoration:none;display:inline-block}.crumb:hover{color:var(--c-primary)}.tiles{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.tile{gap:var(--sp-2);padding:var(--sp-5);color:inherit;flex-direction:column;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.tile:hover{border-color:var(--c-border-strong);box-shadow:var(--shadow-md)}.tile-top{justify-content:space-between;align-items:flex-start;display:flex}.tile-name{font-size:var(--fs-lg)}.avatar{border-radius:var(--r-md);background:var(--c-primary-soft);width:44px;height:44px;color:var(--c-primary);place-items:center;font-size:20px;font-weight:700;display:grid}.cols{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;display:grid}.rows{margin:0;padding:0;list-style:none}.rows li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--c-border);flex-wrap:wrap;display:flex}.rows li:first-child{border-top:none;padding-top:0}.rows li .grow{flex:1;min-width:0}.staff-photo{flex-direction:column;align-items:center;gap:2px;display:flex}.staff-photo .avatar{background:var(--c-green);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:600;display:grid;overflow:hidden}.staff-photo .avatar img{object-fit:cover;width:100%;height:100%}.staff-photo .avatar[aria-busy=true]{opacity:.5}.link-btn{color:var(--c-text-3);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;padding:0}.small{font-size:var(--fs-sm)}.ui-row.end{justify-content:flex-end}.check{align-items:center;gap:var(--sp-2);display:flex}.ok-text{color:var(--c-success);font-size:var(--fs-sm)}.tabs-bar{margin-bottom:var(--sp-4);border-bottom:1px solid var(--c-border);gap:2px;display:flex;overflow-x:auto}.tab-btn{color:var(--c-text-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-weight:500}.tab-btn:hover{color:var(--c-text)}.tab-btn.active{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:600}.readonly-note{margin-bottom:var(--sp-3);color:var(--c-text-3);font-size:var(--fs-sm)}.menu-cols{gap:var(--sp-4);grid-template-columns:280px 1fr;align-items:start;display:grid}.cat-list{flex-direction:column;gap:4px;display:flex}.cat{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font:inherit;text-align:left;cursor:pointer;border-left:4px solid #0000;justify-content:space-between;padding:10px 12px;display:flex}.cat.active{background:var(--c-primary-soft);font-weight:600}.strike{color:var(--c-text-3);text-decoration:line-through}.ui-stack.tight{gap:var(--sp-2)}.grow{flex:1;min-width:0}.ui-input.qty{width:80px}.ui-input.price{width:130px}fieldset.plain{border:none;min-width:0;margin:0;padding:0}.hall-chips{gap:var(--sp-2);padding-bottom:2px;display:flex;overflow-x:auto}.hall-chip{align-items:center;gap:var(--sp-2);border:1.5px solid var(--c-border-strong);background:var(--c-surface);height:38px;color:var(--c-text);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:0 6px 0 14px;display:inline-flex}.hall-chip span{background:var(--c-primary-soft);min-width:26px;height:26px;color:var(--c-primary);font-size:var(--fs-xs);border-radius:999px;place-items:center;padding:0 6px;font-weight:600;display:inline-grid}.hall-chip.active{border-color:var(--c-primary);background:var(--c-primary);color:var(--c-on-primary)}.hall-chip.active span{background:var(--c-surface)}.map-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.map-editor{gap:var(--sp-4);grid-template-columns:1fr 260px;display:grid}.map-editor.view{grid-template-columns:1fr}.map-canvas{height:560px;padding:var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-bg)}.map-props{padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);align-self:start}.map-savebar{bottom:var(--sp-3);justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-md);display:flex;position:sticky}@media (width<=1100px){.map-editor{grid-template-columns:1fr}}.branding{gap:var(--sp-5);grid-template-columns:minmax(260px,1fr) auto;align-items:start;display:grid}.branding-preview{border:1px solid var(--c-border);border-radius:var(--r-md);grid-template-columns:53% 1fr;max-width:100%;display:grid;overflow:hidden}.branding-side{background:var(--c-primary) center / cover no-repeat;color:#fff;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:25px;display:flex}.branding-side img{object-fit:contain;max-width:100%}.branding-clock{text-shadow:0 1px 4px #00000059;font-size:40px;font-weight:300}.branding-main{background:var(--c-bg);place-items:center;display:grid}.branding-pad{border-radius:var(--r-sm);background:repeating-linear-gradient(90deg, var(--c-surface-2) 0 50px, transparent 50px 60px);width:170px;height:190px}@media (width<=1280px){.branding{grid-template-columns:1fr}}@media (width<=800px){.menu-cols{grid-template-columns:1fr}}.report-bar{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.seg{border-radius:var(--r-md);background:var(--c-surface-2);padding:3px;display:inline-flex}.seg-btn{color:var(--c-text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px}.seg-btn.active{background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-sm);font-weight:600}.date{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--c-text-2);display:flex}.subtabs{gap:var(--sp-2);flex-wrap:wrap;display:flex}.subtab{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:999px;padding:6px 14px}.subtab.active{background:var(--c-text);border-color:var(--c-text);color:var(--c-surface)}.kpis{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi{padding:var(--sp-4) var(--sp-5);flex-direction:column;gap:4px;display:flex}.kpi strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px}.report-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;display:grid}.bars{gap:var(--sp-2);flex-direction:column;display:flex}.bar-row{gap:var(--sp-3);font-size:var(--fs-sm);grid-template-columns:110px 1fr auto;align-items:center;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--c-surface-2);border-radius:5px;height:10px;overflow:hidden}.bar-fill{background:var(--c-primary);border-radius:5px;height:100%;display:block}.bar-value{font-variant-numeric:tabular-nums;white-space:nowrap}.mini-rows{gap:4px var(--sp-3);margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--c-text-2);grid-template-columns:1fr auto;display:grid}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--c-border);white-space:nowrap;padding:10px 14px}table.data th{color:var(--c-text-3);background:var(--c-surface-2);font-weight:600}table.data tr:last-child td{border-bottom:none}.neg{color:var(--c-danger)}.pos{color:var(--c-success)}.devices{gap:var(--sp-1);margin-top:var(--sp-2);flex-direction:column;display:flex}.device{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dot{background:var(--c-text-3);border-radius:50%;width:8px;height:8px}.dot.on{background:var(--c-success);box-shadow:0 0 0 3px var(--c-success-soft)}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;height:56px!important;font-size:28px!important}.login-page{min-height:100vh;padding:var(--sp-4);background:radial-gradient(circle at 20% 10%, var(--c-primary-soft), transparent 40%), var(--c-bg);place-items:center;display:grid}.login-lang{top:var(--sp-4);right:var(--sp-4);gap:2px;display:flex;position:fixed}.login-card{width:min(400px,100%);padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.login-card h1{font-size:var(--fs-xl);margin-top:var(--sp-2)}@media (width<=800px){.layout{flex-direction:column}.sidebar{width:auto;height:auto;padding:var(--sp-3) var(--sp-4);flex-flow:wrap;align-items:center;position:static}.side-nav{flex-direction:row}.side-foot{border-top:none;margin-left:auto;padding-top:0}.page{padding:var(--sp-5) var(--sp-4)}.cols{grid-template-columns:1fr}}.site-fields{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-2);flex-direction:column;margin:0;display:flex}.site-fields legend{padding:0 var(--sp-2);font-weight:600}.site-fields legend small{margin-left:var(--sp-2);font-weight:400;font-size:var(--fs-xs);color:var(--c-text-3)}.site-photo{align-items:center;gap:var(--sp-4);display:flex}.site-photo-pick{border:1px dashed var(--c-border);background:var(--c-surface);width:96px;height:96px;color:var(--c-text-3);font-size:var(--fs-xs);text-align:center;cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.site-photo-pick img{object-fit:cover;width:100%;height:100%}.site-photo-pick[aria-busy=true]{opacity:.5}.site-fields textarea{resize:vertical}
