:root{--font-family:"Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-display-size:2rem;--text-display-weight:700;--text-display-line-height:1.25;--text-display-letter-spacing:0;--text-heading-size:1.5rem;--text-heading-weight:700;--text-heading-line-height:1.33;--text-heading-letter-spacing:0;--text-title-size:1.25rem;--text-title-weight:600;--text-title-line-height:1.4;--text-title-letter-spacing:0;--text-body-size:1rem;--text-body-weight:400;--text-body-line-height:1.5;--text-body-letter-spacing:0;--text-body-strong-size:1rem;--text-body-strong-weight:600;--text-body-strong-line-height:1.5;--text-body-strong-letter-spacing:0;--text-caption-size:.875rem;--text-caption-weight:400;--text-caption-line-height:1.43;--text-caption-letter-spacing:0;--text-small-size:.75rem;--text-small-weight:400;--text-small-line-height:1.33;--text-small-letter-spacing:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-focus:0 0 0 3px var(--color-primary-alpha);--ease-default:.2s ease;--ease-expand:.3s ease-out;--ease-page:.15s ease-in-out;--color-success:#3b9b62;--color-warning:#d4952b;--color-error:#c94a4a;--color-info:#4a8fd4;--color-block-1:#f5d4c8;--color-block-2:#d4e8f5;--color-block-3:#e8d4f5;--color-block-4:#d4f5e0;--color-block-5:#f5ead4;--color-block-6:#f5d4e8;--max-width:1200px}[data-theme=coral],:root{--color-primary:#a14f3b;--color-primary-hover:#873e2d;--color-primary-light:#f5e1da;--color-primary-alpha:#a14f3b33;--color-bg:#fff;--color-bg-secondary:#fbf7f5;--color-bg-tertiary:#f5efeb;--color-bg-inverse:#2c2220;--color-text:#2c2220;--color-text-secondary:#7a6e6a;--color-text-tertiary:#a89e9a;--color-text-inverse:#fff;--color-text-on-primary:#fff;--color-border:#e8e0dc;--color-border-light:#f0eae6}[data-theme=navy]{--color-primary:#2b4c7e;--color-primary-hover:#1d3a66;--color-primary-light:#d8e4f0;--color-primary-alpha:#2b4c7e33;--color-bg:#fff;--color-bg-secondary:#f5f7fa;--color-bg-tertiary:#edf0f5;--color-bg-inverse:#1a2332;--color-text:#1a2332;--color-text-secondary:#5a6b7e;--color-text-tertiary:#8a96a5;--color-text-inverse:#fff;--color-text-on-primary:#fff;--color-border:#dce2ea;--color-border-light:#edf0f5}[data-theme=mint]{--color-primary:#2a9d8f;--color-primary-hover:#1f857a;--color-primary-light:#d4f0ec;--color-primary-alpha:#2a9d8f33;--color-bg:#fff;--color-bg-secondary:#f5faf9;--color-bg-tertiary:#ebf5f3;--color-bg-inverse:#1a2d2a;--color-text:#1a2d2a;--color-text-secondary:#5a7a74;--color-text-tertiary:#8aaba5;--color-text-inverse:#fff;--color-text-on-primary:#fff;--color-border:#dce8e6;--color-border-light:#edf5f3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--text-body-size);line-height:var(--text-body-line-height);letter-spacing:var(--text-body-letter-spacing);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:var(--text-body-strong-weight);font-size:var(--text-body-size);cursor:pointer;transition:background-color var(--ease-default), opacity var(--ease-default), box-shadow var(--ease-default);white-space:nowrap;border:none;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-caption-size)}.btn-lg{min-height:48px;padding:0 var(--space-6);font-size:var(--text-body-strong-size)}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-on-primary)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-kakao{color:#191919;background:#fee500}.btn-kakao:hover:not(:disabled){filter:brightness(.95)}.btn-naver{color:#102117;background:#03c75a}.btn-naver:hover:not(:disabled){filter:brightness(.9)}.btn-google{color:#3c4043;background:#fff;border:1px solid #dadce0}.btn-google:hover:not(:disabled){background:#f8f9fa}.input{width:100%;min-height:44px;padding:10px var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-caption-size);font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);transition:border-color var(--ease-default), box-shadow var(--ease-default);box-shadow:var(--shadow-xs)}.input:focus-visible{border-color:var(--color-primary);outline:none}.input-error{border-color:var(--color-error)}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-caption-size);color:var(--color-text-secondary);font-weight:500}.form-hint{font-size:var(--text-small-size);color:var(--color-text-tertiary)}.form-error{font-size:var(--text-small-size);color:var(--color-error)}.modal-form{gap:var(--space-3);flex-direction:column;display:flex}.card{background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card-interactive:hover,.card[role=button]:hover{box-shadow:var(--shadow-md)}.spinner{border-radius:var(--radius-full);vertical-align:middle;border:2px solid;border-right-color:#0000;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-caption-size);font-weight:500}.banner-success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.banner-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.banner-info{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.banner-warning{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.divider{align-items:center;gap:var(--space-4);color:var(--color-text-secondary);font-size:.8125rem;display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:1px}.toast-container{top:var(--space-6);right:var(--space-6);z-index:9999;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-caption-size);max-width:min(360px,100vw - 32px);font-weight:500;animation:.25s ease-out toast-in}.toast-success{background:var(--color-success);color:#fff}.toast-error{background:var(--color-error);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=480px){.toast-container{top:auto;bottom:var(--space-4);left:var(--space-4);right:var(--space-4)}.toast{max-width:100%}}@media (width<=768px){.data-table td.empty-text{text-align:left}}.modal-overlay{z-index:10000;padding:var(--space-6);background:#0006;justify-content:center;align-items:center;animation:.15s modal-fade-in;display:flex;position:fixed;inset:0}.modal-container{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:560px;max-height:80vh;display:flex}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:1.125rem;font-weight:600}.modal-close-btn{padding:0 4px;font-size:1.5rem;line-height:1}.modal-body{padding:var(--space-6);flex:1;overflow-y:auto}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.table-scroll{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;margin:0 -4px;padding:0 4px;overflow-x:auto}.table-scroll::-webkit-scrollbar{height:4px}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-caption-size)}.data-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border);font-weight:600;font-size:var(--text-caption-size);color:var(--color-text-secondary);background:var(--color-bg-secondary);white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:middle}.data-table tbody tr:hover{background:var(--color-bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.panel-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.panel-toolbar .toolbar-search{flex:1;min-width:160px}.status-pill{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-small-size);white-space:nowrap;font-weight:600;line-height:1.4;display:inline-block}.status-pending{color:#856404;background:#fff3cd}.status-confirmed{color:#155724;background:#d4edda}.status-checked_in{color:#004085;background:#cce5ff}.status-completed{color:#0c5460;background:#d1ecf1}.status-cancelled,.status-no_show{color:#721c24;background:#f8d7da}.status-draft{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-scheduled{color:#0c5460;background:#d1ecf1}.status-sending{color:#004085;background:#cce5ff}.status-sent{color:#155724;background:#d4edda}.status-failed{color:#721c24;background:#f8d7da}.status-partial{color:#856404;background:#fff3cd}.status-active{color:#155724;background:#d4edda}.status-trial{color:#004085;background:#cce5ff}.status-expired{color:#721c24;background:#f8d7da}.badge{height:24px;padding:var(--space-1) var(--space-2);font-size:var(--text-small-size);font-weight:600;line-height:var(--text-small-line-height);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{color:var(--color-success);background:#d4edda}.badge-warning{color:var(--color-warning);background:#fff3cd}.badge-error{color:var(--color-error);background:#f8d7da}.badge-info{color:var(--color-info);background:#d1ecf1}.badge-neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge-pill{border-radius:var(--radius-full)}.empty-state{padding:var(--space-12) var(--space-6);color:var(--color-text-tertiary);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state-icon{opacity:.5;font-size:2rem}.empty-state-title{font-size:var(--text-caption-size);color:var(--color-text-secondary);font-weight:600}.empty-state-desc{font-size:var(--text-caption-size);color:var(--color-text-tertiary)}.empty-text{color:var(--color-text-secondary);text-align:center;padding:var(--space-6) 0;font-size:var(--text-caption-size);overflow-wrap:anywhere}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.stat-item{gap:var(--space-1);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-direction:column;display:flex}.stat-label{font-size:var(--text-small-size);color:var(--color-text-secondary);font-weight:500}.stat-value{font-size:var(--text-title-size);font-weight:var(--text-title-weight);color:var(--color-text);line-height:1.2}.detail-grid{gap:var(--space-2);flex-direction:column;display:flex}.detail-row{padding:var(--space-1) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--text-caption-size);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--color-text-secondary);flex-shrink:0;min-width:80px;font-weight:500}.panel-tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);margin-bottom:var(--space-4);display:flex}.panel-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-caption-size);color:var(--color-text-secondary);cursor:pointer;transition:background var(--ease-default), color var(--ease-default);background:0 0;border:none;font-weight:500}.panel-tab:hover{background:var(--color-bg-secondary);color:var(--color-text)}.panel-tab.active{background:var(--color-primary);color:var(--color-text-on-primary)}.dashboard-layout{grid-template-columns:var(--sidebar-width,240px) 1fr;grid-template-rows:56px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.dashboard-sidebar{grid-area:1/1/-1;min-height:0}.dashboard-topbar{grid-area:1/2}.dashboard-content{padding:var(--space-6);overscroll-behavior:contain;grid-area:2/2;min-width:0;min-height:0;overflow-y:auto}.sidebar{background:var(--color-bg);border-right:1px solid var(--color-border-light);width:240px;height:100%;transition:width var(--ease-expand);flex-direction:column;display:flex;overflow:hidden}.sidebar--collapsed{width:64px}.sidebar-header{height:56px;padding:0 var(--space-4);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.sidebar-logo-text{font-size:var(--text-title-size);color:var(--color-primary);white-space:nowrap;opacity:1;transition:opacity var(--ease-default);font-weight:700}.sidebar-logo-icon{font-size:var(--text-title-size);color:var(--color-primary);font-weight:700;display:none}.sidebar--collapsed .sidebar-logo-text{display:none}.sidebar--collapsed .sidebar-logo-icon{display:block}.sidebar-nav{padding:var(--space-3) var(--space-2);flex:1;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.sidebar-group{flex-direction:column;gap:2px;display:flex}.sidebar-divider{background:var(--color-border-light);height:1px;margin:var(--space-2) var(--space-2)}.sidebar-item{align-items:center;gap:var(--space-3);height:40px;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-caption-size);cursor:pointer;text-align:left;width:100%;transition:background-color var(--ease-default), color var(--ease-default);white-space:nowrap;background:0 0;border:none;font-weight:500;display:flex;overflow:hidden}.sidebar-item:hover{background:var(--color-bg-secondary);color:var(--color-text)}.sidebar-item--active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.sidebar-item-icon{text-align:center;flex-shrink:0;width:20px;font-size:20px;line-height:1}.sidebar-item-label{text-overflow:ellipsis;transition:opacity var(--ease-default), max-width var(--ease-expand);flex:1;max-width:160px;overflow:hidden}.sidebar--collapsed .sidebar-item{justify-content:center;padding:0}.sidebar--collapsed .sidebar-item-label{display:none}.sidebar-footer{border-top:1px solid var(--color-border-light);padding:var(--space-3) var(--space-2);flex-shrink:0}.sidebar-toggle{width:100%;height:36px;color:var(--color-text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--ease-default), color var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;font-size:.875rem;display:flex}.sidebar-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text)}.sidebar-toggle-icon{transition:transform var(--ease-expand);display:inline-block}.sidebar--collapsed .sidebar-toggle-icon{transform:rotate(180deg)}.dashboard-topbar{padding:0 var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border-light);z-index:50;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--space-3);display:flex}.topbar-right{align-items:center;gap:var(--space-2);display:flex}.topbar-store-name{font-size:var(--text-caption-size);color:var(--color-text-secondary);font-weight:500}.topbar-store-select{width:auto;padding:4px var(--space-2);font-size:var(--text-caption-size);border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;color:var(--color-text);appearance:auto;background:0 0;border:none;max-width:200px;font-weight:600}.topbar-store-select:hover{background:var(--color-bg-secondary)}.topbar-store-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:none;border:none}.topbar-hamburger{padding:var(--space-2);font-size:1.125rem;display:none}.sidebar-overlay{z-index:99;opacity:0;pointer-events:none;transition:opacity var(--ease-expand);background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}@media (width<=1024px){.dashboard-layout{grid-template-columns:64px 1fr}.sidebar,.sidebar--collapsed{width:64px}.sidebar-item-label{display:none}.sidebar-item{justify-content:center;padding:0}.sidebar-logo-text{display:none}.sidebar-logo-icon{display:block}}@media (width<=768px){.dashboard-layout{grid-template-rows:56px minmax(0,1fr);grid-template-columns:1fr}.dashboard-sidebar{z-index:100;transition:transform var(--ease-expand);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:240px!important}.dashboard-sidebar.open{transform:translate(0)}.dashboard-sidebar.open .sidebar{width:240px}.dashboard-sidebar.open .sidebar-item-label{display:block}.dashboard-sidebar.open .sidebar-item{padding:0 var(--space-4);justify-content:flex-start}.dashboard-sidebar.open .sidebar-logo-text{display:block}.dashboard-sidebar.open .sidebar-logo-icon{display:none}.dashboard-topbar{padding:0 var(--space-4);grid-column:1}.dashboard-content{padding:var(--space-4);grid-column:1}.topbar-hamburger{display:flex}.sidebar-overlay{display:block}}.timeline{display:grid;overflow-x:auto}.timeline-header{z-index:2;background:var(--color-bg);position:sticky;top:0}.timeline-time-col{z-index:1;background:var(--color-bg);border-right:1px solid var(--color-border-light);position:sticky;left:0}.timeline-slot{border-bottom:1px solid var(--color-border-light);min-height:40px;position:relative}.reservation-block{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-caption-size);cursor:pointer;transition:box-shadow var(--ease-default);position:absolute;left:2px;right:2px;overflow:hidden}.reservation-block:hover{box-shadow:var(--shadow-md);z-index:3}.reservation-block[data-color="1"]{background:var(--color-block-1)}.reservation-block[data-color="2"]{background:var(--color-block-2)}.reservation-block[data-color="3"]{background:var(--color-block-3)}.reservation-block[data-color="4"]{background:var(--color-block-4)}.reservation-block[data-color="5"]{background:var(--color-block-5)}.reservation-block[data-color="6"]{background:var(--color-block-6)}.timeline-now-line{background:var(--color-primary);z-index:4;pointer-events:none;height:2px;position:absolute;left:0;right:0}.timeline-nav{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.timeline-nav-date{font-size:var(--text-title-size);font-weight:var(--text-title-weight)}.settings-page{flex-direction:column;min-height:100dvh;display:flex}.today-visit-summary{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-caption-size);flex-wrap:wrap;display:flex}.today-visit-summary strong{color:var(--color-text)}.today-visit-filters{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.today-visit-filter{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font:inherit}.today-visit-filter span{margin-left:var(--space-1);font-size:var(--text-small-size)}.today-visit-filter.is-active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-text);font-weight:600}.today-visits-list{flex-direction:column;max-height:520px;display:flex;overflow:hidden auto}.today-visit-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);grid-template-columns:72px minmax(160px,1fr) minmax(90px,auto) auto;display:grid}.today-visit-row:last-child{border-bottom:0}.today-visit-time{font-size:1.125rem;font-weight:700}.today-visit-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.today-visit-info span{color:var(--color-text-secondary);font-size:var(--text-caption-size);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-visit-state{align-items:center;gap:var(--space-2);display:flex}.today-visit-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.visit-late{color:var(--color-error);white-space:nowrap;font-weight:700}.today-visits-empty{padding:var(--space-10) var(--space-4);text-align:center}.today-visits-empty p{margin:var(--space-2) 0 var(--space-4);color:var(--color-text-secondary)}.settings-nav{padding:var(--space-4) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.settings-title{font-size:1.125rem;font-weight:600}.settings-main{width:100%;max-width:600px;padding:var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.settings-section-title{margin-bottom:var(--space-4);font-size:1rem;font-weight:600}.settings-section-description{margin:calc(var(--space-2) * -1) 0 var(--space-4);color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.app-install-layout{gap:var(--space-5);grid-template-columns:180px minmax(0,1fr);align-items:start;display:grid}.app-install-qr{gap:var(--space-2);flex-direction:column;align-items:center;display:flex}.app-install-qr img{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:160px;height:160px}.app-install-qr code{max-width:100%;color:var(--color-text-secondary);overflow-wrap:anywhere;text-align:center;font-size:.75rem}.app-install-actions{gap:var(--space-4);flex-direction:column;display:flex}.app-install-actions .btn{width:100%}.app-install-group{gap:var(--space-2);display:grid}.app-install-group+.app-install-group{padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.app-install-group-title{color:var(--color-text);margin:0;font-size:.875rem;font-weight:700;line-height:1.4}.app-install-help{margin:var(--space-2) 0 0}.settings-field{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.settings-field:last-child{border-bottom:none}.settings-label{color:var(--color-text-secondary);font-size:.875rem}.settings-value{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:.875rem;font-weight:500}.oauth-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.oauth-row:last-child{border-bottom:none}.oauth-info{flex-direction:column;gap:2px;min-width:0;display:flex}.oauth-provider{font-size:.875rem;font-weight:600}.oauth-email{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.8125rem}.oauth-danger-action{color:var(--color-error);flex-shrink:0;font-size:.8125rem}.oauth-link-action{flex-shrink:0;font-size:.8125rem}.oauth-lock-note{color:var(--color-text-secondary);white-space:nowrap;font-size:.75rem}.store-info-form{gap:var(--space-4);flex-direction:column;display:flex}.store-info-field{gap:var(--space-1);flex-direction:column;display:flex}.store-info-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.store-info-input{box-sizing:border-box;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.875rem}.store-info-input:focus{border-color:var(--color-primary);outline:none}.store-info-hint{color:var(--color-text-secondary);font-size:.75rem}.store-info-actions{justify-content:flex-end;display:flex}.reservation-channel-list{gap:var(--space-4);flex-direction:column;display:flex}.reservation-channel-item{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.reservation-channel-item:last-child{border-bottom:none;padding-bottom:0}.reservation-channel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.reservation-channel-header>div{overflow-wrap:anywhere;flex:1;min-width:0}.reservation-channel-header>.reservation-channel-toggle{flex-shrink:0;min-width:44px;min-height:44px}.reservation-channel-title{margin:0;font-size:.9375rem;font-weight:600}.reservation-channel-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.reservation-channel-toggle{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;display:inline-flex}.settings-help-text{margin:calc(var(--space-2) * -1) 0 var(--space-2);color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.reservation-channel-webhook{gap:var(--space-1);margin-top:var(--space-3);flex-direction:column;display:flex}.reservation-channel-webhook code{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text);overflow-wrap:anywhere;font-size:.75rem}.reservation-channel-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.settings-logout-btn{width:100%;color:var(--color-error);border-color:var(--color-error)}.payment-page{min-height:100dvh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.payment-container{width:100%;max-width:720px}.payment-card{text-align:center;gap:var(--space-6);flex-direction:column;display:flex}.payment-title{font-size:1.5rem;font-weight:700}.payment-desc{color:var(--color-text-secondary);line-height:1.6}.payment-actions{gap:var(--space-2);flex-direction:column;display:flex}.payment-billing-status{color:var(--color-text-secondary);font-size:.875rem}.billing-info{flex-direction:column;gap:4px;font-size:.875rem;display:flex}.billing-deadline{color:var(--color-error);font-weight:600}.inline-form{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.plan-cards{gap:var(--space-4);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-card{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex;position:relative}.plan-highlight{border-color:var(--color-primary)}.plan-badge{background:var(--color-primary);color:#fff;border-radius:10px;padding:2px 12px;font-size:.75rem;font-weight:600;position:absolute;top:-10px;right:12px}.plan-price{color:var(--color-primary);font-size:1.25rem;font-weight:700}.plan-features{flex-direction:column;flex:1;gap:4px;list-style:none;display:flex}.plan-features li{color:var(--color-text-secondary);padding-left:16px;font-size:.8125rem;position:relative}.plan-features li:before{content:"✓";color:var(--color-success);position:absolute;left:0}.plan-select-btn{width:100%;margin-top:auto}.template-list{gap:var(--space-2);flex-direction:column;display:flex}.template-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.template-item strong{font-size:.875rem;display:block}.template-item p{margin-top:var(--space-1);color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.5}.auto-danger-action{color:var(--color-error)}.modal-copy{color:var(--color-text-secondary);line-height:1.6}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.analytics-tabs{gap:var(--space-1);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.analytics-tab{border-radius:var(--radius-sm)}.analytics-tab.active{background:var(--color-primary);color:#fff}.ledger-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.ledger-month-input{width:160px}.ledger-summary-grid{margin-bottom:var(--space-4)}.ledger-amount-income{color:var(--color-success)}.ledger-amount-expense,.ledger-delete-action{color:var(--color-error)}.ledger-entry-memo{overflow-wrap:anywhere;max-width:260px}.tabs-row{gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.tab-btn{border-radius:var(--radius-sm)}.tab-btn.active{background:var(--color-primary);color:#fff}.point-settings-form,.coupon-section{margin-top:var(--space-4)}.coupon-actions{margin-bottom:var(--space-3)}.coupon-delete-action{color:var(--color-error)}.checkbox-row{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:.875rem;display:flex}.naver-review-summary-grid{margin-bottom:var(--space-4)}.rating-stars{color:var(--color-warning);white-space:nowrap}.review-content-cell{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.review-delete-action{color:var(--color-error)}.home-dashboard{gap:var(--space-6);flex-direction:column;display:flex}.activation-onboarding-banner{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);display:flex}.activation-onboarding-copy{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.activation-onboarding-copy h2{margin:0;font-size:1rem;font-weight:700;line-height:1.4}.activation-onboarding-copy p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.activation-onboarding-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.dashboard-summary-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.operating-action-list{gap:var(--space-3);display:grid}.operating-action-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.operating-action-item--urgent{border-left-color:var(--color-error)}.operating-action-item--opportunity{border-left-color:var(--color-info)}.operating-action-copy{min-width:0}.operating-action-heading{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.operating-action-heading strong{font-size:var(--text-body-size)}.operating-action-count{min-width:1.75rem;padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:var(--text-caption-size);text-align:center;font-weight:700}.operating-action-copy p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-caption-size)}.operating-target-list{border-top:1px solid var(--color-border-light);padding-top:var(--space-3);grid-column:1/-1}.operating-delivery-plan{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-bg);display:flex}.operating-delivery-plan p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-caption-size)}.operating-delivery-plan-meta{align-items:flex-end;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-small-size);text-align:right;flex-direction:column;display:flex}.operating-target-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--color-border-light);background:var(--color-bg);color:var(--color-text);text-align:left;cursor:pointer;display:flex}.operating-target-row:hover,.operating-target-row:focus-visible{background:var(--color-bg-secondary)}.operating-target-row span:first-child{gap:var(--space-1);flex-direction:column;display:flex}.operating-target-row small{color:var(--color-text-secondary)}.operating-detail-focus{background:var(--color-primary-light);box-shadow:inset 3px 0 0 var(--color-primary)}.dash-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.dash-grid--home{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.dash-grid-primary,.dash-grid-secondary{min-width:0}.dash-grid-primary>.panel-shell,.dash-grid-secondary>.panel-shell{height:100%}.dash-grid--home>.panel-shell{grid-column:span 1}@media (width<=1100px){.dash-grid--home{grid-template-columns:1fr}}.panel-shell,.panel-body,.panel-content{min-width:0}.panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-title{font-size:var(--text-title-size);font-weight:var(--text-title-weight);line-height:var(--text-title-line-height);margin:0}.panel-body{overflow:hidden}.panel-content{width:100%}.auth-page{min-height:100dvh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-container{gap:var(--space-6);flex-direction:column;width:100%;max-width:420px;display:flex}.auth-header{text-align:center}.auth-title{color:var(--color-primary);font-size:2rem;font-weight:700}.auth-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1)}.auth-card,.auth-form,.auth-success-message{gap:var(--space-4);flex-direction:column;display:flex}.auth-submit-btn,.login-submit-btn,.submit-btn,.action-btn,.back-btn{text-align:center;width:100%;padding:12px;font-size:1rem}.social-login-buttons{gap:var(--space-2);flex-direction:column;display:flex}.social-btn{width:100%;padding:11px;font-size:.9375rem;text-decoration:none}.forgot-password-link,.signup-link{text-align:center;font-size:.875rem}.forgot-password-link a,.back-link{color:var(--color-text-secondary);text-decoration:none}.forgot-password-link a:hover,.back-link:hover{color:var(--color-primary)}.signup-link,.form-description,.success-note,.resend-text{color:var(--color-text-secondary)}.signup-link a{color:var(--color-primary);text-underline-offset:.15em;text-decoration:underline}.form-description,.success-note{margin:0;font-size:.9rem;line-height:1.6}.resend-text{margin-bottom:var(--space-2);font-size:.875rem}.resend-btn{width:100%}.resend-done{color:var(--color-success);text-align:center;margin-top:var(--space-2);font-size:.875rem}.oauth-callback-page{justify-content:center;align-items:center;min-height:100dvh;display:flex}.oauth-callback-container{text-align:center;align-items:center;gap:var(--space-4);color:var(--color-text-secondary);flex-direction:column;display:flex}.oauth-callback-spinner{border-width:3px;width:32px;height:32px}.panel-action-row,.table-actions-cell,.template-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.table-actions-cell{min-width:112px}.template-item{justify-content:space-between;gap:var(--space-3);align-items:flex-start;display:flex}.reservation-payment-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.reservation-payment-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.reservation-payment-title{margin:0;font-size:.9375rem;font-weight:600}.reservation-payment-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.reservation-payment-table{min-width:680px}.reservation-payment-table td{vertical-align:middle}.reservation-payment-table td:nth-child(3){overflow-wrap:anywhere;max-width:220px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem}.reservation-public-link{margin-bottom:var(--space-3)}.reservation-public-link-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.reservation-public-link-input{flex:280px;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem}.compact-empty{margin:var(--space-2) 0 0;text-align:left}.reservation-refund-controls{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.reservation-refund-input{width:110px;min-height:32px;padding:var(--space-1) var(--space-2);font-size:.8125rem}.reservation-upload-list{gap:var(--space-2);display:grid}.reservation-upload-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.reservation-upload-row strong{overflow-wrap:anywhere;font-size:.875rem;display:block}.danger-action{color:var(--color-error)}@media (width<=768px){.plan-cards{grid-template-columns:1fr}.settings-nav{padding:var(--space-3) var(--space-4)}.settings-main,.payment-page{padding:var(--space-4)}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activation-onboarding-banner,.activation-onboarding-copy,.activation-onboarding-actions{flex-direction:column;align-items:stretch}.activation-onboarding-actions .btn{width:100%}.operating-action-item{flex-direction:column;align-items:stretch}.operating-action-item .btn{width:100%}.operating-delivery-plan,.operating-delivery-plan-meta{text-align:left;flex-direction:column;align-items:stretch}.dash-grid,.dash-grid--home{grid-template-columns:1fr}.today-visit-row{grid-template-columns:64px minmax(0,1fr)}.today-visit-state{grid-column:2}.today-visit-actions{grid-column:1/-1;justify-content:flex-start}.dash-grid>.panel-shell{min-width:0}.panel-header{flex-direction:column}.oauth-row,.settings-field{align-items:flex-start}.app-install-layout{grid-template-columns:1fr}.reservation-payment-header{flex-direction:column}.reservation-payment-header .btn{width:100%}.reservation-refund-controls{justify-content:flex-start}.reservation-upload-row{flex-direction:column;align-items:flex-start}}.store-config-page{gap:var(--space-6);display:grid}.config-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.config-toggle{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);display:flex}.config-preview{margin-top:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-bg-secondary);border:2px solid}.config-form-scope{padding:var(--space-4) 0;border-top:1px solid var(--color-border-light)}.config-field-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:minmax(140px,1fr) minmax(120px,.5fr) auto auto;display:grid}.config-alert{border-left:4px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 8%,var(--color-bg))}.config-history{margin-top:var(--space-5)}.config-history-row{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border-light);grid-template-columns:1fr auto auto;display:grid}@media (width<=760px){.config-grid,.config-field-row,.config-history-row{grid-template-columns:1fr}.store-config-page .panel-header{align-items:flex-start}}.app-install-steps{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-caption);margin:0;line-height:1.6}.app-install-push{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:grid}.app-install-push h4,.app-install-push p{margin:0}.settlement-policy-section{padding:var(--space-4) 0;border-top:1px solid var(--color-border-light)}.settlement-policy-section h3{margin:0 0 var(--space-3)}.settlement-toolbar{margin:var(--space-5) 0 var(--space-3)}.settlement-toolbar .input{width:auto;min-width:96px}.settlement-total{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-weight:600}@media (width<=767px){.settlement-toolbar{align-items:stretch}.settlement-toolbar .input,.settlement-toolbar .btn{width:100%}}.list-explorer-toolbar{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.list-explorer-search{flex:240px;min-width:0}.list-explorer-sort{flex:0 190px}.list-explorer-summary{color:var(--color-text-secondary);font-size:var(--text-small);margin:0 0 var(--space-3)}.list-pagination{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=640px){.list-explorer-sort{flex:100%}}.support-center{gap:var(--space-6);max-width:1120px;display:grid}.support-ticket-form,.support-ticket-detail{gap:var(--space-4);display:grid}.support-ticket-form .form-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.support-ticket-form .support-ticket-form__classification{grid-template-columns:minmax(0,360px)}.support-ticket-form .form-field{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-caption-size);font-weight:600;display:grid}.support-ticket-form .textarea{resize:vertical;min-height:112px}.support-ticket-form .textarea--short{min-height:76px}.support-ticket-form .btn{justify-self:start}.support-ticket-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.support-ticket-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);cursor:pointer;text-align:left;display:flex}.support-ticket-row:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.support-ticket-row__body{gap:var(--space-1);min-width:0;display:grid}.support-ticket-row__body strong,.support-ticket-row__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-ticket-row__body small,.support-message small,.support-ticket-detail .text-muted{color:var(--color-text-tertiary)}.support-ticket-meta,.support-message-form{align-items:center;gap:var(--space-2);display:flex}.support-ticket-detail__body,.support-message p{white-space:pre-wrap}.support-ticket-meta .input--compact{width:auto;min-width:120px;padding-block:var(--space-2)}.support-message-list{gap:var(--space-2);border-top:1px solid var(--color-border-light);padding-top:var(--space-4);display:grid}.support-message{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.support-message--internal{border-left:3px solid var(--color-warning)}.support-message p{margin:0 0 var(--space-1)}.support-message-form .input{flex:1}.support-message-form textarea{resize:vertical;min-height:76px}@media (width<=640px){.topbar-feedback-label{display:none}.support-ticket-form .form-row,.support-ticket-form .support-ticket-form__classification{grid-template-columns:1fr}.support-message-form{flex-direction:column;align-items:stretch}}.harudo-text-prompt{box-sizing:border-box;width:min(480px, calc(100vw - var(--space-8)));max-height:calc(100dvh - var(--space-8));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-lg);margin:auto;overflow:auto}.harudo-text-prompt::backdrop{background:#0006}.harudo-text-prompt label{gap:var(--space-3);display:grid}.harudo-text-prompt-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);display:flex}.harudo-text-prompt button{min-height:44px}
