:root{--primary: #6a4cf5;--bg: #f5f5f7;--card: #ffffff;--border: #e0e0e5;--text: #1a1a1e;--muted: #767680;--error: #d32f2f}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px;width:320px}.auth-card h1{font-size:20px;margin:0 0 20px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input,select{font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text)}button{font-size:14px;padding:8px 14px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}.error{color:var(--error);font-size:13px}.muted{color:var(--muted)}.shell{min-height:100vh}.topbar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:600}.topbar nav{display:flex;gap:16px;flex:1}.topbar nav a{color:var(--muted);text-decoration:none;font-size:14px}.topbar nav a.active{color:var(--primary);font-weight:600}.signout{background:transparent;color:var(--muted);border:1px solid var(--border)}main{padding:24px;max-width:1100px;margin:0 auto}h2{margin-top:0}section{margin-bottom:32px}.search{margin-bottom:12px;width:280px}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}th,td{text-align:left;padding:10px 12px;font-size:13px;border-bottom:1px solid var(--border)}th{background:#fafafa;color:var(--muted);font-weight:600}tr:last-child td{border-bottom:none}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--muted)}table.kv{width:auto;min-width:320px}table.kv td:first-child{color:var(--muted);width:180px}.stat{font-size:24px;font-weight:700;margin:4px 0 16px}button.danger{background:#d32f2f}.status-on{color:#2e7d32;font-weight:600}.status-off{color:var(--muted)}tr.suspended-row{opacity:.55}a{color:var(--primary)}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-nav{border-bottom:1px solid var(--border);background:var(--card)}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:10px}.landing-logo{width:28px;height:28px;border-radius:6px}.landing-brand{font-weight:700;flex:1}.landing-signin{font-size:14px;font-weight:600;text-decoration:none;padding:6px 14px;border:1px solid var(--border);border-radius:6px}.landing-hero{max-width:640px;margin:0 auto;padding:64px 24px 48px;text-align:center}.landing-hero-logo{width:88px;height:88px;border-radius:20px;margin-bottom:24px}.landing-hero h1{font-size:36px;margin:0 0 16px}.landing-hero>p{color:var(--muted);font-size:17px;line-height:1.5;margin:0 0 32px}.landing-stores{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.store-badge{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--card);min-width:160px}.store-badge-disabled{opacity:.6;cursor:default}.store-badge-eyebrow{font-size:11px;color:var(--muted)}.store-badge-name{font-size:16px;font-weight:600}.landing-testing-note{margin:16px 0 0;font-size:13px;color:var(--muted)}.landing-benefits{max-width:1100px;margin:0 auto;padding:0 24px 64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;flex:1}.landing-benefit-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px}.landing-benefit-card h3{margin:0 0 8px;font-size:16px}.landing-benefit-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.landing-footer{border-top:1px solid var(--border);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted)}
