/* Shared device-local palette. Artwork is never filtered or inverted. */
:root{color-scheme:only light;--theme-bg:#f7f5f0;--theme-paper:#fffefa;--theme-control:#fffefa;--theme-ink:#253a32;--theme-muted:#626e63;--theme-line:#c8d2c7;--theme-action:#244c3c;--theme-action-ink:#fff;--theme-selected:#e6efe4;--theme-danger:#a03535;--theme-danger-bg:#f9e9e6;--theme-warning:#7c561e;--theme-warning-bg:#f5ead8;--theme-info:#36577a;--theme-info-bg:#eaf0f8;--theme-focus:#986222;--theme-link:#77511f;
 --bg:var(--theme-bg);--paper:var(--theme-paper);--ink:var(--theme-ink);--muted:var(--theme-muted);--line:var(--theme-line);--sage:var(--theme-selected);--green:var(--theme-action);--accent:var(--theme-link);--amber:var(--theme-warning-bg);--red:var(--theme-danger);--redbg:var(--theme-danger-bg);--navy:var(--theme-info);--blue:var(--theme-info-bg);
 --text-777e75:#626e63;--text-75806f:#626e63;--text-6e8568:#626e63;--text-959b91:#626e63;--text-737f6c:#626e63;--text-7b87a0:#626e63;--text-9d845f:#626e63;--text-98a18e:#626e63;--text-7b8b68:#626e63;--text-7a876e:#626e63;--text-a08c6e:#626e63;--text-6d82a7:#626e63;--text-8b9386:#626e63;--text-77816d:#626e63;--text-a5b29b:#626e63;--text-788a6c:#626e63;--text-90988b:#626e63;--text-747b74:#626e63;--text-76866f:#626e63;
}
:root[data-theme="dark"]{color-scheme:dark;--theme-bg:#151c18;--theme-paper:#202a24;--theme-control:#1c2620;--theme-ink:#edf3ee;--theme-muted:#b2beb4;--theme-line:#657b6b;--theme-action:#35684f;--theme-action-ink:#fff;--theme-selected:#304f3c;--theme-danger:#ffb1b1;--theme-danger-bg:#422929;--theme-warning:#ffd79b;--theme-warning-bg:#403322;--theme-info:#bcd5ff;--theme-info-bg:#253346;--theme-focus:#f1ca86;--theme-link:#f3c983;--shadow:0 14px 50px #0006;
 --line-b17840:var(--theme-line);
 --line-a9b8a4:var(--theme-line);
 --surface-fffdf7:var(--theme-paper);
 --text-f5e9ce:var(--theme-warning);
 --text-777e75:var(--theme-muted);
 --surface-f4f5ed:var(--theme-selected);
 --text-ffffff:#ffffff;
 --surface-f4f3e9:var(--theme-warning-bg);
 --text-75806f:var(--theme-muted);
 --surface-fdfcf8:var(--theme-paper);
 --surface-6c8666:var(--theme-selected);
 --line-e5dbc9:var(--theme-line);
 --surface-fbf3e6:var(--theme-warning-bg);
 --text-866644:var(--theme-warning);
 --surface-f0f2eb:var(--theme-selected);
 --surface-395447:var(--theme-action);
 --line-efdec5:var(--theme-line);
 --text-936232:var(--theme-warning);
 --line-edceca:var(--theme-line);
 --text-6e8568:var(--theme-muted);
 --surface-f1f2eb:var(--theme-selected);
 --shadow-253a3210:rgba(0,0,0,0.160);
 --surface-b8c2b3:var(--theme-selected);
 --surface-e4d7b5:var(--theme-warning-bg);
 --line-edf0e9:var(--theme-line);
 --text-959b91:var(--theme-muted);
 --line-f0f1eb:var(--theme-line);
 --line-7e9a78:var(--theme-line);
 --line-879bc2:var(--theme-line);
 --line-c39f69:var(--theme-line);
 --line-bd7770:var(--theme-line);
 --text-6f7d69:var(--theme-muted);
 --text-737f6c:var(--theme-muted);
 --text-7b87a0:var(--theme-info);
 --text-9d845f:var(--theme-warning);
 --surface-ffffff85:color-mix(in srgb, var(--theme-paper) 52.16%, transparent);
 --line-ba6c50:var(--theme-line);
 --surface-ba6c50:var(--theme-danger-bg);
 --text-98a18e:var(--theme-muted);
 --surface-8ca285:var(--theme-selected);
 --surface-92a6c8:var(--theme-info-bg);
 --surface-caa271:var(--theme-warning-bg);
 --line-e0e7d9:var(--theme-line);
 --surface-edf1e6:var(--theme-selected);
 --text-7b8b68:var(--theme-ink);
 --text-7a876e:var(--theme-muted);
 --surface-ffffffa0:color-mix(in srgb, var(--theme-paper) 62.75%, transparent);
 --line-d8e1cd:var(--theme-line);
 --text-a47846:var(--theme-warning);
 --text-a08c6e:var(--theme-warning);
 --surface-f0e9cd:var(--theme-warning-bg);
 --text-6c8065:var(--theme-muted);
 --text-6d82a7:var(--theme-info);
 --text-a17b44:var(--theme-warning);
 --surface-eef0eb:var(--theme-selected);
 --text-8b9386:var(--theme-muted);
 --surface-f8f8f3:var(--theme-bg);
 --line-edf0e8:var(--theme-line);
 --surface-fafbf5:var(--theme-paper);
 --line-dfe4d9:var(--theme-line);
 --surface-fffefa:var(--theme-paper);
 --text-687565:var(--theme-muted);
 --text-687765:var(--theme-muted);
 --line-819a77:var(--theme-line);
 --surface-eff3e8:var(--theme-selected);
 --surface-f1f4eb:var(--theme-selected);
 --text-77816d:var(--theme-muted);
 --text-9b7444:var(--theme-warning);
 --text-a5b29b:var(--theme-muted);
 --text-6a7b60:var(--theme-muted);
 --surface-192b2660:color-mix(in srgb, var(--theme-action) 37.65%, transparent);
 --line-f0eee7:var(--theme-line);
 --surface-fbfbf5:var(--theme-paper);
 --surface-f3f5ed:var(--theme-selected);
 --text-6d7b62:var(--theme-muted);
 --surface-edf1e8:var(--theme-selected);
 --line-dee6d6:var(--theme-line);
 --surface-f0f3e8:var(--theme-selected);
 --surface-f8f9f3:var(--theme-bg);
 --surface-9baa8a:var(--theme-selected);
 --text-788a6c:var(--theme-muted);
 --surface-f7f8f1:var(--theme-bg);
 --surface-f8ead6:var(--theme-warning-bg);
 --line-efdcc0:var(--theme-line);
 --surface-fffefaed:color-mix(in srgb, var(--theme-paper) 92.94%, transparent);
 --text-90988b:var(--theme-muted);
 --shadow-253a3230:rgba(0,0,0,0.188);
 --text-a5453a:var(--theme-danger);
 --line-ecd300:var(--theme-line);
 --text-3b1e1e:var(--theme-danger);
 --line-dce5dd:var(--theme-line);
 --surface-f4f7f2:var(--theme-bg);
 --surface-f1f6ee:var(--theme-selected);
 --line-d8e4d4:var(--theme-line);
 --line-d8e0ef:var(--theme-line);
 --line-ecdec8:var(--theme-line);
 --surface-f2f3ed:var(--theme-selected);
 --line-b1b9a8:var(--theme-line);
 --line-dce1d5:var(--theme-line);
 --surface-edf2e6:var(--theme-selected);
 --line-a26d31:var(--theme-line);
 --surface-fff3df:var(--theme-warning-bg);
 --surface-f0f2ee:var(--theme-selected);
 --surface-e1eee3:var(--theme-selected);
 --text-244f34:var(--theme-ink);
 --line-bac7bd:var(--theme-line);
 --surface-ffffff:var(--theme-paper);
 --text-274e40:var(--theme-ink);
 --surface-274e40:var(--theme-action);
 --line-274e40:var(--theme-line);
 --line-a87a34:var(--theme-line);
 --surface-eee9e4:var(--theme-control);
 --text-6f5143:var(--theme-danger);
 --line-d8e2dd:var(--theme-line);
 --surface-f0f5ef:var(--theme-selected);
 --surface-dfeadd:var(--theme-selected);
 --text-294c3c:var(--theme-ink);
 --text-67786f:var(--theme-muted);
 --text-315c4b:var(--theme-ink);
 --line-dfe6e0:var(--theme-line);
 --surface-e9f1e7:var(--theme-selected);
 --text-294f40:var(--theme-ink);
 --line-9cb49d:var(--theme-line);
 --surface-f5f3ed:var(--theme-warning-bg);
 --text-607066:var(--theme-muted);
 --surface-eef3e8:var(--theme-selected);
 --text-a33030:var(--theme-danger);
 --surface-fff4da:var(--theme-warning-bg);
 --line-294f42:var(--theme-line);
 --surface-eaf2ec:var(--theme-selected);
 --surface-fffefb:var(--theme-paper);
 --text-667168:var(--theme-muted);
 --surface-f0eee6:var(--theme-control);
 --surface-e9eee5:var(--theme-selected);
 --text-294f42:var(--theme-ink);
 --surface-244c3c:var(--theme-action);
 --line-a87935:var(--theme-line);
 --text-657268:var(--theme-muted);
 --line-e1e5dd:var(--theme-line);
 --text-747b74:var(--theme-muted);
 --text-59745e:var(--theme-muted);
 --text-4d7655:var(--theme-ink);
 --surface-193d2f:var(--theme-action);
 --line-cbd4c8:var(--theme-line);
 --surface-d9e0d4:var(--theme-selected);
 --line-c4cfc0:var(--theme-line);
 --shadow-243e3215:rgba(0,0,0,0.160);
 --surface-e9eee2:var(--theme-selected);
 --text-76866f:var(--theme-muted);
 --line-8aa47b:var(--theme-line);
 --text-36523c:var(--theme-ink);
 --text-6a7a65:var(--theme-muted);
}
html,body{background:var(--theme-bg);color:var(--theme-ink)}
.theme-picker{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:500;color:var(--theme-muted);max-width:100%;min-width:0}
.theme-picker>span{white-space:nowrap}.theme-picker select{font:inherit;font-size:14px;min-height:44px;width:auto;max-width:140px;padding:8px 27px 8px 10px;background:var(--theme-control);color:var(--theme-ink);border:1px solid var(--theme-line);border-radius:9px;cursor:pointer}
.theme-picker select:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
[data-theme-settings]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.login-card>.theme-picker{display:flex;margin-top:20px;justify-content:flex-end}
#customer-booking-app>header>.theme-picker{display:flex;justify-content:flex-end;margin-top:10px;margin-bottom:4px}
#customer-booking-app>.shop-welcome-header{flex-wrap:wrap;gap:8px;padding-block:10px}
#customer-booking-app>.shop-welcome-header>span{display:none}
#customer-booking-app>.shop-welcome-header>strong{font-size:22px;min-width:0;flex:1 1 140px}
#customer-booking-app>.shop-welcome-header>.theme-picker{margin:0;flex:0 1 auto}
.shop-welcome-header .theme-picker>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{flex-wrap:wrap;column-gap:16px;row-gap:8px}.site-header>.theme-picker{margin-left:auto}.site-header .owner-link{margin-left:auto}
.shop-reserve-button,button.primary,.btn.primary,.nav button.active,.fab,.primary{background:var(--theme-action);color:var(--theme-action-ink)}
.btn.primary,.shop-reserve-button,button.primary{border:1px solid var(--theme-line)}
:root[data-theme="dark"] .brandmark,:root[data-theme="dark"] #toast{background:var(--theme-action);color:var(--theme-action-ink)}
:root[data-theme="dark"] .mobile-nav{background:#202a24f2}
:root[data-theme="dark"] .test-environment-banner{background:var(--theme-warning-bg)!important;color:var(--theme-warning)!important}
:root[data-theme="dark"] .shop-welcome-hero,:root[data-theme="dark"] .welcome-settings-preview,:root[data-theme="dark"] .screen-frame img{filter:none;mix-blend-mode:normal;opacity:1}
.notice.warning{color:var(--theme-warning)}.notice.error,.form-error.visible,.error{color:var(--theme-danger)}
.notice:not(.warning):not(.error){color:var(--theme-muted)}
:root[data-theme="dark"] .service-setting-status.visible{color:#b6ddc1}
:root[data-theme="dark"] .customer-service-chip[aria-pressed="true"]{background:var(--theme-selected);color:var(--theme-ink)}
@media(max-width:420px){.theme-picker select{font-size:13px;max-width:120px}.site-header>.theme-picker{margin-bottom:10px}}
:root[data-theme="dark"] .sidebar-note{background:var(--theme-control)}

/* Kakao brand buttons keep dark lettering on their yellow surface. */
.kakao-login,.kakao-launch{background:#fee500!important;color:#191919!important}
.kakao-login *, .kakao-launch *{color:inherit}

/* Self-hosted, demand-loaded Korean subsets; promotional artwork stays untouched. */
:root{--font-ui:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic','Apple SD Gothic Neo',sans-serif}
body,button,input,select,textarea{font-family:var(--font-ui)}
