*,*:before,*:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f1eb;color:#17211f}button,input,select{font:inherit}:root{--primary: #007bff;--primary-dark: #006fe6;--shards-primary: #007bff;--shards-primary-dark: #006fe6;--ink: #000000;--muted: #000000;--muted-soft: #000000;--muted-softer: #000000;--surface: #ffffff;--surface-soft: #fbfbfb;--line: #e1e5eb;--accent: #fb7906;--success: #17c671;--danger: #c4183c;--shuttle: #000000;--mischka: #cacedb;--shadow-sm: 0 .125rem .625rem rgba(90, 97, 105, .12);--shadow-md: 0 .46875rem 2.1875rem rgba(90, 97, 105, .1), 0 .9375rem 1.40625rem rgba(90, 97, 105, .1), 0 .25rem .53125rem rgba(90, 97, 105, .12), 0 .125rem .1875rem rgba(90, 97, 105, .1);--shadow-lg: 0 .125rem 9.375rem rgba(90, 97, 105, .1), 0 .25rem .5rem rgba(90, 97, 105, .12), 0 .9375rem 1.375rem rgba(90, 97, 105, .1), 0 .4375rem 2.1875rem rgba(165, 182, 201, .1)}.app-screen{min-height:100vh;min-height:100svh;background:linear-gradient(180deg,#fffaf1,#edf3ef 55%,#e7eeea);display:flex;align-items:center;justify-content:center;padding:1rem}.home-screen{min-height:100vh;min-height:100svh;background:linear-gradient(180deg,#fffaf1,#f4ead8 38%,#efe8dc);padding:1rem}.home-shell{width:min(100%,1180px);margin:0 auto;display:grid;gap:1rem}.home-header,.home-hero,.menu-section{background:#fffcf6f0;border:1px solid rgba(98,61,9,.12);border-radius:14px;box-shadow:0 16px 42px #3d250714}.home-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}.home-brand{display:flex;align-items:center;gap:.9rem}.home-eyebrow{display:block;margin-bottom:.2rem;color:#8b5e28;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-header h1{margin:0;color:#2d2315;font-size:clamp(1.6rem,2.8vw,2.25rem)}.home-pin-box{display:grid;gap:.38rem;width:min(100%,365px);border:1px solid rgba(236,213,167,.55);border-radius:18px;background:linear-gradient(180deg,#88764cf0,#76633df5);padding:.55rem;box-shadow:0 12px 24px #462d0824}.home-pin-box span{color:#fff7e7e0;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.home-pin-box div{display:grid;grid-template-columns:1fr;gap:.4rem}.home-pin-box input{min-height:3.2rem;border:0;border-radius:14px;background:#fffffff5;color:#2d2315;padding:.85rem 1rem;box-shadow:inset 0 1px 1px #75592a1a}.home-pin-box input::placeholder{color:#7f7a73;opacity:1}.home-pin-box button{min-height:3.2rem;border:0;border-radius:14px;background:#fff;color:#000;font-weight:700;padding:.85rem 1.1rem;box-shadow:0 2px 4px #432f1014}.home-contact{display:grid;gap:.2rem;justify-items:end;color:#6e604f;font-size:.9rem;font-weight:600}.home-contact-footer{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.2rem 0 .4rem;color:#6e604f;font-size:.92rem;font-weight:600}.home-contact-logo{width:72px;height:auto;object-fit:contain}.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:1.25rem;padding:1.25rem;overflow:hidden}.home-copy h2{margin:.25rem 0 .75rem;color:#2d2315;font-size:clamp(1.875rem,3.8vw,3.075rem);line-height:1.02}.home-copy p{margin:0;max-width:44ch;color:#6e604f;font-size:1rem;line-height:1.6}.home-pill{display:inline-flex;align-items:center;border-radius:999px;background:#f5e0b9;color:#7a4f16;padding:.45rem .8rem;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.home-meta span{border-radius:999px;background:#fff;border:1px solid rgba(98,61,9,.12);color:#5e4f3b;padding:.45rem .7rem;font-size:.82rem;font-weight:700}.home-hero-media{align-self:stretch;min-height:360px;border-radius:12px;background:radial-gradient(circle at top left,#fff5ddf2,#e9c893b3 42%,#c4802347);display:grid;place-items:center;padding:1rem}.home-hero-media img{width:min(100%,440px);height:auto;object-fit:contain}.menu-section{padding:1.05rem 1.15rem 1.15rem}.menu-section-head{margin-bottom:.9rem}.menu-section-head h3{margin:0;color:#2d2315;font-size:1.15rem}.menu-section-head p{margin:.25rem 0 0;color:#6e604f}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.menu-grid-tight{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(220px,1fr);gap:0;align-items:stretch;border:1px solid rgba(98,61,9,.12);border-radius:12px;background:#fffdf9;overflow:hidden;min-height:220px}.menu-card img{width:100%;height:100%;min-height:220px;object-fit:cover}.menu-card div{display:flex;flex-direction:column;justify-content:center;padding:1.1rem 1.2rem}.menu-card h4{margin:0 0 .35rem;color:#2d2315;font-size:1rem}.menu-card p{margin:0;color:#6e604f;line-height:1.55}.app-shell,.login-card{width:min(100%,430px);min-height:min(760px,calc(100vh - 2rem));border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 70px #17211f29;padding:1.2rem;display:flex;flex-direction:column;gap:1rem}.loading-shell{align-items:center;justify-content:center;color:var(--primary);font-weight:800}.brand-lockup,.app-header{display:flex;align-items:center;gap:.85rem}.brand-logo{width:52px;height:52px;border-radius:16px;object-fit:cover;border:1px solid var(--line)}.brand-logo.rh-brand-logo{width:76px;height:54px;border:0;border-radius:0;background:transparent;object-fit:contain}.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#102827,var(--primary));color:#fff;font-weight:900;font-size:1.35rem}.mascot-frame{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}.mascot-frame img{display:block;width:100%;height:100%;object-fit:cover}.mascot-image-label{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);padding:.5rem .9rem;border-radius:999px;background:#351c0ac2;color:#fff7ea;font-size:.78rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;box-shadow:0 12px 28px #22120547}.brand-lockup span,.app-header span,.label,.balance-grid span,.form-panel label,.transaction-row span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.brand-lockup h1,.app-header h1,.card-panel h2,.history-panel h3{margin:0;color:var(--ink);font-weight:500}.brand-lockup h1,.app-header h1{font-size:1.25rem;letter-spacing:.04em}.card-panel{border-radius:18px;padding:1.2rem;min-height:150px;background:linear-gradient(135deg,#102827 0%,var(--primary) 58%,#d97706 130%);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;position:relative}.card-panel-locked{min-height:296px;padding:1.2rem 1.25rem 1rem;overflow:hidden}.card-panel-active{min-height:240px;padding:1.2rem 1.25rem 4.6rem;overflow:hidden}.card-panel-locked:before{content:"";position:absolute;inset:auto -2.4rem -3.1rem auto;width:165px;height:165px;border-radius:50%;background:#f3c07047;pointer-events:none}.card-panel h2{font-size:1.75rem;color:#fff;margin:.25rem 0 .35rem;line-height:1.15}.card-panel p{margin:0;color:#ffffffc7;font-weight:800;word-break:break-word}.card-panel .label{color:#ffffffb3}.card-business-lockup{position:absolute;left:1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:center;gap:.55rem;max-width:calc(100% - 2rem);border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff24;padding:.34rem .68rem .34rem .4rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card-panel-active .card-business-lockup{left:1.25rem;bottom:1.1rem;max-width:220px}.card-business-lockup img{width:34px;height:34px;border-radius:50%;object-fit:cover}.card-business-lockup span{color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.customer-photo{width:72px;height:72px;border:2px solid rgba(255,255,255,.42);border-radius:16px;object-fit:cover;flex:0 0 auto}.placeholder-photo{display:inline-flex;align-items:center;justify-content:center;background:#ffffff2e;color:#fff;font-weight:900}.status-pill{display:inline-flex;align-self:flex-start;border-radius:999px;background:#ffffff26;border:1px solid rgba(255,255,255,.24);padding:.35rem .65rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#fff}.card-photo-stack{display:grid;justify-items:center;gap:.38rem}.card-profile-locked{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.9rem;padding-right:.15rem}.card-profile-active{align-items:start;gap:1rem;padding-bottom:.35rem}.card-profile-active>div:first-child{padding-right:.4rem}.card-profile-active p{margin:0 0 .7rem;font-size:1.15rem;line-height:1.2;color:#ffffffe6;font-weight:700}.card-profile-active .position-badge{margin-top:0}.card-profile-locked>div:first-child{padding-top:.15rem}.card-profile-locked .label{display:block;margin-bottom:.15rem;font-size:.74rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.card-profile-locked h2{font-size:clamp(1.55rem,3vw,2rem);margin:.2rem 0 .4rem}.card-profile-locked p{font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.2;margin:0 0 .55rem;color:#f2c46d;font-weight:800;text-shadow:0 1px 0 rgba(70,39,3,.18)}.card-profile-locked .position-badge{margin-top:.45rem;padding:.42rem .92rem;font-size:.64rem}.card-profile-locked .card-photo-stack{justify-items:end;gap:.55rem}.card-profile-locked .customer-photo{width:86px;height:86px;border-radius:20px}.card-profile-locked .status-pill{justify-self:end;padding:.5rem .9rem;font-size:.68rem}.position-badge{display:inline-flex;margin-top:.75rem;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.24);padding:.34rem .62rem;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.card-pin-area{position:absolute;left:.9rem;right:auto;bottom:.75rem;z-index:2;display:flex;align-items:end;gap:0}.card-panel-locked .card-pin-area{left:1.15rem;right:1.15rem;bottom:.9rem;justify-content:space-between;align-items:end;gap:.7rem}.card-pin-box{display:grid;width:min(52%,250px);min-width:230px;gap:.16rem;border:1px solid rgba(255,255,255,.24);border-radius:.5rem;background:#ffffff24;padding:.32rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card-panel-locked .card-pin-box{width:min(100%,290px);min-width:0;gap:.28rem;border-radius:14px;padding:.48rem;background:#ffffff2e}.card-pin-box span{color:#ffffffc2;font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.card-panel-locked .card-pin-box span{font-size:.62rem;letter-spacing:.11em}.card-pin-box div{display:grid;grid-template-columns:1fr;gap:.25rem}.card-pin-box input{width:100%;border:1px solid rgba(255,255,255,.34);border-radius:.35rem;background:#ffffffeb;color:var(--ink);padding:.32rem .42rem;font-size:.78rem}.card-panel-locked .card-pin-box input{min-height:40px;border-radius:10px;padding:.62rem .78rem;font-size:.78rem}.card-pin-box button{border:0;border-radius:.35rem;background:#fff;color:var(--ink);cursor:pointer;font-weight:700;padding:.32rem .48rem;font-size:.78rem}.card-panel-locked .card-pin-box button{min-height:40px;border-radius:10px;padding:.62rem .95rem;font-weight:800}.card-pin-box button:disabled{cursor:not-allowed;opacity:.7}.card-profile-block{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;width:100%}.card-pin-mascot{width:148px;height:116px;margin-left:.55rem;margin-bottom:-.3rem;border:0;border-radius:0;background:transparent;box-shadow:none;flex:0 0 auto;filter:drop-shadow(0 15px 20px rgba(0,0,0,.22));clip-path:inset(0 round 1.15rem);pointer-events:none}.card-panel-locked .card-pin-mascot{width:min(46%,186px);height:146px;margin:0;border-radius:22px;box-shadow:0 18px 26px #26160533;clip-path:inset(0 round 1.4rem)}.card-pin-mascot img{transform:scale(1.18);object-position:center 74%}.card-panel-locked .card-pin-mascot img{transform:scale(1.04);object-position:center 70%}.card-profile-block .status-pill{grid-column:auto;justify-self:center;margin-top:0}.customer-shell-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.customer-shell-topbar .brand-lockup{min-width:0}.staff-login-button{border:1px solid rgba(98,61,9,.24);background:linear-gradient(180deg,#fff6e8,#edd2a0);color:#6c4310;cursor:pointer;font-size:.82rem;font-weight:800;padding:.62rem .9rem;border-radius:999px;box-shadow:0 10px 24px #623d091f;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.staff-login-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #623d0929;background:linear-gradient(180deg,#fff8ee,#e5bf7f)}.staff-login-button:focus-visible{outline:2px solid rgba(108,67,16,.35);outline-offset:2px}.notice-box,.message-box{border-radius:14px;background:#fef7e7;border:1px solid rgba(217,119,6,.22);padding:.85rem;color:#4b3520;line-height:1.5}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.balance-grid div{border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);padding:.9rem}.balance-grid div:first-child{grid-column:1 / -1;background:linear-gradient(135deg,#102827,#164e47)}.balance-grid div:first-child span,.balance-grid div:first-child strong{color:#fff}.balance-grid strong{display:block;margin-top:.35rem;color:var(--ink);font-size:1.45rem}.balance-grid div:first-child strong{font-size:2.25rem}.balance-grid .session-tile{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem}.balance-grid .session-tile span,.balance-grid .session-tile strong{grid-column:1}.balance-grid .session-tile strong{font-size:1rem}.session-tile button{grid-column:2;grid-row:1 / 3;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;font-weight:700;padding:.58rem .8rem;box-shadow:var(--shadow-sm)}.form-panel{display:flex;flex-direction:column;gap:.85rem}.form-panel label{display:flex;flex-direction:column;gap:.4rem}.form-panel input{width:100%;border-radius:12px;border:1px solid var(--line);background:#fffaf3;padding:.8rem .9rem;color:var(--ink)}.form-panel button,.history-head button{border:none;border-radius:12px;background:var(--primary);color:#fff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1rem;cursor:pointer}.form-panel button:disabled{cursor:not-allowed;opacity:.58}.history-panel{border-top:1px solid var(--line);padding-top:1rem}.history-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.history-head button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:.55rem .75rem}.transaction-list{display:flex;flex-direction:column;gap:.65rem}.transaction-row{border-radius:14px;background:#fffaf3;border:1px solid var(--line);padding:.8rem;display:flex;justify-content:space-between;gap:1rem}.topup-row{background:#edf8f0;border-color:#15803d2e}.transaction-row strong{display:block;color:var(--ink);margin-bottom:.25rem}.transaction-row time{color:#000;font-size:.78rem;font-weight:700;white-space:nowrap}.missing-card{position:relative;min-height:240px;align-items:center;overflow:hidden}.missing-card-copy{position:relative;z-index:1;width:100%;max-width:620px}.missing-card-copy p{margin:0;max-width:34ch}.missing-card-bean{position:absolute;bottom:-.55rem;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(45,25,4,.18))}.missing-card-bean-left{left:1rem}.missing-card-bean-right{right:1rem}.compact-shell{width:min(100%,430px)}.support-footer{display:flex;gap:.65rem;flex-wrap:wrap;align-items:flex-end;color:var(--muted);font-size:.82rem;font-weight:700}.support-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem}.support-contact span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.support-contact strong{font-size:.82rem;line-height:1.2}.customer-note{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.5;padding-top:.85rem}.customer-note p{margin:0 0 .4rem}.customer-note p:last-child{margin-bottom:0}.admin-screen{min-height:100vh;min-height:100svh;background:linear-gradient(180deg,#fffaf1,#f3efe6 38%,#e8efeb);padding:1rem}.admin-login-screen{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card-with-mascot{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:stretch;width:min(100%,960px);min-height:540px;padding:0;overflow:hidden}.login-content{display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:1.6rem 1.7rem}.login-mascot{border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none}.sidebar-mascot{width:calc(100% - 2rem);height:126px;margin:0 auto;border-radius:.625rem}.topbar-mascot{width:104px;height:58px;border-radius:.5rem;margin-left:auto}.admin-shell{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.admin-topbar{background:#fffdf8f0;border:1px solid var(--line);border-radius:14px;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 14px 34px #17211f17}.topbar-actions{display:flex;align-items:center;gap:.7rem}.admin-nav{display:flex;gap:.5rem;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fffdf8eb;padding:.45rem}.admin-nav button{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;flex:0 0 auto;font-weight:900;padding:.65rem .9rem}.admin-nav button.active{border-color:color-mix(in srgb,var(--primary) 22%,transparent);background:color-mix(in srgb,var(--primary) 13%,#fffaf1);color:var(--ink)}.account-menu{position:relative}.account-trigger{min-width:96px}.account-popover{position:absolute;right:0;top:calc(100% + .5rem);z-index:20;width:min(300px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #17211f29;padding:.8rem}.account-popover form{display:grid;gap:.65rem;margin-bottom:.65rem}.account-popover label{display:grid;gap:.35rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.account-popover input{width:100%;border-radius:10px;border:1px solid var(--line);padding:.68rem .75rem;color:var(--ink)}.account-popover button{width:100%;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:#fff;padding:.65rem .8rem;font-weight:900}.account-popover .logout-option{border-color:var(--line);background:var(--surface);color:var(--ink)}.confirmation-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#1f170e57;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirmation-dialog{width:min(100%,420px);border:1px solid rgba(94,73,43,.16);border-radius:18px;background:#fffdf9;box-shadow:0 24px 60px #22120533;padding:1.1rem;display:grid;gap:.85rem}.confirmation-kicker{font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#8a6b44}.confirmation-dialog h3{margin:0;color:#2d2315;font-size:1.2rem}.confirmation-dialog p{margin:0;color:#6e604f;line-height:1.55}.confirmation-actions{display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.confirmation-actions .ghost-button,.confirmation-actions button{min-width:122px}.confirmation-actions .danger-button{border-color:#dc2626;background:#dc2626;color:#fff}.confirmation-danger{border-color:#dc26262e}.ghost-button,.panel button,.table-button{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:.65rem .9rem;text-decoration:none;font-weight:800;cursor:pointer}.panel button{background:var(--primary);color:#fff;border-color:var(--primary)}.table-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.22rem .55rem;font-size:.68rem;margin:.08rem;white-space:nowrap}.table-button.warning-button{border-color:#d9770647;background:#fff7ed;color:#92400e}.danger-button{border-color:#dc26263d;color:var(--danger)}.danger-button:disabled{cursor:not-allowed;opacity:.45}.balance-cell-value{display:block;font-weight:850}.balance-alert{display:inline-flex;align-items:center;margin-top:.3rem;border-radius:999px;background:#fff7ed;color:#92400e;padding:.16rem .48rem;font-size:.68rem;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stats-grid div,.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #17211f12}.stats-grid div{padding:1rem}.stats-grid span,.muted{color:var(--muted);font-size:.82rem;font-weight:700}.stats-grid strong{display:block;margin-top:.35rem;font-size:1.55rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.panel{padding:1rem}.standard-page{max-width:980px}.advanced-settings{max-width:1120px}.employee-window{width:100%;max-width:none;min-height:300px}.employee-window .panel-head{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:1rem}.employee-window .field-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.employee-window input,.employee-window select{min-height:44px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-head-stack{align-items:flex-start}.panel-head h2{margin:0;font-size:1.1rem}.panel-head p{margin:.25rem 0 0}.detail-list{display:grid;gap:.85rem}.detail-list div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.detail-list div:last-child{border-bottom:0;padding-bottom:0}.detail-list span{color:var(--muted)}.detail-list strong{color:var(--ink);text-align:right}.quick-actions{display:grid;gap:.45rem}.quick-actions button{justify-self:start;min-width:150px;padding:.48rem .7rem;font-size:.82rem}.settings-section{border-top:1px solid var(--line);padding-top:1rem}.settings-section+.settings-section{margin-top:1.2rem}.settings-section h3{margin:0 0 .9rem;color:var(--ink);font-size:.95rem}.filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,210px);gap:.7rem;margin-bottom:1rem}.filter-bar input,.filter-bar select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fffaf3;color:var(--ink);padding:.68rem .75rem}.compact-filter{grid-template-columns:minmax(220px,420px)}.analytics-controls{grid-template-columns:minmax(240px,1.3fr) minmax(150px,.65fr) minmax(140px,.55fr) minmax(150px,.6fr)}.empty-state{padding:1rem 0 0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.form-actions{display:flex;margin-top:1rem}.form-actions-end{justify-content:flex-end}.compact-action-button{min-height:2.25rem;padding:.42rem .82rem;font-size:.82rem}.field-grid label,.panel label{display:flex;flex-direction:column;gap:.35rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted)}.field-grid input,.field-grid select,.field-grid textarea,.panel input,.panel select,.panel textarea,.inline-input{width:100%;border-radius:10px;border:1px solid var(--line);padding:.72rem .78rem;color:var(--ink);background:#fffaf3}.field-grid textarea,.panel textarea{min-height:92px;resize:vertical}.field-grid .toggle-row{align-items:center;flex-direction:row;justify-content:flex-start;min-height:44px}.toggle-row input{width:auto;accent-color:var(--primary)}.settings-summary{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.settings-summary span{border:1px solid var(--line);border-radius:999px;background:#fffaf3;color:var(--muted);padding:.48rem .7rem;font-size:.82rem}.settings-summary strong{color:var(--ink)}.inline-input{min-width:120px;padding:.45rem .5rem}.photo-preview{display:flex;align-items:center;gap:.8rem}.photo-preview img{width:72px;height:72px;border-radius:14px;border:1px solid var(--line);object-fit:cover}.table-photo-cell{display:flex;align-items:center;gap:.55rem}.table-photo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 auto}.table-photo.placeholder-photo{background:color-mix(in srgb,var(--primary) 16%,#f7f3eb);color:var(--ink)}.panel .photo-upload-button{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;flex-direction:row;font-size:.7rem;font-weight:900;gap:0;padding:.34rem .48rem;text-transform:none;letter-spacing:0}.panel .photo-upload-button input{display:none}.wide-field{grid-column:1 / -1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:980px}.actions-cell{min-width:0;max-width:160px}.actions-cell .table-button{min-width:0}.table-photo-cell{flex-wrap:wrap}th,td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem}th{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}tr{cursor:pointer}.selected-row{background:#ecf8f6}.small-status{display:inline-flex;border-radius:999px;padding:.3rem .55rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;background:#ecf8f6;color:#0f766e}.small-status.blocked{background:#fee4df;color:var(--danger)}.dashboard-transactions{max-height:460px;overflow:auto}.analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.analytics-summary div{border:1px solid var(--line);border-radius:12px;background:#fffaf3;padding:.9rem}.analytics-summary span,.chart-column span{display:block;color:var(--muted);font-size:.76rem;font-weight:900}.analytics-summary strong{display:block;margin-top:.28rem;color:var(--ink);font-size:1.05rem}.chart-scroll{overflow-x:auto;padding-bottom:.3rem}.amount-chart{display:flex;align-items:end;gap:.75rem;min-height:285px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fffaf3,#fff);padding:1rem}.chart-column{display:flex;flex:0 0 74px;flex-direction:column;justify-content:flex-end;min-height:245px;gap:.32rem}.chart-bars{display:flex;align-items:end;justify-content:center;gap:.28rem;height:178px;border-bottom:1px solid var(--line)}.chart-bar{width:22px;border-radius:7px 7px 0 0;min-height:0}.debit-bar{background:#f97316}.topup-bar{background:#0f766e}.chart-column strong{color:var(--ink);font-size:.82rem;min-height:2.1rem}.line-chart{min-height:285px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fffaf3,#fff);padding:1rem}.line-chart svg{display:block;width:100%;height:245px}.chart-axis{stroke:var(--line);stroke-width:2}.line-path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.debit-line{stroke:#f97316}.topup-line{stroke:#0f766e}.line-point{stroke:#fff;stroke-width:2}.debit-point{fill:#f97316}.topup-point{fill:#0f766e}.line-label{fill:var(--muted);font-size:11px;font-weight:900;text-anchor:middle}.pie-chart-wrap{display:grid;grid-template-columns:minmax(220px,300px) 1fr;align-items:center;gap:1.4rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fffaf3,#fff);padding:1.2rem}.pie-chart{display:grid;place-items:center;width:min(260px,100%);aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #17211f14}.pie-chart>div{display:grid;place-items:center;width:48%;aspect-ratio:1;border-radius:50%;background:var(--surface);border:1px solid var(--line)}.pie-chart strong{color:var(--ink);font-size:1.8rem}.pie-chart span{color:var(--muted);font-size:.72rem;font-weight:900}.pie-legend{display:grid;gap:.75rem;color:var(--ink);font-weight:900}.pie-legend div{display:flex;align-items:center;gap:.6rem}.legend-dot{width:.85rem;height:.85rem;border-radius:50%}.debit-dot{background:#f97316}.topup-dot{background:#0f766e}.chart-note{margin:.9rem 0 0}.amount-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.amount-stack time{color:var(--muted);font-size:.75rem;font-weight:700;white-space:nowrap}.floating-message{position:fixed;right:1rem;bottom:1rem;max-width:340px;box-shadow:0 12px 30px #17211f2e}body{background:#f5f6f8;color:#000;font-weight:500}.app-screen,.admin-screen{background:#f5f6f8}.app-shell,.login-card,.admin-topbar,.admin-nav,.panel,.stats-grid div{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.app-shell,.login-card{border-radius:.625rem;box-shadow:var(--shadow-md)}.brand-mark{border-radius:.375rem;background:linear-gradient(135deg,var(--shards-primary),#00b8d8);box-shadow:0 .25rem .625rem #007bff40}.brand-logo,.customer-photo,.photo-preview img,.table-photo{border-color:var(--line);box-shadow:var(--shadow-sm)}.brand-logo.rh-brand-logo{box-shadow:none}.card-panel{border-radius:.625rem;background:linear-gradient(135deg,#3d5170,#007bff 72%,#00b8d8 130%),var(--shards-primary);box-shadow:var(--shadow-md);overflow:hidden}.card-panel:after{content:"";position:absolute;inset:auto -3rem -5rem auto;width:11rem;height:11rem;border-radius:50%;background:#ffffff24;pointer-events:none}.balance-grid div,.transaction-row,.analytics-summary div,.amount-chart,.line-chart,.pie-chart-wrap,.settings-summary span,.notice-box,.message-box{background:var(--surface-soft);border-color:var(--line);box-shadow:none}.balance-grid div:first-child{background:linear-gradient(135deg,#3d5170,var(--shards-primary))}.admin-shell{max-width:1360px;gap:1.25rem;display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start}.admin-sidebar{position:sticky;top:1rem;display:flex;flex-direction:column;gap:1.1rem;min-height:calc(100vh - 2rem);border:1px solid var(--line);border-radius:.625rem;background:#fff;box-shadow:var(--shadow-lg);padding:1rem 0}.admin-sidebar .brand-lockup{padding:0 1rem 1rem;border-bottom:1px solid var(--line)}.admin-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.admin-topbar{border-radius:.625rem;padding:1rem 1.1rem;box-shadow:var(--shadow-md)}.page-kicker{display:block;color:var(--muted-soft);font-size:.68rem;font-weight:800;letter-spacing:.125rem;margin-bottom:.25rem;text-transform:uppercase}.admin-topbar h2{color:var(--ink);font-size:1.35rem;font-weight:500;line-height:1.2;margin:0}.admin-nav{display:flex;flex-direction:column;gap:1rem;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0 0 1rem}.admin-nav-group{display:grid;gap:.2rem}.admin-nav-group>span{color:var(--muted-soft);font-size:.68rem;font-weight:800;letter-spacing:.125rem;padding:0 1.5rem .35rem;text-transform:uppercase}.admin-nav button{display:flex;align-items:center;border-radius:0;color:var(--ink);font-weight:400;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--line);justify-content:flex-start;padding:.85rem 1.5rem;text-align:left;width:100%}.admin-nav button.active{border-color:transparent;background:#fbfbfb;color:var(--shards-primary);box-shadow:inset .1875rem 0 0 var(--shards-primary)}.ghost-button,.panel button,.table-button,.account-popover button,.form-panel button,.history-head button{min-height:2.5rem;border-radius:.5rem;box-shadow:none;font-weight:600;letter-spacing:0;text-transform:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease}.ghost-button:hover,.panel button:hover,.table-button:hover,.account-popover button:hover,.form-panel button:hover,.history-head button:hover{transform:none;box-shadow:0 1px 2px #0f172a14}.panel button,.form-panel button,.account-popover button{background:#2563eb;border-color:#2563eb;color:#fff}.panel button:hover,.form-panel button:hover,.account-popover button:hover{background:#1d4ed8;border-color:#1d4ed8}.panel button:disabled,.form-panel button:disabled,.account-popover button:disabled{cursor:not-allowed;opacity:.58;transform:none}.ghost-button,.history-head button,.table-button,.account-popover .logout-option{background:#fff;color:#27313f;border-color:#cbd5e1}.panel{border-radius:.625rem;padding:1.1rem;box-shadow:var(--shadow-md)}.stats-grid div{border-radius:.625rem;padding:1.1rem;position:relative;overflow:hidden}.stats-grid div:after{content:"";position:absolute;right:-1.8rem;top:-1.8rem;width:5rem;height:5rem;border-radius:50%;background:#007bff14}.stats-grid strong{color:var(--ink);font-size:1.65rem;font-weight:500;letter-spacing:0}.panel-head h2{color:var(--ink);font-size:1.08rem;font-weight:500;letter-spacing:0}.filter-bar input,.filter-bar select,.field-grid input,.field-grid select,.field-grid textarea,.panel input,.panel select,.panel textarea,.form-panel input,.inline-input,.account-popover input{min-height:2.5rem;background:#fff;border:1px solid #cbd5e1;box-shadow:inset 0 1px #ffffffd9;border-radius:.5rem;font-size:.875rem;font-weight:400;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.filter-bar input:focus,.filter-bar select:focus,.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus,.panel input:focus,.panel select:focus,.panel textarea:focus,.form-panel input:focus,.inline-input:focus,.account-popover input:focus{border-color:#4573d2;box-shadow:0 0 0 3px #4573d224;outline:none}.field-grid label,.panel label,.form-panel label,.account-popover label{color:#5b6675;letter-spacing:0;text-transform:none;font-weight:600;font-size:.82rem}.field-grid input::placeholder,.field-grid textarea::placeholder,.panel input::placeholder,.panel textarea::placeholder,.form-panel input::placeholder,.filter-bar input::placeholder,.inline-input::placeholder{color:#757575;font-weight:400;opacity:1}.field-grid input,.field-grid select,.field-grid textarea,.panel input,.panel select,.panel textarea,.form-panel input,.inline-input,.account-popover input{color:#000;font-weight:400}.login-card .form-panel label,.login-card .form-panel input,.login-card .form-panel input::placeholder{font-weight:400;opacity:1}.login-card .form-panel input::placeholder{color:#757575}.settings-section{border-top-color:var(--line)}.settings-section h3{color:var(--ink);font-size:1rem;font-weight:500}.table-wrap{border:1px solid var(--line);border-radius:.625rem;box-shadow:var(--shadow-sm)}table{min-width:920px}th{background:#fbfbfb;color:#111827;font-size:.72rem;letter-spacing:.04em;font-weight:800}td{background:#fff;color:#000;font-weight:600}tr:hover td{background:#fbfbfb}.selected-row td,.selected-row{background:#f5faff}.small-status{background:#ecfdf5;color:#047857}.small-status.blocked{background:#fef2f2;color:#b91c1c}.table-button.warning-button,.balance-alert{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.danger-button{color:#dc2626;border-color:#fecaca}.topup-row{background:#f1fff8;border-color:#beefd7}.amount-chart,.line-chart,.pie-chart-wrap{background:linear-gradient(180deg,#fff,#fbfbfb)}.debit-bar,.debit-dot{background:#f97316}.topup-bar,.topup-dot{background:#17c671}.topup-line{stroke:#17c671}.topup-point{fill:#17c671}.notice-box,.message-box{background:#f5faff;border-color:#b8daff;color:#3d5170}.floating-message{box-shadow:var(--shadow-lg)}.app-screen{align-items:stretch;justify-content:center;padding:.75rem}.app-shell.compact-shell{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:start;width:min(100%,1120px);min-height:auto;gap:.75rem;padding:.85rem}.app-shell.compact-shell.customer-shell{width:min(100%,1280px);min-height:calc(100vh - 1.5rem);min-height:calc(100svh - 1.5rem);grid-template-columns:minmax(0,1fr);align-content:start}.customer-shell-locked{grid-template-rows:auto minmax(0,1fr) auto auto auto}.customer-shell-active{grid-template-rows:auto auto auto auto auto auto auto}.card-stage{width:100%;display:flex}.card-stage-locked{min-height:min(720px,calc(100vh - 12rem));min-height:min(720px,calc(100svh - 12rem));align-items:center;justify-content:center}.card-stage-active{align-items:flex-start;justify-content:center}.card-stage>.card-panel{width:min(100%,760px);margin:0 auto}.app-shell.compact-shell>.customer-shell-topbar,.app-shell.compact-shell>.staff-session-panel,.app-shell.compact-shell>.support-footer,.app-shell.compact-shell>.customer-note,.app-shell.compact-shell>.message-box{grid-column:1 / -1}.app-shell.compact-shell>.card-panel{min-height:238px}.app-shell.compact-shell>.balance-grid{align-self:stretch}.app-shell.compact-shell>.form-panel,.app-shell.compact-shell>.history-panel{min-width:0}.app-shell.compact-shell.loading-shell{display:flex;width:min(100%,720px);min-height:220px}.staff-session-panel{border:1px solid var(--line);border-radius:.625rem;background:#fff;box-shadow:var(--shadow-sm);padding:.75rem}.staff-session-panel .history-head{border-bottom:1px solid var(--line);margin-bottom:.65rem;padding-bottom:.65rem}.staff-session-panel .history-head p{margin:.25rem 0 0}.staff-session-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.65rem}.staff-session-form .notice-box{grid-column:1 / -1}.app-shell.compact-shell .brand-logo,.app-shell.compact-shell .brand-mark{width:44px;height:44px}.app-shell.compact-shell .brand-logo.rh-brand-logo{width:72px;height:46px}.app-shell.compact-shell .brand-lockup h1{font-size:1.1rem}.app-shell.compact-shell .card-panel{padding:1rem}.app-shell.compact-shell .card-panel h2{font-size:1.62rem}.app-shell.compact-shell .customer-photo{width:68px;height:68px;border-radius:14px}.app-shell.compact-shell .status-pill{margin-top:.15rem;padding:.32rem .62rem}.app-shell.compact-shell .form-panel{gap:.6rem}.app-shell.compact-shell .form-panel input{padding:.58rem .68rem}.app-shell.compact-shell .form-panel button{padding:.65rem .85rem}.app-shell.compact-shell .notice-box,.app-shell.compact-shell .message-box{padding:.65rem}.app-shell.compact-shell .support-footer,.app-shell.compact-shell .customer-note{padding-top:.35rem;font-size:.76rem}@media(max-width:480px){.admin-login-screen{padding:0}.app-screen{align-items:stretch;padding:0}.app-shell{min-height:100vh;border-radius:0;width:100%}.login-card-with-mascot{grid-template-columns:1fr;min-height:100vh}.login-mascot{order:-1;height:210px;border-left:0;border-bottom:1px solid var(--line)}.login-content{justify-content:flex-start}}@media(max-width:520px){.home-screen{padding:.5rem}.home-shell{gap:.7rem}.home-header,.home-hero,.menu-section{border-radius:12px}.home-header{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.9rem}.home-pin-box{width:100%;border-radius:16px;padding:.5rem}.home-pin-box input,.home-pin-box button{min-height:2.8rem}.home-brand{align-items:flex-start;gap:.7rem}.home-header .brand-logo{width:64px;height:48px}.home-header h1{font-size:1.35rem;line-height:1.1}.home-eyebrow{font-size:.68rem}.home-contact{justify-items:start}.home-hero{gap:.9rem;padding:.9rem}.home-copy h2{font-size:1.55rem;line-height:1.06}.home-copy p{font-size:.92rem;line-height:1.5}.home-pill{padding:.38rem .68rem;font-size:.66rem}.home-meta{gap:.45rem;margin-top:.8rem}.home-meta span{padding:.38rem .58rem;font-size:.74rem}.home-hero-media{min-height:220px;padding:.65rem}.home-hero-media img{width:min(100%,280px)}.menu-section{padding:.9rem}.menu-section-head{margin-bottom:.7rem}.menu-section-head h3{font-size:1.02rem}.menu-section-head p{font-size:.88rem}.menu-card{grid-template-columns:1fr;min-height:0}.menu-card img{min-height:172px}.menu-card div{padding:.85rem .9rem .95rem}.menu-card h4{font-size:.96rem}.menu-card p{font-size:.9rem;line-height:1.45}.home-contact-footer{flex-direction:column;align-items:center;gap:.35rem;padding:.1rem 0 .2rem;font-size:.84rem}.app-shell.compact-shell{grid-template-columns:1fr}.app-shell.compact-shell.customer-shell{min-height:100vh;min-height:100svh;padding:.85rem .75rem}.app-shell.compact-shell>.customer-shell-topbar,.app-shell.compact-shell>.staff-session-panel,.app-shell.compact-shell>.support-footer,.app-shell.compact-shell>.customer-note,.app-shell.compact-shell>.message-box{grid-column:auto}.customer-shell-topbar{align-items:stretch;flex-direction:column}.staff-login-button{align-self:flex-end}.staff-session-form{grid-template-columns:1fr}.card-pin-area{left:.7rem;right:.7rem}.card-pin-box{width:100%;min-width:0}.card-pin-mascot{width:104px;height:86px;margin-left:.35rem}.card-panel-locked{min-height:340px}.card-profile-locked h2{font-size:1.45rem}.card-profile-locked p{font-size:1rem}.card-panel-locked .card-pin-area{left:.7rem;right:.7rem;gap:.45rem}.card-panel-locked .card-pin-mascot{width:122px;height:102px}.card-stage-locked{min-height:calc(100svh - 11rem)}.card-stage>.card-panel{width:100%}}@media(max-width:900px){.home-shell{gap:.85rem}.home-header{padding:.95rem 1rem}.home-pin-box{width:min(100%,340px)}.home-hero{grid-template-columns:1fr;padding:1rem}.menu-grid,.menu-grid-tight{grid-template-columns:1fr}.menu-card{grid-template-columns:minmax(200px,.9fr) minmax(0,1fr);min-height:200px}.admin-shell{display:flex;flex-direction:column}.admin-sidebar{position:static;min-height:0;width:100%}.admin-topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar-mascot{display:none}.account-popover{left:0;right:auto;width:100%}.admin-nav{display:grid;grid-template-columns:1fr}.stats-grid,.admin-grid,.analytics-summary,.pie-chart-wrap,.employee-window .field-grid,.field-grid,.filter-bar,.compact-filter{grid-template-columns:1fr}}@media(min-width:521px)and (max-width:900px){.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start}.admin-sidebar{position:sticky;top:1rem;min-height:calc(100vh - 2rem);width:auto}}
