@font-face{font-family:Onest;src:url(/fonts/onest-variable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Onest,Arial,sans-serif;color:#201f1c;background:#f7f4ee;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.startup-status{width:100%;height:100%;margin:0;padding:32px;display:flex;align-items:center;justify-content:center;color:#4b463e;background:#f7f4ee;font:600 32px/1.25 Onest,Arial,sans-serif;text-align:center}.startup-error{color:#8c2f20}.display{--background: #56965b;--accent: #fff;--foreground: #fff;--logo-inset: 3%;--logo-scale: 1;position:relative;min-height:100%;padding:32px;padding:clamp(24px,3vw,56px);color:#fff;color:var(--foreground);background:#56965b;background:var(--background);display:flex;flex-direction:column;display:grid;grid-template-rows:auto 1fr auto;gap:24px;gap:clamp(18px,2vh,32px);text-wrap:pretty;hyphens:auto}header{display:flex;align-items:center;gap:24px;min-height:74px}.logo{position:absolute;z-index:1;width:calc(clamp(150px,18vw,260px) * var(--logo-scale));height:calc(clamp(82px,11vw,160px) * var(--logo-scale));object-fit:contain}.logo-top-right .logo{top:var(--logo-inset);right:var(--logo-inset)}.logo-top-left .logo{top:var(--logo-inset);left:var(--logo-inset)}.logo-bottom-right .logo{right:var(--logo-inset);bottom:var(--logo-inset)}.logo-bottom-left .logo{bottom:var(--logo-inset);left:var(--logo-inset)}.logo-top-left>header{padding-left:clamp(170px,20vw,290px)}.logo-top-right>header{padding-right:clamp(170px,20vw,290px)}.logo-bottom-left>footer{padding-left:clamp(170px,20vw,290px)}.logo-bottom-right>footer{padding-right:clamp(170px,20vw,290px)}h1{margin:0;color:#9c3d24;color:var(--accent);font-size:52px;font-size:clamp(42px,4vw,76px);line-height:1;letter-spacing:-.035em;text-wrap:balance}.page{display:flex;min-height:0;animation:page-in .35s ease-out}.page>.column{margin-right:32px}.page>.column:last-child{margin-right:0}@supports (display: grid){.page{display:grid;gap:28px;gap:clamp(28px,3vw,64px)}.page>.column{margin-right:0}}.column{flex:1 1 0;min-width:0;align-content:start;display:block;display:grid;grid-auto-rows:minmax(48px,auto)}h2{margin:8px 0 4px;padding-bottom:7px;border-bottom:3px solid #9c3d24;border-bottom-color:var(--accent);color:#9c3d24;color:var(--accent);font-size:30px;font-size:clamp(25px,2vw,36px);line-height:1.1;text-wrap:balance}.continued{opacity:.58;font-size:.55em;font-weight:500}.menu-item{min-width:0;min-height:64px;min-height:clamp(58px,7vh,86px);display:flex;align-items:flex-end;padding:5px 0;font-size:26px;font-size:clamp(22px,1.75vw,32px);line-height:1.18;transition:opacity .22s ease}@supports (display: grid){.menu-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(14px,1fr) 8em;column-gap:10px}}.page-transition{animation:page-in .52s cubic-bezier(.2,.8,.2,1)}.menu-item-enter{animation:item-in .42s both;animation-delay:var(--row-delay, 0ms)}.menu-item.unavailable.menu-item-enter{animation-name:item-in-unavailable}.item-name{min-width:0;overflow-wrap:break-word;hyphens:auto;word-break:normal}.dots{flex:1;align-self:end;min-width:14px;margin:0 10px .24em;border-bottom:2px dotted #a9a39a;border-bottom-color:color-mix(in srgb,currentColor 30%,transparent)}.menu-item .dots{margin-left:10px;margin-right:10px}.price{flex:0 0 8em;width:8em;align-self:end;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.unavailable{opacity:.38}.unavailable .item-name,.unavailable .price{text-decoration:line-through;text-decoration-thickness:2px}.empty{display:flex;align-items:center;justify-content:center;color:#77716a;color:color-mix(in srgb,currentColor 50%,transparent);font-size:36px;font-size:clamp(28px,3vw,48px)}footer{display:flex;justify-content:space-between;align-items:center;min-height:22px;font-size:clamp(13px,1vw,18px);opacity:.6}.connection:before{content:"";display:inline-block;width:.65em;height:.65em;margin-right:.5em;border-radius:50%;background:#238636}.connection.offline:before{background:#b36b00}.status{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:32px;background:#f7f4ee;color:#4b463e;text-align:center;font:600 32px/1.25 Arial,sans-serif;font:600 clamp(24px,3vw,48px)/1.25 system-ui,sans-serif}.status-error{color:#8c2f20}.connect-screen{flex-direction:column;gap:16px}.connect-screen img{width:70vw;width:min(70vw,420px);height:auto;background:#fff;padding:12px}.connect-screen p{margin:0;max-width:720px;font-size:clamp(18px,2vw,28px)}.pairing-timer{color:#4b463e;font-variant-numeric:tabular-nums}.pairing-expired{color:#8c2f20}.connect-screen button{padding:12px 20px;border:0;border-radius:8px;color:#fff;background:#9c3d24;font:700 18px inherit;cursor:pointer}.staff-login,.staff-menu{min-height:100%;padding:40px;background:#f7f4ee;color:#201f1c}.staff-menu{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.staff-login{max-width:560px;margin:0 auto;display:grid;align-content:center;gap:16px}.staff-login h1{font-size:clamp(42px,7vw,72px)}.staff-login input{padding:16px;border:2px solid #9c3d24;border-radius:10px;font:inherit}.staff-login button,.staff-menu header button{padding:14px 24px;border:0;border-radius:999px;color:#fff;background:#9c3d24;font:700 18px inherit;cursor:pointer}.saved-credentials{color:#6c655d;font-size:14px}.staff-login .link-button{padding:0;border:0;border-radius:0;color:#70412f;background:transparent;font:inherit;text-decoration:underline;text-align:left}.staff-menu header{justify-content:space-between}.staff-tabs{display:flex;flex-wrap:wrap;gap:8px;max-width:900px;margin:20px auto;border-bottom:1px solid #d8d0c4}.staff-tabs button,.form-row button{padding:10px 16px;border:1px solid #c7bdb0;border-radius:8px;background:#fff;font:inherit;cursor:pointer}.staff-tabs button.active{color:#fff;background:#9c3d24}.form-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.form-row input,.form-row select{min-width:130px;flex:1;padding:11px;border:1px solid #c7bdb0;border-radius:8px;font:inherit}.csv-import{display:grid;gap:8px;margin:18px 0;padding:14px;border:1px solid #d8d0c4;border-radius:8px;background:#fffdfa}.csv-import label{display:inline-flex;width:fit-content;padding:0;border:0;color:#9c3d24;font-weight:700;cursor:pointer}.csv-import input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.csv-import small{color:#6c655d}.csv-import button{width:fit-content;padding:10px 16px;border:0;border-radius:8px;color:#fff;background:#9c3d24;font:inherit;cursor:pointer}.staff-menu section{max-width:900px;margin:28px auto}.staff-menu section h2{font-size:30px}.venue-settings{display:grid;gap:18px;padding:24px;border:1px solid #ded7cd;border-radius:18px;background:#fffdfa}.venue-settings h2{margin-top:0}.setting-field{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);align-items:center;gap:10px 18px;margin:0;padding:10px 0;border:0;cursor:default}.color-setting{grid-template-columns:minmax(150px,1fr) 64px minmax(110px,1fr)}.setting-field>span{font-weight:700}.setting-field input:not([type=color]){width:100%;min-width:0;padding:12px 14px;border:1px solid #c7bdb0;border-radius:9px;background:#fff;color:#201f1c;font:inherit}.color-setting input[type=color]{width:64px;height:44px;padding:4px;border:1px solid #c7bdb0;border-radius:9px;background:#fff;cursor:pointer}.color-setting input[type=color]+input{max-width:150px}.duration-setting{grid-template-columns:1fr 2fr}.duration-control{display:flex;align-items:center;gap:18px}.duration-control button{width:44px;height:44px;border:1px solid #c7bdb0;border-radius:50%;background:#fff;color:#9c3d24;font-size:25px;cursor:pointer}.duration-control button:disabled,.save-settings:disabled{opacity:.5;cursor:not-allowed}.duration-setting small{grid-column:2;color:#6c655d}.save-settings{justify-self:start;padding:13px 22px;border:0;border-radius:999px;color:#fff;background:#9c3d24;font:inherit;font-weight:700;cursor:pointer}.settings-success{margin:0;color:#237343}.venue-settings .status-error{margin:0;color:#8c2f20}.availability-list label,.staff-menu label{display:flex;align-items:center;gap:12px;padding:14px 10px;border-bottom:1px solid #d8d0c4;cursor:pointer}.availability-list label{will-change:transform;transition:opacity .22s ease}.staff-menu label span{flex:1;display:grid;gap:4px}.staff-menu label small{font-size:16px}.staff-menu label input{width:24px;height:24px;accent-color:#9c3d24}.staff-menu label em{font-style:normal;font-size:14px;color:#6c655d}.staff-menu label.unavailable{opacity:.5;text-decoration:line-through}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes item-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes item-in-unavailable{0%{opacity:0;transform:translateY(10px)}to{opacity:.38;transform:translateY(0)}}@media(max-width:899px){.display{padding:24px}.continued{display:none}}@media(max-width:600px){.staff-menu{padding:20px}.venue-settings{padding:16px}.setting-field,.duration-setting{grid-template-columns:1fr}.duration-setting small{grid-column:1}}@media(prefers-reduced-motion:reduce){.page,.page-transition,.menu-item-enter{animation:none}.availability-list label{transition:none!important}}.hub-login{min-height:100%;display:grid;place-items:center;padding:clamp(16px,4vw,48px);color:#1c3326;background:linear-gradient(145deg,#56965b,#3f7949)}.hub-login-card{width:min(100%,460px);padding:clamp(26px,5vw,46px);border:1px solid rgba(255,255,255,.55);border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(24,66,36,.24)}.hub-kicker{color:#56965b;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hub-login h1,.hub-sidebar h1{margin:8px 0 10px;color:#183b24;font-size:38px;letter-spacing:-.04em}.hub-login p{color:#597064}.hub-login input{width:100%;margin:18px 0 10px;padding:14px 16px;border:1px solid #b9d0bc;border-radius:10px;color:#183b24;background:#f7fbf7;font:inherit}.hub-login input:focus,.hub-create input:focus,.hub-venue-settings input:focus,.hub-venue-settings select:focus{outline:3px solid rgba(86,150,91,.22);border-color:#56965b}.hub-login button,.hub-create>button{width:100%;padding:14px 18px;border:0;border-radius:10px;color:#fff;background:#56965b;font:800 15px inherit;cursor:pointer}.hub-login button:disabled,.backend-hub button:disabled{opacity:.55;cursor:wait}.backend-hub{--hub-bg: #f5faf5;--hub-ink: #183b24;min-height:100%;height:100%;display:grid;grid-template-columns:250px minmax(0,1fr);overflow:hidden;color:var(--hub-ink);background:var(--hub-bg)}.hub-sidebar{min-height:100%;display:flex;flex-direction:column;gap:36px;padding:30px 22px;color:#e9f5ea;background:#285d36}.hub-sidebar h1{font-size:28px}.hub-sidebar nav{display:grid;gap:6px}.hub-sidebar nav button,.hub-signout{padding:12px 14px;border:0;border-radius:9px;color:#cce5cf;background:transparent;font:650 15px inherit;text-align:left;cursor:pointer}.hub-sidebar nav button:hover,.hub-sidebar nav button.active{color:#fff;background:#3f7949}.hub-sidebar nav button.active{box-shadow:inset 3px 0 #fff}.hub-signout{margin-top:auto;border:1px solid #75a97b}.hub-content{min-width:0;overflow:auto;padding:34px clamp(24px,4vw,58px) 70px}.hub-header{min-height:auto;justify-content:space-between;margin-bottom:26px}.hub-header h2{margin:5px 0 0;padding:0;border:0;color:var(--hub-ink);font-size:clamp(28px,3vw,42px);letter-spacing:-.035em}.hub-refresh{padding:10px 16px;border:1px solid #b9d0bc;border-radius:9px;color:#285d36;background:#fff;font:700 14px inherit;cursor:pointer}.hub-banner{margin:0 0 18px;padding:13px 16px;border-radius:10px}.hub-error{color:#a43131!important;background:#fff0ef}.hub-success{color:#17654f;background:#e5f8f1}.hub-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;margin-bottom:20px}.hub-metrics article{padding:20px;border:1px solid #dbe4e9;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(20,44,61,.043)}.hub-metrics small{display:block;margin-bottom:8px;color:#697d8c}.hub-metrics strong{font-size:32px;font-variant-numeric:tabular-nums}.hub-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:20px;align-items:start}.hub-card{min-width:0;padding:22px;border:1px solid #d8e7d9;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,91,42,.06)}.hub-card h3{margin:0;font-size:20px}.hub-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.hub-card-title small{color:#778a98}.hub-table-wrap{overflow-x:auto}.hub-card table{width:100%;border-collapse:collapse;font-size:14px}.hub-card th{padding:10px 9px;border-bottom:1px solid #d8e7d9;color:#63806a;font-size:12px;text-align:left;text-transform:uppercase}.hub-card td{padding:14px 9px;border-bottom:1px solid #edf3ed;vertical-align:middle}.hub-card td>small,.hub-card td>b{display:block}.hub-card code{padding:3px 6px;border-radius:5px;color:#285d36;background:#edf7ee}.hub-actions{display:flex;gap:6px}.hub-actions button,.hub-secret button{padding:7px 9px;border:1px solid #b9d0bc;border-radius:7px;color:#285d36;background:#fff;font:650 12px inherit;cursor:pointer;white-space:nowrap}.hub-action-link{display:inline-block;padding:7px 9px;border:1px solid #b9d0bc;border-radius:7px;color:#285d36;background:#fff;font:650 12px inherit;text-decoration:none;white-space:nowrap}.hub-logo-visibility{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important}.hub-logo-visibility input{width:18px!important;min-width:18px!important;height:18px}.hub-actions button.danger{color:#9c3333;border-color:#e2bcbc}.hub-create{display:grid;gap:13px}.hub-create label{display:grid;gap:6px;color:#4d6372;font-size:13px;font-weight:700}.hub-create input,.hub-secret textarea{width:100%;padding:11px 12px;border:1px solid #c6dcc8;border-radius:8px;color:var(--hub-ink);background:#fff;font:inherit}.hub-secret{display:grid;gap:8px;margin-top:8px;padding:13px;border-radius:10px;background:#fff5d9}.hub-secret p{margin:0;color:#755e28;font-size:12px}.hub-secret textarea{min-height:88px;resize:vertical;font-size:11px}.hub-venue-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:22px;padding-top:22px;border-top:1px solid #d8e7d9}.hub-venue-settings .hub-card-title{grid-column:1 / -1;margin:0}.hub-venue-settings>label{display:grid;gap:6px;color:#4d6372;font-size:13px;font-weight:700}.hub-venue-settings input,.hub-venue-settings select{width:100%;min-width:0;padding:10px 11px;border:1px solid #c6dcc8;border-radius:8px;color:var(--hub-ink);background:#fff;font:inherit}.hub-color{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}.hub-color input[type=color]{height:42px;padding:3px;cursor:pointer}.hub-number{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px}.hub-number button{border:1px solid #b9d0bc;border-radius:8px;color:#285d36;background:#fff;font:700 21px/1 inherit;cursor:pointer}.hub-number button:disabled{opacity:.45;cursor:not-allowed}.hub-settings-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.hub-settings-actions button,.hub-venue-settings .hub-card-title button{padding:10px 13px;border:1px solid #b9d0bc;border-radius:8px;color:#285d36;background:#fff;font:700 13px inherit;cursor:pointer}.hub-settings-actions button:last-child{color:#fff;background:#56965b;border-color:#56965b}.hub-venue-settings .hub-error{grid-column:1 / -1;margin:0;padding:10px;border-radius:8px}.hub-logo-controls{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid #d8e7d9;border-radius:10px;color:#4d6372;font-size:13px}.hub-logo-controls>span{color:#6d8272}.hub-logo-controls button,.hub-upload-button{padding:9px 12px;border:1px solid #b9d0bc;border-radius:8px;color:#285d36;background:#fff;font:700 13px inherit;cursor:pointer}.hub-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hub-function-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hub-function{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #edf1f3}.hub-function:first-of-type{border-top:0}.hub-function p{margin:8px 0 0;color:#617482;font-size:13px}.hub-function>span{padding:5px 8px;border-radius:999px;color:#35677d;background:#e8f3f6;font-size:11px;white-space:nowrap}.hub-log-list{display:grid}.hub-log{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.4fr) auto;gap:18px;align-items:center;padding:14px 8px;border-top:1px solid #edf1f3}.hub-log:first-child{border-top:0}.hub-log>div{display:grid;gap:4px}.hub-log span,.hub-log time{color:#718390;font-size:12px}.hub-log p{margin:0;color:#445b69;font-size:14px}.hub-log.error{box-shadow:inset 3px 0 #c34b4b}.hub-log.warn{box-shadow:inset 3px 0 #d7a12f}.hub-empty{color:#718390}@media(max-width:1050px){.hub-grid,.hub-function-groups{grid-template-columns:1fr}}@media(max-width:760px){.backend-hub{grid-template-columns:1fr;overflow:auto}.hub-sidebar{min-height:auto;padding:16px;gap:14px}.hub-sidebar>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hub-sidebar h1{margin:0;font-size:24px}.hub-sidebar nav{display:flex;overflow-x:auto;margin:0 -4px;padding:2px 4px}.hub-sidebar nav button{white-space:nowrap;padding:10px 12px}.hub-signout{margin:0;width:fit-content}.hub-content{overflow:visible;padding:22px 14px 42px}.hub-header{align-items:flex-start;gap:12px;margin-bottom:18px}.hub-header h2{font-size:28px}.hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hub-metrics article{padding:14px}.hub-metrics strong{font-size:26px}.hub-card{padding:16px;border-radius:12px}.hub-table-wrap{overflow:visible}.hub-card table,.hub-card thead,.hub-card tbody,.hub-card tr,.hub-card td{display:block;width:100%}.hub-card thead{display:none}.hub-card tr{margin-bottom:12px;padding:10px 0;border:1px solid #d8e7d9;border-radius:10px}.hub-card td{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border:0}.hub-card td:before{color:#718a76;font-size:12px;font-weight:700}.hub-card td:nth-child(2):before{content:"Код"}.hub-card td:nth-child(3):before{content:"Версии"}.hub-card td:nth-child(4):before{content:"Обновлена"}.hub-card td:last-child{display:flex;justify-content:flex-start;padding-top:10px}.hub-actions{flex-wrap:wrap}.hub-actions button{flex:1 1 auto;min-height:38px}.hub-function-groups{gap:12px}.hub-function{flex-direction:column;gap:9px}.hub-log,.hub-venue-settings{grid-template-columns:1fr;gap:12px}.hub-logo-controls{align-items:stretch;flex-direction:column}.hub-upload-button,.hub-logo-controls button{text-align:center}}
