:root{--paper: #f3eee5;--raised: #faf7f2;--sand: #e6ddcd;--line: #d4c9b7;--line-strong: #8c8272;--ink: #1e1c1a;--ink-soft: #4b4540;--ink-muted: #625b53;--brand: #1e1c1a;--brand-hover: #3a3632;--brand-soft: #d9d5cd;--on-brand: #faf7f2;--conf: #2d5a78;--conf-soft: #e1e8ec;--pend: #7d5816;--pend-soft: #f0e6d0;--cancel: #9a3a27;--cancel-soft: #f2e2dc;--shadow: 0 8px 24px rgba(30,28,26,.12);--serif: "Noto Serif KR", "Nanum Myeongjo", serif;--sans: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--slot: 36px;--logo-filter: none}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #1b1917;--raised: #24211e;--sand: #2e2a26;--line: #3d3833;--line-strong: #7d7468;--ink: #eee7dc;--ink-soft: #c9c0b3;--ink-muted: #a39a8d;--conf: #93bad6;--conf-soft: #233039;--pend: #dbb46e;--pend-soft: #352c1c;--cancel: #e79c88;--cancel-soft: #3a2520;--shadow: 0 8px 24px rgba(0,0,0,.45);--logo-filter: invert(.92) sepia(.08)}}:root[data-theme=dark]{color-scheme:dark;--paper: #1b1917;--raised: #24211e;--sand: #2e2a26;--line: #3d3833;--line-strong: #7d7468;--ink: #eee7dc;--ink-soft: #c9c0b3;--ink-muted: #a39a8d;--conf: #93bad6;--conf-soft: #233039;--pend: #dbb46e;--pend-soft: #352c1c;--cancel: #e79c88;--cancel-soft: #3a2520;--shadow: 0 8px 24px rgba(0,0,0,.45);--logo-filter: invert(.92) sepia(.08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:22px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.soft{color:var(--ink-soft)}.muted{color:var(--ink-muted)}.label{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.02em;color:var(--ink-soft)}.cap{font-size:12px;line-height:18px;color:var(--ink-muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{display:flex;min-height:100%}.side{width:232px;flex:none;background:var(--raised);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}.shop{display:flex;align-items:center;gap:8px;padding:8px 12px 24px;font-family:var(--serif);font-size:15px;letter-spacing:.2em}.dot{width:6px;height:6px;border-radius:50%;background:var(--brand);flex:none;display:inline-block}.shop .dot{width:5px;height:5px}.shopLogo{height:22px;width:auto;display:block;filter:var(--logo-filter)}.shop.has-logo .dot,.shop.has-logo .shopName{display:none}.shop:not(.has-logo) .shopLogo{display:none}.nav-item{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:3px;color:var(--ink-soft)}.nav-item:hover{background:var(--sand);color:var(--ink)}.nav-item[aria-current=page]{background:var(--brand-soft);color:var(--ink);font-weight:600}.nav-item[aria-current=page]:after{content:"";margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--brand)}.nav-group{margin:16px 12px 8px;font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--ink-muted)}.me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--line)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.main{flex:1;min-width:0;padding:24px 32px 48px}.topbar,.tabbar{display:none}.page-head{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{font-size:22px;line-height:30px;font-weight:600;letter-spacing:-.01em}.page-head .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{background:var(--raised);border:1px solid var(--line);border-radius:6px}.card-pad{padding:16px;display:grid;gap:12px;align-content:start}.card h2{font-size:16px;line-height:24px;font-weight:600}.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;font-weight:500;font-size:14px;border-radius:3px;border:1px solid transparent;cursor:pointer;white-space:nowrap;background:none}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover)}.btn-sec{background:var(--raised);color:var(--ink);border-color:var(--line-strong)}.btn-sec:hover{background:var(--sand)}.btn-ghost{color:var(--ink-soft)}.btn-ghost:hover{background:var(--sand);color:var(--ink)}.btn-danger{color:var(--cancel);border-color:var(--cancel)}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-icon{width:36px;padding:0}.input{height:36px;padding:0 12px;font-size:14px;background:var(--raised);border:1px solid var(--line-strong);border-radius:3px;width:100%}.input::placeholder{color:var(--ink-muted)}.input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}textarea.input{height:auto;min-height:104px;padding:10px 12px;line-height:22px;resize:vertical}.field{display:grid;gap:8px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden}.seg button{height:34px;padding:0 14px;border:0;background:var(--raised);font-size:13px;font-weight:500;color:var(--ink-soft);cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.pill{height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:3px;background:var(--raised);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.pill[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.pills{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.b-conf{background:var(--conf-soft);color:var(--conf)}.b-pend{background:var(--pend-soft);color:var(--pend)}.b-cancel{background:var(--cancel-soft);color:var(--cancel)}.b-done{background:var(--sand);color:var(--ink-soft)}.b-brand{background:var(--brand-soft);color:var(--ink)}.chip{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:3px;background:var(--paper);border:1px solid var(--sand);font-size:12px;color:var(--ink-soft)}.today{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.sched{overflow:hidden}.sched-head,.sched-body{display:grid;grid-template-columns:64px repeat(2,minmax(0,1fr))}.sched-head{background:var(--paper);border-bottom:1px solid var(--line)}.sched-head div{padding:10px 16px;border-left:1px solid var(--line)}.sched-head div:first-child{border-left:0}.times div{height:var(--slot);padding:0 10px;text-align:right;line-height:20px;border-top:1px solid var(--sand);font-size:12px;color:var(--ink-muted)}.col{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--slot) - 1px),var(--sand) calc(var(--slot) - 1px) var(--slot))}.slot-btn{position:absolute;left:0;right:0;height:var(--slot);border:0;background:none;cursor:pointer}.slot-btn:hover{background:color-mix(in srgb,var(--sand) 60%,transparent)}.slot-btn:hover:after{content:"+ 예약";font-size:12px;color:var(--ink-muted)}.appt{position:absolute;left:4px;right:4px;z-index:1;border-radius:3px;padding:6px 10px;display:flex;flex-direction:column;gap:2px;overflow:hidden;text-align:left;border:0;cursor:pointer}.appt:hover{filter:brightness(.97)}.appt .top{display:flex;align-items:center;gap:6px;min-width:0}.appt strong{font-weight:600;white-space:nowrap}.appt .badge{margin-left:auto}.appt.conf{background:var(--brand-soft)}.appt.conf .dot{background:var(--brand)}.appt.pend{background:var(--pend-soft)}.appt.pend .dot{background:var(--pend)}.appt.done{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.appt.done .dot{background:var(--ink-muted)}.appt.cancel{background:var(--cancel-soft)}.appt.cancel .dot{background:var(--cancel)}.appt.cancel strong{text-decoration:line-through}.dir-switch{display:none}.alert{display:flex;gap:10px;padding:10px 12px;background:var(--paper);border-radius:3px}.alert.hl{background:var(--brand-soft)}.alert b{width:44px;flex:none;font-weight:600}.list-row{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--sand)}.list-row:last-child{border-bottom:0;padding-bottom:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14121059;z-index:40}.sheet{position:fixed;z-index:41;right:24px;top:24px;width:360px;max-width:calc(100% - 32px);background:var(--raised);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:20px;display:grid;gap:14px}.sheet .actions{display:flex;flex-wrap:wrap;gap:8px}.cust{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start}.figure{font-size:28px;line-height:34px;font-weight:500;letter-spacing:-.01em}.visit{padding:16px;display:grid;gap:10px;border-bottom:1px solid var(--sand)}.visit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.visit-body{padding-left:50px;display:grid;gap:8px}mark{background:var(--pend-soft);color:inherit;padding:0 2px}.narrow{max-width:560px;display:grid;gap:20px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hint-box{padding:10px 12px;background:var(--brand-soft);border-radius:3px;display:grid}.need{background:var(--pend-soft);color:var(--pend);padding:10px 12px;border-radius:3px}.preview-text{min-height:280px;font-size:14px;line-height:24px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.stat{padding:16px;display:grid;gap:4px}.chart-wrap{position:relative}.chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper);font-size:12px;line-height:18px;padding:6px 10px;border-radius:3px;white-space:nowrap;transform:translate(-50%,-120%)}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.bar-row{display:grid;grid-template-columns:110px minmax(0,1fr) 56px;gap:12px;align-items:center}.bar-track{height:12px;position:relative}.bar{position:absolute;left:0;top:0;bottom:0;background:var(--brand);border-radius:0 4px 4px 0}table{border-collapse:collapse;width:100%}th{font-size:12px;font-weight:500;color:var(--ink-soft);text-align:left;padding:8px 0;border-bottom:1px solid var(--line)}td{padding:10px 0;border-bottom:1px solid var(--sand)}tr:last-child td{border-bottom:0;font-weight:600}.r{text-align:right}.settings{display:grid;grid-template-columns:500px minmax(0,1fr);gap:24px;align-items:start}.swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.swatch{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:3px;background:var(--raised);border:1px solid var(--line);cursor:pointer;text-align:left;font-weight:500;font-size:13px}.swatch[aria-pressed=true]{border:2px solid var(--ink);padding:0 11px}.swatch i{width:20px;height:20px;border-radius:50%;flex:none}.tokens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tokens i{display:block;height:32px;border-radius:3px;border:1px solid var(--line)}.mini{display:grid;grid-template-columns:170px minmax(0,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper)}.mini .side-mini{background:var(--raised);border-right:1px solid var(--line);padding:12px 8px;display:grid;gap:2px;align-content:start}.mini .side-mini .nav-item{height:34px}.drop{min-height:88px;border:1px dashed var(--line-strong);border-radius:3px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:12px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:3px;font-size:14px;box-shadow:var(--shadow);max-width:calc(100% - 32px)}.demo-tag{font-size:11px;color:var(--ink-muted);padding:0 12px 8px}.modal{position:fixed;z-index:45;left:50%;top:50%;transform:translate(-50%,-50%);width:600px;max-width:calc(100% - 32px);max-height:calc(100% - 48px);overflow-y:auto;background:var(--raised);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:24px}.modal form{display:grid;gap:16px}.modal .phone-fixed{height:36px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kd summary{cursor:pointer;font-size:13px;color:var(--ink-soft);min-height:32px;display:flex;align-items:center}.kd p,.kd pre{margin:6px 0 0;padding:12px;background:var(--paper);border-radius:3px;font:inherit;font-size:13px;line-height:21px;white-space:pre-wrap}.kbtns{display:flex;gap:8px;flex-wrap:wrap}.kbtns .btn{height:44px}.input.check{border-color:var(--pend);background:var(--pend-soft)}.memo2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memo2>div{background:var(--paper);border-radius:3px;padding:10px 12px;display:grid;gap:4px;align-content:start}@media (max-width: 640px){.modal{left:0;right:0;top:auto;bottom:0;transform:none;width:auto;max-width:none;max-height:92%;border-radius:12px 12px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}.memo2{grid-template-columns:minmax(0,1fr)}}.notice-wrap{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}.notice-wrap:has(#noticeForm[hidden]){grid-template-columns:minmax(0,1fr)}.nlist td{padding:12px 8px}.nlist th{padding:8px}.nlist td:first-child{padding-left:16px}.nlist td:last-child{padding-right:16px}.nlist tr:last-child td{font-weight:400}.nlist tbody tr{cursor:pointer}.nlist tbody tr:hover{background:var(--paper)}.switch{width:40px;height:24px;border-radius:999px;border:1px solid var(--line-strong);background:var(--sand);position:relative;cursor:pointer;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--raised);transition:left .15s;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--brand);border-color:var(--brand)}.switch[aria-checked=true]:after{left:19px}@media (max-width: 1180px){.notice-wrap{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1180px){.today,.cust,.settings{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.side{display:none}.main{padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px))}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:env(safe-area-inset-top,0px);z-index:20;height:56px;padding:0 16px;background:var(--raised);border-bottom:1px solid var(--line)}.topbar .shop{padding:0}.tabbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--raised);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;font-size:11px;color:var(--ink-muted)}.tabbar a svg{width:20px;height:20px}.tabbar a[aria-current=page]{color:var(--ink);font-weight:600}.tabbar a[aria-current=page] .tab-dot{background:var(--brand)}.tab-dot{width:4px;height:4px;border-radius:50%;background:transparent}.tabbar .add{color:var(--on-brand)}.tabbar .add span.plus{width:40px;height:40px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:flex;align-items:center;justify-content:center}.page-head .right{margin-left:0;width:100%}.page-head .right .grow{flex:1;min-width:160px}.dir-switch{display:inline-flex}.sched-head,.sched-body{grid-template-columns:56px minmax(0,1fr)}.sched[data-dir=A] .colB,.sched[data-dir=B] .colA{display:none}.visit-body{padding-left:0}.two{grid-template-columns:minmax(0,1fr)}.sheet{left:0;right:0;top:auto;bottom:0;width:auto;max-width:none;border-radius:12px 12px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.mini{grid-template-columns:minmax(0,1fr)}.mini .side-mini{display:none}.tokens{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.figure{font-size:22px;line-height:28px}.grid2,.swatches{grid-template-columns:minmax(0,1fr)}.bar-row{grid-template-columns:88px minmax(0,1fr) 48px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}[hidden]{display:none!important}
