@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Outfit:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap";@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";:root{--bg-app:#faf8f5;--bg-sidebar:#f7f4ef;--bg-card:#fff;--bg-card-subtle:#faf7f2;--bg-hover:#f3ece6;--bg-active-rose:#f4eae8;--bg-row:#faf8f6;--bg-table-head:#faf7f3;--bg-row-hover:#faf7f4;--bg-modal-footer:#faf8f6;--brand-primary:#b9827d;--brand-primary-hover:#a56e69;--brand-primary-active:#945e59;--brand-light:#f7ece9;--brand-border:#e8d6d3;--brand-accent:#c9958d;--brand-gold:#c5a880;--brand-gold-light:#f8f4ed;--brand-gold-border:#e5d7c3;--text-main:#2f2f2f;--text-sub:#77736f;--text-muted:#a39e99;--text-inverse:#fff;--border-color:#efe8e2;--border-subtle:#f3ede7;--border-focus:#b9827d;--border-strong:#dfd5cd;--status-confirmed-text:#b9827d;--status-confirmed-bg:#faf0ee;--status-confirmed-border:#e8d5d2;--status-arrived-text:#2e794d;--status-arrived-bg:#edf7f0;--status-arrived-border:#cbe6d5;--status-inprogress-text:#b76d07;--status-inprogress-bg:#fef6eb;--status-inprogress-border:#f7e0c0;--status-waiting-text:#646b77;--status-waiting-bg:#f1f3f6;--status-waiting-border:#d8dde4;--status-cancelled-text:#bd382b;--status-cancelled-bg:#fdf0ee;--status-cancelled-border:#f5cac5;--status-noshow-text:#4b5563;--status-noshow-bg:#e5e7eb;--status-noshow-border:#d1d5db;--grade-vip-text:#8e682e;--grade-vip-bg:#faf3e5;--grade-vip-border:#ebd8b5;--grade-good-text:#7a6284;--grade-good-bg:#f5eff8;--grade-good-border:#dfd3e4;--grade-normal-text:#6a7280;--grade-normal-bg:#f3f4f6;--grade-normal-border:#e5e7eb;--success:#3e885b;--success-bg:#edf7f0;--success-border:#c6e7d2;--warning:#c27803;--warning-bg:#fef6eb;--warning-border:#faddb7;--danger:#c24134;--danger-bg:#fdf0ee;--danger-border:#f8ccc6;--plum:#7a6284;--plum-bg:#f5eff8;--plum-border:#dfd3e4;--surface-page:var(--bg-app);--surface-card:var(--bg-card);--surface-inset:var(--bg-row);--text-body:var(--text-main);--text-secondary:var(--text-sub);--text-placeholder:var(--text-muted);--accent:var(--brand-primary);--focus-ring:0 0 0 3px #b9827d26;--overlay-modal:#2f2f2f73;--overlay-drawer:#2f2f2f66;--font-main:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:"Cormorant Garamond","Cinzel",serif;--font-display:"Outfit","Pretendard",sans-serif;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:17px;--text-2xl:19px;--text-3xl:20px;--text-kpi:24px;--text-hero:28px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-body:1.5;--leading-tight:1.2;--tracking-title:-.01em;--tracking-kpi:-.02em;--tracking-hero:-.04em;--tracking-eyebrow:.22em;--type-page-title:700 20px/1.3 var(--font-main);--type-card-title:600 17px/1.4 var(--font-main);--type-modal-title:700 19px/1.4 var(--font-main);--type-body:400 14px/1.5 var(--font-main);--type-label:600 13px/1.4 var(--font-main);--type-caption:400 12px/1.5 var(--font-main);--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:18px;--space-10:20px;--space-11:24px;--space-12:28px;--space-13:36px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #b9827d0a,0 1px 2px #00000005;--shadow-card:0 4px 20px -2px #b9827d0d,0 2px 6px #00000005;--shadow-card-hover:0 12px 28px -4px #b9827d1f,0 4px 10px #00000008;--shadow-modal:0 24px 50px -12px #46322d38;--shadow-drawer:-10px 0 35px #46322d1f;--shadow-toast:0 10px 30px #46322d26;--shadow-btn-primary:0 3px 12px #b9827d40;--shadow-btn-primary-hover:0 5px 16px #b9827d59;--shadow-login:0 24px 70px #6b4b4624;--ease-out-expo:cubic-bezier(.16,1,.3,1);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--sidebar-width:250px;--header-height:72px;--page-max:1560px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-main);font-size:14px;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#dfd5cd}::-webkit-scrollbar-thumb:hover{background:var(--brand-accent)}button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;font-family:inherit;transition:all .2s}input,select,textarea{color:var(--text-main);outline:none;font-family:inherit;font-size:14px}a{color:var(--brand-primary);text-decoration:none}a:hover{color:var(--brand-primary-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInToast{0%{opacity:0;transform:translateY(-12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.btn{border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--brand-primary);color:#fff;box-shadow:0 3px 12px #b9827d40}.btn-primary:hover{background-color:var(--brand-primary-hover);box-shadow:0 5px 16px #b9827d59}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:#dfd5cd}.btn-soft-rose{background-color:var(--brand-light);color:var(--brand-primary);border:1px solid var(--brand-border);align-items:center;gap:4px;font-weight:600;display:inline-flex}.btn-soft-rose:hover{background-color:#eedcd9}.btn-outline{color:var(--text-main);border:1px solid var(--border-color);background:0 0}.btn-outline:hover{background-color:var(--bg-card);border-color:var(--brand-primary);color:var(--brand-primary)}.btn-ghost{color:var(--text-sub);background:0 0}.btn-ghost:hover{background-color:var(--bg-hover);color:var(--text-main)}.btn-danger{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text);border:1px solid var(--status-cancelled-border)}.btn-danger:hover{background-color:#fbe3df}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.btn-lg{border-radius:var(--radius-lg);padding:12px 24px;font-size:15px}.btn-icon-only{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.btn-icon{display:inline-flex}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow .2s,transform .2s}.card-hoverable:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-title{color:var(--text-main);align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.card-body{padding:24px}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-dot{background-color:currentColor;border-radius:50%;width:6px;height:6px}.badge-confirmed{background-color:var(--status-confirmed-bg);color:var(--status-confirmed-text);border:1px solid var(--status-confirmed-border)}.badge-arrived,.badge-completed{background-color:var(--status-arrived-bg);color:var(--status-arrived-text);border:1px solid var(--status-arrived-border)}.badge-in_progress{background-color:var(--status-inprogress-bg);color:var(--status-inprogress-text);border:1px solid var(--status-inprogress-border)}.badge-waiting{background-color:var(--status-waiting-bg);color:var(--status-waiting-text);border:1px solid var(--status-waiting-border)}.badge-cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text);border:1px solid var(--status-cancelled-border)}.badge-no_show{background-color:var(--status-noshow-bg);color:var(--status-noshow-text);border:1px solid var(--status-noshow-border)}.badge-grade-vip{background-color:var(--grade-vip-bg);color:var(--grade-vip-text);border:1px solid var(--grade-vip-border);font-weight:700}.badge-grade-good{background-color:var(--grade-good-bg);color:var(--grade-good-text);border:1px solid var(--grade-good-border)}.badge-grade-normal{background-color:var(--grade-normal-bg);color:var(--grade-normal-text);border:1px solid var(--grade-normal-border)}.badge-dday-urgent{color:#c24134;background-color:#fdf0ee;border:1px solid #f8ccc6;font-weight:700}.badge-dday-warning{color:#c27803;background-color:#fef6eb;border:1px solid #f9dfba;font-weight:700}.badge-dday-normal{color:#77736f;background-color:#f3ede7;border:1px solid #dfd5cc}.form-group{margin-bottom:18px}.form-label{color:var(--text-main);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-label .required{color:var(--brand-primary);margin-left:3px}.input-text,.input-select,.input-textarea{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);padding:10px 14px;transition:all .2s}.input-text:focus,.input-select:focus,.input-textarea:focus{border-color:var(--brand-primary);background-color:#fff;box-shadow:0 0 0 3px #b9827d26}.input-text::placeholder,.input-textarea::placeholder{color:var(--text-muted)}.search-bar-wrapper{align-items:center;display:flex;position:relative}.search-bar-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;left:14px}.search-bar-input{border:1px solid var(--border-color);border-radius:var(--radius-lg);background-color:#fff;width:100%;padding:11px 14px 11px 42px;font-size:14px;transition:all .2s;box-shadow:0 2px 8px #b9827d0a}.search-bar-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #b9827d26,0 4px 12px #b9827d14}.search-bar-input::placeholder{color:var(--text-muted)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background-color:#2f2f2f73;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{border-radius:var(--radius-xl);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-modal);border:1px solid var(--border-subtle);background-color:#fff;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:24px 28px 18px;display:flex}.modal-title{color:var(--text-main);align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.modal-body{flex:1;padding:24px 28px}.modal-footer{border-top:1px solid var(--border-subtle);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);background-color:#faf8f6;justify-content:flex-end;align-items:center;gap:12px;padding:18px 28px 24px;display:flex}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#2f2f2f66;justify-content:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.drawer-container{width:100%;max-width:560px;height:100%;box-shadow:var(--shadow-drawer);background-color:#fff;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;overflow-y:auto}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:24px;right:24px}.toast-item{pointer-events:auto;border-radius:var(--radius-md);border-left:4px solid var(--brand-primary);background-color:#fff;align-items:flex-start;gap:12px;min-width:300px;max-width:420px;padding:14px 18px;animation:.3s cubic-bezier(.16,1,.3,1) slideInToast;display:flex;box-shadow:0 10px 30px #46322d26}.toast-item.toast-success{border-left-color:#3e885b}.toast-item.toast-warning{border-left-color:#c27803}.toast-item.toast-info{border-left-color:var(--brand-primary)}.toast-item.toast-error{border-left-color:#c24134}.toast-title{color:var(--text-main);font-size:14px;font-weight:600}.toast-desc{color:var(--text-sub);margin-top:2px;font-size:12px}.app-container{background-color:var(--bg-app);min-height:100vh;display:flex}.main-content-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.page-content{flex:1;width:100%;max-width:1560px;padding:28px 36px}@media (width<=1180px){:root{--sidebar-width:84px;--header-height:68px}.page-content{padding:18px 16px 28px}.sidebar-brand{justify-content:center;padding:20px 12px 16px!important}.sidebar-brand-copy,.sidebar-nav-label,.sidebar-footer-copy{display:none}.sidebar-container nav{gap:6px!important;padding:12px 10px!important}.sidebar-container nav>button{justify-content:center;min-height:48px;padding:11px!important}.sidebar-container nav>button>div{display:none}.sidebar-footer{justify-content:center!important;padding:12px 8px!important}.sidebar-footer>div:first-child{display:none!important}.app-header{padding:0 18px!important}.header-title-area{min-width:0}.header-title-area>p,.header-date,.header-notification,.header-secondary-action{display:none!important}.header-actions{gap:8px!important}.header-actions .btn{min-height:42px;padding-left:12px;padding-right:12px}.card{border-radius:14px}}@media (width<=820px){:root{--sidebar-width:76px}.page-content{padding:14px 12px 24px}.app-header{padding:0 12px!important}.header-title-area h2{font-size:17px!important}.header-primary-action{display:none!important}}@media (width<=600px){.main-content-wrapper{margin-left:0}.sidebar-container{transition:transform .3s;transform:translate(-100%)}.sidebar-container.open{transform:translate(0)}}.sidebar-container nav>a{line-height:normal;text-decoration:none}@media (width<=1180px){.sidebar-container nav>a{justify-content:center;min-height:48px;padding:11px!important}.sidebar-container nav>a>div{display:none}.reservation-toolbar{align-items:stretch!important}.reservation-date-controls,.reservation-view-controls{width:100%}.reservation-view-controls{justify-content:space-between}.dashboard-main-grid{grid-template-columns:1fr!important}}@media (width<=820px){.reservation-date-controls,.reservation-view-controls{padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.reservation-date-controls>*,.reservation-view-controls>*{flex:none}}.screen-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.form-grid-2,.stats-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stats-grid-2{gap:24px}.skin-chart-grid{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.skin-chart-list{flex-direction:column;gap:4px;max-height:calc(100vh - 260px);display:flex;overflow-y:auto}@media (width<=1180px){.stats-grid-2{grid-template-columns:1fr}}@media (width<=768px){.form-grid-2,.skin-chart-grid{grid-template-columns:1fr}.skin-chart-list{max-height:240px}.screen-toolbar>*{max-width:100%}}.receipt-print{display:none}@media print{#root{display:none!important}.receipt-print{padding:16px;display:block}}
