:root{color-scheme:light;--bg:#e9edf3;--surface:#e9edf3;--card:#ffffff;--card-hover:#f5f8fc;--input-bg:#ffffff;--navy:#1e3a5f;--navy-deep:#16304c;--navy-light:#2c4f79;--text:#172033;--text-2:#566078;--muted:#8a94a8;--border:#bcc7d8;--border-strong:#c9d2e0;--card-border:rgba(30,58,95,0.08);--accent:#f5a623;--accent-hi:#f79e1b;--accent-hover:#e08c0f;--on-accent:#ffffff;--accent-text:#dd7b1f;--info:#2f6fb8;--success:#1f9d68;--success-text:#126640;--negative:#c23b3b;--danger:#d64545;--shadow-card:0 12px 32px rgba(30,58,95,0.1);--shadow-hover:0 18px 40px rgba(30,58,95,0.16);--radius:14px;--radius-sm:10px;--focus-ring:3px solid rgba(247,158,27,0.55);--dur:200ms;--ease:cubic-bezier(0.16,1,0.3,1);--sidebar-w:260px;font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{min-height:100vh;background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body,h1,h2,h3{margin:0;color:var(--text)}h1,h2,h3{line-height:1.2;letter-spacing:-.01em}p{margin:0}a{color:var(--navy);text-underline-offset:.18em}a:hover{color:var(--accent-hover)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}img{max-width:100%;display:block}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.55rem 1.15rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--card);color:var(--navy);font:inherit;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}button:hover{background:#f2f5fa;border-color:var(--navy-light)}button:active{transform:translateY(1px)}button:disabled,button[aria-disabled=true]{opacity:.5;cursor:not-allowed}button[type=submit]:not(.danger-ghost){background:linear-gradient(180deg,var(--accent-hi),var(--accent));border-color:var(--accent-hi);color:var(--on-accent);font-weight:700}button[type=submit]:not(.danger-ghost):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.danger-ghost{background:transparent;border-color:transparent;color:var(--danger);font-weight:600}.danger-ghost:hover{background:rgba(214,69,69,.08);border-color:transparent}input,select,textarea{width:100%;min-height:2.75rem;padding:.6rem .8rem;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}textarea{min-height:4.5rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(30,58,95,.12)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent)}input[type=file]{padding:.5rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label,.panel form label{font-size:.85rem;color:var(--text-2);font-weight:600}.auth-main{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem;background:radial-gradient(1100px 560px at 50% -12%,rgba(30,58,95,.14),transparent 62%),var(--bg)}.auth-card{width:100%;max-width:26rem;display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.5rem,4vw,2.4rem);background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.auth-card h1{font-size:clamp(1.4rem,3vw,1.8rem);color:var(--navy)}.auth-card p{color:var(--text-2);font-size:.95rem}.auth-card form{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}.auth-card form label{font-size:.85rem;color:var(--text-2);font-weight:600}.auth-card [role=status]{color:var(--success-text)}.auth-card a:not([class]){font-weight:600}.owner-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.owner-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1.1rem;background:linear-gradient(180deg,var(--navy),var(--navy-deep));color:#ffffff}.owner-brand{display:flex;align-items:center;gap:.75rem}.owner-avatar{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--navy-light);color:#ffffff;font-weight:800;font-size:1.2rem}.owner-brand-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.owner-store{color:#ffffff;font-weight:700;font-size:1rem;overflow-wrap:anywhere}.owner-email,.owner-slug{font-size:.78rem;color:#b9c7d8;overflow-wrap:anywhere}.owner-email{color:#8fa3ba}.owner-nav{flex:1 1}.owner-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.owner-nav-link{position:relative;display:block;padding:.65rem .85rem;border-radius:var(--radius-sm);color:#b9c7d8;text-decoration:none;font-weight:600;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.owner-nav-link:hover{background:rgba(255,255,255,.06);color:#ffffff}.owner-nav-link[aria-current=page]{background:rgba(255,255,255,.12);color:#ffffff}.owner-nav-link[aria-current=page]:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:3px;background:var(--accent)}.owner-wordmark{font-size:.75rem;color:#8fa3ba;letter-spacing:.02em}.owner-content{background:radial-gradient(900px 460px at 100% -10%,rgba(30,58,95,.06),transparent 60%),var(--surface);min-height:100vh;padding:clamp(1.25rem,3vw,2.5rem);overflow-x:hidden}.owner-content main{max-width:62rem;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.owner-content main>h1{font-size:clamp(1.5rem,3.5vw,2rem);color:var(--navy)}.owner-content main>p{color:var(--text-2)}.owner-content h2{font-size:1.3rem}.owner-content h3{font-size:1.05rem}.panel{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.1rem,2.5vw,1.6rem);gap:.85rem}.dash-home,.panel{display:flex;flex-direction:column}.dash-home{gap:1.25rem}.dash-home>h2{font-size:clamp(1.4rem,3vw,1.9rem);color:var(--navy)}.dash-home>h2+p{color:var(--text-2);font-size:.95rem}.quicklinks{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;color:var(--muted)}.quicklinks a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.45rem 1rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--card);color:var(--navy);text-decoration:none;font-weight:600;font-size:.9rem;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.quicklinks a:hover{background:#f2f5fa;border-color:var(--accent);color:var(--navy)}.stat-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));grid-gap:.85rem;gap:.85rem}.stat-grid>div{display:flex;flex-direction:column-reverse;gap:.25rem;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.stat-grid>div:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.stat-grid dt{font-size:.82rem;color:var(--text-2);font-weight:600}.stat-grid dd{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.orders-stat .stat-grid>div:first-child{background:linear-gradient(140deg,var(--navy),var(--navy-light));border-color:transparent}.orders-stat .stat-grid>div:first-child dt{color:rgba(255,255,255,.75)}.orders-stat .stat-grid>div:first-child dd{color:#ffffff}.panel strong{color:var(--navy)}.panel ul{margin:0;padding-left:1.1rem;color:var(--text-2)}.coupon-panel p{color:var(--muted)}[role=alert][data-kind],[role=status][data-kind]{padding:.75rem 1rem;border-radius:var(--radius-sm);font-weight:600;border:1px solid transparent}[data-kind=success]{background:#dff7eb;border-color:rgba(31,157,104,.35);color:var(--success-text)}[data-kind=error]{background:#fdeaea;border-color:rgba(194,59,59,.32);color:#8c2626}[data-kind=status]{background:#e8eef9;border-color:rgba(47,111,184,.3);color:#27436b}[role=alert]:not([data-kind]){padding:.9rem 1.1rem;border-radius:var(--radius-sm);background:#fdeaea;border:1px solid rgba(194,59,59,.32);color:#8c2626;font-weight:600}[role=note]{padding:.8rem 1.1rem;border-radius:var(--radius-sm);background:#fff6e3;border:1px solid rgba(245,166,35,.4);color:#7a5310;font-weight:600}.content-form{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.1rem,2.5vw,1.6rem);display:grid;grid-gap:1rem;gap:1rem}.publish-panel nav{display:flex;flex-wrap:wrap;gap:.6rem}.publish-panel nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.45rem 1rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--card);color:var(--navy);text-decoration:none;font-weight:600;font-size:.9rem}.publish-panel nav a:hover{border-color:var(--accent);background:#f2f5fa}.media-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.85rem;gap:.85rem}.media-grid li{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:var(--card-hover);border:1px solid var(--card-border);border-radius:var(--radius-sm)}.media-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}.media-panel label{display:inline-flex;flex-direction:column;gap:.35rem;font-weight:600;color:var(--text-2);font-size:.85rem}.preview-doc{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem}.preview-doc h1{font-size:clamp(1.6rem,4vw,2.2rem);color:var(--navy)}.preview-doc dl{display:grid;grid-gap:.6rem;gap:.6rem;margin:0}.preview-doc dl>div{display:grid;grid-template-columns:6rem 1fr;grid-gap:.5rem;gap:.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--card-border)}.preview-doc dt{color:var(--muted);font-weight:600}.preview-doc dd{margin:0;color:var(--text)}.version-list{list-style:none;margin:0;padding:0;gap:.85rem}.version-list,.version-list li{display:flex;flex-direction:column}.version-list li{gap:.5rem;padding:1.1rem 1.25rem;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.version-list time{font-weight:700;color:var(--navy)}.version-list li>p:nth-of-type(2){color:var(--text-2)}.menu-panel ul{list-style:none;margin:0;padding:0;gap:.85rem}.menu-panel ul,.menu-panel>ul>li{display:flex;flex-direction:column}.menu-panel>ul>li{padding:1.1rem 1.25rem;background:var(--card-hover);border:1px solid var(--card-border);border-left:3px solid transparent;border-radius:var(--radius-sm);gap:.6rem}.menu-panel>ul>li[data-sold-out=true]{border-left-color:var(--accent)}.menu-panel>ul>li[data-available=false]{border-left-color:var(--negative);opacity:.85}.menu-panel form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.menu-panel form label{display:flex;flex-direction:column;gap:.3rem;flex:1 1 8rem}.menu-panel form label:has(input[type=checkbox]){flex-direction:row;align-items:center;flex:0 0 auto;gap:.4rem}.menu-panel form input,.menu-panel form select{min-width:0}.conn-pill{display:inline-flex;align-items:center;gap:.45rem;width:-moz-fit-content;width:fit-content;padding:.35rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid transparent}.conn-pill:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--accent)}.conn-pill[data-connected=true]{color:var(--success-text);background:#dff7eb;border-color:rgba(31,157,104,.3)}.conn-pill[data-connected=true]:before{background:var(--success)}.conn-pill[data-connected=false]{color:#7a5310;background:#fff6e3;border-color:rgba(245,166,35,.35)}.conn-pill[data-connected=false]:before{background:var(--accent)}.queue>ol{list-style:none;margin:.5rem 0 0;padding:0;gap:.85rem}.queue>ol,.queue>ol>li{display:flex;flex-direction:column}.queue>ol>li{padding:1.1rem 1.25rem;background:var(--card-hover);border:1px solid var(--card-border);border-left:4px solid var(--border);border-radius:var(--radius-sm);gap:.6rem}.queue>ol>li strong{color:var(--text)}.queue>ol>li ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;color:var(--text-2);font-size:.92rem}.queue>ol>li p{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.orders-queue>ol>li[data-status=submitted]{border-left-color:var(--accent)}.orders-queue>ol>li[data-status=accepted],.orders-queue>ol>li[data-status=preparing],.orders-queue>ol>li[data-status=ready]{border-left-color:var(--info)}.orders-queue>ol>li[data-status=completed]{border-left-color:var(--success)}.orders-queue>ol>li[data-status=cancelled],.orders-queue>ol>li[data-status=rejected]{border-left-color:var(--negative)}.waiting-queue>ol>li[data-status=called],.waiting-queue>ol>li[data-status=waiting]{border-left-color:var(--accent)}.waiting-queue>ol>li[data-status=seated]{border-left-color:var(--success)}.waiting-queue>ol>li[data-status=cancelled_customer],.waiting-queue>ol>li[data-status=cancelled_store],.waiting-queue>ol>li[data-status=no_show]{border-left-color:var(--negative)}.waiting-queue>ol>li{gap:.75rem}.waiting-queue>ol>li>span:first-child strong{font-size:1.15rem}.dash-home p:last-child,.owner-content main>p:only-of-type,.queue>section>p{color:var(--text-2)}@media (max-width:900px){.owner-shell{grid-template-columns:1fr}.owner-sidebar{position:static;height:auto;flex-direction:column;gap:.85rem;background:linear-gradient(120deg,var(--navy),var(--navy-deep))}.owner-brand{gap:.6rem}.owner-avatar{width:38px;height:38px;font-size:1.05rem}.owner-nav ul{flex-direction:row;overflow-x:auto;gap:.4rem;padding-bottom:.25rem;scrollbar-width:thin}.owner-nav-link{white-space:nowrap;padding:.5rem .9rem}.owner-nav-link[aria-current=page]:before,.owner-wordmark{display:none}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr}.menu-panel form label{flex:1 1 100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}