:root{--paper: #f8f9fa;--paper-deep: #eef1f4;--card: #ffffff;--ink: #0f172a;--ink-soft: #64748b;--line: #e2e8f0;--act: #114232;--act-2: #114232;--act-ink: #eef5f2;--gold: #c5a059;--gold-ink: #f4e2bb;--price: #856a34;--warn-bg: #f5e2c4;--warn-ink: #7a4d00;--ok-bg: #d9ead9;--ok-ink: #1d6b34;--danger: #a33420;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 24px -14px rgba(15, 23, 42, .16);--shadow-card-hover: 0 4px 10px rgba(15, 23, 42, .06), 0 20px 40px -16px rgba(15, 23, 42, .22);--shadow-lift: 0 14px 32px -10px rgba(17, 66, 50, .28);--topbar-bg: rgba(248, 249, 250, .82)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--paper: #0f1115;--paper-deep: #0b0d10;--card: #161a20;--ink: #e6edf3;--ink-soft: #9aa3af;--line: #2a303a;--act: #3fb488;--act-2: #3fb488;--gold: #d0a75f;--price: #e0b975;--warn-bg: #40320f;--warn-ink: #f0c98a;--ok-bg: rgba(63, 180, 136, .16);--ok-ink: #5fd0a3;--danger: #ff7a63;--topbar-bg: rgba(15, 17, 21, .85)}:root:not([data-theme]) .open-badge,:root:not([data-theme]) .pill.ok{background:linear-gradient(155deg,#34d39947,#34d3991a);border:1px solid rgba(52,211,153,.35)}}:root[data-theme=dark]{--paper: #0f1115;--paper-deep: #0b0d10;--card: #161a20;--ink: #e6edf3;--ink-soft: #9aa3af;--line: #2a303a;--act: #3fb488;--act-2: #3fb488;--gold: #d0a75f;--price: #e0b975;--warn-bg: #40320f;--warn-ink: #f0c98a;--ok-bg: rgba(63, 180, 136, .16);--ok-ink: #5fd0a3;--danger: #ff7a63;--topbar-bg: rgba(15, 17, 21, .85)}:root[data-theme=dark] .open-badge{background:linear-gradient(155deg,#34d39947,#34d3991a);border:1px solid rgba(52,211,153,.35)}:root[data-theme=dark] .pill.ok{background:linear-gradient(155deg,#34d39947,#34d3991a);border:1px solid rgba(52,211,153,.35)}:root[data-theme=dark] .pill.warn{background:linear-gradient(155deg,#5a3f16,var(--warn-bg))}:root[data-theme=dark] .card-menu-list button.danger:hover{background:#3a1a12}:root[data-theme=dark] .item-row:hover{border-color:#2c5148}:root[data-theme=dark] input,:root[data-theme=dark] select{color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.45 Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(1100px 480px at 6% -10%,rgba(17,66,50,.055),transparent 60%),radial-gradient(900px 420px at 104% 0%,rgba(197,160,89,.05),transparent 55%),var(--paper);background-attachment:fixed}h1,h2,h3{font-family:Plus Jakarta Sans,sans-serif;font-weight:800;letter-spacing:-.03em}.price{font-family:Plus Jakarta Sans,sans-serif;font-weight:700}h1{letter-spacing:-.02em}input,select,textarea{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;color:inherit;width:100%;box-shadow:inset 0 1px 2px #0f172a09;transition:border-color .15s ease,box-shadow .15s ease}textarea{resize:vertical;min-height:76px;font-family:inherit}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%2364748b' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}input:focus,select:focus,textarea:focus,button:focus-visible{outline:none;border-color:var(--act-2);box-shadow:0 0 0 3px #11423229}.file-pick-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-pick-btn{display:inline-flex;align-items:center;position:relative}button{font:inherit;cursor:pointer}main{animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){main{animation:none}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.skel-page{display:flex;flex-direction:column;gap:14px}.skel-row{display:flex;gap:14px}.skel{border-radius:10px;background:linear-gradient(100deg,var(--paper-deep) 30%,var(--line) 50%,var(--paper-deep) 70%);background-size:240% 100%;animation:skel-shimmer 1.4s ease-in-out infinite}.skel-title{width:220px;height:26px;border-radius:7px}.skel-card{flex:1;height:84px}.skel-line{height:52px}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-40% 0}}@media (prefers-reduced-motion: reduce){.skel{animation:none;background:var(--paper-deep)}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;background:var(--paper);animation:splash-out .4s ease 1.05s forwards}.splash-word{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(36px,8vw,52px);font-weight:700;letter-spacing:2px;display:flex;color:var(--ink)}.splash-word span{display:inline-block;opacity:0;transform:translateY(18px);animation:letter-in .5s cubic-bezier(.22,.85,.32,1) forwards}.splash-bar{width:56px;height:3px;background:var(--act);margin-top:14px;border-radius:999px;transform:scaleX(0);transform-origin:left;animation:bar-in .45s ease .5s forwards}@keyframes letter-in{to{opacity:1;transform:none}}@keyframes bar-in{to{transform:scaleX(1)}}@keyframes splash-out{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion: reduce){.splash{animation:none;display:none}}.login-split{min-height:100dvh;display:flex;align-items:stretch}.login-hero{flex:1.1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:48px clamp(28px,6vw,88px);background:radial-gradient(700px 420px at 85% -10%,rgba(197,160,89,.12),transparent 60%),linear-gradient(200deg,#1b212b,#0d0f13 72%);color:var(--act-ink)}.login-hero-brand{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;letter-spacing:1px;font-size:clamp(44px,6vw,68px);color:#fff}.login-hero-brand:after{content:"";display:block;width:64px;height:4px;margin-top:14px;border-radius:999px;background:var(--gold)}.login-hero-tag{margin:0;font-size:clamp(17px,2vw,21px);color:#f2f7f5d9;max-width:420px}.login-hero-points{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:10px}.login-hero-points li{position:relative;padding-left:26px;color:#f2f7f59e;font-size:15px}.login-hero-points li:before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:4px;background:linear-gradient(155deg,var(--gold),#856a34)}.login-form-side{flex:1;display:grid;place-content:center;padding:40px 24px}.login-card{width:min(360px,88vw);display:grid;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow-card-hover)}.login-card h1{margin:0;font-size:26px}.login-card .quiet{margin:-6px 0 6px;font-size:14px}.login-card.wide{width:min(420px,92vw)}.plan-pick{display:grid;gap:8px;margin:2px 0}.plan-card{display:grid;gap:3px;text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;font:inherit;color:inherit}.plan-card strong{font-size:14px}.plan-card .quiet{margin:0;font-size:12.5px}.plan-card.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--paper))}@media (max-width: 780px){.login-split{flex-direction:column}.login-hero{flex:none;padding:36px 24px 30px;gap:12px}.login-hero-points{display:none}.login-form-side{padding:28px 16px 48px}}.sidebar-brand span{color:var(--gold)}.forgot-box{display:grid;gap:10px;border-top:1px dashed var(--line);padding-top:14px;margin-top:2px}.err{color:var(--danger)}.primary{background:linear-gradient(155deg,var(--act-2),var(--act) 70%);color:var(--act-ink);border:none;border-radius:10px;padding:10px 18px;font-weight:700;letter-spacing:.1px;box-shadow:0 1px #ffffff14 inset,0 6px 16px -6px #11423273;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 1px #ffffff1a inset,0 10px 22px -8px #11423280}.primary:active:not(:disabled){transform:translateY(0)}.primary:disabled{opacity:.5;box-shadow:none}.ghost{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 14px;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}.ghost:hover:not(:disabled){border-color:var(--act-2);color:var(--act);box-shadow:var(--shadow-card)}.ghost.small{padding:6px 10px;font-size:13px}.linklike{background:none;border:none;color:var(--act);font:inherit;font-weight:600;cursor:pointer;padding:0}.panel-sidebar{display:flex;align-items:stretch;min-height:100dvh}.sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;padding:22px 16px;gap:22px;background:linear-gradient(190deg,#1b212b,#0d0f13 66%);box-shadow:4px 0 32px -18px #00000080;position:sticky;top:0;height:100dvh;overflow-y:auto;z-index:6}.sidebar-brand{font-family:Plus Jakarta Sans,sans-serif;font-size:21px;font-weight:700;color:var(--act-ink);padding:2px 10px}.sidebar nav{display:flex;flex-direction:column;gap:14px;flex:1}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f2f7f566;padding:0 12px 4px}.sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:none;border-radius:10px;padding:10px 12px;color:#f2f7f59e;font-weight:600;font-size:14.5px;cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar nav button:hover{background:#ffffff0e;color:var(--act-ink)}.sidebar nav button.on{background:linear-gradient(155deg,#1b7a63a6,#1b7a6347);color:#fff;box-shadow:0 6px 18px -8px #0000008c,inset 0 1px #ffffff0f}.sidebar nav button:disabled{opacity:.32;cursor:not-allowed}.sidebar nav button:disabled:hover{background:none;color:#f2f7f59e}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.92}.sidebar-foot{border-top:1px solid rgba(255,255,255,.09);padding-top:14px;display:grid;gap:8px}.sidebar-foot .ghost{background:#ffffff0d;border-color:#ffffff24;color:#f2f7f5d9}.sidebar-foot .ghost:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.sidebar-foot .rid-pick{background:#ffffff0f;border-color:#ffffff29;color:var(--act-ink)}.theme-toggle{background:#ffffff0d;border-color:#ffffff24;color:#f2f7f5d9;width:100%;text-align:center}.theme-toggle:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.rid-pick option{color:var(--ink);background:var(--card)}.panel-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{padding:26px 36px 20px;position:sticky;top:0;z-index:4;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar h2{margin:0 0 3px;font-size:25px}.topbar p{margin:0;color:var(--ink-soft);font-size:14px;max-width:640px}main{max-width:1180px;margin:0 auto;padding:28px 36px 56px;width:100%}.sub-lockbar{background:var(--warn-bg);color:var(--warn-ink);font-weight:700;font-size:14px;padding:12px 36px;text-align:center;border-bottom:1px solid rgba(122,77,0,.2)}.settings-layout{display:flex;gap:24px;align-items:flex-start}.settings-nav{display:flex;flex-direction:column;gap:2px;min-width:190px;position:sticky;top:84px;flex-shrink:0;background:color-mix(in srgb,var(--card) 55%,transparent);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:16px;padding:8px;box-shadow:var(--shadow-card)}.settings-nav button{background:none;border:none;text-align:left;padding:10px 14px;border-radius:10px;color:var(--ink-soft);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.settings-nav button:hover{background:color-mix(in srgb,var(--card) 90%,var(--gold) 10%);color:var(--ink)}.settings-nav button.on{background:linear-gradient(155deg,color-mix(in srgb,var(--act-2) 22%,transparent),color-mix(in srgb,var(--gold) 14%,transparent));color:var(--act);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent) inset,var(--shadow-card);font-weight:700}.settings-panel{flex:1;min-width:0}@media (max-width: 720px){.settings-layout{flex-direction:column}.settings-nav{flex-direction:row;flex-wrap:wrap;position:static;width:100%}}.toolbar{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:20px;align-items:flex-start}.toolbar label{display:grid;gap:6px;font-weight:600;font-size:13px;color:var(--ink-soft);min-width:300px}.row{display:flex;gap:8px}.row.end{justify-content:flex-end;margin-top:6px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .15s ease,border-color .15s ease}.card-head{display:flex;justify-content:space-between;align-items:center;font-size:17px}.qr-card img{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}.open-badge{background:linear-gradient(155deg,#e4f2e7,var(--ok-bg));color:var(--ok-ink);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;box-shadow:var(--shadow-sm)}.qr-card .row button{flex:1}.qr-card .row button:not(.ghost){background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:9px 0;transition:border-color .15s ease,background .15s ease}.qr-card .row button:not(.ghost):hover{border-color:var(--act-2);background:var(--card)}.qr-card.selected{border-color:var(--act-2);box-shadow:var(--shadow-lift)}.qr-card-select{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0}.qr-card-select input{flex-shrink:0;width:16px;height:16px;accent-color:var(--act-2);cursor:pointer}.qr-card-select strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-menu{position:relative}.card-menu-btn{background:transparent;border:1px solid var(--line);border-radius:8px;width:30px;height:30px;line-height:1;font-size:18px;color:var(--ink-soft);flex-shrink:0;transition:border-color .15s ease,color .15s ease,background .15s ease}.card-menu-btn:hover{border-color:var(--act-2);color:var(--act);background:var(--paper)}.card-menu-list{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:var(--shadow-card-hover);display:flex;flex-direction:column;gap:2px}.card-menu-list button{text-align:left;padding:8px 10px;border-radius:7px;background:none;border:none;font-size:14px;color:var(--ink);transition:background .12s ease}.card-menu-list button:hover{background:var(--paper)}.card-menu-list button.danger{color:var(--danger)}.card-menu-list button.danger:hover{background:#fbe9e4}.bulk-bar{display:flex;align-items:center;gap:10px;background:var(--act-ink);border:1px solid var(--act-2);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-weight:600;font-size:14px;color:var(--act)}.bulk-bar button.danger,.bulk-bar .danger{color:var(--danger);border-color:var(--danger)}.cat-block{margin-bottom:26px}.cat-block.inactive{opacity:.55}.cat-block.collapsed{margin-bottom:12px}.subtabs{display:flex;gap:6px;margin-bottom:22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.subtabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--ink-soft);font:inherit;font-weight:700;font-size:14.5px;padding:10px 14px;cursor:pointer;min-height:44px;margin-bottom:-1px}.subtabs button:hover{color:var(--ink)}.subtabs button.on{color:var(--act);border-bottom-color:var(--act)}.subtabs button b{background:var(--act);color:var(--act-ink);border-radius:999px;padding:1px 8px;font-size:12px;margin-left:6px}:root[data-theme=dark] .subtabs button.on,:root:not([data-theme]) .subtabs button.on{color:var(--act)}.menu-search-field input{min-width:240px}.cat-collapse{align-self:center;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink-soft);cursor:pointer}.cat-collapse:hover{color:var(--ink);border-color:var(--act-2)}.cat-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}.cat-head h2{margin:0;font-size:21px;position:relative;padding-left:14px}.cat-head h2:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:linear-gradient(var(--act-2),var(--gold));border-radius:999px}.item-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin-bottom:9px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.item-row:hover{box-shadow:var(--shadow-card);border-color:#cbd5e1}.cat-count{font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--paper);border-radius:999px;padding:2px 10px;align-self:center}.item-row.inactive{opacity:.5}.item-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.item-detail{display:flex;flex-direction:column;gap:2px;margin-top:4px;border-left:2px solid var(--line);padding-left:8px}.desc{color:var(--ink-soft);font-size:13px}.tags{color:var(--act);font-size:12px;font-weight:600}.price{color:var(--price);font-weight:700;white-space:nowrap}.pill{border:none;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm)}.pill.ok{background:linear-gradient(155deg,#e4f2e7,var(--ok-bg));color:var(--ok-ink)}.pill.warn{background:linear-gradient(155deg,#f9ead0,var(--warn-bg));color:var(--warn-ink)}.quiet{color:var(--ink-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:10;display:grid;place-items:center;padding:16px}.modal{background:var(--card);border-radius:16px;padding:24px;width:min(460px,100%);display:grid;gap:12px;max-height:88dvh;overflow-y:auto;border-top:3px solid var(--act-2)}.modal h3{margin:0;font-size:20px}.modal label{display:grid;gap:5px;font-weight:600;font-size:13px;color:var(--ink-soft)}.group-pick{display:grid;gap:7px;font-weight:600;font-size:13px;color:var(--ink-soft)}.check{display:flex;align-items:center;gap:8px;font-weight:400;font-size:14px;color:var(--ink)}.check input{width:auto}.check em{color:var(--ink-soft);font-style:normal;font-size:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.stats-label{margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-soft)}.stats-section+.stats-section{margin-top:-6px}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .15s ease}.stat:hover{box-shadow:var(--shadow-card-hover)}.stat{min-width:0}.stat span{color:var(--ink-soft);font-size:13px;font-weight:600}.stat strong{font-family:Plus Jakarta Sans,sans-serif;font-size:26px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stat.big{background:linear-gradient(155deg,#1b212b,#101318);border-color:#2a303a;box-shadow:var(--shadow-lift)}.stat.big span{color:#f2f7f5a6}.stat.big strong{font-size:36px;color:#f4e2bb;text-shadow:0 1px 0 rgba(0,0,0,.2)}.warn-stat{border-color:var(--danger)}.warn-stat strong{color:var(--danger)}.scope-toggle{display:flex;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px;box-shadow:var(--shadow-sm)}.scope-toggle button{flex:1;background:none;border:none;border-radius:9px;padding:9px;font:inherit;font-weight:700;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.scope-toggle button.on{background:linear-gradient(155deg,var(--act-2),var(--act));color:var(--act-ink);box-shadow:var(--shadow-sm)}.floor-legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.floor-legend-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 14px;box-shadow:var(--shadow-sm);font-size:13px;font-weight:600;color:var(--ink-soft)}.floor-legend-item b{font-family:Plus Jakarta Sans,sans-serif;font-size:16px;color:var(--ink)}.floor-legend-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.floor-legend-dot.empty{background:var(--ink-soft);opacity:.4}.floor-legend-dot.occupied{background:var(--act-2)}.floor-legend-dot.long{background:var(--danger)}.floor-legend-dot.revenue{background:var(--gold)}.floor-plan{position:relative;min-height:460px;background:radial-gradient(760px 320px at 12% -12%,color-mix(in srgb,var(--gold) 7%,transparent),transparent 60%),linear-gradient(var(--card),var(--card)),repeating-linear-gradient(0deg,transparent,transparent 27px,color-mix(in srgb,var(--ink) 5%,transparent) 28px),repeating-linear-gradient(90deg,transparent,transparent 27px,color-mix(in srgb,var(--ink) 5%,transparent) 28px);border:1px solid var(--line);border-radius:18px;overflow:auto;box-shadow:inset 0 1px 3px #0f172a0d}.floor-table{position:absolute;width:132px;padding:14px;border-radius:14px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:8px;background:linear-gradient(165deg,var(--card),color-mix(in srgb,var(--card) 92%,var(--act-2) 8%));border:1.5px solid var(--line);box-shadow:0 6px 16px -8px #0f172a2e,0 1px 2px #0f172a14;transition:box-shadow .2s ease,transform .15s cubic-bezier(.22,.85,.32,1)}.floor-table:hover{box-shadow:0 12px 26px -10px #0f172a4d}.floor-table:active{cursor:grabbing;transform:scale(1.03);z-index:5}.floor-table.empty{border-style:dashed;background:linear-gradient(165deg,var(--card),color-mix(in srgb,var(--card) 96%,var(--ink) 4%))}.floor-table.empty .floor-table-name{color:var(--ink-soft)}.floor-table.occupied{border-color:var(--act);border-top-width:4px;border-top-color:var(--act)}.floor-table.occupied.long{border-top-color:var(--danger)}.floor-table.occupied.long .floor-table-time{color:var(--danger)}.floor-table-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.floor-table-name{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px}.floor-table-name:before{content:"";width:8px;height:8px;border-radius:999px;flex-shrink:0;background:var(--act-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--act-2) 20%,transparent)}.floor-table.empty .floor-table-name:before{background:var(--ink-soft);opacity:.35;box-shadow:none}.floor-table.occupied.long .floor-table-name:before{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent);animation:floor-pulse 1.6s ease-in-out infinite}@keyframes floor-pulse{0%,to{opacity:1}50%{opacity:.4}}.floor-table-time{font-size:12px;font-weight:700;color:var(--act);white-space:nowrap}.floor-table-pill{font-size:10.5px;font-weight:700;letter-spacing:.3px;color:var(--ink-soft);background:var(--paper);border-radius:999px;padding:2px 8px}.floor-table-amount{font-family:Plus Jakarta Sans,sans-serif;font-weight:800;font-size:19px;color:var(--price)}.floor-table-zone{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;background:color-mix(in srgb,var(--act-2) 12%,transparent);border:none;border-radius:999px;padding:3px 10px 3px 8px;font-size:11px;font-weight:700;color:var(--act);cursor:pointer}.floor-table-zone:before{content:"📍";font-size:9px}.floor-table-zone.no-zone{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-soft)}.floor-table-zone.no-zone:before{content:"+";font-size:11px}.floor-table-waiter{align-self:flex-start;display:inline-flex;align-items:center;gap:3px;background:color-mix(in srgb,var(--act-2) 12%,transparent);border:none;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--act);cursor:pointer;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-table-waiter.no-waiter{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-soft)}.help-btn{width:34px;height:34px;border-radius:999px;background:var(--card);border:1.5px solid var(--line);font:inherit;font-weight:700;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s ease,color .15s ease}.help-btn:hover{border-color:var(--act-2);color:var(--act)}.faq-list{display:grid;gap:8px}.faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;border:none;padding:12px 14px;font:inherit;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}.faq-caret{color:var(--act);font-size:18px;font-weight:800}.faq-a{margin:0;padding:0 14px 12px;color:var(--ink-soft);font-size:13px;line-height:1.5}.method-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line)}.method-line:last-child{border-bottom:none}.item-thumb{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.img-preview{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px dashed var(--line)}.setting-row .desc,.card .desc{color:var(--ink-soft);font-size:13px;margin-top:2px}.rid-pick{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font:inherit;color:inherit}.okmsg{color:var(--ok-ink);background:var(--ok-bg);border-radius:9px;padding:9px 12px}.menu-eng-card{grid-column:1 / -1}.menu-eng-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}.menu-eng-cell{border-radius:10px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--line);background:var(--paper);display:grid;gap:4px}.menu-eng-cell.star{border-left-color:var(--ok-ink)}.menu-eng-cell.plowhorse{border-left-color:var(--warn-ink)}.menu-eng-cell.puzzle{border-left-color:var(--act)}.menu-eng-cell.dog{border-left-color:var(--danger)}.menu-eng-cell .method-line.small{padding:3px 0;font-size:13px}.stat.live span{color:var(--ok-ink)}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:16px}.bars{display:flex;gap:6px;align-items:flex-end;height:150px;padding-top:20px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar{width:100%;max-width:44px;background:linear-gradient(180deg,var(--act-2),var(--act));border-radius:6px 6px 0 0;opacity:.9;transition:opacity .15s ease}.bar-col:hover .bar{opacity:1}.bar-val{font-size:11px;color:var(--ink-soft);margin-bottom:3px;white-space:nowrap;text-align:center}.bar-label{font-size:11px;color:var(--ink-soft);margin-top:5px}.mp-channels{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mp-channel-card{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:10px;padding:10px 14px;min-width:120px;display:flex;flex-direction:column;gap:2px}.mp-channel-card strong{font-size:18px}.mp-channel-label{font-size:12px;color:var(--ink-soft);font-weight:700}.mp-panel-row{display:flex;gap:16px;flex-wrap:wrap}.mp-hourly{flex:2;min-width:260px}.mp-donut-wrap{flex:1;min-width:160px;display:flex;flex-direction:column;align-items:center;gap:8px}.mp-donut{width:84px;height:84px;border-radius:50%}.mp-donut-legend{display:flex;flex-direction:column;gap:4px;font-size:12.5px;align-self:flex-start}.mp-donut-legend span{display:flex;align-items:center;gap:6px}.mp-donut-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.hist-row{width:100%;display:grid;grid-template-columns:60px 1fr 130px 110px 90px;align-items:center;gap:10px;text-align:left;background:none;border:none;border-top:1px dashed var(--line);border-radius:9px;padding:11px 8px;font:inherit;color:inherit;cursor:pointer;transition:background .15s ease}.hist-row:first-child{border-top:none}.hist-row:hover{background:var(--paper)}.hist-no{font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.hist-detail{background:var(--paper);border-radius:10px;padding:10px 14px;margin:0 4px 10px}@media (max-width: 640px){.hist-row{grid-template-columns:50px 1fr 90px}.hist-row .pill,.hist-row .desc{display:none}}.sub-status{margin-bottom:18px}.sub-welcome{text-align:center;padding:34px 20px 30px;margin-bottom:22px;border-radius:20px;background:linear-gradient(155deg,#1b212b,#131820 60%,#101318);color:#eef5f2;box-shadow:0 20px 46px -22px #1142328c}.sub-welcome-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;margin-bottom:14px}.sub-welcome h1{margin:0 0 10px;font-size:clamp(22px,3vw,30px)}.sub-welcome .quiet{color:#cfe0da;max-width:560px;margin:0 auto}.sub-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1100px}.sub-plan-card{position:relative;display:flex;flex-direction:column;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:26px 24px;box-shadow:var(--shadow-sm)}.sub-plan-card.hi{border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--gold),var(--gold-ink) 55%,var(--gold)) border-box;box-shadow:0 20px 46px -22px #c5a05966}.sub-plan-card.dark{background:linear-gradient(155deg,#1b212b,#0d0f13);border-color:#ffffff1f;color:#eef5f2;box-shadow:0 20px 46px -22px #0000008c}.sub-plan-card.dark .sub-plan-name{color:#b9d3c9}.sub-plan-card.dark .sub-plan-price{color:#fff}.sub-plan-card.dark .quiet{color:#a8c4bb}.sub-plan-card.dark .sub-plan-features li{color:#eef5f2}.sub-plan-card.dark .sub-plan-features li:before{color:var(--gold)}.sub-plan-ribbon{position:absolute;top:-12px;right:22px;background:var(--gold);color:#241d05;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;letter-spacing:.3px}.sub-plan-name{font-weight:700;font-size:15px;color:var(--ink-soft)}.sub-plan-price{font-family:Plus Jakarta Sans,sans-serif;font-size:30px;color:var(--act)}.sub-plan-features{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.sub-plan-features li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink)}.sub-plan-features li:before{content:"✓";position:absolute;left:0;color:var(--act-2);font-weight:800}.sub-plan-fomo{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--warn-bg);border:1px solid rgba(122,77,0,.15)}.sub-plan-fomo b{display:block;font-size:12.5px;color:var(--warn-ink);margin-bottom:6px}.sub-plan-fomo ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sub-plan-fomo li{position:relative;padding-left:18px;font-size:12.5px;color:var(--warn-ink)}.sub-plan-fomo li:before{content:"✕";position:absolute;left:0;font-weight:800;opacity:.7}.plan-buttons{display:flex;flex-direction:column;gap:8px;align-self:stretch;margin-top:16px}.pay-frame{width:100%;min-height:480px;border:none;border-radius:10px}.pay-done{text-align:center;font-size:17px;font-weight:600;padding:30px 0}.err{color:var(--danger);font-size:13px}.card:hover{box-shadow:var(--shadow-card-hover)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{box-shadow:0 28px 64px -20px #0f172a66}@media (max-width: 780px){.panel-sidebar{flex-direction:column;min-height:0}.sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 14px;gap:10px 14px}.sidebar-brand{padding:0;font-size:18px}.sidebar nav{flex-direction:row;flex-wrap:wrap;flex-basis:100%;gap:4px}.nav-group{display:contents}.nav-group-label{display:none}.sidebar nav{gap:6px}.sidebar nav button{min-height:44px;padding:10px 14px;font-size:14px;flex:1 1 auto;justify-content:center;white-space:nowrap}.sidebar-foot{flex-basis:100%;border-top:none;padding-top:0;grid-auto-flow:column}.sidebar-foot .ghost{min-height:44px}.topbar{padding:18px 16px 14px}.topbar h2{font-size:21px}main{padding:18px 16px 40px}.sub-plan-grid{grid-template-columns:1fr}}.field{display:grid;gap:5px;text-align:left}.field-label{font-size:12.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.01em}.login-card .field input{width:100%}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px}.ui-dialog{animation:ui-pop .16s cubic-bezier(.2,.8,.3,1)}@keyframes ui-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.ui-dialog{animation:none}}.ui-dialog-sm{max-width:420px}.ui-dialog-md{max-width:560px}.ui-dialog-lg{max-width:820px}.ui-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 12px}.ui-dialog-head h3{margin:0;font-size:18px}.ui-dialog-x{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border:none;border-radius:10px;background:var(--paper-deep);color:var(--ink-soft);cursor:pointer}.ui-dialog-x:hover{color:var(--ink)}.ui-skeleton{display:grid;gap:10px;width:100%}.ui-skeleton-bar{height:13px;border-radius:7px}.ui-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:44px 24px;color:var(--ink)}.ui-state-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--paper-deep);border:1px solid var(--line);color:var(--price);margin-bottom:4px}.ui-state-error .ui-state-icon{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.ui-state-title{margin:0;font-size:16px;font-weight:700}.ui-state-hint{margin:0;font-size:13px;color:var(--ink-soft);max-width:320px;line-height:1.5}.ui-state-action{margin-top:10px}.ui-state-action .ghost{display:inline-flex;align-items:center;gap:6px}.primary.danger{background:var(--danger)}.modal.ui-dialog-lg{display:flex;flex-direction:column;gap:0;padding:0;max-height:90dvh;overflow:hidden;width:min(820px,100%)}.modal.ui-dialog-lg .ui-dialog-head{flex-shrink:0;margin:0;padding:18px 24px 12px;border-bottom:1px solid var(--line)}.item-modal-body{flex:1;overflow-y:auto;padding:18px 24px;display:grid;gap:12px}.modal-foot{flex-shrink:0;display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--line);background:var(--card)}.modal-foot .err{font-size:13px}
