:root{--brand:#1f9670;--brand-dark:#0e6e54;--bg:#f4f6f5;--card:#fff;--border:#e3e8e6;--text:#14231e;--text-muted:#6b7d76;--text-faint:#9aa8a2;--danger:#d64545;--danger-soft:#fbe9e9;--warn-soft:#fff4e5;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.login-screen{background:radial-gradient(circle at 20% 20%, #1f967029, transparent 45%), radial-gradient(circle at 80% 0%, #0e6e541f, transparent 40%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 24px 60px -30px #0e6e5459}.login-logo{background:linear-gradient(135deg, var(--brand), var(--brand-dark));border-radius:12px;width:40px;height:40px;margin-bottom:18px}.login-card h1{letter-spacing:-.4px;margin:0 0 4px;font-size:20px;font-weight:800}.login-card p{color:var(--text-muted);margin:0 0 24px;font-size:13px;line-height:1.5}.field{margin-bottom:14px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input{border:1px solid var(--border);background:#fafcfb;border-radius:12px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14.5px}.field input:focus{border-color:var(--brand);background:#fff}.btn-primary{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;height:48px;margin-top:6px;font-size:15px;font-weight:700;transition:opacity .15s}.btn-primary:disabled{opacity:.55;cursor:default}.btn-primary:not(:disabled):active{opacity:.85}.error-line{color:var(--danger);background:var(--danger-soft);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:12.5px;line-height:1.5}.app-shell{min-height:100vh}.topbar{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:10px;display:flex}.topbar-logo{background:linear-gradient(135deg, var(--brand), var(--brand-dark));border-radius:8px;width:26px;height:26px}.topbar-title{letter-spacing:-.3px;font-size:15px;font-weight:800}.topbar-sub{color:var(--text-faint);font-size:12px}.topbar-right{align-items:center;gap:14px;display:flex}.topbar-email{color:var(--text-muted);font-size:12.5px}.btn-ghost{border:1px solid var(--border);height:34px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:10px;padding:0 14px;font-size:12.5px;font-weight:600}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-dark)}.dashboard{max-width:1180px;margin:0 auto;padding:28px 28px 64px}.section-title{letter-spacing:-.3px;margin:30px 0 12px;font-size:15px;font-weight:800}.section-hint{color:var(--text-muted);margin:-6px 0 14px;font-size:12.5px;line-height:1.5}.tile-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.tile-label{color:var(--text-muted);font-size:12.5px;font-weight:600}.tile-value{letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;font-weight:800}.tile-value.good{color:var(--brand-dark)}.tile-value.warn{color:var(--danger)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.row:last-child{border-bottom:none}.row-label{color:var(--text-muted);font-size:13.5px}.row-value{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.row-value.warn{color:var(--danger)}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.bar-row{border-bottom:1px solid var(--border);padding:13px 20px}.bar-row:last-child{border-bottom:none}.bar-top{justify-content:space-between;margin-bottom:7px;display:flex}.bar-name{font-size:13px;font-weight:700}.bar-meta{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px}.bar-track{background:#0e6e5417;border-radius:999px;height:7px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--brand), var(--brand-dark));border-radius:999px;height:100%}.search-row{gap:10px;display:flex}.search-row input{border:1px solid var(--border);background:#fff;border-radius:12px;flex:1;height:46px;padding:0 16px;font-size:14px}.search-row input:focus{border-color:var(--brand);outline:none}.search-row button{background:var(--brand-dark);color:#fff;cursor:pointer;border:none;border-radius:12px;height:46px;padding:0 20px;font-size:13.5px;font-weight:700}.search-row button:disabled{opacity:.55;cursor:default}.result-block{border-bottom:1px solid var(--border);padding:14px 20px}.result-block:last-child{border-bottom:none}.result-name{font-size:14.5px;font-weight:700}.result-badge{color:var(--brand-dark);background:#0e6e5414;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.result-line{color:var(--text-muted);margin-top:4px;font-size:12.5px;line-height:1.5}.empty-line{text-align:center;color:var(--text-faint);padding:24px;font-size:13px}.stamp{color:var(--text-faint);text-align:center;margin-top:24px;font-size:11.5px}.center-screen{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:13.5px;display:flex}@media (width<=860px){.tile-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.dashboard{padding:20px 16px 48px}}.store-head,.store-row{border-bottom:1px solid var(--border);grid-template-columns:2.2fr 1fr .9fr .6fr 1fr;align-items:center;gap:12px;padding:12px 20px;display:grid}.store-head{color:var(--text-faint);letter-spacing:.2px;background:#fafcfb;font-size:11.5px;font-weight:700}.store-row{cursor:pointer;transition:background .12s}.store-row:hover{background:#f7faf9}.store-row.open{background:#f2f8f6}.store-name{font-size:13.5px;font-weight:700}.store-cell{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12.5px}.chip{border-radius:999px;justify-self:start;padding:3px 10px;font-size:11px;font-weight:700}.chip-ok{color:var(--brand-dark);background:#0e6e5417}.chip-warn{color:#b46a1a;background:var(--warn-soft)}.chip-mute{color:var(--text-faint);background:#f0f2f1}.store-detail{border-bottom:1px solid var(--border);background:#fbfdfc;padding:16px 20px 18px}.detail-grid{color:var(--text);grid-template-columns:1fr 1fr;gap:8px 24px;font-size:12.5px;display:grid}.detail-grid>div{gap:10px;display:flex}.detail-grid b{min-width:78px;color:var(--text-faint);font-weight:600}.detail-grid .span2{grid-column:span 2}.feature-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.fchip{color:var(--text-faint);background:#f0f2f1;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:600}.fchip.on{color:var(--brand-dark);background:#0e6e541a}@media (width<=860px){.store-head{display:none}.store-row{grid-template-columns:1.6fr .9fr .8fr}.store-row .store-cell:last-child{display:none}.detail-grid{grid-template-columns:1fr}.detail-grid .span2{grid-column:span 1}}.content-loading,.content-empty{color:var(--text-faint);margin-top:14px;font-size:12.5px}.content-wrap{gap:14px;margin-top:16px;display:grid}.content-block{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.content-head{color:var(--brand-dark);border-bottom:1px solid var(--border);background:#0e6e540d;padding:9px 14px;font-size:12px;font-weight:700}.content-group{border-bottom:1px solid var(--border);padding:10px 14px}.content-group:last-child{border-bottom:none}.content-group-name{color:var(--text-muted);margin-bottom:7px;font-size:12px;font-weight:700}.content-items{flex-wrap:wrap;gap:6px;display:flex}.content-item{color:var(--text);background:#f4f7f6;border-radius:8px;padding:4px 9px;font-size:12px}.content-item em{color:var(--text-faint);font-style:normal}.content-item b{color:var(--brand-dark);font-weight:700}.content-none{color:var(--text-faint);font-size:12px}.recipe-card{border-bottom:1px solid var(--border);padding:12px 14px}.recipe-card:last-child{border-bottom:none}.recipe-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-name{font-size:13px;font-weight:700}.recipe-cat{color:var(--text-muted);background:#f0f2f1;border-radius:999px;padding:2px 8px;font-size:11px}.recipe-price{color:var(--brand-dark);font-size:12px;font-weight:700}.recipe-steps{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;background:#fafcfb;border-radius:8px;margin:8px 0 0;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.6}.dot-live{background:var(--brand);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.8s ease-in-out infinite livePulse;display:inline-block}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.35}}.tabs{gap:8px;margin:22px 0 10px;display:flex}.tab{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.tab.on{background:var(--brand);border-color:var(--brand);color:#fff}.sort-row{flex-wrap:wrap;gap:6px;margin:8px 0 10px;display:flex}.sort-btn{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.sort-btn.on{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.owner-stores{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.member-wrap{margin-top:14px}.member-row{border-top:1px solid var(--border);grid-template-columns:1.4fr auto 1fr .8fr .9fr;align-items:center;gap:10px;padding:8px 2px;font-size:14px;display:grid}.member-name{color:var(--text);font-weight:600}.member-cell{color:var(--text-muted);font-size:13px}@media (width<=720px){.member-row{grid-template-columns:1fr auto;row-gap:2px}.member-cell:last-child{grid-column:1/-1}}
