.pos-update-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10001;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:22px;background:#201b35;color:#f7f3ff;border:1px solid #8a64bc;border-radius:18px;box-shadow:0 14px 60px #0008;text-align:center;font:14px/1.6 system-ui,sans-serif;max-height:calc(100dvh - 32px);overflow:auto}.pos-update-card h2{font:700 20px/1.4 system-ui,sans-serif;margin:0 0 10px;color:#fff}.pos-update-card p{margin:0 0 16px;color:#e5daef;overflow-wrap:anywhere}.pos-update-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.pos-update-actions button{min-height:44px;border:1px solid #8a64bc;border-radius:10px;padding:8px 12px;background:transparent;color:#fff;cursor:pointer;font:inherit}.pos-update-actions .pos-update-primary{background:#73d;border-color:#9b66f5}.pos-update-card .pos-new-feature-badge{display:inline-block;background:#9ff6d7;color:#064d3f;border-radius:8px;padding:1px 5px;font-size:10px;white-space:nowrap}.pos-update-running:before{content:"";display:block;width:28px;height:28px;margin:0 auto 14px;border:3px solid #ffffff38;border-top-color:#b886ff;border-radius:50%;animation:pos-update-spin .8s linear infinite}@keyframes pos-update-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pos-update-running:before{animation:none}}:root{--surface: #12121d;--surface-low: #1b1b25;--surface-c: #1f1f29;--surface-hi: #292934;--surface-hst: #34343f;--on-surface: #e4e1f0;--on-surface-var: #cbc3d9;--outline: #494456;--primary: #cfbdff;--primary-cont: #6200ee;--secondary: #00eefc;--tertiary: #ffade2;--error: #ffb4ab;--success: #7dffb2;--warn: #ffd88a}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:#0a0a14;color:var(--on-surface);font-family:Sora,Noto Sans Thai,sans-serif;font-size:15px;line-height:1.5;overflow:hidden;overscroll-behavior:none}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400;vertical-align:middle;-webkit-user-select:none;user-select:none}#root>.app{max-width:520px;margin:0 auto;background:var(--surface);box-shadow:0 0 60px #000;height:100vh;height:100dvh;overflow:hidden}.screen{height:100%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.screen>*{flex-shrink:0}.scroll{flex:1 1 0;min-height:0;overflow-y:auto;padding-bottom:40px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font-family:inherit;font-size:16px;color:var(--on-surface);background:var(--surface-c);border:1px solid var(--outline);border-radius:.5rem;padding:12px 14px;width:100%;outline:none}input:focus{border-color:var(--secondary);box-shadow:0 0 0 3px #00eefc26}.glass{background:#1f1f29d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card{background:var(--surface-c);border:1px solid rgba(255,255,255,.06);border-radius:1rem;padding:16px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.chip.green{background:#7dffb21f;color:var(--success)}.chip.red{background:#ffb4ab1f;color:var(--error)}.chip.blue{background:#00eefc1f;color:var(--secondary)}.chip.amber{background:#ffd88a24;color:var(--warn)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:.75rem;padding:14px 18px;min-height:48px;font-size:15px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary-cont);color:#fff;box-shadow:0 4px 24px #6200ee73}.btn-ghost{border:1px solid var(--outline);color:var(--on-surface-var)}.hd{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.hd .title{font-weight:700;font-size:18px}.hd .sub{font-size:11px;color:var(--on-surface-var)}.icon-btn{width:42px;height:42px;min-width:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-hi)}.sec-title{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin:22px 16px 10px;display:flex;align-items:center;gap:8px}.sec-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(0,238,252,.35),transparent)}.pinpad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:300px;margin:0 auto}.pinpad button{height:68px;border-radius:50%;background:var(--surface-hi);font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center}.pinpad button:hover{background:var(--surface-hst)}.pindots{display:flex;gap:16px;justify-content:center;margin:22px 0}.pindots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--outline)}.pindots span.on{background:var(--secondary);border-color:var(--secondary);box-shadow:0 0 12px #00eefc99}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#05050cb3}.modal{width:100%;max-width:520px;background:var(--surface-c);border-radius:1.5rem 1.5rem 0 0;border:1px solid rgba(255,255,255,.08);padding:22px 20px}.guest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.guest-grid button{height:56px;border-radius:.75rem;background:var(--surface-hi);font-weight:700;font-size:17px}.guest-grid button.sel{background:var(--primary-cont);color:#fff}.tile{border-radius:1rem;padding:14px;background:var(--surface-c);border:1px solid rgba(255,255,255,.06);border-left:5px solid var(--success);cursor:pointer}.tile.busy{border-left-color:var(--error)}.tile.vip{border-left-color:#7b2ff7}.role-card{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:20px;border-radius:1rem;background:var(--surface-c);border:1px solid rgba(255,255,255,.08)}.role-card:hover{border-color:var(--secondary)}.staff-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:1rem;background:var(--surface-c);border:1px solid rgba(255,255,255,.06);margin-bottom:10px}.staff-row:disabled{opacity:.45;cursor:not-allowed}.avatar{width:46px;height:46px;min-width:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff;background:var(--primary-cont)}.brand{font-weight:800}.brand em{color:var(--secondary);font-style:normal}.field-l{font-size:12px;font-weight:600;color:var(--on-surface-var);letter-spacing:.05em;margin:14px 0 6px;display:block}.err-box{background:#ffb4ab1a;border:1px solid rgba(255,180,171,.35);color:var(--error);border-radius:.75rem;padding:10px 14px;font-size:13px;margin-top:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.center{text-align:center}.spinner{width:28px;height:28px;border:3px solid var(--surface-hst);border-top-color:var(--secondary);border-radius:50%;margin:40px auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.staff-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 8px}.staff-toolbar label{font-size:13px;color:var(--on-surface-var)}.staff-toolbar select{width:100%;padding:12px;border-radius:8px;background:var(--surface-c);color:var(--on-surface);border:1px solid var(--outline)}.staff-help{font-size:13px;color:var(--on-surface-var);line-height:1.7}.staff-card{margin-bottom:12px}.staff-identity{display:flex;align-items:center;gap:12px}.staff-identity h3{margin:0 0 4px;font-size:20px}.staff-identity>.chip,.staff-identity>button{margin-left:auto}.staff-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.staff-type{color:var(--secondary);font-size:14px}.staff-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.staff-actions .btn{flex:1;min-width:140px;text-align:center}.staff-detail{max-height:85dvh;overflow-y:auto}.staff-detail h2{font-size:22px;margin:0}.staff-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.staff-detail dt{color:var(--on-surface-var)}.staff-detail dd{margin:0;font-weight:700}.staff-delete-zone{border-top:1px solid #80514e;margin-top:24px;padding-top:12px}.staff-delete-button{background:#6e242b;color:#ffdad6;border:1px solid #ff897d}.staff-detail-header{position:sticky;top:-22px;z-index:2;background:var(--surface-c);padding:12px 0;border-bottom:1px solid var(--outline)}.staff-detail-nav{display:flex;gap:8px;margin-top:14px}.staff-detail-nav .btn{flex:1;padding:10px 6px;font-size:13px}.staff-detail-section{scroll-margin-top:140px}.staff-section-title{font-size:16px;color:var(--secondary);margin:18px 0 12px}.staff-detail .btn-outline{border:1px solid var(--outline);background:var(--surface-hi)}.btn:focus-visible,.chip:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}.btn:active,.chip:active{transform:translateY(1px);filter:brightness(1.2)}.btn-outline,.btn-ghost{border:1px solid var(--outline);background:var(--surface-hi);color:var(--on-surface)}button.chip{border:1px solid var(--outline);min-height:36px}button:focus-visible,label.btn:focus-within{outline:3px solid var(--secondary);outline-offset:3px}button:not(:disabled):active{filter:brightness(1.2)}button[aria-pressed=true],.tabs button.on{box-shadow:inset 0 0 0 2px var(--secondary);font-weight:800}.hd{background:var(--surface-c)}.scroll>.seg{position:sticky;top:0;z-index:5;background:var(--surface);padding:8px 0}.modal{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}@media (hover:hover){.btn:hover:not(:disabled),button.chip:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--secondary)}}@media (min-width:768px){#root>.app{width:100%;max-width:1280px;box-shadow:0 0 40px #000}.hd{padding:18px 24px}.hd .title{font-size:22px}.scroll{padding-left:24px;padding-right:24px}.modal-wrap{align-items:center;padding:24px}.modal{max-width:760px;border-radius:20px;max-height:calc(100dvh - 48px)}.staff-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.staff-card{margin-bottom:0;min-width:0}.staff-actions .btn{min-width:0}.staff-toolbar{grid-template-columns:2fr 1fr}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tabs button{min-height:48px;font-size:15px}}@media (min-width:1200px){.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
