:root{--bg:#0a0d12;--bg-2:#0e1218;--panel:#11151c;--panel-2:#161b24;--border:#1f2530;--border-2:#2a323f;--text:#e8edf4;--text-2:#9aa3b2;--text-3:#5e6776;--accent:oklch(82% .19 145);--accent-glow:oklch(82% .19 145/.35);--accent-dim:oklch(55% .13 145);--warn:oklch(78% .16 75);--danger:oklch(68% .2 25);--info:oklch(72% .14 270);--vip:oklch(72% .16 310);--status-free:oklch(82% .19 145);--status-playing:oklch(68% .2 25);--status-soon:oklch(78% .16 75);--status-reserved:oklch(72% .16 310);--status-clean:oklch(72% .14 240);--status-maint:oklch(55% .02 250);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--font:"Inter", "Helvetica Neue", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;font-size:14px;line-height:1.45;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font:inherit}.app{grid-template-columns:232px 1fr;width:100vw;height:100vh;display:grid}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:20px 14px;display:flex}.brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:14px;padding:4px 8px 18px;display:flex}.brand-mark{background:radial-gradient(circle at 30% 30%, var(--accent), var(--accent-dim));width:32px;height:32px;box-shadow:0 0 14px var(--accent-glow);border-radius:9px;position:relative}.brand-mark:after{content:"";background:#fff9;border-radius:50%;width:6px;height:6px;position:absolute;inset:8px 8px auto auto}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:700}.brand-sub{color:var(--text-3);font-size:11px;font-family:var(--mono)}.nav-section{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);padding:12px 10px 4px;font-size:10px}.nav-item{border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;text-align:left;width:100%;font-size:13px;font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--panel-2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .ico{opacity:.85;flex:none;width:16px;height:16px}.nav-item .badge{font-family:var(--mono);background:var(--border);color:var(--text-2);border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px}.nav-item.active .badge{background:var(--accent);color:#062013}.sidebar-foot{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px 10px;display:flex}.avatar{width:30px;height:30px;color:var(--text);background:linear-gradient(135deg,#2a3f5a,#1a2433);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.user-name{font-size:12px;font-weight:500}.user-role{color:var(--text-3);font-size:10px;font-family:var(--mono)}.main{flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:16px;height:56px;padding:0 22px;display:flex}.crumb{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.crumb b{color:var(--text);font-weight:600}.crumb-sep{color:var(--text-3)}.search{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:8px;width:240px;margin-left:auto;padding:6px 10px;display:flex}.search input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:13px}.search input::placeholder{color:var(--text-3)}.kbd{font-family:var(--mono);color:var(--text-3);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:10px}.btn{border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);color:var(--text);align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--panel-2);border-color:var(--border-2)}.btn-primary{background:var(--accent);color:#062013;box-shadow:0 0 0 1px var(--accent), 0 0 18px -4px var(--accent-glow);border-color:#0000;font-weight:600}.btn-primary:hover{filter:brightness(1.05);background:var(--accent)}.btn-ghost{background:0 0}.btn-danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 30%, transparent);background:0 0}.btn .ico{width:14px;height:14px}.content{background:radial-gradient(1200px 600px at 80% -10%, oklch(82% .19 145/.04), transparent 60%), radial-gradient(800px 500px at -10% 100%, oklch(72% .16 310/.04), transparent 60%), var(--bg);flex:1;padding:20px 22px 28px;overflow:auto}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.card-title{font-size:13px;font-weight:600}.card-sub{color:var(--text-3);font-size:11px;font-family:var(--mono)}.card-body{padding:16px}.card-actions{gap:6px;margin-left:auto;display:flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;position:relative;overflow:hidden}.kpi-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.kpi-value{font-size:26px;font-weight:700;font-family:var(--mono);letter-spacing:-.02em;margin-top:6px}.kpi-meta{color:var(--text-2);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.kpi-meta .up{color:var(--accent)}.kpi-meta .down{color:var(--danger)}.kpi-clickable{cursor:pointer;transition:border-color .15s,background .15s}.kpi-clickable:hover{border-color:color-mix(in oklab, var(--accent) 40%, var(--border));background:var(--panel-2)}.kpi-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-spark{opacity:.7;position:absolute;bottom:10px;right:12px}.floor-wrap{grid-template-columns:1fr 320px;gap:14px;display:grid}.floor{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-position:-1px -1px;background-size:28px 28px;padding:16px;position:relative;overflow:hidden}.floor:before{content:"";background:radial-gradient(700px 400px at 30% 20%, var(--accent-glow), transparent 60%);opacity:.08;pointer-events:none;position:absolute;inset:0}.floor-toolbar{align-items:center;gap:10px;padding:4px 6px 14px;display:flex;position:relative}.legend{flex-wrap:wrap;gap:12px;display:flex}.legend-item{color:var(--text-2);align-items:center;gap:6px;font-size:11.5px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.zone{border:1px dashed var(--border-2);border-radius:var(--r-md);background:#ffffff03;margin-bottom:14px;padding:28px 16px 16px;position:relative}.zone-label{background:var(--panel);letter-spacing:.06em;color:var(--text-2);text-transform:uppercase;border:1px solid var(--border);border-radius:6px;padding:2px 10px;font-size:11px;font-weight:600;position:absolute;top:-10px;left:14px}.zone-meta{background:var(--panel);color:var(--text-3);font-size:10px;font-family:var(--mono);border:1px solid var(--border);border-radius:6px;padding:2px 10px;position:absolute;top:-10px;right:14px}.zone-grid{gap:14px;display:grid}.zone-grid.cols-3{grid-template-columns:repeat(3,1fr)}.zone-grid.cols-4{grid-template-columns:repeat(4,1fr)}.zone-grid.cols-2{grid-template-columns:repeat(2,1fr)}.table-card{aspect-ratio:16/9;cursor:pointer;border:1px solid var(--border-2);background:radial-gradient(oklch(32% .06 150) 0%,oklch(22% .05 150) 70%),oklch(20% .04 150);border-radius:14px;transition:transform .15s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px oklch(18% .04 150),inset 0 0 0 8px oklch(32% .04 35),0 4px 18px -8px #0009}.table-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 6px oklch(18% .04 150),inset 0 0 0 8px oklch(32% .04 35),0 8px 24px -8px #000c}.table-card .pocket{background:#000;border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:inset 0 1px 1px #ffffff0f}.table-card .pocket.tl{top:4px;left:4px}.table-card .pocket.tr{top:4px;right:4px}.table-card .pocket.bl{bottom:4px;left:4px}.table-card .pocket.br{bottom:4px;right:4px}.table-card .pocket.tm{top:2px;left:50%;transform:translate(-50%)}.table-card .pocket.bm{bottom:2px;left:50%;transform:translate(-50%)}.table-info{color:#e6f0e9;font-family:var(--mono);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:14px}.table-id{letter-spacing:.04em;text-shadow:0 1px 2px #00000080;font-size:14px;font-weight:700}.table-status-row{align-items:center;gap:6px;margin-top:2px;font-size:10.5px;display:flex}.status-dot{border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px}.table-timer{letter-spacing:.02em;text-shadow:0 1px 2px #0009;margin-top:auto;font-size:18px;font-weight:700}.table-revenue{opacity:.8;font-size:10.5px}.table-cust{text-align:right;opacity:.85;font-size:10.5px;position:absolute;bottom:10px;right:14px}.table-card[data-status=free]{box-shadow:inset 0 0 0 6px oklch(16% .05 150), inset 0 0 0 8px oklch(32% .04 35), 0 0 0 1px var(--status-free), 0 0 24px -4px var(--accent-glow);background:radial-gradient(oklch(30% .08 150) 0%,oklch(18% .06 150) 70%)}.table-card[data-status=playing]{box-shadow:inset 0 0 0 6px oklch(16% .04 30), inset 0 0 0 8px oklch(32% .04 35), 0 0 0 1px var(--status-playing);background:radial-gradient(oklch(28% .06 30) 0%,oklch(18% .04 30) 70%)}.table-card[data-status=soon]{box-shadow:inset 0 0 0 6px oklch(16% .05 75), inset 0 0 0 8px oklch(32% .04 35), 0 0 0 1px var(--status-soon);background:radial-gradient(oklch(30% .07 75) 0%,oklch(20% .05 75) 70%)}.table-card[data-status=reserved]{box-shadow:inset 0 0 0 6px oklch(14% .05 310), inset 0 0 0 8px oklch(32% .04 35), 0 0 0 1px var(--status-reserved);background:radial-gradient(oklch(26% .07 310) 0%,oklch(16% .05 310) 70%)}.table-card[data-status=clean]{box-shadow:inset 0 0 0 6px oklch(14% .04 240), inset 0 0 0 8px oklch(32% .04 35), 0 0 0 1px var(--status-clean);background:radial-gradient(oklch(26% .05 240) 0%,oklch(16% .04 240) 70%)}.table-card[data-status=maint]{box-shadow:inset 0 0 0 6px oklch(12% .01 250), inset 0 0 0 8px oklch(20% .02 35), 0 0 0 1px var(--status-maint);opacity:.7;background:repeating-linear-gradient(45deg,oklch(18% .01 250) 0 10px,oklch(14% .01 250) 10px 20px)}.table-card[data-status=vip]{box-shadow:inset 0 0 0 6px oklch(14% .06 310), inset 0 0 0 8px oklch(40% .08 75), 0 0 0 1px var(--vip), 0 0 28px -4px oklch(72% .16 310/.4);background:radial-gradient(oklch(28% .08 310) 0%,oklch(16% .06 310) 70%)}.table-grid-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;padding:14px;transition:border-color .15s,transform .15s;position:relative}.table-grid-card:hover{border-color:var(--border-2);transform:translateY(-1px)}.tgc-head{align-items:center;gap:10px;display:flex}.tgc-id{font-family:var(--mono);font-size:16px;font-weight:700}.tgc-zone{color:var(--text-3);font-size:10px;font-family:var(--mono);margin-left:auto}.tgc-status{background:var(--bg-2);border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:3px 8px;font-size:11px;display:inline-flex}.tgc-timer{font-family:var(--mono);letter-spacing:-.01em;margin-top:10px;font-size:22px;font-weight:700}.tgc-meta{color:var(--text-2);gap:10px;margin-top:4px;font-size:11px;display:flex}.side-panel{flex-direction:column;gap:12px;display:flex}.detail-card{padding:16px}.detail-empty{color:var(--text-3);text-align:center;padding:28px 0;font-size:12px}.row{border-bottom:1px dashed var(--border);align-items:center;gap:8px;padding:8px 0;font-size:12.5px;display:flex}.row:last-child{border-bottom:none}.row .lbl{color:var(--text-3);flex:0 0 110px;font-size:11.5px}.row .val{color:var(--text);font-family:var(--mono)}.chip{background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:500;display:inline-flex}.chip-free{color:var(--status-free);border-color:color-mix(in oklab, var(--status-free) 35%, transparent);background:color-mix(in oklab, var(--status-free) 10%, var(--bg-2))}.chip-playing{color:var(--status-playing);border-color:color-mix(in oklab, var(--status-playing) 35%, transparent);background:color-mix(in oklab, var(--status-playing) 10%, var(--bg-2))}.chip-soon{color:var(--status-soon);border-color:color-mix(in oklab, var(--status-soon) 35%, transparent);background:color-mix(in oklab, var(--status-soon) 10%, var(--bg-2))}.chip-reserved{color:var(--status-reserved);border-color:color-mix(in oklab, var(--status-reserved) 35%, transparent);background:color-mix(in oklab, var(--status-reserved) 10%, var(--bg-2))}.chip-clean{color:var(--status-clean);border-color:color-mix(in oklab, var(--status-clean) 35%, transparent);background:color-mix(in oklab, var(--status-clean) 10%, var(--bg-2))}.chip-maint{color:var(--status-maint);border-color:var(--border)}.chip-vip{color:var(--vip);border-color:color-mix(in oklab, var(--vip) 35%, transparent);background:color-mix(in oklab, var(--vip) 10%, var(--bg-2))}.booking-grid{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);grid-template-columns:80px repeat(18,minmax(72px,1fr));display:grid;overflow:auto}.bk-head,.bk-cell,.bk-row-label{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:44px;padding:8px;font-size:11px;position:relative}.bk-head{background:var(--panel-2);font-family:var(--mono);color:var(--text-2);z-index:2;position:sticky;top:0}.bk-row-label{background:var(--panel-2);z-index:1;font-family:var(--mono);align-items:center;display:flex;position:sticky;left:0}.bk-cell{background:var(--panel)}.bk-cell.now{background:color-mix(in oklab, var(--accent) 4%, var(--panel))}.booking{cursor:pointer;z-index:3;border:1px solid;border-radius:6px;flex-direction:column;justify-content:center;padding:4px 8px;font-size:10.5px;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden}.booking-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.booking-time{font-family:var(--mono);opacity:.85;font-size:9.5px}.booking.b-confirmed{background:color-mix(in oklab, var(--status-reserved) 18%, var(--panel));border-color:color-mix(in oklab, var(--status-reserved) 50%, transparent);color:oklch(86% .08 310)}.booking.b-active{background:color-mix(in oklab, var(--status-playing) 18%, var(--panel));border-color:color-mix(in oklab, var(--status-playing) 50%, transparent);color:oklch(88% .1 30)}.booking.b-pending{background:color-mix(in oklab, var(--status-soon) 14%, var(--panel));border-color:color-mix(in oklab, var(--status-soon) 40%, transparent);color:oklch(88% .1 75);border-style:dashed}.booking.b-vip{background:color-mix(in oklab, var(--vip) 22%, var(--panel));border-color:var(--vip);color:oklch(92% .06 310);box-shadow:0 0 12px -4px var(--vip)}.now-line{background:var(--accent);z-index:4;width:2px;box-shadow:0 0 10px var(--accent-glow);position:absolute;top:0;bottom:0}.now-line:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-3px}.pos{grid-template-columns:1fr 380px;gap:14px;height:calc(100vh - 104px);display:grid}.pos-left{flex-direction:column;gap:12px;min-height:0;display:flex}.pos-cats{flex-wrap:wrap;gap:6px;display:flex}.pos-cat{background:var(--panel);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px}.pos-cat.active{background:var(--accent);color:#062013;border-color:#0000;font-weight:600}.pos-products{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px;padding:2px;display:grid;overflow:auto}.pos-products--few{grid-template-columns:repeat(auto-fill,minmax(118px,152px));justify-content:start;gap:8px}.pos-products--few .product{padding:8px 10px}.pos-products--few .product-img{aspect-ratio:1;height:64px;max-height:64px;margin-bottom:6px;font-size:18px}.pos-products--few .product-name{font-size:12px}.pos-products--few .product-price{margin-top:2px;font-size:11px}.pos-products--few .product-stock{padding-top:4px;font-size:9px}.product{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;padding:12px;transition:border-color .15s,transform .1s;display:flex}.product:hover{border-color:var(--accent-dim)}.product:active{transform:scale(.98)}.product-img{aspect-ratio:1;border-radius:var(--r-sm);background:repeating-linear-gradient(45deg, var(--bg-2) 0 6px, var(--panel-2) 6px 12px);border:1px solid var(--border);color:var(--text-3);font-family:var(--mono);place-items:center;margin-bottom:10px;font-size:22px;display:grid}.product-name{font-size:12.5px;font-weight:500;line-height:1.3}.product-price{font-family:var(--mono);color:var(--accent);margin-top:4px;font-size:12px}.product-stock{color:var(--text-3);margin-top:auto;padding-top:6px;font-size:10px}.product.low .product-stock{color:var(--warn)}.cart{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.cart-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.cart-target{color:var(--text-3);font-size:11px;font-family:var(--mono)}.cart-target b{color:var(--accent)}.cart-items{flex:1;padding:6px 0;overflow:auto}.cart-empty{text-align:center;color:var(--text-3);padding:40px 16px;font-size:12px}.cart-item{border-bottom:1px dashed var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;display:grid}.cart-item-name{font-weight:500}.cart-item-price{font-family:var(--mono);color:var(--text-3);font-size:11px}.qty{align-items:center;gap:4px;display:flex}.qty button{background:var(--bg-2);border:1px solid var(--border);border-radius:5px;place-items:center;width:22px;height:22px;display:grid}.qty button:hover{background:var(--panel-2)}.qty span{font-family:var(--mono);text-align:center;width:22px;font-size:12px}.cart-total{font-family:var(--mono);font-size:13px;font-weight:600}.cart-summary{border-top:1px solid var(--border);padding:14px 16px}.cart-row{justify-content:space-between;padding:4px 0;font-size:12.5px;display:flex}.cart-row.grand{border-top:1px solid var(--border);font-size:16px;font-weight:700;font-family:var(--mono);margin-top:6px;padding-top:10px}.cart-row.grand b{color:var(--accent)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#05080cb8;place-items:center;animation:.2s fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(960px,92vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 80px -20px #000c}.modal-cam{flex-direction:column;flex:1;gap:14px;min-width:0;padding:22px;display:flex}.modal-head{align-items:center;gap:12px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-sub{color:var(--text-3);font-size:11.5px;font-family:var(--mono);margin-top:2px}.modal-close{margin-left:auto}.cam-stage{aspect-ratio:4/3;border-radius:var(--r-md);border:1px solid var(--border);background:#050708;position:relative;overflow:hidden}.cam-noise{opacity:.9;background:radial-gradient(at 50% 30%,oklch(22% .04 150) 0%,oklch(10% .02 150) 60%,#050708 100%);position:absolute;inset:0}.cam-noise:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#ffffff03 2px 3px);position:absolute;inset:0}.face-silhouette{aspect-ratio:3/4;filter:blur(1px);opacity:.9;background:radial-gradient(at 50% 35%,oklch(35% .04 60) 0%,oklch(18% .02 60) 100%);border-radius:50% 50% 45% 45%/55% 55% 45% 45%;width:38%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-frame{aspect-ratio:3/4;border:1.5px solid var(--accent);width:56%;box-shadow:0 0 40px -4px var(--accent-glow), inset 0 0 0 1px #ffffff0d;border-radius:18px;animation:2.4s ease-in-out infinite scanPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-frame:before,.scan-frame:after,.scan-corner{content:"";border:2.5px solid var(--accent);width:24px;height:24px;position:absolute}.scan-frame:before{border-bottom:none;border-right:none;border-radius:18px 0 0;top:-2px;left:-2px}.scan-frame:after{border-bottom:none;border-left:none;border-radius:0 18px 0 0;top:-2px;right:-2px}.sc-bl{border-top:none;border-right:none;border-radius:0 0 0 18px;bottom:-2px;left:-2px}.sc-br{border-top:none;border-left:none;border-radius:0 0 18px;bottom:-2px;right:-2px}.scan-corner.sc-bl,.scan-corner.sc-br{position:absolute}.scan-line{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 12px var(--accent);animation:2s ease-in-out infinite scanMove;position:absolute;left:0;right:0}@keyframes scanPulse{0%,to{box-shadow:0 0 40px -4px var(--accent-glow), inset 0 0 0 1px #ffffff0d}50%{box-shadow:0 0 60px 0 var(--accent-glow), inset 0 0 0 1px #ffffff14}}@keyframes scanMove{0%{opacity:0;top:22%}10%{opacity:1}50%{top:78%}90%{opacity:1}to{opacity:0;top:22%}}.face-points{pointer-events:none;position:absolute;inset:0}.face-point{background:var(--accent);width:5px;height:5px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:1.4s ease-in-out infinite pointBlink;position:absolute}@keyframes pointBlink{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.cam-hud{font-family:var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;pointer-events:none;justify-content:space-between;align-items:flex-start;font-size:10.5px;display:flex;position:absolute;top:12px;left:12px;right:12px}.hud-left,.hud-right{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border-radius:4px;padding:4px 8px}.cam-rec{align-items:center;gap:6px;display:inline-flex}.cam-rec:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;animation:1s infinite blink}@keyframes blink{50%{opacity:.3}}.cam-bottom-hud{font-family:var(--mono);gap:12px;font-size:10.5px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.hud-stat{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-2);background:#00000080;border:1px solid #ffffff0f;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;display:flex}.hud-stat b{color:var(--accent)}.cam-status{background:var(--panel-2);border-radius:var(--r-sm);border:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.cs-state{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:1.4s infinite blink}.cs-text{font-size:12.5px}.cs-text b{color:var(--accent)}.cs-progress{font-family:var(--mono);color:var(--text-3);margin-left:auto;font-size:11px}.modal-side{background:var(--bg-2);border-left:1px solid var(--border);flex-direction:column;flex:0 0 320px;width:320px;padding:22px;display:flex;overflow:auto}.modal-side-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:12px;font-size:11px}.modal.modal--dialog{flex-direction:column;width:min(460px,92vw);max-height:min(90vh,720px)}.modal--dialog .modal-head{border-bottom:1px solid var(--border);flex-shrink:0;padding:18px 20px 14px}.modal--dialog .modal-body{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.modal--dialog .modal-foot{border-top:1px solid var(--border);background:var(--panel);flex-shrink:0;padding:14px 20px 18px}.checkout-summary{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:16px;padding:14px 16px}.checkout-summary .row{border-bottom-color:color-mix(in oklab, var(--border) 70%, transparent)}.checkout-total{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding-top:12px;display:flex}.checkout-total .lbl{color:var(--text-2);font-size:13px;font-weight:600}.checkout-total .val{color:var(--accent);font-size:22px;font-weight:700;font-family:var(--mono)}.pay-methods{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.pay-method{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12.5px;transition:border-color .15s,background .15s,color .15s;display:flex}.pay-method:hover{border-color:var(--border-2);color:var(--text)}.pay-method.active{border-color:color-mix(in oklab, var(--accent) 55%, var(--border));background:color-mix(in oklab, var(--accent) 10%, var(--panel-2));color:var(--text);box-shadow:0 0 0 1px color-mix(in oklab, var(--accent) 25%, transparent)}.checkout-section{margin-bottom:16px}.checkout-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.checkout-section-head label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:11px;font-weight:600}.checkout-section-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11.5px}.checkout-section-toggle:hover{text-decoration:underline}.cust-chip{background:color-mix(in oklab, var(--accent) 8%, var(--panel-2));border:1px solid color-mix(in oklab, var(--accent) 25%, var(--border));border-radius:var(--r-sm);align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.cust-chip-main{flex:1;min-width:0}.cust-chip-name{font-size:13px;font-weight:600}.cust-chip-phone{color:var(--text-3);font-size:11.5px;font-family:var(--mono)}.checkout-loading{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 16px;font-size:13px;display:flex}.checkout-loading:before{content:"";border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cust-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:12px;padding:14px}.cust-head{align-items:center;gap:10px;display:flex}.cust-avatar{color:#fff;border:2px solid var(--accent);width:44px;height:44px;box-shadow:0 0 12px -2px var(--accent-glow);background:linear-gradient(135deg,oklch(45% .08 145),oklch(30% .06 145));border-radius:50%;place-items:center;font-weight:600;display:grid}.cust-name{font-size:14px;font-weight:600}.cust-id{font-family:var(--mono);color:var(--text-3);font-size:10.5px}.cust-stat-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.cust-stat{background:var(--bg-2);border-radius:6px;padding:8px}.cust-stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.cust-stat-val{font-family:var(--mono);margin-top:2px;font-size:14px;font-weight:600}.tab-bar{gap:4px;margin-bottom:12px;display:flex}.tab{color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);cursor:pointer;padding:6px 12px;font-size:12px}.tab.active{color:var(--accent);border-color:var(--accent-dim);background:color-mix(in oklab, var(--accent) 8%, var(--panel))}.manual-form{flex-direction:column;gap:10px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.field input,.field select{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);outline:none;padding:8px 10px;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent-dim)}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}table.data th{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);background:var(--panel-2);font-size:11px;font-weight:500}table.data tbody tr:hover{background:var(--panel-2)}table.data td.mono{font-family:var(--mono)}table.data td.num{font-family:var(--mono);text-align:right}.chart-row{grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px;display:grid}.chart-tall{height:240px}.bars{align-items:flex-end;gap:6px;height:180px;padding:0 4px;display:flex}.bar{background:linear-gradient(to top, var(--accent-dim), var(--accent));border-radius:3px 3px 0 0;flex:1;min-height:4px;transition:filter .15s;position:relative}.bar:hover{filter:brightness(1.2)}.bar-label{text-align:center;color:var(--text-3);font-size:10px;font-family:var(--mono);position:absolute;bottom:-18px;left:0;right:0}.donut-wrap{align-items:center;gap:14px;display:flex}.donut-legend{flex-direction:column;flex:1;gap:6px;display:flex}.dl-row{align-items:center;gap:8px;font-size:12px;display:flex}.dl-dot{border-radius:2px;width:8px;height:8px}.dl-name{color:var(--text-2)}.dl-val{font-family:var(--mono);margin-left:auto;font-weight:600}.action-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.action-bar .filter{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);gap:4px;padding:3px;display:flex}.screen-filters{gap:12px}.screen-filter{color:var(--text);align-items:center;gap:8px;font-size:12px;display:inline-flex}.screen-filter-label{color:var(--text-2);white-space:nowrap}.screen-filter-control{background:var(--panel);width:auto;min-width:148px;color:var(--text);border:1px solid var(--border);padding:8px 10px}.screen-filter-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.screen-filter-control[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.screen-filter-control[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer}.screen-filter-control option{background:var(--panel);color:var(--text)}.filter-btn{color:var(--text-2);border-radius:4px;padding:5px 10px;font-size:12px}.filter-btn.active{background:var(--panel-2);color:var(--text)}.hr{background:var(--border);height:1px;margin:14px 0}.muted{color:var(--text-3)}.grow{flex:1}.right{margin-left:auto}.row-flex{align-items:center;gap:8px;display:flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border:2px solid var(--bg);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.view-toggle{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px;display:inline-flex}.view-toggle button{color:var(--text-2);border-radius:4px;padding:5px 12px;font-size:12px}.view-toggle button.active{background:var(--panel-2);color:var(--text)}.cd-wrap{grid-template-columns:360px 1fr;gap:14px;display:grid}.cd-back{color:var(--text-3);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.cd-back:hover{color:var(--text);background:var(--panel)}.cd-profile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:22px;position:relative;overflow:hidden}.cd-profile:before{content:"";background:radial-gradient(circle, var(--accent-glow), transparent 60%);opacity:.6;pointer-events:none;width:200px;height:200px;position:absolute;inset:-40px -40px auto auto}.cd-avatar-big{color:#fff;border:3px solid var(--accent);width:96px;height:96px;box-shadow:0 0 24px -2px var(--accent-glow);z-index:1;background:linear-gradient(135deg,oklch(50% .1 305),oklch(30% .08 305));border-radius:50%;place-items:center;font-size:32px;font-weight:700;display:grid;position:relative}.cd-name{letter-spacing:-.01em;margin-top:16px;font-size:22px;font-weight:700}.cd-id{font-family:var(--mono);color:var(--text-3);margin-top:2px;font-size:12px}.cd-tier-badge{background:color-mix(in oklab, var(--vip) 14%, var(--bg-2));color:var(--vip);border:1px solid color-mix(in oklab, var(--vip) 40%, transparent);border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.cd-tier-badge.gold{background:color-mix(in oklab, var(--warn) 14%, var(--bg-2));color:var(--warn);border-color:color-mix(in oklab, var(--warn) 40%, transparent)}.cd-tier-badge.silver{background:var(--bg-2);color:var(--text-2);border-color:var(--border-2)}.cd-tier-badge.bronze{background:color-mix(in oklab, oklch(50% .1 50) 14%, var(--bg-2));color:oklch(72% .1 50);border-color:oklab(50% .0642788 .0766045/.4)}.cd-info-list{margin-top:18px}.cd-info-row{border-bottom:1px dashed var(--border);align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.cd-info-row:last-child{border-bottom:none}.cd-info-row .lbl{color:var(--text-3);flex:0 0 90px;width:90px;font-size:11.5px}.cd-info-row .val{color:var(--text)}.cd-info-row .val.mono{font-family:var(--mono)}.cd-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.cd-actions .btn{justify-content:center}.cd-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.cd-stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;position:relative;overflow:hidden}.cd-stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.cd-stat-val{font-size:22px;font-weight:700;font-family:var(--mono);letter-spacing:-.02em;margin-top:4px}.cd-stat-meta{color:var(--text-2);margin-top:2px;font-size:11px}.cd-stat-meta.up{color:var(--accent)}.cd-tabs{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);gap:4px;width:fit-content;margin-bottom:14px;padding:4px;display:flex}.cd-tab{color:var(--text-2);border-radius:4px;padding:7px 16px;font-size:12.5px}.cd-tab.active{background:var(--panel-2);color:var(--text)}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:8px}.tl-item{padding:10px 0 14px;position:relative}.tl-item:before{content:"";background:var(--panel);border:2px solid var(--accent);width:9px;height:9px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;position:absolute;top:14px;left:-18px}.tl-date{font-family:var(--mono);color:var(--text-3);font-size:11px}.tl-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);margin-top:6px;padding:12px 14px}.tl-row1{align-items:center;gap:10px;font-size:13px;display:flex}.tl-table{font-family:var(--mono);color:var(--accent);font-weight:600}.tl-duration{font-family:var(--mono);color:var(--text-2);font-size:12px}.tl-amount{font-family:var(--mono);margin-left:auto;font-weight:600}.tl-row2{color:var(--text-3);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:11.5px;display:flex}.tl-row2 span{background:var(--bg-2);border-radius:4px;padding:2px 8px}.cd-pref{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pref-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px}.pref-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px}.pref-bar{align-items:center;gap:8px;padding:6px 0;font-size:12.5px;display:flex}.pref-bar-name{flex:0 0 90px;width:90px}.pref-bar-track{background:var(--bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.pref-bar-fill{background:linear-gradient(to right, var(--accent-dim), var(--accent));border-radius:3px;height:100%}.pref-bar-val{font-family:var(--mono);color:var(--text-2);text-align:right;width:36px;font-size:11px}.heatmap{grid-template-columns:28px repeat(7,1fr);gap:3px;display:grid}.hm-day-label{color:var(--text-3);font-size:10px;font-family:var(--mono);place-items:center;display:grid}.hm-hour-label{color:var(--text-3);text-align:center;font-size:9px;font-family:var(--mono);padding:2px 0}.hm-cell{aspect-ratio:1;background:var(--bg-2);border-radius:3px}.face-tag{font-family:var(--mono);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#00000080;border-radius:4px;padding:3px 8px;font-size:9.5px;position:absolute;bottom:8px;right:8px}.cd-face-id{border:1px solid var(--border);background:radial-gradient(at 50% 35%,oklch(32% .04 60),oklch(14% .02 60));border-radius:12px;width:96px;height:96px;margin-top:16px;position:relative;overflow:hidden}.cd-face-id .corners:before,.cd-face-id .corners:after,.cd-face-id .corners>span{content:"";border:1.5px solid var(--accent);width:12px;height:12px;position:absolute}.cd-face-id .corners:before{border-bottom:none;border-right:none;top:4px;left:4px}.cd-face-id .corners:after{border-bottom:none;border-left:none;top:4px;right:4px}.cd-face-id .corners>span:first-child{border-top:none;border-right:none;bottom:4px;left:4px}.cd-face-id .corners>span:last-child{border-top:none;border-left:none;bottom:4px;right:4px}.login-wrap{background:var(--bg);grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.login-visual{background:radial-gradient(800px 500px at 30% 30%,oklch(32% .12 145/.45),#0000 60%),radial-gradient(700px 500px at 80% 80%,oklch(30% .1 305/.35),#0000 60%),linear-gradient(135deg,oklch(16% .04 150) 0%,oklch(10% .02 240) 100%);flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.cue-art{aspect-ratio:16/9;filter:blur(.3px);background:radial-gradient(oklch(35% .1 150) 0%,oklch(20% .06 150) 70%);border-radius:24px;width:78%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg);box-shadow:inset 0 0 0 14px oklch(14% .04 150),inset 0 0 0 18px oklch(40% .06 35),0 60px 120px -30px #0009,0 0 0 1px #ffffff0a}.cue-art:before,.cue-art:after,.cue-art>.pkt{content:"";background:#000;border-radius:50%;width:26px;height:26px;position:absolute;box-shadow:inset 0 2px 3px #ffffff0f}.cue-art:before{top:8px;left:8px}.cue-art:after{top:8px;right:8px}.cue-art>.pkt.bl{bottom:8px;left:8px}.cue-art>.pkt.br{bottom:8px;right:8px}.cue-art>.pkt.tm{top:4px;left:50%;transform:translate(-50%)}.cue-art>.pkt.bm{bottom:4px;left:50%;transform:translate(-50%)}.ball{border-radius:50%;position:absolute;box-shadow:inset -3px -4px 8px #00000080,inset 4px 4px 6px #ffffff2e,0 4px 14px #00000080}.ball.cue{background:radial-gradient(circle at 35% 30%,#fff,#d4d4cc);width:38px;height:38px}.ball.b8{background:radial-gradient(circle at 35% 30%,#2a2a2a,#050505);width:38px;height:38px}.ball.b9{background:radial-gradient(circle at 35% 30%,oklch(85% .18 90),oklch(55% .16 80));width:38px;height:38px}.ball.b3{background:radial-gradient(circle at 35% 30%,oklch(70% .2 25),oklch(40% .16 25));width:38px;height:38px}.cue-stick{background:linear-gradient(90deg,oklch(32% .06 60) 0%,oklch(45% .08 60) 40%,oklch(92% .04 90) 92%,oklch(70% .1 90) 100%);border-radius:3px;width:64%;height:6px;position:absolute;top:56%;left:8%;transform:rotate(-6deg);box-shadow:0 6px 24px -6px #0009}.login-visual-content{z-index:2;flex-direction:column;height:100%;display:flex;position:relative}.lv-brand{align-items:center;gap:12px;display:flex}.lv-brand .brand-mark{border-radius:11px;width:40px;height:40px}.lv-brand-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.lv-brand-sub{color:var(--text-2);font-size:11px;font-family:var(--mono)}.lv-hero{z-index:3;margin-top:auto;position:relative}.lv-tag{color:var(--text-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-family:var(--mono);letter-spacing:.05em;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;display:inline-flex}.lv-tag .pulse{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:1.6s infinite blink}.lv-headline{letter-spacing:-.02em;text-wrap:balance;max-width:460px;margin-top:18px;font-size:44px;font-weight:700;line-height:1.05}.lv-headline em{color:var(--accent);font-style:normal}.lv-sub{color:var(--text-2);max-width:420px;margin-top:14px;font-size:14px;line-height:1.6}.lv-stats{z-index:3;gap:28px;margin-top:32px;display:flex;position:relative}.lv-stat-num{font-family:var(--mono);color:var(--text);font-size:22px;font-weight:700}.lv-stat-lbl{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:11px}.lv-foot{color:var(--text-3);font-size:11px;font-family:var(--mono);z-index:2;justify-content:space-between;align-items:center;margin-top:28px;display:flex;position:relative}.login-form-side{background:var(--bg);flex-direction:column;padding:40px 56px;display:flex;position:relative}.lf-top{justify-content:flex-end;gap:8px;display:flex}.lf-lang{color:var(--text-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);gap:4px;padding:3px;font-size:12px;display:inline-flex}.lf-lang button{border-radius:4px;padding:4px 10px}.lf-lang button.active{background:var(--panel-2);color:var(--text)}.lf-content{flex-direction:column;flex:1;justify-content:center;align-self:center;width:100%;max-width:380px;display:flex}.lf-title{letter-spacing:-.02em;font-size:28px;font-weight:700}.lf-subtitle{color:var(--text-2);margin-top:6px;font-size:13px}.lf-tab-bar{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);grid-template-columns:1fr 1fr;gap:4px;margin:28px 0 22px;padding:4px;display:grid}.lf-tab{color:var(--text-2);border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.lf-tab.active{background:var(--panel-2);color:var(--text);box-shadow:0 1px #ffffff0a}.lf-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.lf-field label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:11.5px;display:flex}.lf-field label a{color:var(--accent);text-transform:none;letter-spacing:0;font-size:12px;text-decoration:none}.lf-field label a:hover{text-decoration:underline}.lf-input{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.lf-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.lf-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}input.lf-input,select.lf-input,textarea.lf-input{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s;display:block}input.lf-input::placeholder,textarea.lf-input::placeholder{color:var(--text-3)}input.lf-input:focus,select.lf-input:focus,textarea.lf-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.lf-input input::placeholder{color:var(--text-3)}.lf-input .ico{color:var(--text-3);width:16px;height:16px}.lf-input button{color:var(--text-3);padding:0}.lf-input button:hover{color:var(--text)}.lf-row{color:var(--text-2);justify-content:space-between;align-items:center;margin:4px 0 18px;font-size:12.5px;display:flex}.lf-check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.lf-check input{appearance:none;border:1px solid var(--border-2);background:var(--panel);cursor:pointer;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.lf-check input:checked{background:var(--accent);border-color:var(--accent)}.lf-check input:checked:after{content:"✓";color:#062013;font-size:11px;font-weight:700}.lf-submit{background:var(--accent);color:#062013;border-radius:var(--r-sm);width:100%;box-shadow:0 0 0 1px var(--accent), 0 0 24px -4px var(--accent-glow);padding:12px;font-size:14px;font-weight:600;transition:filter .15s,transform 50ms}.lf-submit:hover{filter:brightness(1.05)}.lf-submit:active{transform:scale(.99)}.lf-submit[disabled]{opacity:.6;cursor:not-allowed}.lf-divider{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;margin:22px 0;font-size:11px;display:flex}.lf-divider:before,.lf-divider:after{content:"";background:var(--border);flex:1;height:1px}.lf-face-cta{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s;display:flex}.lf-face-cta:hover{border-color:var(--accent-dim)}.lf-face-cta-icon{background:color-mix(in oklab, var(--accent) 14%, var(--panel-2));width:40px;height:40px;color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);border-radius:10px;place-items:center;display:grid}.lf-face-cta-text{flex:1}.lf-face-cta-title{font-size:13px;font-weight:600}.lf-face-cta-sub{color:var(--text-3);margin-top:2px;font-size:11.5px}.lf-foot{color:var(--text-3);text-align:center;margin-top:26px;font-size:12px}.lf-foot a{color:var(--accent);text-decoration:none}.lf-bottom{color:var(--text-3);font-size:11px;font-family:var(--mono);justify-content:space-between;margin-top:auto;display:flex}.lf-face-stage{aspect-ratio:4/3;border-radius:var(--r-md);border:1px solid var(--border);background:#050708;margin-top:14px;position:relative;overflow:hidden}.lf-face-stage .cam-noise{background:radial-gradient(at 50% 30%,oklch(22% .04 150) 0%,oklch(10% .02 150) 60%,#050708 100%)}.lf-msg{border-radius:var(--r-sm);align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.lf-msg.err{background:color-mix(in oklab, var(--danger) 12%, var(--panel));color:var(--danger);border:1px solid color-mix(in oklab, var(--danger) 30%, transparent)}.lf-msg.ok{background:color-mix(in oklab, var(--accent) 10%, var(--panel));color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 30%, transparent)}@media (width<=1000px){.login-wrap{grid-template-columns:1fr}.login-visual{display:none}}
