:root{
 --ink:#1d1d1f;--muted:#6e6e73;--paper:#f5f5f7;--card:rgba(255,255,255,.82);
 --coral:#0071e3;--green:#248a3d;--gold:#bf7b00;--line:rgba(0,0,0,.08);
 --accent:#0071e3;--accent-hover:#0077ed;--surface-soft:rgba(118,118,128,.08);
 --shadow:0 18px 50px rgba(0,0,0,.08);--shadow-soft:0 8px 24px rgba(0,0,0,.055);
}
html{background:var(--paper);scroll-padding-top:24px}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Noto Sans JP",sans-serif;letter-spacing:-.01em;background:radial-gradient(circle at 85% -5%,rgba(0,113,227,.09),transparent 32%),var(--paper)}
button,input,select,textarea{font-family:inherit}button{transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}button:active{transform:scale(.97)}
:focus-visible{outline:3px solid rgba(0,113,227,.28);outline-offset:2px}
.app-shell{grid-template-columns:252px minmax(0,1fr)}
.sidebar{width:252px;padding:28px 18px;background:rgba(22,22,24,.92);border-right:1px solid rgba(255,255,255,.08);backdrop-filter:saturate(180%) blur(28px);-webkit-backdrop-filter:saturate(180%) blur(28px)}
.brand{margin:0 10px 28px;font-size:22px;letter-spacing:-.03em}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#fff,#d9eaff);color:#0071e3;font-family:inherit;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
nav{gap:4px}.nav-link{padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.62);font-size:13px}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.11);color:#fff}.nav-link.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.sidebar-footer{border-color:rgba(255,255,255,.1)}.avatar{background:#fff;color:#0071e3}.logout-button{color:rgba(255,255,255,.62)}
main{padding:30px clamp(22px,4vw,64px) 72px;max-width:1680px;width:100%;margin:0 auto}
.topbar{position:sticky;top:0;z-index:8;margin:-30px calc(clamp(22px,4vw,64px)*-1) 28px;padding:20px clamp(22px,4vw,64px) 15px;background:rgba(245,245,247,.76);border-bottom:1px solid rgba(0,0,0,.055);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
.topbar h1{font-size:28px;letter-spacing:-.04em}.eyebrow{color:#86868b;letter-spacing:.12em}
.primary-button{padding:10px 17px;border-radius:980px;background:var(--accent);box-shadow:none;font-size:13px;font-weight:600}.primary-button:hover{background:var(--accent-hover);box-shadow:0 5px 16px rgba(0,113,227,.22)}
.text-button{padding:9px 13px;border-radius:980px;color:var(--accent);font-size:12px;font-weight:600}.text-button:hover{background:rgba(0,113,227,.08)}
.mode-badge,.status-pill,.tag,.vip-badge{border-radius:980px}
.reservation-summary{padding:38px 42px;border:0;border-radius:28px;background:linear-gradient(135deg,rgba(17,17,19,.96),rgba(48,48,52,.91)),radial-gradient(circle at 85% 10%,rgba(0,113,227,.7),transparent 42%);box-shadow:var(--shadow);overflow:hidden}
.reservation-summary h2{font-family:inherit;font-size:36px;font-weight:650;letter-spacing:-.045em}.reservation-summary p:not(.eyebrow){font-size:13px;color:rgba(255,255,255,.68)}
.metric-grid{gap:14px}.metric-card,.panel{border:1px solid rgba(255,255,255,.75);background:var(--card);box-shadow:var(--shadow-soft);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.metric-card{border-radius:20px;padding:21px}.metric-icon{border-radius:13px;background:var(--surface-soft)!important}.metric-icon.coral{color:#ff3b30}.metric-icon.gold{color:#ff9f0a}.metric-icon.green{color:#34c759}.metric-card strong{font-size:24px;letter-spacing:-.035em}
.panel{padding:26px;border-radius:22px;margin-top:18px}.panel h3{font-size:20px;letter-spacing:-.025em}.panel-heading{margin-bottom:20px}
input,select,textarea{min-height:42px;border:1px solid rgba(0,0,0,.1);border-radius:11px;background:rgba(255,255,255,.82);box-shadow:inset 0 1px 1px rgba(0,0,0,.025);transition:border .18s ease,box-shadow .18s ease,background .18s ease}
input:focus,select:focus,textarea:focus{border-color:#0071e3;background:#fff;box-shadow:0 0 0 4px rgba(0,113,227,.12);outline:0}
dialog{border:1px solid rgba(255,255,255,.7);border-radius:24px;background:rgba(250,250,252,.94);box-shadow:0 35px 100px rgba(0,0,0,.25);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}dialog::backdrop{background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}dialog h3{letter-spacing:-.035em}.close-button{width:32px;height:32px;border-radius:50%;background:rgba(118,118,128,.12);font-size:18px;line-height:1}.close-button:hover{background:rgba(118,118,128,.2)}
.master-grid>div,.product-card,.customer-row,.campaign-card,.sales-list article,.admin-tools,.pos-box{border-color:rgba(0,0,0,.07);border-radius:16px;background:rgba(255,255,255,.64)}
.management-kpis article,.sales-kpis article{border-color:rgba(0,0,0,.065);border-radius:16px;background:rgba(118,118,128,.055)}.management-kpis strong,.sales-kpis strong{letter-spacing:-.035em}
.master-row,.reservation{border-color:rgba(0,0,0,.065)}.row-actions button,.product-card button,.master-row button{border-color:rgba(0,0,0,.09);border-radius:9px;background:rgba(255,255,255,.78)}
.floor-table{border-radius:18px!important}.floor-table.available{background:rgba(52,199,89,.065)}.floor-table.reserved{background:rgba(255,159,10,.075)}.floor-table.arrived{background:rgba(0,113,227,.07)}
.toast{border-radius:14px;background:rgba(29,29,31,.92);box-shadow:0 15px 45px rgba(0,0,0,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@media(prefers-reduced-motion:no-preference){.panel,.metric-card{transition:transform .22s ease,box-shadow .22s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.08)}dialog[open]{animation:apple-dialog .2s ease-out}@keyframes apple-dialog{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(82vw,280px);box-shadow:24px 0 60px rgba(0,0,0,.24)}main{padding:22px 20px 60px}.topbar{margin:-22px -20px 24px;padding:16px 20px 13px}.menu-button{width:38px;height:38px;border-radius:50%;background:rgba(118,118,128,.1)}}
@media(max-width:620px){body{background:var(--paper)}main{padding:16px 12px 44px}.topbar{margin:-16px -12px 18px;padding:13px 12px 11px}.topbar h1{font-size:22px}.reservation-summary{padding:28px 24px;border-radius:22px}.reservation-summary h2{font-size:29px}.panel{padding:18px 15px;border-radius:18px}.metric-grid{gap:10px}.metric-card{border-radius:17px}.primary-button,.text-button{min-height:40px}.checkout-dialog{width:calc(100% - 12px)}dialog{width:calc(100% - 18px);border-radius:21px}}
.reconciliation-breakdown{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:18px 0}.recon-method{display:grid;gap:5px;padding:15px;border:1px solid rgba(0,0,0,.065);border-radius:16px;background:rgba(118,118,128,.055)}.recon-method span{font-weight:650}.recon-method small{color:var(--muted)}.recon-row-total{display:grid;gap:4px;text-align:right}.kpi-good{color:var(--green)!important}.kpi-alert{color:#d70015!important}@media(max-width:900px){.reconciliation-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.reconciliation-breakdown{grid-template-columns:1fr}.recon-row-total{text-align:left}}
