:root{--bg:#f7f5f0;--paper:#fffefa;--ink:#253a32;--muted:#7b8078;--line:#e5e7df;--sage:#e9efe7;--accent:#b17840;--amber:#f5ead8;--red:#ad4e4e;--redbg:#f9e9e6;--navy:#46577b;--blue:#eaf0f8;--radius:18px;--shadow:0 14px 50px #253a3215;font-family:Arial,'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--line-b17840,#b17840);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--line-a9b8a4,#a9b8a4);border-color:transparent}button:disabled{cursor:wait;opacity:.5}svg.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:29px;font-weight:700;letter-spacing:-1.2px}h2{font-size:18px;letter-spacing:-.5px}h3{font-size:15px}small,.muted{color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:var(--surface-fffdf7,#fffdf7);border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:30px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 4px}.brandmark{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--theme-action);color:var(--text-f5e9ce,#f5e9ce)}.brandmark .icon{width:24px;height:24px}.brand strong{font-size:20px;letter-spacing:-.8px}.brand small{display:block;font-size:10px;letter-spacing:1.5px;margin-top:1px}.store-label{margin:35px 3px 24px;display:flex;align-items:center;gap:10px}.store-avatar{background:var(--sage);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:13px}.store-label strong{display:block;font-size:12px}.store-label small{font-size:11px}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:12px;text-align:left;color:var(--text-777e75,#777e75);font-weight:600}.nav button:hover{background:var(--surface-f4f5ed,#f4f5ed)}.nav button.active{background:var(--theme-action);color:var(--text-ffffff,#fff)}.nav button .icon{width:19px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-note{background:var(--surface-f4f3e9,#f4f3e9);border-radius:13px;padding:16px;line-height:1.65;font-size:12px;color:var(--text-75806f,#75806f)}.sidebar-note strong{display:block;color:var(--ink);margin-bottom:6px}.profile{display:flex;align-items:center;gap:9px;margin:24px 2px 0;font-size:12px}.profile .avatar{width:31px;height:31px;background:var(--amber);border-radius:50%;display:grid;place-items:center}.profile small{display:block;font-size:10px}.content{margin-left:224px;min-width:0;flex:1}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:var(--surface-fdfcf8,#fdfcf8);gap:16px}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;gap:9px;align-items:center}.breadcrumbs strong{color:var(--ink);font-weight:500}.topbar-actions{display:flex;gap:14px;align-items:center;font-size:11px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--surface-6c8666,#6c8666);border-radius:50%;margin-right:6px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);border-radius:11px}.icon-button:hover{background:var(--sage)}.main{max-width:1510px;margin:auto;padding:32px 36px 45px}.demo-banner{font-size:11px;padding:9px 13px;border:1px solid var(--line-e5dbc9,#e5dbc9);border-radius:9px;background:var(--surface-fbf3e6,#fbf3e6);display:flex;justify-content:space-between;gap:14px;color:var(--text-866644,#866644);margin-bottom:24px}.demo-banner button{text-decoration:underline;white-space:nowrap}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--accent);font-weight:600;margin-bottom:8px}.subtitle{margin-top:7px;color:var(--muted);font-size:12px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid var(--line);padding:10px 15px;border-radius:10px;background:var(--paper);font-size:12px;white-space:nowrap;font-weight:600;min-height:40px}.btn:hover{background:var(--surface-f0f2eb,#f0f2eb)}.btn.primary{background:var(--theme-action);border-color:var(--ink);color:var(--theme-action-ink)}.btn.primary:hover{background:var(--surface-395447,#395447)}.btn.amber{background:var(--amber);border-color:var(--line-efdec5,#efdec5);color:var(--text-936232,#936232)}.btn.danger{background:var(--redbg);border-color:var(--line-edceca,#edceca);color:var(--red)}.btn.small{padding:6px 10px;min-height:32px;font-size:11px}.btn .icon{width:16px;height:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.stat{background:var(--paper);border:1px solid var(--line);padding:20px 22px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-label{font-size:11px;color:var(--muted);margin-bottom:8px}.stat-number{font-size:29px;line-height:1.1;font-weight:600;letter-spacing:-.8px}.stat-number span{font-size:12px;font-weight:400;margin-left:5px;letter-spacing:0}.stat small{font-size:10px;display:block;margin-top:9px}.stat-icon{width:44px;height:44px;border-radius:14px;background:var(--sage);color:var(--text-6e8568,#6e8568);display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:var(--amber);color:var(--accent)}.stat:nth-child(3) .stat-icon{background:var(--blue);color:var(--navy)}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:22px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 22px;border-bottom:1px solid var(--line)}.card-head h2{font-size:15px}.card-body{padding:20px 22px}.card-head small{font-size:11px}.calendar-tools{display:flex;align-items:center;gap:8px}.calendar-tools .icon-button{width:29px;height:29px;border:0}.calendar-tools button.today{border:1px solid var(--line);padding:4px 10px;font-size:11px;border-radius:7px}.segmented{display:flex;background:var(--surface-f1f2eb,#f1f2eb);padding:3px;border-radius:8px}.segmented button{font-size:11px;padding:5px 11px;border-radius:6px;color:var(--muted)}.segmented button.active{background:var(--paper);box-shadow:0 1px 3px var(--shadow-253a3210,#253a3210);color:var(--ink)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);padding:13px 18px;border-bottom:1px solid var(--line);gap:6px}.day-button{display:grid;justify-items:center;gap:6px;padding:8px 5px;border-radius:12px;font-size:10px;color:var(--muted)}.day-button strong{font-size:17px;font-weight:500}.day-button.active{background:var(--theme-action);color:var(--theme-action-ink)}.day-button.sunday{color:var(--red)}.day-button.active.sunday{color:var(--theme-action-ink)}.day-dot{height:4px;width:4px;border-radius:50%;background:var(--surface-b8c2b3,#b8c2b3)}.day-button.active .day-dot{background:var(--surface-e4d7b5,#e4d7b5)}.timeline-wrap{padding:22px 20px 20px 13px}.timeline{position:relative;margin-left:45px}.time-row{height:96px;border-top:1px solid var(--line-edf0e9,#edf0e9);position:relative}.time-label{position:absolute;left:-46px;top:-8px;width:35px;text-align:center;font-size:10px;color:var(--text-959b91,#959b91)}.time-row::after{content:'';position:absolute;inset:48px 0 auto;border-top:1px dashed var(--line-f0f1eb,#f0f1eb)}.appointment{position:absolute;left:0;right:0;z-index:2;background:var(--sage);border-radius:9px;border-left:3px solid var(--line-7e9a78,#7e9a78);padding:9px 13px;text-align:left;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:filter .15s}.appointment:hover{filter:brightness(.97)}.appointment.naver{background:var(--blue);border-left-color:var(--line-879bc2,#879bc2)}.appointment.phone{background:var(--amber);border-left-color:var(--line-c39f69,#c39f69)}.appointment.pending{background:var(--redbg);border-left-color:var(--line-bd7770,#bd7770)}.appointment.completed{opacity:.58}.appointment-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.appointment-name{font-size:12px;font-weight:700}.appointment-time{font-size:10px;color:var(--text-6f7d69,#6f7d69);white-space:nowrap}.appointment-meta{font-size:10px;color:var(--text-737f6c,#737f6c);display:flex;gap:8px;align-items:center}.appointment.naver .appointment-meta,.appointment.naver .appointment-time{color:var(--text-7b87a0,#7b87a0)}.appointment.phone .appointment-meta{color:var(--text-9d845f,#9d845f)}.tiny-tag{background:var(--surface-ffffff85,#ffffff85);border-radius:4px;font-size:9px;padding:1px 5px;white-space:nowrap}.now-line{position:absolute;left:-5px;right:0;z-index:3;border-top:1px solid var(--line-ba6c50,#ba6c50);pointer-events:none}.now-line::before{content:'';position:absolute;width:6px;height:6px;background:var(--surface-ba6c50,#ba6c50);border-radius:50%;top:-3px;left:-3px}.empty-time{position:absolute;left:12px;top:220px;color:var(--text-98a18e,#98a18e);font-size:12px}.legend{display:flex;gap:15px;padding:0 22px 18px;color:var(--muted);font-size:10px}.legend span::before{content:'';display:inline-block;width:7px;height:7px;background:var(--surface-8ca285,#8ca285);border-radius:50%;margin-right:5px}.legend span:nth-child(2)::before{background:var(--surface-92a6c8,#92a6c8)}.legend span:nth-child(3)::before{background:var(--surface-caa271,#caa271)}.right-rail{display:grid;gap:17px}.soft-card{border:1px solid var(--line-e0e7d9,#e0e7d9);background:var(--surface-edf1e6,#edf1e6);border-radius:15px;padding:22px}.soft-card .eyebrow{color:var(--text-7b8b68,#7b8b68);font-size:10px}.soft-card h2{font-size:18px;line-height:1.5;letter-spacing:-.7px;margin-bottom:10px}.soft-card p{font-size:11px;color:var(--text-7a876e,#7a876e);line-height:1.8}.soft-card .btn{margin-top:17px;background:var(--surface-ffffffa0,#ffffffa0);border-color:var(--line-d8e1cd,#d8e1cd);width:100%}.rail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:12px;font-weight:600}.rail-title span{background:var(--amber);color:var(--text-a47846,#a47846);padding:2px 7px;border-radius:6px;font-size:10px}.task{display:flex;align-items:flex-start;gap:9px;padding:12px 0;border-top:1px solid var(--line);font-size:11px}.task strong{font-size:11px;display:block;font-weight:600}.task small{display:block;font-size:10px;margin-top:3px}.task .icon{width:15px;margin-top:2px;color:var(--text-a08c6e,#a08c6e)}.task button{margin-left:auto;font-size:10px;white-space:nowrap;text-decoration:underline;color:var(--accent)}.integration{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:11px}.integration-mark{width:28px;height:28px;display:grid;place-items:center;background:var(--surface-f0e9cd,#f0e9cd);border-radius:8px;font-size:11px;font-weight:bold}.integration small{font-size:10px;margin-left:auto}.pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:10px;background:var(--sage);color:var(--text-6c8065,#6c8065);white-space:nowrap}.pill.blue{background:var(--blue);color:var(--text-6d82a7,#6d82a7)}.pill.amber{background:var(--amber);color:var(--text-a17b44,#a17b44)}.pill.red{background:var(--redbg);color:var(--red)}.pill.gray{background:var(--surface-eef0eb,#eef0eb);color:var(--text-8b9386,#8b9386)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;color:var(--muted);font-weight:500;padding:13px 20px;background:var(--surface-f8f8f3,#f8f8f3);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid var(--line-edf0e8,#edf0e8);vertical-align:middle;white-space:nowrap}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--surface-fafbf5,#fafbf5)}td strong{font-size:12px}td small{display:block;font-size:10px;margin-top:4px}.customer-name{display:flex;align-items:center;gap:11px}.avatar{width:36px;height:36px;background:var(--sage);border-radius:11px;display:grid;place-items:center;font-size:14px;flex-shrink:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px}.search{position:relative;max-width:340px;width:100%}.search .icon{position:absolute;left:13px;top:12px;width:16px;color:var(--muted)}.search input{padding-left:38px}.field,input,select,textarea{width:100%;border:1px solid var(--line-dfe4d9,#dfe4d9);border-radius:9px;background:var(--surface-fffefa,#fffefa);padding:11px 12px;font-size:12px;color:var(--ink);min-height:41px}.field{display:block}textarea{resize:vertical;min-height:86px;line-height:1.7}label.field-label{font-size:11px;color:var(--text-687565,#687565);display:block;font-weight:500;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}.field-help{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.7}.form-section{margin:20px 0 14px;font-size:12px;font-weight:600}.check{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-687765,#687765);cursor:pointer}.check input{width:16px;height:16px;min-height:0;accent-color:var(--theme-action);padding:0}.checks{display:flex;gap:14px;flex-wrap:wrap}.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.service-option{border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:8px;padding:11px;font-size:11px;cursor:pointer}.service-option:has(input:checked){border-color:var(--line-819a77,#819a77);background:var(--surface-eff3e8,#eff3e8)}.service-option input{width:15px;height:15px;min-height:0;accent-color:var(--theme-action)}.service-option small{font-size:10px;display:block;margin-top:2px}.notice{background:var(--surface-f1f4eb,#f1f4eb);color:var(--text-77816d,#77816d);border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.8}.notice.warning{background:var(--amber);color:var(--text-9b7444,#9b7444)}.notice.error{background:var(--redbg);color:var(--red)}.notice+.notice{margin-top:8px}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:12px}.empty .icon{width:30px;height:30px;margin-bottom:10px;color:var(--text-a5b29b,#a5b29b)}.empty strong{display:block;color:var(--text-6a7b60,#6a7b60);margin-bottom:7px;font-size:13px}.empty .btn{margin-top:17px}.loading{padding:60px;text-align:center;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:var(--surface-192b2660,#192b2660);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:var(--paper);border:1px solid var(--line-f0eee7,#f0eee7);border-radius:21px;box-shadow:var(--shadow);width:600px;max-width:100%;max-height:calc(100dvh - 50px);display:flex;flex-direction:column}.modal.wide{width:760px}.modal-header{padding:24px 25px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-header h2{font-size:19px}.modal-header small{font-size:11px;display:block;margin-top:5px}.modal-content{padding:23px 25px;overflow-y:auto}.modal-footer{padding:16px 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:9px;background:var(--surface-fbfbf5,#fbfbf5);border-radius:0 0 21px 21px}.modal-footer .summary{margin-right:auto;font-size:11px;color:var(--muted)}.modal-footer .summary strong{font-size:16px;color:var(--ink);display:block}.form-error{margin-bottom:15px;display:none}.form-error.visible{display:block}.detail-hero{display:flex;align-items:center;gap:15px;margin-bottom:20px}.detail-hero .avatar{width:57px;height:57px;font-size:22px;border-radius:18px}.detail-hero h2{font-size:23px}.detail-hero p{font-size:12px;color:var(--muted);margin-top:4px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-item{border-radius:10px;background:var(--surface-f3f5ed,#f3f5ed);padding:13px;font-size:12px}.detail-item small{display:block;font-size:10px;margin-bottom:5px}.history{display:grid;gap:10px;margin-top:13px}.history-item{border:1px solid var(--line);border-radius:11px;padding:14px;font-size:12px}.history-item-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.history-item small{font-size:10px}.history-item p{font-size:11px;line-height:1.8;white-space:pre-wrap;color:var(--text-6d7b62,#6d7b62)}.prepaid-card{background:var(--surface-edf1e8,#edf1e8);border:1px solid var(--line-dee6d6,#dee6d6);border-radius:12px;padding:17px;margin-top:10px}.prepaid-card h3{font-size:13px;margin-bottom:8px}.balance{font-size:25px;font-weight:600;letter-spacing:-.7px}.prepaid-card .actions{margin-top:14px}.transaction{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 0;font-size:11px}.transaction small{display:block;font-size:10px;margin-top:2px}.transaction:last-child{border:0}.photos{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.photo{width:100px}.photo img{width:100px;height:100px;object-fit:cover;border-radius:9px}.photo small{display:block;font-size:10px;text-align:center}.payment-row{display:grid;grid-template-columns:1fr 1fr 30px;gap:8px;margin-bottom:8px}.payment-row select,.payment-row input{min-width:0}.payment-extra{grid-column:1/3;display:grid;grid-template-columns:1fr 80px;gap:8px}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 100px 27px;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.cart-row input{padding:8px;min-height:35px}.money-summary{padding:14px 16px;border-radius:10px;background:var(--surface-f0f3e8,#f0f3e8);display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:14px 0}.money-summary strong{font-size:21px}.import-preview{max-height:170px;overflow:auto}.bar-chart{display:flex;align-items:flex-end;gap:8px;height:150px;padding:15px 5px 25px;margin-top:20px}.chart-col{flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%;background:var(--surface-f8f9f3,#f8f9f3);border-radius:6px 6px 0 0}.chart-col .bar{width:100%;background:var(--surface-9baa8a,#9baa8a);border-radius:6px 6px 0 0;min-height:2px}.chart-col span{position:absolute;bottom:-20px;font-size:10px;color:var(--muted)}.chart-col strong{position:absolute;top:-16px;font-size:9px;color:var(--text-788a6c,#788a6c)}.revenue-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:20px}.method-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.method-row:last-child{border:0}.method-row span{color:var(--muted)}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.setting-row small{font-size:10px}.setting-row:last-child{border:0}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;padding:20px;overflow:auto}.week-column{background:var(--surface-f7f8f1,#f7f8f1);border-radius:12px;padding:12px 9px;min-height:260px}.week-column h3{font-size:11px;text-align:center;margin-bottom:14px}.week-appointment{display:block;width:100%;text-align:left;padding:12px 9px;background:var(--sage);border-radius:8px;margin-bottom:9px;font-size:11px}.week-appointment.naver{background:var(--blue)}.week-appointment.phone{background:var(--amber)}.week-appointment small{display:block;font-size:10px;margin-top:4px}.week-appointment time{display:block;font-size:10px;margin-bottom:4px}.mobile-nav{display:none}.fab{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(30px);background:var(--theme-action);color:var(--text-ffffff,#fff);font-size:12px;padding:13px 20px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:300;transition:all .2s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.divider{height:1px;background:var(--line);margin:20px 0}.link{color:var(--accent);text-decoration:underline;font-size:11px}.inline-total{font-size:11px;margin-top:12px;display:flex;justify-content:space-between;color:var(--muted)}.attention{display:flex;gap:10px;align-items:center;padding:13px 16px;margin-bottom:18px;background:var(--surface-f8ead6,#f8ead6);border:1px solid var(--line-efdcc0,#efdcc0);border-radius:12px;font-size:11px;color:var(--text-9b7444,#9b7444)}.date-input{width:155px}.offline{color:var(--red)}
@media(min-width:1600px){.main{padding-top:38px}.schedule-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1150px){.sidebar{width:190px;padding:27px 16px}.content{margin-left:190px}.main{padding:27px 24px}.topbar{padding:0 24px}.schedule-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.card-head,.card-body{padding:18px}.stat{padding:18px 16px}.stat-number{font-size:25px}.topbar-actions>span{display:none}.page-heading .actions{max-width:240px;justify-content:flex-end}td,th{padding-left:15px;padding-right:15px}}
@media(max-width:900px){.right-rail{grid-template-columns:1fr 1fr}.right-rail .soft-card{display:none}.schedule-layout{grid-template-columns:1fr}.settings-layout,.revenue-layout{grid-template-columns:1fr}.page-heading{align-items:center}h1{font-size:25px}.stats{gap:10px}.stat-icon{display:none}.sidebar-note{display:none}}
@media(max-width:680px){:root{font-size:13px}.sidebar{display:none}.content{margin-left:0}.topbar{height:64px;padding:0 18px}.breadcrumbs{font-size:12px}.breadcrumbs .muted{display:none}.breadcrumbs strong::before{content:'✂';margin-right:9px;font-size:18px}.topbar-actions{gap:9px}.main{padding:21px 16px 105px}.demo-banner{margin-bottom:21px;font-size:10px;padding:8px 10px;line-height:1.6}.demo-banner button{display:none}.page-heading{margin-bottom:20px;align-items:flex-start}.page-heading h1{font-size:24px;letter-spacing:-1px}.eyebrow{font-size:9px;margin-bottom:6px}.subtitle{font-size:11px}.page-heading .actions{gap:7px;max-width:130px}.page-heading .actions .btn{font-size:10px;padding:8px 10px;min-height:34px}.page-heading .actions .btn.primary{display:inline-flex}.stats{gap:8px;margin-bottom:18px}.stat{padding:14px 11px;align-items:flex-start;min-height:110px}.stat-label{font-size:9px;line-height:1.5;margin-bottom:9px}.stat-number{font-size:23px}.stat-number span{font-size:10px;margin-left:2px}.stat small{font-size:8px;margin-top:8px}.card{border-radius:14px}.card-head{padding:16px 14px;gap:8px}.card-head h2{font-size:13px}.calendar-tools{gap:3px}.calendar-tools .icon-button{width:24px;height:24px}.segmented button{padding:4px 7px;font-size:10px}.week-strip{padding:10px 11px;gap:4px}.day-button{padding:6px 4px;gap:5px}.day-button strong{font-size:16px}.timeline-wrap{padding:20px 13px 12px 10px}.appointment{padding:6px 9px}.appointment-name{font-size:11px}.appointment-meta,.appointment-time{font-size:9px}.legend{font-size:9px;gap:12px;padding-left:15px}.right-rail{gap:12px}.right-rail .card-body{padding:15px}.right-rail .card{grid-column:1/-1}.right-rail .card:last-child{display:none}.toolbar{gap:10px;align-items:center}.toolbar .checks{gap:8px}.toolbar>.muted{display:none}.search{max-width:none}.toolbar .btn{padding:8px 10px;font-size:10px}th,td{padding:13px 12px}td{font-size:11px}.hide-mobile{display:none}.avatar{width:31px;height:31px;font-size:12px}.customer-name{gap:8px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--line);background:var(--surface-fffefaed,#fffefaed);backdrop-filter:blur(12px);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{display:grid;justify-items:center;gap:5px;font-size:9px;color:var(--text-90988b,#90988b);padding:4px}.mobile-nav button.active{color:var(--ink);font-weight:700}.mobile-nav .icon{width:21px;height:21px}.fab{display:grid;place-items:center;position:fixed;right:20px;bottom:calc(86px + env(safe-area-inset-bottom));width:51px;height:51px;background:var(--theme-action);color:var(--text-ffffff,#fff);border-radius:17px;box-shadow:0 5px 20px var(--shadow-253a3230,#253a3230);z-index:35}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.wide{border-radius:20px 20px 0 0;max-height:95dvh;width:100%}.modal-header{padding:19px 19px 15px}.modal-header h2{font-size:18px}.modal-content{padding:20px 19px}.modal-footer{padding:13px 19px calc(13px + env(safe-area-inset-bottom));border-radius:0}.form-grid{gap:13px}.form-grid .full-mobile{grid-column:1/-1}.service-options{gap:7px}.service-option{font-size:10px;padding:9px}.modal .btn{font-size:11px}.form-section{margin-top:18px}.cart-row{grid-template-columns:minmax(0,1fr) 49px 80px 23px;gap:5px}.payment-row{gap:6px}.week-grid{padding:12px}.date-input{width:128px;font-size:11px;padding:8px}.detail-hero h2{font-size:22px}.balance{font-size:23px}.settings-layout{gap:15px}#toast{bottom:90px}.photo,.photo img{width:86px}.photo img{height:86px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
h1,h2,h3,.subtitle,.stat small{word-break:keep-all}.stat-number span{display:inline-block;white-space:nowrap}
@media(max-width:420px){.page-heading h1{font-size:20px}.page-heading .actions .btn{padding:8px;font-size:10px}.stat-number{font-size:21px}.stat small{font-size:9px}}
.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{max-width:420px;width:100%;padding:32px}.login-card h1{margin-top:28px}.login-card .field-label{margin-top:20px}.login-card .btn{width:100%;justify-content:center}.login-error{color:var(--text-a5453a,#a5453a);min-height:22px;font-size:13px}.recovery-banner{margin:12px 0 20px}.recovery-banner .actions{margin-top:10px}

/* Compact booking flow with a persistent, reachable save action. */
.booking-customer-row{display:flex;gap:8px}.booking-customer-row input{min-width:0}.booking-customer-row .btn{flex-shrink:0}.booking-results-label{font-size:10px;color:var(--muted);margin:9px 0 6px}.booking-customer-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.booking-customer-choices .btn{justify-content:center;min-height:44px;padding:8px;font-size:11px}.booking-selected{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:7px}.booking-selected .icon{width:15px}.booking-selected .btn{margin-left:auto}.booking-new-customer{margin-top:10px}.booking-when{margin-top:14px}.booking-time-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 13px}.booking-time-options>span{font-size:10px;color:var(--muted)}.booking-time-options .btn{min-height:40px;flex:1;justify-content:center}.booking-time-options [aria-pressed=true]{background:var(--sage);border-color:var(--line-819a77,#819a77)}.booking-service-label{font-size:11px;margin-bottom:7px;font-weight:600}.booking-service-label small{font-weight:400;font-size:10px;margin-left:5px}.booking-more{border-top:1px solid var(--line);margin-top:14px}.booking-more summary{padding:14px 0;cursor:pointer;font-size:11px;min-height:44px}.booking-more .form-grid{padding-bottom:8px}.booking-summary{margin-right:auto;min-width:0;font-size:11px}.booking-summary strong,.booking-summary small{display:block}.booking-summary small{margin-top:4px;font-size:10px;line-height:1.5}.booking-summary.warning{color:var(--red)}.booking-modal .modal-footer .btn{min-height:48px;flex-shrink:0}.quick-booking .service-option{min-height:48px}
@media(max-width:680px){.page-heading{flex-wrap:wrap;gap:10px}.page-heading .actions{max-width:none;flex-wrap:wrap}.page-heading .actions .btn{min-height:44px;font-size:11px}.booking-modal .modal-header{padding:15px 16px 12px}.booking-modal .modal-content{padding:14px 16px}.booking-modal .modal-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px}.quick-booking input,.quick-booking select,.quick-booking textarea{font-size:16px;min-width:0;min-height:44px;padding:8px 9px}.quick-booking .service-options{gap:6px}.quick-booking .service-option{padding:8px;font-size:11px}.quick-booking .service-option input{min-height:0;width:16px;height:16px}.quick-booking .check input{min-height:0}.booking-when{gap:10px}.booking-when>div{min-width:0}}
/* Keep forms and their actions inside the area above the software keyboard. */
.modal-content{min-height:0;overscroll-behavior:contain;scroll-padding:12px}
.modal-header,.modal-footer{flex-shrink:0}
@media(max-width:680px){
  .modal-backdrop{inset:auto 0;top:var(--visible-top,0px);height:var(--visible-height,100dvh)}
  .modal,.modal.wide{max-height:calc(var(--visible-height,100dvh) - 8px)}
  .modal input,.modal select,.modal textarea,.login-card input{font-size:16px;min-height:44px}
  .modal input[type=checkbox],.modal input[type=radio]{min-height:0}
  .modal-header .icon-button{min-width:44px;min-height:44px}
  .modal-footer .btn{min-height:48px}
  .modal-content input,.modal-content textarea,.modal-content select{scroll-margin:12px}
}
@media(max-width:680px){.main{padding-bottom:calc(165px + env(safe-area-inset-bottom))}.payment-row{grid-template-columns:minmax(0,1fr) 44px}.payment-row .pay-method{grid-column:1/-1}.payment-row .icon-button{width:44px;height:44px}.payment-extra{grid-column:1/-1}}

.revenue-breakdown{margin-bottom:20px}.revenue-breakdown>.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}.product-purchase{border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0}.product-purchase .actions{justify-content:space-between;font-size:11px}

.appointment,.week-appointment{user-select:none;-webkit-touch-callout:none}.schedule-touch-help{padding:8px 20px}

.money-wrap,.money-control{min-width:0}.money-control{display:flex;align-items:stretch;gap:5px}.money-control input{width:100%;min-width:0;flex:1}.money-unit{flex-shrink:0;min-height:44px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--sage);font-size:11px;font-weight:600;white-space:nowrap}.money-preview{display:block;font-size:12px;color:var(--muted);padding:5px 1px 0;line-height:1.5}.money-unit[hidden],.money-preview[hidden]{display:none}.cart-row>.money-wrap{grid-column:3}.payment-row>.money-wrap{min-width:0}.cart-row{grid-template-columns:minmax(0,1fr) 55px 150px 30px}
@media(max-width:680px){.cart-row{grid-template-columns:minmax(0,1fr) 55px 44px}.cart-row>span{grid-column:1/3}.cart-row>.cart-qty{grid-column:2;grid-row:2}.cart-row>.money-wrap{grid-column:1;grid-row:2}.cart-row>button{grid-column:3;grid-row:1/3;min-width:44px;min-height:44px}.money-control input{padding-left:9px;padding-right:9px}.money-unit{min-width:49px}}
#booking-time-options{display:block}.booking-time-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.booking-time-header>span{font-size:11px;color:var(--muted)}.booking-time-header .btn{flex:0 0 auto;font-size:11px;min-height:44px}.booking-time-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.booking-time-list .btn{min-height:44px;justify-content:center}.booking-time-list.expanded{max-height:194px;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 2px 0;scroll-padding:4px}.booking-time-list .btn:focus-visible{outline:2px solid var(--sage);outline-offset:-2px}

.checkout-customer-choices{display:grid;gap:6px;max-height:168px;overflow-y:auto;overscroll-behavior:contain;margin-top:6px}
.checkout-customer-choices button{min-height:44px;text-align:left;white-space:normal;overflow-wrap:anywhere;justify-content:flex-start}
#checkout-customer-results .booking-selected{flex-wrap:wrap}
#checkout-customer-results .booking-selected span{min-width:0;overflow-wrap:anywhere}
.checkout-customer-actions{margin-top:8px}
.checkout-customer-actions button{min-height:44px}
#checkout-new-customer:not([hidden]){margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px}
.reservation-hero{gap:10px;justify-content:space-between}
.reservation-person{flex:1;min-width:0}
.reservation-person h2{overflow-wrap:anywhere;font-size:20px}
.reservation-person p{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.reservation-work-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px minmax(0,1.6fr);gap:6px;margin-bottom:8px}
.reservation-work-actions .btn{min-width:0;min-height:44px;padding:8px 4px;font-size:11px}
.reservation-naver-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.reservation-naver-actions .btn{min-width:0;min-height:44px;padding:8px 4px;font-size:11px;white-space:normal}
.reservation-naver-help{margin:9px 0 16px}
@media(max-width:640px){.reservation-work-actions .icon,.reservation-naver-actions .icon{display:none}}

/* Dates and contact controls remain visible on narrow Galaxy screens. */
.customer-filters{display:grid;gap:14px;margin-bottom:12px}
.customer-filters .search{max-width:100%;width:100%;box-sizing:border-box}
.customer-filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.customer-filter-selects>div{min-width:0}
.customer-filter-selects select{width:100%;min-width:0}
.customer-unbooked-filter{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.customer-unbooked-filter.active{background:var(--sage);border-color:var(--ink)}
.customer-period-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.customer-period-buttons .btn{min-height:44px;padding:8px 4px;white-space:nowrap;font-size:12px}
@media(max-width:640px){.customer-period-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-period-buttons .btn{font-size:11px}}
.customer-list-summary{font-size:12px;color:var(--muted);margin:12px 0}
.customer-list-summary span{display:block;font-size:11px;margin-top:4px}
.customer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.customer-card{padding:18px;min-width:0}
.customer-card-header{display:flex;align-items:center;gap:8px;justify-content:space-between}
.customer-profile{display:flex;gap:9px;align-items:center;min-width:0;text-align:left;background:none;border:0;padding:0;color:inherit;cursor:pointer;min-height:44px}
.customer-profile .avatar{flex-shrink:0}
.customer-profile strong{display:block;overflow-wrap:anywhere}
.customer-profile small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.customer-identity{min-width:0}
.customer-note-tag{display:inline-block;font-size:10px;color:var(--accent);margin-top:5px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--sage)}
.customer-profile.static{cursor:default}
.naver-booking-setting{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px}
.naver-booking-setting strong{font-size:12px}
.naver-booking-setting .field-help{overflow-wrap:anywhere;margin:8px 0}
.naver-booking-setting .btn{min-height:44px}
#naver-link-form input{width:100%;min-width:0;font-size:16px}
.customer-note-header{justify-content:space-between;gap:8px}
.reservation-contact-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:8px 0 16px;font-size:11px;color:var(--muted)}
.schedule-heading{flex-wrap:wrap}
.schedule-heading>.actions{max-width:none;margin-top:0}
.schedule-heading>.actions>.btn{min-height:44px}
@media(max-width:640px){.schedule-heading{display:block}.schedule-heading>.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-top:14px}.schedule-heading>.actions>.btn{min-height:48px;font-size:11px;min-width:0;padding:8px 4px;white-space:normal;line-height:1.3;text-align:center}.schedule-heading>.actions>.btn .icon{display:none}}
.customer-contact-actions .kakao-launch{background:#fee500;border-color:var(--line-ecd300,#ecd300);color:var(--text-3b1e1e,#3b1e1e)}
.customer-contact-actions{display:flex;gap:4px;flex-shrink:0}
.customer-contact-actions .btn{flex-direction:column;gap:3px;padding:4px 2px;width:44px;min-height:44px;font-size:10px;white-space:nowrap}
.customer-service-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding:12px 0;border-top:1px solid var(--line)}
.customer-service-summary .muted{font-size:11px}
.customer-last-date{display:block;font-size:18px;letter-spacing:.2px;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.customer-service-summary small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.customer-elapsed{font-size:12px;font-weight:700;white-space:nowrap;color:var(--accent);background:var(--sage);padding:7px 9px;border-radius:8px}
.customer-elapsed.unknown{color:var(--muted)}
.customer-next-booking{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:8px;background:var(--sage);font-size:11px}
.customer-next-booking button{border:0;background:transparent;color:inherit;text-align:right;cursor:pointer;padding:0;min-height:44px}
.customer-next-booking strong{display:block;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.customer-next-booking small{display:block;font-size:11px;margin-top:4px}
.customer-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}
.customer-card-footer>span{min-width:0}
.customer-card-footer small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.customer-card-footer{flex-wrap:wrap}
.customer-card-actions{display:flex;flex-wrap:wrap;gap:6px}
.customer-card-actions .btn{min-height:44px;font-size:11px;padding:6px 8px}
.customer-passes{display:grid;gap:7px;margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--amber)}
.customer-passes strong{display:block;font-size:12px}
.customer-passes small{display:block;margin-top:3px;font-size:11px;overflow-wrap:anywhere}
.booking-repeat-section{border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0}
.booking-repeat-section>.check{min-height:44px;cursor:pointer}
.booking-repeat-preview{max-height:240px;overflow-y:auto;overscroll-behavior:contain;margin-top:10px}
.repeat-preview-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;padding:9px 0;border-bottom:1px solid var(--line)}
.repeat-preview-row strong{color:var(--ink);text-align:right}
.repeat-preview-row.warning strong{color:var(--red)}
.customer-card-footer>.btn{flex-shrink:0;min-height:44px;padding:6px 8px;font-size:11px}
.customer-contact-help{margin:16px 0}
@media(max-width:900px){.customer-list{grid-template-columns:1fr}}
@media(max-width:640px){.customer-card{padding:14px}.customer-profile .avatar{display:none}.customer-profile strong{font-size:14px}.customer-last-date{font-size:17px}.customer-filter-selects{gap:8px}.customer-filter-selects select{font-size:11px;padding-left:8px;padding-right:24px}}


.repeat-edit-scope legend{font-weight:700;font-size:13px;padding:0 5px}.repeat-edit-scope>.check{padding:7px 0}.repeat-edit-scope input[type=radio]{min-width:20px;min-height:20px;accent-color:var(--primary)}

.inbox-toolbar{margin-bottom:12px;flex-wrap:wrap}
.inbox-list{display:grid;gap:14px;margin-top:20px}
.inbox-item{padding:16px;border:1px solid var(--line,var(--line-dce5dd,#dce5dd));border-radius:14px;min-width:0}
.inbox-item-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.inbox-item p{margin:8px 0;overflow-wrap:anywhere}
.inbox-item small{display:block;margin-bottom:12px}
.notification-raw{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:var(--surface-f4f7f2,#f4f7f2);border-radius:10px;max-height:240px;overflow:auto;margin:12px 0}
.inbox-item summary,.inbox-original summary{cursor:pointer;min-height:40px;padding-top:10px}
.pair-code{font-size:17px;overflow-wrap:anywhere;padding:12px;background:var(--surface-f1f6ee,#f1f6ee);border-radius:10px;user-select:all}
.companion-steps{padding-left:22px;line-height:1.7}
.import-customer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.import-customer-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.import-customer-card p{margin:8px 0;font-size:13px;line-height:1.6}.import-customer-card small{color:var(--muted)}
.import-customer-card input[type=tel],.import-customer-card select{width:100%}.import-row-error{color:var(--red);font-weight:600}
.import-pending-all,.import-ack{padding:12px 0;align-items:flex-start}.import-pagination{justify-content:space-between;align-items:center}.import-pagination span{font-size:12px}
@media(max-width:640px){.import-customer-list{grid-template-columns:1fr}.import-customer-card{padding:12px}.import-toolbar .btn{flex:1}}
.service-group{margin:8px 0;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.service-group>summary{cursor:pointer;font-weight:700;min-height:40px;padding:8px 0}.service-group .setting-row>div{min-width:0;overflow-wrap:anywhere}.service-group .service-option small{white-space:normal}.service-group .service-options{margin-top:8px}

.sale-revision .transaction{align-items:flex-start;gap:12px}.sale-revision .transaction span{min-width:0;overflow-wrap:anywhere}.sale-revision .transaction strong{white-space:nowrap}
.booking-date-weekday{display:block;margin-top:6px;font-size:14px;color:var(--ink)}
.catalog-picker{margin:8px 0 14px;min-width:0}.picker-search-head{position:sticky;top:-14px;padding:8px 0;background:var(--paper);z-index:3}.picker-search-head input{width:100%;font-size:16px;min-height:44px}.picker-filters{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:7px 0;scrollbar-width:thin}.picker-filter{flex-shrink:0;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:18px;font-size:12px}.picker-filter.active{background:var(--theme-action);color:var(--theme-action-ink);border-color:var(--ink)}.picker-count{font-size:11px;color:var(--muted);margin:2px 0 7px}.picker-result-list{max-height:260px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px}.picker-result{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 11px;min-height:58px;text-align:left;border-bottom:1px solid var(--line)}.picker-result:last-child{border-bottom:0}.picker-result>span:first-child{min-width:0;overflow-wrap:anywhere}.picker-result strong{display:block;font-size:13px}.picker-result small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.picker-result-price{text-align:right;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.picker-result.selected{background:var(--sage)}.picker-result:disabled{cursor:default;opacity:.65}.picker-results>.btn{margin-top:7px;min-height:40px}.cart-selected{border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:12px 0}.cart-selected>summary{cursor:pointer;min-height:40px;padding:9px 0;font-weight:700;font-size:13px}
.picker-footer-selection{display:flex;gap:6px;overflow-x:auto;min-width:0;width:100%;max-height:44px;align-items:center}.picker-footer-selection button{border:1px solid var(--line);border-radius:15px;padding:7px 10px;min-height:38px;white-space:nowrap;flex-shrink:0;font-size:11px}.picker-footer-selection>span{font-size:11px;color:var(--muted);padding:5px 0}.booking-modal .modal-footer,.catalog-checkout-modal .modal-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.booking-modal .picker-footer-selection,.catalog-checkout-modal .picker-footer-selection{grid-column:1/-1}.booking-modal .booking-summary{min-width:0;margin:0}.booking-summary small{overflow-wrap:anywhere}.catalog-checkout-modal .checkout-save-row{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.checkout-save-row .booking-summary{min-width:0}.checkout-save-row .btn{flex-shrink:0}.checkout-save-row .booking-summary strong{font-size:16px}
@media(max-width:680px){.picker-result-list{max-height:clamp(96px,calc(var(--visible-height,100dvh) - 320px),250px)}.keyboard-open .booking-modal .modal-header,.keyboard-open .catalog-checkout-modal .modal-header{padding-top:8px;padding-bottom:8px}.keyboard-open .booking-modal .modal-header small,.keyboard-open .catalog-checkout-modal .modal-header small,.keyboard-open #money-input-help{display:none}.keyboard-open .picker-search-head{padding-top:3px;padding-bottom:3px}.keyboard-open .picker-search-head>.field-label{margin-bottom:3px}.keyboard-open .picker-result{min-height:52px;padding-top:6px;padding-bottom:6px}.keyboard-open .booking-modal .modal-footer,.keyboard-open .catalog-checkout-modal .modal-footer{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.keyboard-open .picker-footer-selection button{min-height:36px;padding-top:5px;padding-bottom:5px}}
.picker-search-head{position:static}.catalog-picker:focus-within{position:sticky;top:0;z-index:3;background:var(--paper);padding-bottom:6px}
@media(max-width:680px){.picker-result-list{max-height:min(var(--picker-list-height,250px),clamp(52px,calc(var(--visible-height,100dvh) - 340px),250px))}.keyboard-open .picker-filters{padding:4px 0}.keyboard-open .picker-filter{min-height:32px;padding:4px 10px}}
@media(max-width:680px){.keyboard-open .booking-modal .modal-header,.keyboard-open .catalog-checkout-modal .modal-header{padding-top:4px;padding-bottom:4px}.keyboard-open .booking-modal .modal-content,.keyboard-open .catalog-checkout-modal .modal-content{padding-top:0;padding-bottom:0}.keyboard-open .catalog-picker:focus-within{margin-top:0;margin-bottom:0}.keyboard-open .picker-search-head>.field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.keyboard-open .picker-count{display:none}.keyboard-open .picker-footer-selection:has(>span){display:none}.picker-result-list>.btn{width:100%;margin-top:0;min-height:44px;border:0;border-radius:0}}

.booking-customer-choices{max-height:220px;overflow-y:auto;overscroll-behavior:contain}.booking-customer-choices .btn{overflow-wrap:anywhere;white-space:normal}

.booking-customer-choices [data-action="booking-customer-more"]{grid-column:1/-1}

.customer-visibility{display:flex;gap:8px;margin:8px 0}.customer-visibility .btn{min-height:44px;flex:1;justify-content:center}.customer-lifecycle{margin:16px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.customer-lifecycle summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600}.customer-lifecycle-target{margin-bottom:16px}.customer-lifecycle-target strong{font-size:20px;display:block}.customer-lifecycle-target small{display:block;margin-top:6px;color:var(--muted)}.customer-lifecycle-form .check{min-height:44px}
.customer-search-row{display:flex;gap:8px;align-items:center;padding:8px 0;background:var(--bg);position:sticky;top:0;z-index:5}.customer-search-row .search{flex:1;max-width:none;min-width:0}.customer-search-row>.btn{flex-shrink:0;min-height:44px}.customer-search-row input{font-size:16px}.customer-filters[hidden],.customer-search-date-help[hidden]{display:none}.customer-search-row+#customer-filter-panel{margin-top:8px}.customer-search-row~#customer-results .customer-list-summary{margin-top:5px}@media(max-width:680px){.keyboard-open .customer-search-row{top:var(--visible-top,0px)}}

.booking-tap-picker .picker-filters{flex-wrap:wrap;overflow:visible;padding:0;gap:6px}.booking-tap-picker .picker-filter{min-height:40px;padding:6px 10px}.booking-tap-picker .picker-search-head{padding:0 0 8px}.booking-tap-picker:focus-within{position:static}.booking-tap-picker .picker-result-list{max-height:360px}.booking-tap-picker .picker-count{display:block}.booking-tap-picker .picker-result strong{font-size:14px}.booking-tap-picker .picker-result small{font-size:12px}.booking-repeat-section h3{margin-bottom:12px}@media(max-width:680px){.booking-tap-picker .picker-result-list{max-height:clamp(180px,calc(var(--visible-height,100dvh) - 270px),360px)}.booking-tap-picker .picker-result{min-height:60px}.booking-tap-picker .picker-filter{font-size:12px}.keyboard-open .booking-tap-picker .picker-result-list{max-height:180px}}
.booking-modal #money-input-help{display:none}.booking-tap-picker .picker-search-head{position:sticky;top:0;z-index:3;background:var(--paper)}

/* A dedicated picker keeps the booking draft intact and opens without typing. */
.booking-service-launch{width:100%;justify-content:center;min-height:48px}.booking-services-done,.booking-modal:not(.choosing-services) #booking-service-panel{display:none}.booking-modal.choosing-services #booking-form> :not(#booking-service-panel){display:none}.booking-modal.choosing-services .modal-content>.form-error{display:none}.booking-modal.choosing-services .modal-footer>button[type=submit]{display:none}.booking-modal.choosing-services .booking-services-done{display:inline-flex}.booking-modal.choosing-services .modal-header small{display:none}.booking-picker-tools{display:flex;gap:8px;align-items:center}.booking-picker-tools select{flex:1;min-width:0}.booking-picker-tools .btn{min-height:44px;flex-shrink:0}.booking-tap-picker #booking-service-search-wrap[hidden]{display:none}.booking-tap-picker #booking-service-search-wrap{margin-top:8px}.booking-tap-picker #booking-service-search-wrap .field-label{font-size:11px}.booking-tap-picker .picker-result{min-height:48px;padding:10px;gap:8px}.booking-service-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.booking-tap-picker .picker-result-price{font-size:13px}.booking-tap-picker .picker-result.selected .booking-service-name::before{content:'✓ ';font-weight:700}.booking-tap-picker .picker-result-list{max-height:none;overflow:visible}.booking-tap-picker .picker-search-head{position:sticky;top:-14px;padding-top:8px}.booking-modal.choosing-services .modal-content{scroll-padding-top:110px}.booking-modal.choosing-services .booking-tap-picker{margin-top:0}.booking-modal.choosing-services .picker-count{font-size:11px;margin:6px 0}.booking-modal.choosing-services .modal-header{padding-bottom:8px}
@media(max-width:680px){.booking-modal.choosing-services .picker-result{min-height:48px;padding:10px}.booking-modal.choosing-services .picker-result-list{max-height:none}.booking-modal.choosing-services .picker-search-head{top:-14px}.keyboard-open .booking-modal.choosing-services .picker-search-head{top:0;padding-top:3px;padding-bottom:4px}.keyboard-open .booking-modal.choosing-services #booking-service-search-wrap{margin-top:4px}.keyboard-open .booking-modal.choosing-services #booking-service-search-wrap label{display:none}.keyboard-open .booking-modal.choosing-services .picker-count{display:none}.keyboard-open .booking-modal.choosing-services .picker-result{min-height:44px;padding:8px 10px}.keyboard-open .booking-modal.choosing-services .picker-footer-selection{max-height:36px}.keyboard-open .booking-modal.choosing-services .booking-summary small{font-size:10px}.booking-modal.choosing-services .booking-service-name{font-size:13px}}
:root{--agenda-time-width:60px}
.schedule-agenda{padding:12px 16px;display:grid;gap:10px}.agenda-booking{width:100%;display:grid;grid-template-columns:var(--agenda-time-width) minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line-d8e4d4,#d8e4d4);border-left:4px solid var(--line-7e9a78,#7e9a78);background:var(--sage);border-radius:12px;text-align:left;padding:14px 12px;min-height:88px}.agenda-booking.naver{background:var(--blue);border-color:var(--line-d8e0ef,#d8e0ef);border-left-color:var(--line-879bc2,#879bc2)}.agenda-booking.phone{background:var(--amber);border-color:var(--line-ecdec8,#ecdec8);border-left-color:var(--line-c39f69,#c39f69)}.agenda-booking.completed{background:var(--surface-f2f3ed,#f2f3ed);border-color:var(--line);border-left-color:var(--line-b1b9a8,#b1b9a8)}.agenda-booking.pending{border-left-color:var(--line-bd7770,#bd7770)}.agenda-booking time,.agenda-gap time{font-size:15px;font-weight:700;align-self:start}.agenda-booking time small,.agenda-gap time small{display:block;font-size:12px;font-weight:400;margin-top:5px}.agenda-customer{display:grid;gap:5px;min-width:0}.agenda-customer>strong{font-size:16px}.agenda-customer>span{font-size:12px;overflow-wrap:anywhere;line-height:1.5}.agenda-customer>small{font-size:11px}.agenda-status{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.agenda-status .icon{width:16px}.agenda-gap{display:grid;grid-template-columns:var(--agenda-time-width) minmax(0,1fr) auto;gap:12px;align-items:center;border:1px dashed var(--line-dce1d5,#dce1d5);border-radius:10px;padding:12px 13px;color:var(--muted);font-size:12px}.agenda-gap strong{font-weight:500;display:block;margin-top:4px}.agenda-gap .btn{min-height:44px}.booking-duration{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}.booking-duration legend{font-size:12px;font-weight:600;padding:0 5px}.booking-duration-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.booking-duration-buttons .btn{min-width:0;min-height:44px;padding:7px 4px}.booking-duration .field-help{margin-top:8px}.inventory-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.inventory-filters .btn{min-height:44px}.inventory-group{margin:10px 0 14px}.inventory-group .card-head{padding:14px 18px;font-size:11px}.inventory-rows{display:grid}.inventory-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);min-height:82px}.inventory-row:last-child{border-bottom:0}.inventory-row:hover{background:var(--surface-f4f5ed,#f4f5ed)}.inventory-product{min-width:0;flex:1;display:grid;gap:7px}.inventory-product strong{font-size:14px;overflow-wrap:anywhere}.inventory-product small{font-size:11px}.inventory-quantity{flex-shrink:0;display:grid;gap:4px;text-align:right}.inventory-quantity>strong{font-size:22px;color:var(--ink)}.inventory-quantity>strong>small{font-size:11px;margin-left:3px}.inventory-quantity>small{font-size:10px}.inventory-quantity.low>strong{color:var(--red)}.inventory-row>.icon{width:15px;color:var(--muted)}.stock-quantity-stepper{display:flex;align-items:center;justify-content:center;gap:22px;margin:8px 0 22px}.stock-quantity-stepper>.btn{width:56px;height:56px;font-size:25px}.stock-quantity-stepper output{min-width:66px;text-align:center;font-size:34px;font-weight:700}.stock-quick-types{display:flex;gap:10px;margin-bottom:14px}.stock-quick-types .btn{flex:1;min-height:48px}.stock-quick-modal .actions{margin-top:18px}.stock-quick-modal .actions .btn{min-height:44px}.stock-count-group h3{padding:12px 0}.stock-count-row{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid var(--line);min-height:78px}.stock-count-row.changed{background:var(--surface-edf2e6,#edf2e6);border-radius:10px}.stock-count-row label{flex:1;min-width:0;display:grid;gap:6px}.stock-count-row label strong{font-size:13px;overflow-wrap:anywhere}.stock-count-row label small{font-size:11px}.stock-count-controls{display:flex;gap:5px;align-items:center}.stock-count-controls .btn{min-width:40px;min-height:44px;font-size:19px;padding:5px}.stock-count-controls input{width:66px;min-height:44px;text-align:center;font-size:16px;padding:7px 2px}.stock-count-modal .modal-footer{display:flex;align-items:center;gap:12px}.stock-count-modal .modal-footer .btn{min-height:48px}
@media(max-width:680px){.booking-duration-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-heading .eyebrow,.schedule-heading .subtitle{display:none}.schedule-heading h1{font-size:21px}.schedule-heading>.actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.schedule-heading+.stats{margin-bottom:12px}.schedule-heading+.stats .stat{padding:10px;min-height:78px}.schedule-heading+.stats .stat-icon,.schedule-heading+.stats .stat small{display:none}.schedule-heading+.stats .stat-number{font-size:20px}.schedule-heading+.stats .stat-label{font-size:10px;margin-bottom:5px}.schedule-layout>.card>.card-head{flex-wrap:wrap;gap:10px}.schedule-layout .calendar-tools{width:100%;justify-content:space-between}.schedule-layout .calendar-tools h2{margin-right:auto}.schedule-layout .calendar-tools .icon-button,.schedule-layout .calendar-tools .today{min-width:36px;min-height:36px}.schedule-layout .segmented{width:100%}.schedule-layout .segmented button{flex:1;min-height:36px;font-size:12px}.schedule-touch-help{font-size:10px}.schedule-agenda{padding:10px;gap:8px}.agenda-booking,.agenda-gap{gap:8px;padding:12px 10px;grid-template-columns:52px minmax(0,1fr) auto}.agenda-booking time,.agenda-gap time{font-size:13px}.agenda-customer>strong{font-size:15px}.agenda-gap .btn{font-size:11px;padding:8px}.inventory-toolbar{flex-wrap:wrap}.inventory-toolbar .search{flex-basis:100%}.inventory-toolbar .actions{width:100%}.inventory-toolbar .actions .btn{flex:1;min-height:44px;font-size:12px}.inventory-filters{gap:5px}.inventory-filters .btn{font-size:11px;padding:7px 9px}.inventory-row{padding:13px 12px;gap:8px}.inventory-product strong{font-size:14px}.inventory-quantity>strong{font-size:24px}.stock-count-row{gap:6px;padding:10px 0}.stock-count-controls{gap:3px}.stock-count-controls .btn{min-width:36px}.stock-count-controls input{width:55px}.stock-count-modal .modal-content{padding:12px 14px}.stock-count-modal .modal-footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.stock-count-modal .booking-summary{font-size:11px}}

.stock-count-controls input::-webkit-inner-spin-button,.stock-count-controls input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stock-count-controls input{appearance:textfield;-moz-appearance:textfield}@media(max-width:680px){.stock-count-controls .btn{min-width:44px}.stock-count-controls input{width:55px}}

/* Leave room for treatment rows above the Samsung keyboard while searching. */
@media(max-width:680px){.keyboard-open .booking-modal.choosing-services .picker-search-head:has(#booking-service-search-wrap:not([hidden])) .booking-picker-tools{display:none}.keyboard-open .booking-modal.choosing-services #booking-service-search-wrap{margin-top:0}}

/* Reservation text stays visible; app links are explicit user actions. */
.reservation-guide-modal .modal-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-guide-modal .modal-footer .btn{min-width:0;min-height:46px;font-size:13px;padding:10px 8px}.reservation-guide-modal .modal-footer .primary{grid-column:1/-1}.reservation-guide-modal #reservation-guide-text{min-height:180px}

.customer-filter-recovery{justify-content:center;margin:12px 0 20px}.customer-list-summary .customer-search-date-help{display:block;margin-top:6px}.customer-filter-recovery .btn{min-height:44px}
.reactivation-rules{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.reactivation-rules .btn{min-height:44px;flex:1;justify-content:center;white-space:nowrap}.reactivation-checks{display:flex;gap:8px 16px;flex-wrap:wrap;margin:12px 0}.reactivation-checks .check{min-height:44px}.legacy-history-section{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.legacy-history-section summary{min-height:44px;display:flex;align-items:center;cursor:pointer}#history-preview{margin-top:16px}#history-preview details p{font-size:13px;line-height:1.7}#history-preview .check{min-height:44px}.history-item details small{display:block;overflow-wrap:anywhere;line-height:1.7}.reactivation-rules+.search{max-width:none}.reactivation-rules+.search input{font-size:16px}@media(max-width:680px){.reactivation-rules .btn{padding:8px 6px;font-size:13px}.customer-card .actions{display:flex;gap:8px}.customer-card .actions .btn{flex:1;min-height:44px;justify-content:center}}
.payment-line-summary{grid-column:1/-1;font-size:13px;line-height:1.65;padding:8px 0;color:var(--ink);overflow-wrap:anywhere}.payment-line-summary small{display:block;color:var(--muted)}.payment-extra .pay-target{grid-column:1/-1;min-height:44px}.checkout-search-options{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.checkout-search-options>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.checkout-reservation-summary p{margin:4px 0;font-size:13px}.pay-amount[readonly]{background:var(--paper);cursor:default}.checkout-save-row .booking-summary strong{font-size:18px}@media(max-width:680px){.payment-extra{grid-template-columns:minmax(0,1fr) minmax(70px,100px)}.payment-line-summary{font-size:12px}.checkout-save-row .booking-summary strong{font-size:17px}}
.customer-mode-buttons{position:relative;gap:8px;margin:12px 0 14px}.customer-mode-buttons .btn{min-height:46px;font-size:14px}
.customer-info-page .eyebrow,.customer-care-page .eyebrow{display:none}.customer-info-page .customer-search-date-help{display:none}.customer-info-page .customer-contact-help{font-size:11px}.customer-info-card{padding:14px}.customer-info-card .customer-profile{min-height:44px}.customer-info-card .customer-identity{min-width:0}.customer-info-card .customer-card-header{margin-bottom:6px}.customer-info-last{font-size:12px;line-height:1.6;margin:6px 0 10px;overflow-wrap:anywhere}.customer-info-credit{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;padding-top:10px;border-top:1px solid var(--line)}.customer-info-credit strong{font-size:14px}.customer-info-next{display:block;text-align:left;width:100%;min-height:44px;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--sage);font-size:12px}.customer-info-more{grid-column:1/-1;min-height:44px}
.care-search-tools{display:flex;gap:8px;margin:8px 0}.care-search-tools .btn{min-height:44px}.care-search-row[hidden]{display:none}.care-search-row .search{max-width:none}.care-status-tabs,.care-note-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.care-status-tabs .btn,.care-note-tabs .btn{min-height:46px;min-width:0;justify-content:center;padding:8px 5px;font-size:13px}.care-card{padding:14px}.care-card .actions{flex-wrap:wrap}.care-card .actions .btn{min-height:44px;font-size:12px;padding:8px 10px}.care-plan-line{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--line)}.care-plan-line>span,.care-plan-line>small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.care-plan-line>strong{font-size:16px;font-variant-numeric:tabular-nums}.care-next{margin:10px 0;font-size:13px;color:var(--ink);font-weight:600}.care-more-options{margin:14px 0;border-top:1px solid var(--line)}.care-more-options>summary{min-height:44px;padding:12px 0;font-size:13px}.care-more-options .actions{flex-wrap:wrap}.care-more-options .btn{min-height:44px}.care-metrics{display:flex;gap:10px 20px;flex-wrap:wrap;margin:14px 0;font-size:12px}.care-metrics strong{display:block;font-size:18px}.care-credit-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.care-credit-summary>span{background:var(--sage);padding:12px;border-radius:10px;font-size:12px}.care-credit-summary strong{display:block;font-size:18px;margin-top:4px}.care-note-record{padding:12px;background:var(--sage);border-radius:10px;overflow-wrap:anywhere}.care-note-record p{font-size:13px;margin:8px 0;white-space:pre-wrap}.care-note-summary{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.care-note-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.care-note-head>.btn{min-height:44px}.care-cycle-field{margin:0 0 16px}.care-cycle-field select{min-height:46px;font-size:16px}.care-custom-cycle{display:block;font-size:12px;margin-top:8px}.care-custom-cycle input{display:block;margin-top:6px;min-height:44px;font-size:16px}.care-custom-cycle[hidden]{display:none}.care-history-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.care-history-item p{margin:5px 0}.care-history-item small{display:block;color:var(--muted);margin:4px 0}.customer-note-modal .care-note-tabs{position:sticky;top:-14px;background:var(--paper);z-index:2;padding:8px 0}
@media(max-width:680px){.customer-info-page .heading .subtitle,.customer-care-page .heading .subtitle{display:none}.customer-info-page .heading h1,.customer-care-page .heading h1{font-size:22px}.customer-info-page .heading .actions .btn{min-height:44px}.care-status-tabs,.care-note-tabs{gap:5px}.care-status-tabs .btn,.care-note-tabs .btn{font-size:12px}.care-card .actions .btn{flex:1 1 calc(50% - 8px)}.care-card .customer-card-header{gap:6px}.care-list .empty{padding:20px 12px}.customer-note-modal .modal-content{padding:12px 14px}.keyboard-open .customer-care-page:has(#customer-search:focus) .care-search-tools{display:none}.keyboard-open .customer-care-page:has(#customer-search:focus) .customer-mode-buttons{display:none}.keyboard-open .customer-care-page:has(#customer-search:focus) .care-status-tabs{margin-top:4px}}
@media(max-width:680px){.customer-info-page .page-heading .subtitle,.customer-care-page .page-heading .subtitle{display:none}.customer-info-page .page-heading,.customer-care-page .page-heading{margin-bottom:14px}.customer-info-page .page-heading h1,.customer-care-page .page-heading h1{font-size:22px}}
.care-rates{font-size:12px;line-height:1.8;padding:8px 0}.care-rates strong{color:var(--ink)}
@media(min-width:360px) and (max-width:680px){.care-card .actions .btn{flex:1 1 calc(33.333% - 8px);padding:8px 6px}}
.care-search-done{display:none!important}
@media(max-width:680px){.keyboard-open .shell:has(.customer-care-page #customer-search:focus) .mobile-nav,.keyboard-open .shell:has(.customer-info-page) .mobile-nav{display:none}.keyboard-open .care-search-done{display:inline-flex!important;min-height:44px}.keyboard-open .customer-care-page:has(#customer-search:focus) .care-search-row{position:sticky;top:var(--visible-top,0px);z-index:5;background:var(--bg)}}
.care-status-tabs[hidden]{display:none}

/* Criteria are native selects: no typing needed to find revisit customers. */
.care-target-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.care-target-selects>label{display:grid;gap:6px;font-size:12px;min-width:0}.care-target-selects select{width:100%;min-width:0;min-height:46px;font-size:16px}.care-target-filters>.check{min-height:44px;margin:4px 0}.care-target-reason{line-height:1.5;overflow-wrap:anywhere}.care-booked-excluded{margin-top:-4px}.care-list .empty .actions{flex-wrap:wrap}
@media(max-width:680px){.keyboard-open .customer-care-page:has(#customer-search:focus) .care-target-filters,.keyboard-open .customer-care-page:has(#customer-search:focus) .page-heading{display:none}.care-target-selects{gap:8px}.care-target-selects select{padding:10px 8px}.care-target-reason{font-size:15px}.care-list .empty .btn{min-height:44px}}

.care-target-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0}.care-target-options .check{min-height:44px;margin:0;flex:1;min-width:0;font-size:12px}.care-target-options>.btn{min-height:44px;flex-shrink:0;font-size:12px}
@media(max-width:680px){.keyboard-open .customer-care-page:has(#customer-search:focus) .care-status-tabs,.keyboard-open .customer-care-page:has(#customer-search:focus) .care-booked-excluded{display:none}.keyboard-open .customer-care-page:has(#customer-search:focus) .customer-list-summary{margin:6px 0;font-size:11px}.keyboard-open .customer-care-page:has(#customer-search:focus) .care-card{padding:12px}.keyboard-open .customer-care-page:has(#customer-search:focus) .care-card .care-next{margin:6px 0}}

.booking-pass-panel{padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:12px}.booking-pass-panel[hidden]{display:none}.booking-pass-panel select{font-size:16px;min-height:46px;width:100%}.booking-registration{font-weight:650;color:var(--ink);margin:8px 0}.booking-pass-note{font-size:13px;color:var(--ink);padding:8px;background:var(--sage);border-radius:8px}.appointment.customer,.agenda-booking.customer{border-left-color:var(--line-a26d31,#a26d31);background:var(--surface-fff3df,#fff3df)}.customer-note-modal .modal-footer{flex-wrap:wrap}.booking-checkout-pass p{font-size:12px}
.sale-detail-modal .modal-footer{flex-wrap:wrap}.sale-detail-actions{display:flex;gap:8px;min-width:0}
@media(max-width:680px){.sale-detail-modal .modal-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.sale-detail-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%}.sale-detail-actions .btn{min-width:0;width:100%;min-height:48px;padding:10px 8px;font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;justify-content:center}}

.shop-entry-qr{display:block;width:220px;height:220px;max-width:100%;margin:16px auto;background:var(--theme-paper)}.connection-mark-small{font-size:24px;font-weight:700;letter-spacing:2px}.connection-customer-choice{display:block;width:100%;margin:8px 0;text-align:left;min-height:48px}.care-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 0}.care-journey span{background:var(--surface-f0f2ee,#f0f2ee);border-radius:8px;padding:8px 4px;text-align:center;font-size:12px}.care-journey .done{background:var(--surface-e1eee3,#e1eee3);color:var(--text-244f34,#244f34)}.care-result-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.care-result-tabs .btn{min-height:44px}.care-result-card{padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0}.care-result-card p{margin:6px 0}.care-summary-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.care-summary-top button{display:grid;gap:4px;min-width:0;min-height:64px;font-size:12px}.care-summary-top strong{font-size:20px}

/* Service audience is independent of customer profile gender. Common services remain available. */
.service-audience-filter{display:flex;gap:6px;margin:0 0 8px}.service-audience-filter button{flex:1;min-width:0;min-height:44px;padding:7px 10px;border:1px solid var(--line-bac7bd,#bac7bd);border-radius:10px;background:var(--surface-ffffff,#fff);color:var(--text-274e40,#274e40);font-size:14px;cursor:pointer}.service-audience-filter button[aria-pressed="true"]{background:var(--surface-274e40,#274e40);color:var(--text-ffffff,#fff);border-color:var(--line-274e40,#274e40)}.service-audience-filter button:focus-visible{outline:3px solid var(--line-a87a34,#a87a34);outline-offset:2px}
@media(max-width:680px){.keyboard-open .booking-modal.choosing-services .picker-search-head:has(#booking-service-search-wrap:not([hidden])) .service-audience-filter{display:none}.booking-modal.choosing-services .modal-content{scroll-padding-top:160px}}

.booking-address-shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.booking-address-shortcut strong{display:block;font-size:13px}.booking-address-shortcut small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.booking-address-shortcut .btn{min-height:44px;flex-shrink:0}.booking-address-section{padding:16px 0;border-bottom:1px solid var(--line)}.booking-address-section:first-child{padding-top:0}.booking-address-section:last-child{border:0}.booking-address-section h3{font-size:15px;margin:0 0 8px}.booking-address-role{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;background:var(--sage);padding:5px 9px;margin-bottom:8px}.booking-address-role.owner-only{background:var(--surface-eee9e4,#eee9e4);color:var(--text-6f5143,#6f5143)}.booking-address-value{width:100%;font-size:14px;line-height:1.6;overflow-wrap:anywhere;resize:none;margin:5px 0 10px}.booking-address-actions{display:flex;flex-wrap:wrap;gap:8px}.booking-address-actions .btn{min-height:46px;justify-content:center}.booking-address-section .notice{font-size:12px;line-height:1.8;margin:12px 0}.booking-addresses-modal .modal-footer .btn{min-height:46px}.booking-address-copy-status{font-size:12px;line-height:1.7;color:var(--ink);min-height:1em}.booking-address-card .field-help{line-height:1.8}
@media(max-width:680px){.booking-address-shortcut{padding:10px 12px;margin-bottom:14px;gap:8px}.booking-address-shortcut .btn{font-size:12px;padding:10px}.booking-address-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-address-actions .btn{font-size:12px;padding:10px 8px;min-width:0;white-space:normal}.booking-address-actions .personal-link-help{grid-column:1/-1}.booking-address-section{padding:14px 0}.booking-address-value{font-size:14px}.booking-addresses-modal .modal-content{scroll-padding-top:12px}}

.owner-push-banner{padding:8px;margin-bottom:14px;border:1px solid var(--line,var(--line-d8e2dd,#d8e2dd));border-radius:12px;background:var(--surface-f0f5ef,#f0f5ef)}.owner-push-quick{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px}.owner-push-banner #owner-request-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.owner-push-banner .btn{min-width:0;min-height:44px;font-size:12px;padding:8px;white-space:nowrap;justify-content:center}.owner-request-button{display:flex;align-items:center;gap:5px}.owner-request-label{white-space:nowrap}.owner-request-count{display:inline-grid;place-items:center;min-width:20px;min-height:20px;padding:0 4px;border-radius:6px;background:var(--surface-dfeadd,#dfeadd);color:var(--text-294c3c,#294c3c);font-size:11px;line-height:1}.owner-push-banner #owner-deferred-alert:not([hidden]){margin-top:8px}.owner-push-banner #owner-deferred-alert .btn{white-space:normal}@media(max-width:360px){.owner-push-quick,.owner-push-banner #owner-request-summary{gap:4px}.owner-push-banner .btn{padding:8px 5px;font-size:11px}.owner-request-button{gap:3px}.owner-request-count{padding:0 3px;min-width:18px}}

.service-settings-group>summary{display:flex;flex-direction:column;gap:6px}.service-settings-group>summary small{font-weight:400;font-size:12px;color:var(--muted,var(--text-67786f,#67786f))}.service-audience-section{padding:0 12px 10px}.service-audience-section h3{font-size:14px;margin:16px 0 6px;color:var(--green,var(--text-315c4b,#315c4b))}.service-audience-section h3 span{font-size:12px;font-weight:400}.service-setting-item{border-top:1px solid var(--line,var(--line-dfe6e0,#dfe6e0));padding:14px 0}.service-setting-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-setting-title small{display:block;color:var(--muted,var(--text-67786f,#67786f));font-size:12px;margin-top:4px}.service-setting-controls{display:flex;gap:12px;align-items:flex-end;margin-top:12px}.service-setting-controls label{flex:1;min-width:0}.service-setting-controls label>span{display:block;font-size:12px;color:var(--muted,var(--text-67786f,#67786f));margin-bottom:5px}.service-setting-controls select{width:100%;min-height:44px;margin:0}.service-setting-controls .btn{min-height:44px;white-space:nowrap;flex-shrink:0}.service-setting-controls .selected{background:var(--surface-e9f1e7,#e9f1e7);color:var(--text-294f40,#294f40);border-color:var(--line-9cb49d,#9cb49d)}.service-setting-status{margin:8px 0 0;font-size:12px;color:var(--muted,var(--text-67786f,#67786f))}.service-setting-status.visible{color:var(--text-315c4b,#315c4b)}.service-setting-help{margin-bottom:14px}
.service-setting-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-setting-controls>[data-field="active"]{grid-column:1/-1;justify-self:end}

.welcome-settings-preview{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;background:var(--surface-f5f3ed,#f5f3ed);border:1px solid var(--line);border-radius:10px;margin:12px 0}
#welcome-settings-form textarea{line-height:1.7}

.welcome-settings-preview[hidden]{display:none}

/* Coupon money is separate from prepaid balances and receipt payments. */
.coupon-panel{padding:12px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--theme-selected)}.coupon-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;background:var(--theme-paper)}.coupon-card-head{display:flex;gap:10px;align-items:start;justify-content:space-between}.coupon-card-head>span{font-size:12px;white-space:nowrap;color:var(--theme-muted)}.coupon-card details>summary{min-height:44px;padding:10px 0;cursor:pointer}

.coupon-guide-modal textarea{width:100%;line-height:1.7;resize:vertical;min-height:240px}.coupon-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.coupon-guide-actions .btn{min-height:48px;justify-content:center;white-space:normal;min-width:0}.coupon-guide-modal .modal-footer{flex-shrink:0}.coupon-guide-modal .modal-content{scroll-padding-bottom:16px}#coupon-service-fields[hidden],#coupon-amount-fields[hidden]{display:none}

.coupon-guide-actions .coupon-share-primary{grid-column:1/-1}.coupon-share-preview{margin:16px 0}.coupon-share-preview>summary{min-height:44px;padding:10px 0;cursor:pointer}.coupon-share-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.coupon-share-preview .btn{width:100%;min-height:48px;white-space:normal;justify-content:center}

/* Settings: native disclosure groups keep the existing controls mounted. */
.settings-layout.settings-disclosures{display:block;background:var(--paper);border-top:1px solid var(--line)}
.settings-section{border-bottom:1px solid var(--line)}
.settings-section>summary{display:flex;align-items:center;gap:16px;min-height:92px;padding:19px 20px;cursor:pointer;list-style:none;touch-action:manipulation}
.settings-section>summary::-webkit-details-marker{display:none}
.settings-section>summary:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}

.settings-section-copy{flex:1;min-width:0}
.settings-section-copy h2{font-size:18px;line-height:1.4;letter-spacing:-.02em}
.settings-section-status{display:block;margin-top:5px;font-size:14px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.settings-section-indicator{transform:rotate(90deg);display:grid;place-items:center;width:28px;height:28px;flex:none;color:var(--ink)}
.settings-section[open]>summary .settings-section-indicator{transform:rotate(-90deg)}
.settings-section[open]>summary{border-bottom:1px solid var(--line)}
.settings-section-content>.card{border:0;border-radius:0;background:transparent;overflow:visible}
.settings-section-content>.card+.card{border-top:1px solid var(--line)}
.settings-section-content .card-head{padding:18px 20px}
.settings-section-content .card-body{padding:18px 20px 24px}
.settings-section[data-settings-section="connections"] .card-head,.settings-section[data-settings-section="data"] .card-head{display:none}
.settings-section[data-settings-section="services"]>.settings-section-content>.card>.card-head{justify-content:flex-end;border:0;padding-bottom:0}
.settings-section[data-settings-section="services"]>.settings-section-content>.card>.card-head h2{display:none}
@media(max-width:600px){.settings-section>summary{padding:17px 16px}.settings-section-content .card-head{padding:16px}.settings-section-content .card-body{padding:16px 16px 22px}}

/* Settings open-state color hierarchy: header and controls stay visually separate. */
.settings-section[open]>summary{background:var(--theme-selected);color:var(--theme-ink)}
.settings-section-content{background:var(--theme-paper)}

/* Settings shared header palette: consistent whether open or closed. */
.settings-section>summary{background:var(--theme-selected);color:var(--theme-ink)}

/* Service category headings use the same disclosure vocabulary as settings. */
.service-settings-group{margin:12px 0;border:0;border-radius:0;padding:0;background:var(--theme-paper)}
.service-settings-group>summary{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:72px;padding:14px;list-style:none;touch-action:manipulation;background:var(--theme-selected);color:var(--theme-ink);border-bottom:1px solid var(--theme-line)}
.service-settings-group>summary::-webkit-details-marker{display:none}
.service-settings-group>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}
.service-category-copy{display:block;flex:1;min-width:0}
.service-category-copy>span{display:block;font-size:16px;line-height:1.5;font-weight:700}
.service-settings-group>summary small{display:block;margin-top:4px;font-size:14px;line-height:1.55;color:var(--theme-muted);overflow-wrap:anywhere}
.service-category-indicator{display:grid;place-items:center;flex:none;width:24px;height:24px;color:var(--theme-ink);transform:rotate(90deg)}
.service-settings-group[open]>summary .service-category-indicator{transform:rotate(-90deg)}
.service-settings-group>.service-audience-section{padding:0 14px 12px}
.service-settings-group .service-audience-section h3{color:var(--theme-ink)}

/* Close a long category from its end, with a compact label and a full touch target. */
.service-settings-group>summary{scroll-margin-top:16px}
.service-category-footer{display:flex;justify-content:flex-end;padding:0 14px 14px}
.service-category-footer .service-category-collapse{min-height:44px;min-width:64px;font-size:14px;color:var(--theme-ink)}

/* Softer category surfaces distinguish them from the main settings headings. */
:root{--service-category-surface:#f0f2eb}
:root[data-theme="dark"]{--service-category-surface:#29362e}
.service-settings-group>summary{background:var(--service-category-surface)}

/* Close each main settings section from the end without replacing its contents. */
.settings-section>summary{scroll-margin-top:16px}
.settings-section-footer{display:flex;justify-content:flex-end;padding:0 20px 20px}
.settings-section-footer .settings-section-collapse{min-height:44px;min-width:64px;font-size:14px;color:var(--theme-ink)}
@media(max-width:600px){.settings-section-footer{padding:0 16px 16px}}

/* Four schedule views, with a compact month overview and an actionable day agenda. */
.schedule-modes button{min-height:44px}
.month-calendar{padding:12px 12px 16px}
.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}
.month-weekdays{margin-bottom:6px;text-align:center;font-size:12px;color:var(--theme-muted)}
.month-weekdays>span{padding:6px 0}.month-weekdays>span:last-child{color:var(--theme-danger)}
.month-days{background:var(--theme-line);border:1px solid var(--theme-line)}
.month-day{min-width:0;min-height:78px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 1px;background:var(--theme-paper);color:var(--theme-ink)}
.month-day.outside{background:var(--theme-bg);color:var(--theme-muted)}
.month-day.sunday .month-day-number{color:var(--theme-danger)}
.month-day.selected{background:var(--theme-action);color:var(--theme-action-ink)}
.month-day.selected.sunday .month-day-number{color:inherit}
.month-day.is-today{box-shadow:inset 0 0 0 2px var(--theme-focus)}
.month-day:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px;position:relative;z-index:1}
.month-day-number{font-size:16px;font-weight:700;line-height:1.4}
.month-day-count,.month-day-pending{font-size:11px;line-height:1.35;white-space:nowrap}
.month-calendar-help{font-size:12px;color:var(--theme-muted);margin-top:10px}
.month-selected-day{border-top:1px solid var(--theme-line)}
.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;scroll-margin-top:16px}
.month-day-head h3{font-size:16px}.month-day-head .btn{min-height:44px}
@media(max-width:680px){.month-calendar{padding:10px 8px 14px}.month-day{min-height:76px}.month-day-head{flex-wrap:wrap;padding:14px 10px}.month-day-head h3{width:100%}.month-day-head>.actions{width:100%;justify-content:flex-end}.schedule-layout .schedule-modes button{min-height:44px;padding:6px 8px}.month-calendar-help{font-size:11px}}

/* Keep daily booking primary; group optional Naver tools and device alert setup. */
.owner-notification-tools{display:flex;align-items:center;gap:6px}
.topbar-actions .owner-notification-tools>.icon-button,.topbar-actions .topbar-push-settings{min-height:44px}
.topbar-actions .topbar-push-settings{font-size:12px;padding:8px 10px}
.owner-push-quick{display:block}
.schedule-secondary-actions{position:relative;max-width:520px;margin:0 0 14px}
.schedule-secondary-actions>.btn{position:absolute;right:0;top:0;width:calc(50% - 5px);min-height:44px;font-size:12px;padding:9px 8px}
.naver-reservation-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:5px;width:calc(50% - 5px);min-height:44px;list-style:none;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-paper);color:var(--theme-ink);padding:9px 10px;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}
.naver-reservation-tools>summary::-webkit-details-marker{display:none}
.naver-reservation-tools>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
.naver-tools-indicator{display:flex;transform:rotate(90deg)}.naver-tools-indicator .icon{width:16px;height:16px}
.naver-reservation-tools[open]>summary .naver-tools-indicator{transform:rotate(-90deg)}
.naver-reservation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;padding:10px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-paper)}
.naver-reservation-actions>.btn{min-width:0;min-height:44px;font-size:12px;padding:8px;white-space:normal;line-height:1.4}
@media(max-width:680px){.schedule-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.schedule-heading>div:first-child{min-width:0}.schedule-heading>.actions{display:flex;flex:none;width:auto;margin-top:0}.schedule-heading>.actions>.btn{min-height:44px;font-size:13px;white-space:nowrap;padding:10px 12px}.schedule-heading>.actions>.btn .icon{display:inline-block}.naver-reservation-actions{grid-template-columns:1fr}.naver-reservation-tools>summary{font-size:12px;padding:9px 8px}.topbar-actions{gap:8px}.topbar-actions .topbar-push-settings{padding:8px}}

/* Schedule-only compact summary; other tabs retain their statistic cards. */
.schedule-summary{margin:0 0 16px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-paper);color:var(--theme-ink)}
.schedule-summary>summary{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 14px;list-style:none;cursor:pointer}
.schedule-summary>summary::-webkit-details-marker{display:none}
.schedule-summary>summary:focus-visible{outline:2px solid var(--theme-action);outline-offset:3px;border-radius:10px}
.schedule-summary-item{display:flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:13px;line-height:1.5}
.schedule-summary-item+ .schedule-summary-item{border-left:1px solid var(--theme-line);padding-left:12px}
.schedule-summary-item>span{color:var(--theme-muted)}
.schedule-summary-item>strong{font-weight:700;font-variant-numeric:tabular-nums}
.schedule-summary-arrow{display:flex;margin-left:auto;flex:none;color:var(--theme-muted)}
.schedule-summary-arrow svg{width:16px;height:16px;transform:rotate(90deg)}
.schedule-summary[open] .schedule-summary-arrow svg{transform:rotate(-90deg)}
.schedule-summary-details{border-top:1px solid var(--theme-line);padding:12px 14px;display:grid;gap:10px}
.schedule-summary-details p{margin:0;font-size:13px;line-height:1.5}
.schedule-summary-details p>strong,.schedule-summary-details p>span{display:block}
.schedule-summary-details p>span{color:var(--theme-muted);font-size:12px}
@media(max-width:680px){
 .schedule-summary{margin-bottom:12px}
 .schedule-summary>summary{gap:7px;padding:10px;min-height:46px}
 .schedule-summary-item{gap:4px;font-size:12px}
 .schedule-summary-item+ .schedule-summary-item{padding-left:7px}
 .schedule-summary-arrow svg{width:14px;height:14px}
}
@media(max-width:350px){
 .schedule-summary>summary{gap:5px;padding-inline:8px}
 .schedule-summary-item{gap:3px}
 .schedule-summary-item+ .schedule-summary-item{padding-left:5px}
}

/* Equal request actions with readable labels and count badges. */
.owner-push-banner #owner-request-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.owner-push-banner .owner-request-button{font-size:14px;line-height:1.4;gap:8px}
.owner-push-banner .owner-request-count{font-size:13px;min-width:22px;min-height:22px;flex:none}
@media(max-width:680px){
 .owner-push-banner .owner-request-button{min-height:64px;padding:8px 5px;gap:7px;font-size:14px}
 .owner-request-label{white-space:normal;text-align:center;line-height:1.4}
 .owner-request-label>span{display:block;white-space:nowrap}
}

/* Daily counts share the monthly calendar's non-cancelled reservation totals. */
.week-strip .day-button{min-width:0;padding-inline:2px;gap:3px}
.day-reservation-count{min-height:16px;line-height:16px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:inherit}

/* Date selection lands at its reservations, with a way back to the date strip. */
.schedule-day-results-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line);scroll-margin-top:12px}
.schedule-day-results-head h3{font-size:14px;line-height:1.5;min-width:0}
.schedule-day-results-head h3>span{color:var(--theme-muted);font-size:12px;white-space:nowrap}
.schedule-day-results-head>.btn{min-height:44px;flex:none;font-size:12px}
.schedule-day-results-head:focus-visible{outline:2px solid var(--theme-focus);outline-offset:-2px}
.schedule-day-empty{margin:0;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--theme-muted)}
.week-column h3,.timeline .appointment{scroll-margin-top:12px}
@media(max-width:680px){.schedule-day-results-head{padding:10px}.schedule-day-empty{padding:12px 10px}}

/* Revenue: keep period and two key totals visible; disclose operational details. */
.stats.revenue-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.revenue-overview .stat{min-width:0}
.revenue-overview .stat-number{font-size:26px;overflow-wrap:anywhere}
.revenue-disclosures{background:var(--theme-paper);border:1px solid var(--theme-line);border-radius:12px;overflow:hidden}
.revenue-section+.revenue-section{border-top:1px solid var(--theme-line)}
.revenue-section>summary{display:flex;align-items:center;gap:14px;min-height:80px;padding:15px 18px;list-style:none;cursor:pointer;background:var(--theme-selected);color:var(--theme-ink);scroll-margin-top:16px;touch-action:manipulation}
.revenue-section>summary::-webkit-details-marker{display:none}
.revenue-section>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}
.revenue-section-copy{flex:1;min-width:0}
.revenue-section-copy h2{font-size:16px;line-height:1.45;letter-spacing:-.02em}
.revenue-section-status{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--theme-muted);overflow-wrap:anywhere}
.revenue-section-indicator{display:grid;place-items:center;width:24px;height:24px;flex:none;transform:rotate(90deg)}
.revenue-section[open]>summary .revenue-section-indicator{transform:rotate(-90deg)}
.revenue-section[open]>summary{border-bottom:1px solid var(--theme-line)}
.revenue-section-content{background:var(--theme-paper)}
.revenue-section-content>.card{border:0;border-radius:0;background:transparent}
.revenue-section-content>.card>.card-head{display:none}
.revenue-section-content>.revenue-breakdown{padding:16px;margin:0}
.revenue-section-content>.stat{border:0;border-radius:0}
.revenue-section-content .field-help{font-size:12px;line-height:1.6}
.revenue-section-footer{display:flex;justify-content:flex-end;padding:0 18px 16px}
.revenue-section-footer .revenue-section-collapse{min-height:44px;min-width:64px;font-size:14px;color:var(--theme-ink)}
@media(max-width:680px){
 .revenue-overview .stat{display:block;padding:12px}
 .revenue-overview .stat-icon{display:none}
 .revenue-overview .stat-label{font-size:12px;line-height:1.5;margin-bottom:6px}
 .revenue-overview .stat-number{font-size:20px;line-height:1.3}
 .revenue-overview .stat small{font-size:11px;line-height:1.55;margin-top:6px}
 .revenue-section>summary{padding:14px 12px;gap:10px}
 .revenue-section-copy h2{font-size:16px}
 .revenue-section-content>.revenue-breakdown{padding:12px}
 .revenue-section-footer{padding:0 12px 12px}
 .revenue-section-content .table-scroll th,.revenue-section-content .table-scroll td{white-space:normal;overflow-wrap:anywhere}
}

/* Inventory: primary product and shortage sections precede management and history. */
.stats.inventory-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.inventory-overview .stat{min-width:0}.inventory-overview .stat-number{font-size:26px;overflow-wrap:anywhere}
.inventory-disclosures{background:var(--theme-paper);border:1px solid var(--theme-line);border-radius:12px;overflow:hidden}
.inventory-section+.inventory-section{border-top:1px solid var(--theme-line)}
.inventory-section>summary{display:flex;align-items:center;gap:14px;min-height:80px;padding:15px 18px;list-style:none;cursor:pointer;background:var(--theme-selected);color:var(--theme-ink);scroll-margin-top:16px;touch-action:manipulation}
.inventory-section>summary::-webkit-details-marker{display:none}.inventory-section>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}
.inventory-section-copy{flex:1;min-width:0}.inventory-section-copy h2{font-size:16px;line-height:1.45;letter-spacing:-.02em}
.inventory-section-status{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--theme-muted);overflow-wrap:anywhere}
.inventory-section-indicator{display:grid;place-items:center;width:24px;height:24px;flex:none;transform:rotate(90deg)}.inventory-section[open]>summary .inventory-section-indicator{transform:rotate(-90deg)}
.inventory-section[open]>summary{border-bottom:1px solid var(--theme-line)}.inventory-section-content{background:var(--theme-paper)}
.inventory-list-content{padding:14px}.inventory-list-content .inventory-toolbar{margin-bottom:12px}.inventory-list-content .inventory-toolbar .search{flex-basis:100%;width:100%}
.inventory-management-tools{padding:16px}.inventory-management-tools>.actions>.btn{min-height:44px;flex:1;white-space:normal;font-size:13px}.inventory-management-tools>.field-help{font-size:13px;line-height:1.6;margin-top:12px}
.inventory-attention-help,.inventory-history-help{padding:12px 14px;margin:0;font-size:12px;line-height:1.6}.inventory-attention-content>.notice,.inventory-history-rows>.notice{margin:12px 14px}
.inventory-history-content>.stat{border:0;border-radius:0;background:transparent}.inventory-history-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px;text-align:left;border-bottom:1px solid var(--theme-line);min-height:72px}
.inventory-history-row>span{display:grid;gap:5px;min-width:0}.inventory-history-row>span>strong{font-size:14px;overflow-wrap:anywhere}.inventory-history-row small{font-size:12px;color:var(--theme-muted);overflow-wrap:anywhere;line-height:1.5}.inventory-history-quantity{font-size:14px;flex:none;font-variant-numeric:tabular-nums}.inventory-history-more{padding:14px;text-align:center}.inventory-history-more .btn{min-height:44px}
.inventory-section-footer{display:flex;justify-content:flex-end;padding:0 18px 16px}.inventory-section-footer .inventory-section-collapse{min-height:44px;min-width:64px;font-size:14px;color:var(--theme-ink)}
@media(max-width:680px){.inventory-overview .stat{display:block;padding:12px}.inventory-overview .stat-icon{display:none}.inventory-overview .stat-label{font-size:12px;line-height:1.5;margin-bottom:6px}.inventory-overview .stat-number{font-size:20px;line-height:1.3}.inventory-overview .stat small{font-size:11px;line-height:1.55;margin-top:6px}.inventory-section>summary{padding:14px 12px;gap:10px}.inventory-list-content{padding:12px 8px}.inventory-section-footer{padding:0 12px 12px}.inventory-management-tools{padding:14px 12px}.inventory-history-content>.stat{padding:14px}.inventory-quantity>strong{font-variant-numeric:tabular-nums}}

/* Customer tasks stay distinct; native disclosure keeps inputs and record controls intact. */
.customer-mode-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.customer-mode-buttons .btn{display:flex;flex-direction:column;gap:4px;min-height:68px;padding:10px 6px;white-space:normal;text-align:center}
.customer-mode-buttons strong{font-size:16px;line-height:1.4}.customer-mode-buttons small{font-size:12px;line-height:1.5;color:inherit}
.customer-section{margin:0 0 14px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-paper)}
.customer-section>summary{display:flex;align-items:center;gap:12px;min-height:80px;padding:14px 16px;list-style:none;cursor:pointer;touch-action:manipulation;background:var(--theme-selected);color:var(--theme-ink);border-radius:11px;scroll-margin-top:12px}
.customer-section>summary::-webkit-details-marker{display:none}.customer-section>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}
.customer-section[open]>summary{border-radius:11px 11px 0 0;border-bottom:1px solid var(--theme-line)}
.customer-section-copy{min-width:0;flex:1}.customer-section-copy h2{font-size:16px;line-height:1.5;letter-spacing:-.02em}
.customer-section-status{display:block;margin-top:4px;color:var(--theme-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.customer-section-indicator{display:grid;place-items:center;width:24px;height:24px;flex:none;transform:rotate(90deg)}.customer-section[open]>summary .customer-section-indicator{transform:rotate(-90deg)}
.customer-section-content{padding:12px 14px 0;min-width:0}.customer-section-footer{display:flex;justify-content:flex-end;padding:4px 0 12px}.customer-section-footer .customer-section-collapse{min-height:44px;min-width:64px;font-size:14px;color:var(--theme-ink)}
.customer-section-content .customer-search-row{background:var(--theme-paper)}.customer-section-content .customer-contact-help{margin:12px 0}
.care-more-options.customer-section{margin:0 0 14px}.customer-section-content .customer-list{gap:0}.customer-section-content .customer-card{border:0;border-radius:0;box-shadow:none;background:transparent;border-bottom:1px solid var(--theme-line);margin:0}
@media(max-width:680px){.customer-section>summary{padding:14px 12px}.customer-section-content{padding:10px 8px 0}.customer-mode-buttons{margin-bottom:14px}.customer-section-content .care-target-filters{margin-top:0}.customer-section-content .customer-card{padding:14px 4px}.customer-section-content .customer-search-row>.btn{padding-inline:8px;font-size:12px}.customer-section-content .care-target-selects{gap:8px}.customer-section-content .care-target-selects>label{min-width:0}}

#prepaid-form [hidden]{display:none!important}.prepaid-entry-summary{padding:14px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-selected)}.prepaid-entry-summary p{font-size:13px;line-height:1.6;margin-top:8px}.prepaid-entry-summary dl{margin:12px 0;display:grid;gap:10px}.prepaid-entry-summary dl>div{display:flex;gap:12px;justify-content:space-between}.prepaid-entry-summary dt{font-size:14px}.prepaid-entry-summary dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.modal:has(#prepaid-form) .modal-footer>.btn,.modal:has(#prepaid-correction-form) .modal-footer>.btn{min-height:48px}

.operator-identity{display:inline-flex!important;align-items:center;max-width:150px;font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Two lines per payment: date/customer/amount, then items/detail. */
.revenue-payment-list{margin:0;padding:0;list-style:none}
.revenue-payment{display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(96px,max-content);grid-template-rows:24px 44px;column-gap:8px;row-gap:2px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--line)}
.revenue-payment:last-child{border-bottom:0}
.revenue-payment>time{grid-column:1;grid-row:1;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
.revenue-payment-customer{grid-column:2;grid-row:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.revenue-payment-total{grid-column:3;grid-row:1;text-align:right;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em;color:var(--ink)}
.revenue-payment-items{grid-column:1 / 3;grid-row:2;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.revenue-payment>.btn{grid-column:3;grid-row:2;justify-self:stretch;align-self:stretch;width:100%;height:44px;min-height:44px;min-width:0;padding:0 12px;line-height:1;border-radius:6px;background:var(--theme-action);border-color:var(--theme-action);color:var(--theme-action-ink)}
.revenue-payment>.btn:hover,.revenue-payment>.btn:active{background:var(--theme-ink);border-color:var(--theme-ink);color:var(--theme-bg)}
.revenue-payment>.btn:active{transform:none}
.revenue-payment>.btn:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
@media(max-width:680px){.revenue-payment{padding:8px 16px}.revenue-payment-total{font-size:16px}}

/* Payment history pagination keeps period totals separate from visible rows. */
.revenue-payment-toolbar{padding:14px 20px 10px;scroll-margin-top:12px}
.revenue-payment-range{margin:0 0 8px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.revenue-payment-range>span{margin-left:8px;font-size:12px}
.revenue-payment-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.revenue-page-size{flex:0 0 84px;margin:0}
.revenue-page-size select{width:84px;height:44px;min-height:44px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--theme-control);color:var(--ink);font:600 14px var(--font-ui,system-ui)}
.revenue-pagination{display:flex;align-items:center;gap:4px}
.revenue-pagination>.btn{min-width:40px;min-height:44px;height:44px;padding:0 8px;border-radius:6px;font-size:14px;font-variant-numeric:tabular-nums}
.revenue-pagination>.btn[aria-current="page"]{background:var(--theme-action);border-color:var(--theme-action);color:var(--theme-action-ink)}
.revenue-pagination>.btn:disabled{opacity:.4;cursor:default}
.revenue-payment-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 20px}
.revenue-payment-bottom>small{font-size:12px;color:var(--muted);white-space:nowrap}
.revenue-payment-toolbar:focus{outline:none}
@media(max-width:680px){.revenue-payment-toolbar{padding:12px 16px 8px}.revenue-payment-bottom{padding:10px 16px}.revenue-payment-range>span{margin-left:4px}}
.revenue-page-size>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(min-width:350px) and (max-width:680px){.revenue-page-size{flex-basis:64px}.revenue-page-size select{width:64px;padding:0 4px}.revenue-payment-controls{gap:6px}.revenue-pagination{gap:2px}}

/* Search results and revisit targets share compact, independent pagination. */
.customer-pagination-top{margin:12px 0;scroll-margin-top:12px}
.customer-page-range{margin:0 0 8px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.customer-page-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.customer-page-controls>select{flex:0 0 84px;width:84px;height:44px;min-height:44px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--theme-control);color:var(--ink);font:600 14px var(--font-ui,system-ui)}
.customer-pagination{display:flex;align-items:center;gap:4px}
.customer-pagination>.btn{min-width:40px;min-height:44px;height:44px;padding:0 8px;border-radius:6px;font-size:14px;font-variant-numeric:tabular-nums}
.customer-pagination>.btn[aria-current="page"]{background:var(--theme-action);border-color:var(--theme-action);color:var(--theme-action-ink)}
.customer-pagination>.btn:disabled{opacity:.4;cursor:default}
.customer-pagination-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0}
.customer-pagination-bottom>small{font-size:12px;color:var(--muted);white-space:nowrap}
.customer-pagination-top:focus{outline:none}
@media(min-width:350px) and (max-width:680px){.customer-page-controls{gap:6px}.customer-page-controls>select{flex-basis:64px;width:64px;padding:0 4px}.customer-pagination{gap:2px}}

#inventory-results .customer-pagination-top,#inventory-results .customer-pagination-bottom{margin:12px 0}
.inventory-group .card-head>span{white-space:nowrap;font-variant-numeric:tabular-nums}

.inventory-history-rows>.customer-pagination-top,.inventory-history-rows>.customer-pagination-bottom{margin:12px 14px}

.audit-history-modal #audit-history>.customer-pagination-top,.audit-history-modal #audit-history>.customer-pagination-bottom{margin:12px 0}
.audit-entries .transaction>span{min-width:0;overflow-wrap:anywhere}
.audit-entries .transaction>small{flex:0 0 auto;max-width:42%;text-align:right;font-variant-numeric:tabular-nums}

#customer-visit-history .history-item{overflow-wrap:anywhere}
#customer-visit-history .history-item-head{gap:8px;flex-wrap:wrap}
.customer-note-modal #customer-visits-pagination{scroll-margin-top:76px}

.prepaid-history-entries .transaction>div{min-width:0;overflow-wrap:anywhere}
.prepaid-history-entries .transaction>strong{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}

.message-history-entries .transaction>div{min-width:0;overflow-wrap:anywhere}
.message-history-entries .transaction>.badge{flex-shrink:0}

.coupon-event-entry{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.coupon-event-history .customer-pagination-top,.coupon-event-history .customer-pagination-bottom{margin:10px 0}

.customer-note-modal #customer-purchases-pagination,.customer-note-modal #imported-purchases-pagination{scroll-margin-top:76px}

/* Customer identity badges use approval records, with theme-aware text and surfaces. */
.customer-name-row{display:flex;align-items:center;gap:5px 7px;flex-wrap:wrap}
.customer-profile .customer-name-row>strong{display:inline}
.customer-connection-badge{display:inline-flex;align-items:center;max-width:100%;padding:2px 6px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.6;white-space:nowrap;color:var(--theme-muted);background:var(--theme-bg)}
.customer-connection-badge.connected{color:var(--theme-action);background:var(--theme-selected)}
:root[data-theme="dark"] .customer-connection-badge.connected{color:var(--theme-ink)}
.customer-connection-badge.pending,.customer-connection-badge.unknown{color:var(--theme-warning);background:var(--theme-warning-bg)}
.customer-connection-detail{margin:12px 0 16px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.customer-connection-detail h3{margin:0 0 8px;font-size:13px}
.customer-connection-detail dl{margin:0;font-size:12px;line-height:1.6}
.customer-connection-detail dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;margin-top:4px}
.customer-connection-detail dt{color:var(--muted)}
.customer-connection-detail dd{margin:0;overflow-wrap:anywhere}
.customer-connection-detail .field-help{margin:7px 0 0}

/* Coupon expiry outreach: preserve customer and coupon state. */
.care-view-buttons{display:flex;gap:8px;margin:0 0 16px}.care-view-buttons>.btn{flex:1;min-height:44px;white-space:normal}.coupon-expiry-filters{display:grid;gap:8px;margin:0 0 8px}.coupon-expiry-filters>div{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:10px;align-items:center;font-size:13px}.coupon-expiry-filters select{min-height:46px;font-size:16px}.coupon-expiry-filters .check{min-height:44px}.coupon-expiry-list .customer-card{min-width:0}.coupon-expiry-item{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.coupon-expiry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.coupon-expiry-heading>strong{min-width:0;font-size:15px}.coupon-expiry-deadline{flex-shrink:0;font-weight:700;color:var(--ink);font-size:14px}.coupon-expiry-item p{margin:6px 0}.coupon-expiry-item .actions{flex-wrap:wrap}.coupon-expiry-item .btn{min-height:44px}.coupon-outreach-record{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.coupon-outreach-record select,.coupon-outreach-record textarea{width:100%;font-size:16px;min-height:44px}.coupon-outreach-record .check{min-height:44px;font-size:13px}.coupon-outreach-record button{min-height:44px}.coupon-outreach-history>summary{min-height:44px;padding:12px 0;cursor:pointer}.coupon-outreach-history .care-history-item{font-size:13px}
@media(max-width:680px){.care-view-buttons{gap:6px}.care-view-buttons>.btn{padding-inline:8px;font-size:14px}.coupon-expiry-item .actions>.btn{flex:1 1 120px}.coupon-expiry-heading{flex-wrap:wrap}.coupon-outreach-record button{width:100%}}

.coupon-expiry-filters .check{min-height:44px;font-size:13px}.coupon-expiry-item .field-help{font-size:12px;line-height:1.6}

.customer-guide-preview{margin:16px 0}.customer-guide-preview>summary{min-height:44px;padding:12px 0;cursor:pointer}.customer-guide-preview>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.customer-guide-preview>.btn{width:100%;min-height:48px;white-space:normal}.reservation-guide-modal .modal-footer .guide-share-button{grid-column:1/-1;min-height:48px}.reservation-guide-modal .modal-footer .btn{white-space:normal}.reservation-guide-modal .modal-content{scroll-padding-bottom:16px}

/* Customer overview: existing brand surfaces, independent holdings and clear direct actions. */
.customer-benefits{margin:8px 0 16px}.customer-benefits>h3{font-size:14px;margin:0 0 4px}.customer-benefit-row{padding:10px 0;border-bottom:1px solid var(--line)}.customer-benefit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.customer-benefit-heading h4{font-size:14px;margin:0;font-weight:650}.customer-benefit-heading>strong{font-size:19px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.customer-benefit-row .field-help{margin:3px 0 7px;overflow-wrap:anywhere}.customer-benefit-row .actions{display:flex;gap:8px;margin:0;flex-wrap:wrap}.customer-benefit-row .actions .btn{min-height:44px;flex:1 1 100px;justify-content:center;font-size:13px}.customer-benefit-warning{font-size:12px;line-height:1.6;margin:3px 0 7px;color:var(--ink);overflow-wrap:anywhere}.customer-detail-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-detail-tabs .btn{font-size:12px}.customer-detail-last{font-size:13px;line-height:1.6}.customer-detail-subtitle{font-size:14px;margin:14px 0 8px}.customer-note-modal .customer-note-header{margin-bottom:10px}.customer-note-modal .modal-content{scroll-padding-bottom:16px}.customer-info-credit{gap:8px 14px}.customer-info-more{margin-top:12px;width:100%}
@media(max-width:360px){.customer-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-benefit-heading>strong{font-size:18px}}

/* One primary sharing action across coupon, booking and revisit guides. */
:root{--kakao-action:#fee500;--kakao-action-hover:#f0d900;--kakao-action-ink:#191919}
.modal .modal-footer .kakao-share-action{grid-column:1/-1;min-height:54px;width:100%;padding:13px 16px;border-color:var(--kakao-action);background:var(--kakao-action);color:var(--kakao-action-ink);font-size:16px;font-weight:750;white-space:normal;line-height:1.5}
.modal .modal-footer .kakao-share-action:hover:not(:disabled){background:var(--kakao-action-hover);border-color:var(--kakao-action-hover)}.modal .modal-footer .kakao-share-action:disabled{opacity:.72;cursor:wait}.modal .modal-footer .kakao-share-action:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.kakao-share-help{grid-column:1/-1;font-size:12px;line-height:1.5;color:var(--ink);text-align:center;margin:-2px 0 3px}
.customer-guide-preview,.coupon-share-preview{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid var(--line)}.customer-guide-preview>h3,.coupon-share-preview>h3{font-size:14px;margin:0 0 10px}.customer-guide-preview>p,.coupon-share-message{margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.customer-guide-preview>.booking-preview-link,.coupon-share-preview .booking-preview-link{display:flex;justify-content:center;min-height:48px;width:100%;white-space:normal;background:var(--sage);color:var(--ink);font-size:14px;font-weight:700}
.guide-text-fallback{margin:14px 0}.guide-text-fallback>summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}.guide-text-fallback textarea{width:100%;line-height:1.7;margin-top:6px}.reservation-guide-modal .modal-footer .btn:not(.kakao-share-action){font-size:13px}

/* Keep revisit booking and sharing visible together; only the message scrolls. */
.care-guide-modal .modal-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;flex-shrink:0}
.care-guide-modal .modal-footer>.booking-preview-link{display:flex;align-items:center;justify-content:center;grid-column:1/-1;width:100%;min-height:48px;background:var(--sage);color:var(--ink);font-size:14px;font-weight:700;white-space:normal}
.care-guide-modal .modal-footer .kakao-share-help{margin:0;font-size:12px}
.care-guide-secondary{margin:12px 0}.care-guide-secondary>summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}.care-guide-secondary .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.care-guide-secondary .actions>.btn{min-height:44px;white-space:normal;font-size:13px;justify-content:center}

/* Booking and coupon guides match the fixed revisit primary actions. */
.fixed-guide-modal .modal-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;flex-shrink:0}
.fixed-guide-modal .modal-footer .booking-preview-link{display:flex;align-items:center;justify-content:center;grid-column:1/-1;width:100%;min-height:48px;background:var(--sage);color:var(--ink);font-size:14px;font-weight:700;white-space:normal}
.fixed-guide-modal .modal-footer .kakao-share-help{margin:0;font-size:12px}
.fixed-guide-modal .coupon-guide-actions{grid-template-columns:minmax(0,1fr)}.guide-booking-slot{grid-column:1/-1;min-height:48px}.guide-booking-slot>.field-help{margin:0;min-height:48px;display:flex;align-items:center;justify-content:center}

/* Opening copy text reveals its contents inside the modal, without opening a keyboard. */
.guide-text-fallback{scroll-margin-top:8px}.guide-text-fallback[open]>summary{color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:8px}.guide-text-fallback[open] textarea{font-size:14px;min-height:220px;max-height:none;resize:vertical}

/* Direct SMS and Kakao actions share one fixed row. */
.modal .modal-footer .guide-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;grid-column:1/-1}.modal .modal-footer .guide-primary-actions>.btn{display:flex;align-items:center;justify-content:center;grid-column:auto;min-width:0;min-height:54px;width:100%;padding:12px 8px;font-size:16px;font-weight:700;line-height:1.5;text-align:center;white-space:normal;overflow-wrap:anywhere}.modal .modal-footer .guide-primary-actions>.kakao-share-help{grid-column:1/-1;margin:0}.modal .modal-footer .guide-sms-action{background:var(--sage);color:var(--ink);border-color:var(--line)}

/* One direct copy action replaces the extra coupon guide menu. */
.coupon-guide-copy-actions{margin:12px 0 16px}.coupon-guide-copy-actions>.btn{width:100%;min-height:44px;justify-content:center;font-size:14px}

/* Owner-approved concise coupon sending instructions. */
.coupon-owner-instruction{font-size:15px;line-height:1.6;color:var(--ink);margin:12px 0 16px}.coupon-owner-instruction strong{font-weight:700}

/* Shop-wide customer list visibility controls remain compact on phones. */
.customer-page-setting-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.customer-page-setting-row>label{margin:0;font-size:15px;font-weight:600;line-height:1.5}.customer-page-setting-row>select{min-height:44px;width:100%;font-size:16px}#customer-page-sections-form>.btn{margin-top:8px;min-height:48px;width:100%}

/* Promotion dates use the existing form vocabulary at mobile sizes. */
.promotion-period{border:0;padding:0;margin:20px 0}.promotion-period>legend{font-size:15px;font-weight:700;margin-bottom:8px}.promotion-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.promotion-period-fields>div{min-width:0}.promotion-period-fields input[type=date]{box-sizing:border-box;width:100%;min-width:0;min-height:46px;font-size:16px}.promotion-period-fields .field-label{margin-top:0}

.promotion-owner-row{padding:14px 0;border-bottom:1px solid var(--line)}.promotion-owner-row:last-child{border-bottom:0}.promotion-owner-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.promotion-owner-heading>strong{min-width:0;overflow-wrap:anywhere;font-size:16px}.promotion-owner-heading>.btn{flex-shrink:0;min-width:64px;min-height:44px}.promotion-owner-row>p{font-size:14px;line-height:1.6;overflow-wrap:anywhere;margin:8px 0 0}#promotion-visible{font-size:16px;min-height:46px;width:100%}

.promotion-owner-status{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px;font-size:14px;line-height:1.6}.promotion-owner-status>span{color:var(--ink)}.promotion-owner-status b{color:var(--ink);margin-left:4px}

.promotion-owner-exposure{margin-top:10px;padding:10px 12px;background:var(--amber);color:var(--theme-warning,var(--ink));border-radius:8px;line-height:1.6;overflow-wrap:anywhere}.promotion-owner-exposure[data-visible=true]{background:var(--sage);color:var(--ink)}.promotion-owner-exposure>strong{display:block;font-size:15px;font-weight:700}.promotion-owner-exposure>span{display:block;font-size:14px}.promotion-owner-exposure>span[hidden]{display:none}

/* Customer-request acceptance and owner-confirmed contact */
.reservation-contact-summary{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--sage);color:var(--ink)}.reservation-contact-summary strong{font-size:16px}.reservation-contact-summary p{margin:6px 0 0;font-size:14px;line-height:1.6}.reservation-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.reservation-contact-actions .btn,.reservation-consult-channels .btn{min-height:48px;justify-content:center;font-size:15px;white-space:normal}.reservation-consult-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reservation-contact-intro,.reservation-consult-text{font-size:15px;line-height:1.7}.reservation-consult-text{white-space:pre-wrap}.reservation-contact-history{margin:16px 0;border-top:1px solid var(--line)}.reservation-contact-history summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:14px;font-weight:600}.reservation-contact-history article{padding:12px 0;border-bottom:1px solid var(--line)}.reservation-contact-history article p{margin:6px 0;font-size:14px}.reservation-contact-history article small{color:var(--muted);font-size:13px}.reservation-contact-confirm{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:10px}.reservation-contact-confirm select{min-height:44px;font-size:15px}.reservation-contact-confirm label{font-size:14px}.reservation-contact-confirm p,.reservation-contact-confirm .btn{grid-column:1/-1;margin:0}.reservation-contact-confirm p{font-size:13px;line-height:1.5}.reservation-contact-confirm .reservation-contact-final-target{font-size:15px;font-weight:650}.reservation-contact-confirm .btn{min-height:48px;justify-content:center;font-size:16px}.reservation-contact-guide .modal-footer{display:flex;flex-wrap:wrap;max-height:52dvh;overflow-y:auto}.reservation-contact-state{font-size:14px;font-weight:650}.reservation-contact-guide .modal-footer .guide-primary-actions{width:100%}.reservation-contact-guide .modal-footer .kakao-share-help{font-size:12px}

/* Manual Naver reflection stays separate from customer confirmation. */
.naver-reflection{margin:16px 0;padding:16px 0;border-block:1px solid var(--line);color:var(--ink)}.naver-reflection-heading{display:flex;align-items:center;min-height:44px;padding:10px 12px;background:var(--sage);color:var(--ink);border-radius:8px}.naver-reflection-heading[data-state=recheck],.naver-reflection-heading[data-state=needed]{background:var(--amber);color:var(--theme-warning,var(--ink))}.naver-reflection-heading strong{font-size:16px}.naver-reflection p{font-size:14px;line-height:1.65;margin:10px 0;overflow-wrap:anywhere}.naver-reflection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.naver-reflection-actions>.btn{min-height:48px;justify-content:center;font-size:15px;white-space:normal;text-align:center}.naver-reflection-history{margin-top:12px}.naver-reflection-history summary{min-height:44px;padding:12px 0;font-size:14px;font-weight:600;cursor:pointer}.naver-reflection-history article{padding:12px 0;border-top:1px solid var(--line)}.naver-reflection-history article strong{font-size:14px}.naver-reflection-history article p{margin:6px 0}.naver-reflection-history small{font-size:14px;color:var(--muted)}.naver-reflection-marker{font-size:13px;line-height:1.5;color:var(--theme-warning,var(--ink));background:var(--amber);padding:3px 6px;border-radius:4px}.naver-cancelled-review{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.naver-cancelled-review>.btn{min-height:44px;white-space:normal}

.naver-reflection-actions>.btn span{word-break:keep-all;overflow-wrap:normal;text-wrap:balance}

/* The request-stage selector stays inside the existing pending-request dialog. */
.booking-request-filters{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:0 0 12px}.booking-request-filters label{font-size:15px;font-weight:600;margin:0}.booking-request-filters select{width:100%;min-width:0;min-height:46px;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 10px}

/* Pending request priorities stay inside the existing dialog. */
.booking-request-order{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 12px}.booking-request-today{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--theme-warning,var(--ink))}.booking-request-entry[data-priority="today"]{background:var(--amber);border-color:var(--line)}.booking-request-wait{font-size:15px;font-weight:600;line-height:1.6;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:8px 0 12px}

/* Temporary closures use the native mobile calendar and explicit draft controls. */
.holiday-picker{min-width:0}.holiday-picker h3{margin-bottom:12px}.holiday-picker-row{display:flex;align-items:flex-end;gap:8px}.holiday-picker-date{display:block;flex:1;min-width:0}.holiday-picker-date input{display:block;width:100%;min-width:0;min-height:44px;color-scheme:inherit}.holiday-picker-row>.btn,.holiday-picker-list .btn{min-height:44px}.holiday-picker>.field-help{margin-top:10px}.holiday-picker-list{list-style:none;padding:0;margin:12px 0 0}.holiday-picker-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.holiday-picker-list li>span{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.holiday-picker-status:empty{display:none}

@media(max-width:360px){#settings-form .form-grid{grid-template-columns:minmax(0,1fr)}#settings-form .form-grid>*{min-width:0}}

/* Seven native checkboxes presented as equal-width weekday buttons. */
.weekday-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%}.weekday-option{position:relative;display:block;min-width:0;cursor:pointer}.weekday-option input{position:absolute;width:1px;height:1px;margin:0;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.weekday-option span{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--theme-control);color:var(--ink);font-size:14px;font-weight:600;line-height:1.2}.weekday-option:hover span{background:var(--theme-selected)}.weekday-option input:checked+span{background:var(--theme-action);border-color:var(--theme-action);color:var(--theme-action-ink)}.weekday-option input:focus-visible+span{outline:2px solid var(--theme-focus);outline-offset:2px}

.settings-section[data-settings-section="owner-push"] .card-head,.settings-section[data-settings-section="customer-notice"] .card-head{display:none}.owner-push-setting-copy{font-size:14px;line-height:1.65;margin-bottom:16px}.owner-push-setting-help{margin:14px 0 10px}.customer-notice-content{min-width:0}.customer-notice-content>.field-help{margin:12px 0 18px}.customer-notice-content .form-grid{grid-template-columns:minmax(0,1fr);gap:14px}.customer-notice-content .check{align-items:flex-start;font-size:14px}.customer-notice-content input[type=time]{min-width:0;max-width:100%}.customer-notice-content .actions{margin-top:18px}

/* Customer booking setup follows the owner's sequence without rebuilding its forms. */
.booking-settings-overview{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--theme-line)}
.booking-settings-overview p{margin:0;max-width:60ch;font-size:15px;line-height:1.7;color:var(--theme-ink)}
.booking-settings-overview .btn{flex-shrink:0;min-height:48px}
.booking-settings-step{border-bottom:1px solid var(--theme-line)}
.booking-settings-step>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:78px;padding:16px 20px;background:var(--service-category-surface);color:var(--theme-ink);scroll-margin-top:16px}
.booking-settings-step>summary::-webkit-details-marker{display:none}
.booking-settings-step>summary strong{display:block;font-size:17px;line-height:1.5;font-weight:700}
.booking-settings-step>summary:focus-visible{outline:3px solid var(--theme-focus);outline-offset:-3px}
.booking-settings-step[open]>summary{border-bottom:1px solid var(--theme-line)}
.booking-settings-step[open]>summary .settings-section-indicator{transform:rotate(-90deg)}
.booking-settings-step-content{background:var(--theme-paper)}
.booking-settings-step-content>.card{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.booking-settings-step-content .card-head h2{display:none}
.booking-settings-step-content .card-head[hidden]{display:none}
.booking-settings-step-content .card-head{justify-content:flex-end;border:0;padding-bottom:0}
.booking-settings-step-content .card-body{padding-top:18px}
.booking-settings-step-footer{display:flex;justify-content:flex-end;padding:0 20px 18px}
.booking-settings-step-footer .btn{min-height:44px;min-width:64px}
.booking-policy-save{margin-top:16px;min-height:48px}
.booking-settings-secondary{margin-top:20px;border-top:1px solid var(--theme-line);padding-top:8px}
.booking-settings-secondary>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:15px;color:var(--theme-ink)}
.booking-settings-url{width:100%;font-size:16px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.booking-settings-overview{display:block;padding:16px}.booking-settings-overview .btn{margin-top:14px;width:100%;justify-content:center}.booking-settings-step>summary{padding:16px}.booking-settings-step-footer{padding:0 16px 16px}}

/* Unsaved welcome preview shares customer markup and palette. */
.welcome-draft-preview .shop-welcome-header{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.welcome-draft-preview .shop-welcome-header strong{font-size:24px;overflow-wrap:anywhere}.welcome-draft-preview .shop-welcome-header span{font-size:12px;color:var(--text-667168,#667168);flex-shrink:0}
.welcome-draft-preview .shop-welcome-hero{display:block;width:100%;height:auto;max-height:min(36dvh,320px);object-fit:contain;background:var(--surface-f0eee6,#f0eee6)}
.welcome-draft-preview .shop-welcome-placeholder{padding:40px 24px;text-align:center;font-size:30px;background:var(--surface-e9eee5,#e9eee5);color:var(--text-294f42,#294f42);overflow-wrap:anywhere}
.welcome-draft-preview .shop-welcome-greeting{padding:22px 20px 14px}.welcome-draft-preview .shop-welcome-greeting h1{font-size:clamp(23px,6vw,32px);line-height:1.35;margin:0 0 12px;white-space:pre-line;overflow-wrap:anywhere}
.welcome-draft-preview .shop-welcome-greeting p{margin:0 0 20px;line-height:1.65;font-size:17px;white-space:pre-line;overflow-wrap:anywhere}
.welcome-draft-preview .shop-reserve-button{display:flex;justify-content:center;align-items:center;gap:18px;min-height:60px;border-radius:12px;background:var(--surface-244c3c,#244c3c);color:var(--text-ffffff,#fff);text-decoration:none;font-weight:750;font-size:22px;padding:12px 20px}
.welcome-draft-preview .shop-reserve-button:focus-visible{outline:3px solid var(--line-a87935,#a87935);outline-offset:3px}.welcome-draft-preview .shop-welcome-greeting small{display:block;text-align:center;margin-top:10px;color:var(--text-657268,#657268);font-size:13px}
.welcome-draft-preview .shop-welcome-news{padding:20px;border-top:1px solid var(--line-e1e5dd,#e1e5dd);margin-top:12px}.welcome-draft-preview .shop-welcome-news h2{font-size:19px}.welcome-draft-preview .shop-welcome-news p{font-size:15px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere;margin:0}
.welcome-draft-preview .shop-welcome-channel{padding:0 20px}.welcome-draft-preview .shop-welcome-channel a{display:inline-flex;min-height:44px;align-items:center;font-size:14px}.welcome-draft-preview .shop-welcome-footer{text-align:center;padding:22px 16px;color:var(--text-747b74,#747b74);font-size:12px}
.welcome-draft-preview{width:100%;max-width:360px;margin:0 auto;background:var(--theme-paper);color:var(--theme-ink);overflow:hidden;border:1px solid var(--theme-line)}
.welcome-draft-preview .welcome-draft-link{pointer-events:none}
.welcome-draft-preview .shop-welcome-greeting .welcome-draft-link{display:flex;justify-content:center;align-items:center;min-height:60px;padding:12px 20px;background:var(--theme-action);color:var(--theme-action-ink);border-radius:12px;font-size:22px;font-weight:750}
#welcome-draft-view[hidden]{display:none}#welcome-draft-view:focus{outline:none}

/* Compact promotion management: count, name, actual exposure and dates. */
[data-owner-promotion-card] .promotion-owner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.promotion-owner-toolbar p{margin:0;font-size:15px;line-height:1.6;color:var(--theme-ink)}
.promotion-owner-toolbar>.btn{flex-shrink:0;min-height:44px}
[data-owner-promotion-card] .promotion-owner-row{padding:12px 0}
[data-owner-promotion-card] .promotion-owner-exposure{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 8px;margin-top:6px;padding:4px 8px;max-width:100%}
[data-owner-promotion-card] .promotion-owner-exposure>strong,[data-owner-promotion-card] .promotion-owner-exposure>span{font-size:14px;line-height:1.6}
[data-owner-promotion-card] .promotion-owner-period{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--theme-muted)}
.promotion-owner-empty{margin:14px 0 0;font-size:15px;line-height:1.7;color:var(--theme-muted)}

.customer-page-setting-help{margin:0 0 16px;font-size:16px;line-height:1.65;color:var(--theme-ink);overflow-wrap:anywhere}

.booking-services-copy{margin:0 0 14px;font-size:16px;line-height:1.65;color:var(--theme-ink);overflow-wrap:anywhere}

.connection-setting-content p{font-size:16px;line-height:1.65;color:var(--theme-ink);overflow-wrap:anywhere;margin:0 0 14px}
.connection-setting-content h3{font-size:18px;line-height:1.4;margin:0 0 14px;color:var(--theme-ink)}
.connection-setting-content .setting-row{font-size:16px;line-height:1.5;gap:12px}
.connection-setting-content .btn{min-height:44px}
.connection-setting-content .connection-message-pending:disabled{opacity:1;cursor:not-allowed;color:var(--theme-ink);background:var(--theme-selected);white-space:normal}

.settings-section>.settings-section-content>.settings-section-footer{padding-top:16px;background:var(--theme-selected);border-top:1px solid var(--theme-line)}
.settings-section-footer .settings-section-collapse{max-width:100%;white-space:normal;line-height:1.5}

.data-setting-content p,.prepaid-refund-guidance{font-size:16px;line-height:1.65;color:var(--theme-ink);overflow-wrap:anywhere;margin:0 0 16px}
.data-setting-content .setting-row{font-size:16px;line-height:1.5;gap:12px}
.data-setting-content .btn{min-height:44px}

/* Service settings guidance: readable in both themes. */
.service-setting-help{font-size:16px;line-height:1.65;color:var(--theme-ink);overflow-wrap:anywhere}

/* Compact service items with readable labels and full touch targets. */
.service-settings-group>.service-audience-section{padding:0 12px 8px}
.service-settings-group .service-audience-section h3{font-size:16px;line-height:1.5;margin:12px 0 4px}
.service-audience-section h3 span{font-size:14px}
.service-setting-item{padding:10px 0}
.service-setting-title{gap:8px}
.service-setting-title>div{flex:1;min-width:0}
.service-setting-title strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.service-setting-title small{font-size:14px;line-height:1.5;margin-top:2px;color:var(--theme-ink)}
.service-setting-title .btn{font-size:14px;min-height:44px;padding:8px 10px;flex-shrink:0}
.service-setting-controls{gap:8px;margin-top:8px}
.service-setting-controls label>span{font-size:14px;line-height:1.5;margin-bottom:4px;color:var(--theme-ink)}
.service-setting-controls select{font-size:16px;min-height:44px;padding:8px 10px}
.service-setting-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.service-setting-footer .service-setting-status{flex:1;min-width:0;font-size:14px;line-height:1.5;margin:0;color:var(--theme-ink);overflow-wrap:anywhere}
.service-setting-footer .btn{min-height:44px;flex-shrink:0;font-size:14px;padding:8px 10px;white-space:nowrap}
.service-setting-footer .selected{background:var(--surface-e9f1e7,#e9f1e7);color:var(--text-294f40,#294f40);border-color:var(--line-9cb49d,#9cb49d)}

/* Per-reservation overlap permission beside its date and time. */
.booking-overlap-settings{margin:8px 0 12px;padding:8px 12px;border:1px solid var(--theme-line);border-radius:12px;color:var(--theme-ink);background:var(--theme-paper)}
.booking-overlap-settings>.check{min-height:44px;margin:0;font-size:16px;line-height:1.5;align-items:center}
.booking-overlap-settings>.check input{flex-shrink:0}
#booking-overlap-status{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#booking-overlap-status p{margin:4px 0;font-size:14px;line-height:1.5}
#booking-overlap-status>strong{display:block;margin-top:4px;font-size:16px}
#booking-overlap-status ul{list-style:none;margin:4px 0;padding:0}
#booking-overlap-status li{padding:6px 0}
#booking-overlap-status li+li{border-top:1px solid var(--theme-line)}
#booking-overlap-status li>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
#booking-overlap-status time{font-variant-numeric:tabular-nums;white-space:nowrap}
#booking-overlap-status li>span{display:block;margin-top:2px}
.booking-overlap-settings.has-conflicts{background:var(--theme-warning-bg);color:var(--theme-warning)}

.booking-overlap-settings>.check{color:inherit}

/* Service editor: common fields first; optional settings stay collapsed. */
.service-edit-modal .modal-header small{font-size:14px;line-height:1.5;color:var(--theme-ink)}
.service-edit-modal .modal-content{padding:12px 16px}
.service-edit-modal #money-input-help{font-size:14px;line-height:1.5;color:var(--theme-ink);margin:0 0 12px}
#service-form .form-grid{gap:12px}
#service-form .field-label{font-size:14px;line-height:1.5;margin-bottom:4px;color:var(--theme-ink)}
#service-form input:not([type=checkbox]):not([type=hidden]),#service-form select{font-size:16px;min-height:44px}
#service-form .money-unit{font-size:14px;min-height:44px}
#service-form [data-money-preview]{font-size:14px;line-height:1.5}
#service-form .check{font-size:16px;line-height:1.5;min-height:44px;margin:0;color:var(--theme-ink)}
#service-form .field-help{font-size:14px;line-height:1.6;color:var(--theme-ink);margin:0;overflow-wrap:anywhere}
#service-form .service-advanced{border-top:1px solid var(--theme-line);margin-top:16px}
#service-form .service-advanced>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:16px;line-height:1.5;font-weight:600;min-height:48px;padding:12px 0;color:var(--theme-ink)}
#service-form .service-advanced>summary::-webkit-details-marker{display:none}
#service-form .service-advanced>summary .icon{width:18px;height:18px;transform:rotate(90deg);flex-shrink:0}
#service-form .service-advanced[open]>summary .icon{transform:rotate(-90deg)}
#service-form .service-advanced>.form-grid{padding:4px 0 12px}
.service-edit-modal .modal-footer .btn{min-height:44px;font-size:14px}

/* Owner use is separate from customer visibility; state is explicit. */
#service-form .service-owner-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
#service-form .service-owner-setting .check{flex:1;min-width:0}
#service-form .service-owner-status{flex-shrink:0;font-size:14px;line-height:1.5;padding:6px 10px;border-radius:8px;background:var(--theme-selected);color:var(--theme-ink)}
#service-form .service-owner-status[data-enabled="false"]{background:var(--theme-warning-bg);color:var(--theme-warning)}

/* Keep processing time and add-on classification in separate, named groups. */
#service-form .service-advanced-content{padding:4px 0 12px}
#service-form .service-advanced-group{min-width:0;margin:0;padding:0;border:0;display:grid;gap:10px}
#service-form .service-advanced-group+ .service-advanced-group{margin-top:18px;padding-top:18px;border-top:1px solid var(--theme-line)}
#service-form .service-advanced-group legend{float:left;width:100%;padding:0;margin:0;font-size:16px;line-height:1.5;font-weight:700;color:var(--theme-ink)}
#service-form .service-advanced-group .field-help{font-size:15px;line-height:1.6}
#service-form .service-advanced-group .form-grid{clear:both}
#service-form .service-advanced-group select{width:100%}

/* Owner work queue: task status remains the server's business status. */
.owner-notification-tools .owner-task-bell{position:relative;overflow:visible}
.owner-task-badge{position:absolute;top:-6px;right:-7px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:12px;background:#9d391f;color:#fff;font-size:12px;font-weight:750;line-height:1;box-sizing:border-box}
.owner-task-modal{max-width:560px}
.owner-task-modal .owner-task-explanation{font-size:15px;line-height:1.6;margin:0 0 20px;color:var(--theme-ink)}
.owner-task-group{padding:16px 0;border-top:1px solid var(--theme-line)}
.owner-task-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.owner-task-title h3{margin:0;font-size:17px;line-height:1.5;word-break:keep-all}
.owner-task-title:before{content:'';flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--task-color)}
.owner-task-title h3{flex:1}
.owner-task-group.connection{--task-color:#265e91;--task-surface:#eaf2fa}
.owner-task-group.booking{--task-color:#845000;--task-surface:#fff1d9}
.owner-task-group.naver{--task-color:#27623e;--task-surface:#e7f3e9}
.owner-task-number{background:var(--task-surface);color:var(--task-color);font-size:15px;font-weight:750;padding:3px 9px;border-radius:6px;white-space:nowrap}
.owner-task-check{display:inline-flex;align-items:center;gap:4px;color:var(--theme-action);font-size:14px;white-space:nowrap}
.owner-task-check .icon{width:16px;height:16px}
.owner-task-check.unknown{color:var(--theme-ink);white-space:normal}
.owner-task-group p{font-size:15px;line-height:1.55;color:var(--theme-muted);margin:8px 0 12px}
.owner-task-group .btn{min-height:44px;font-size:14px}
.owner-task-stages{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px}
.owner-task-stage{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;min-height:44px;padding:8px 6px;border:1px solid var(--theme-line);border-radius:7px;background:var(--theme-paper);color:var(--theme-ink);font:inherit;font-size:13px;cursor:pointer}
.owner-task-stage strong{font-size:15px;font-variant-numeric:tabular-nums}
.owner-task-stage.negotiating{background:var(--task-surface);color:var(--task-color)}
.owner-task-stage.notice_pending{background:var(--theme-selected);color:var(--theme-ink)}
.owner-task-stage:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
.owner-task-modal .owner-task-today{color:var(--task-color);font-weight:700}
.owner-task-footnote{font-size:14px;line-height:1.6;color:var(--theme-muted);margin:12px 0 0}
.owner-task-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid var(--theme-line)}
.owner-task-list article>div{min-width:0;overflow-wrap:anywhere}
.owner-task-list p{margin:5px 0;font-size:15px}
.owner-task-list article span{font-size:14px;color:var(--theme-muted)}
.owner-task-list .btn{flex-shrink:0;min-height:44px}
.owner-task-modal .modal-footer{gap:8px}
.owner-push-banner:has(#owner-deferred-alert[hidden]){display:none}
:root[data-theme="dark"] .owner-task-group.connection{--task-color:#b5d9ff;--task-surface:#233d54}
:root[data-theme="dark"] .owner-task-group.booking{--task-color:#ffd697;--task-surface:#493922}
:root[data-theme="dark"] .owner-task-group.naver{--task-color:#b0e1be;--task-surface:#284332}
:root[data-theme="dark"] .owner-task-check{color:#b0e1be}
:root[data-theme="dark"] .owner-task-check.unknown{color:var(--theme-ink)}

/* Inline task lists open from their actual numeric count. */
.owner-task-count-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:64px;min-height:44px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:7px;background:var(--task-surface);color:var(--task-color);font:inherit;font-size:16px;font-weight:750;cursor:pointer;font-variant-numeric:tabular-nums}
.owner-task-count-toggle .icon{width:17px;height:17px;transform:rotate(90deg)}
.owner-task-count-toggle[aria-expanded="true"] .icon{transform:rotate(-90deg)}
.owner-task-count-toggle:hover{border-color:var(--task-color)}
.owner-task-count-toggle:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
.owner-task-modal .owner-task-title{margin-bottom:0}
.owner-task-panel{padding-top:12px}
.owner-task-panel[hidden]{display:none}
.owner-task-inline-help{margin-top:0!important}
.owner-task-inline-filter label{display:block;font-size:14px;font-weight:650;margin-bottom:6px}
.owner-task-inline-filter select{width:100%;min-height:44px;font-size:15px}
.owner-task-inline-size{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin:14px 0 8px;color:var(--theme-muted)}
.owner-task-inline-size label{display:inline-flex;align-items:center;gap:6px}
.owner-task-inline-size select{width:auto;min-height:44px;font-size:14px;padding:7px}
.owner-task-modal .owner-task-empty{display:flex;align-items:center;gap:6px;color:var(--theme-ink)}
.owner-task-empty .icon{flex-shrink:0;width:18px;height:18px}
.owner-task-list small[data-owner-task-wait]{display:block;margin-top:6px;color:var(--theme-muted);font-size:13px;line-height:1.5}
.owner-task-inline-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:14px}
.owner-task-inline-collapse{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--theme-line)}
.owner-task-inline-collapse .icon{transform:rotate(-90deg);width:14px;height:14px}
@media(max-width:360px){.owner-task-modal .owner-task-title{gap:8px}.owner-task-modal .owner-task-title h3{font-size:16px}.owner-task-count-toggle{min-width:60px;padding-inline:8px}}

/* Owner header: account menu, task bell, and two explicit theme choices. */
.owner-account-menu,.owner-theme-menu{position:relative;min-width:0}
.owner-account-menu{max-width:160px}
.owner-account-menu>summary,.owner-theme-menu>summary{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:7px 8px;list-style:none;cursor:pointer;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-paper);color:var(--theme-ink);font-size:12px;line-height:1.4;white-space:nowrap}
.owner-account-menu>summary::-webkit-details-marker,.owner-theme-menu>summary::-webkit-details-marker{display:none}
.owner-account-menu .operator-identity{display:block!important;min-width:0;max-width:100%;font-size:12px;color:var(--theme-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-menu-chevron{flex:none;width:14px;height:14px;transform:rotate(90deg)}
.owner-account-menu[open]>summary>.header-menu-chevron,.owner-theme-menu[open]>summary>.header-menu-chevron{transform:rotate(-90deg)}
.owner-account-menu>summary:hover,.owner-theme-menu>summary:hover{border-color:var(--theme-action)}
.owner-account-menu>summary:focus-visible,.owner-theme-menu>summary:focus-visible,.owner-theme-options>button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px}
.owner-theme-control{display:flex;align-items:center;min-width:0}
.owner-theme-menu>summary{min-width:84px}
.owner-account-dropdown,.owner-theme-options{position:absolute;top:calc(100% + 6px);z-index:85;padding:8px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-paper);color:var(--theme-ink);max-width:calc(100vw - 36px)}
.owner-account-dropdown{left:0;width:205px}
.owner-theme-options{right:0;width:172px}
.owner-account-dropdown>p{font-size:13px;line-height:1.5;margin:4px 6px 10px;overflow-wrap:anywhere}
.owner-account-dropdown>.btn{width:100%;justify-content:flex-start;min-height:44px;font-size:14px}
.owner-theme-options>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px;border:0;border-radius:6px;background:var(--theme-paper);color:var(--theme-ink);font-size:14px;cursor:pointer}
.owner-theme-options>button:hover,.owner-theme-options>button[aria-pressed="true"]{background:var(--theme-selected);color:var(--theme-ink)}
.owner-theme-options .theme-option-check{width:18px;height:18px}
.owner-theme-options>button[aria-pressed="false"] .theme-option-check{visibility:hidden}
.owner-theme-options>p{margin:9px 6px 4px;font-size:12px;line-height:1.5;color:var(--theme-muted)}
@media(max-width:680px){.topbar{display:grid;grid-template-columns:minmax(36px,1fr) auto;gap:8px;height:64px;min-height:64px}.topbar .breadcrumbs{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{gap:6px;min-width:0;max-width:100%;flex-wrap:nowrap}.owner-account-menu{max-width:100px}.topbar-actions .owner-notification-tools{padding-right:4px}.owner-account-menu>summary{padding-inline:6px}}
@media(max-width:360px){.owner-account-menu{max-width:76px}}

/* Menu panels stay inside the viewport after ordering theme, account, bell. */
.owner-theme-options{left:0;right:auto}
.owner-account-dropdown{left:auto;right:0}

/* Shop industry icon follows the existing monochrome interface palette. */
.breadcrumbs strong{display:inline-flex;align-items:center;gap:8px;min-width:0}
.shop-industry-icon{display:inline-flex;flex:none;align-items:center;color:var(--ink)}
.shop-industry-icon .icon{width:19px;height:19px}
.owner-page-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-industry-row>div{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.shop-industry-row strong{display:inline-flex;align-items:center;gap:5px}
.shop-industry-row .btn{min-height:44px;flex:none}
.industry-preview{display:flex;align-items:center;gap:10px;margin-top:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.industry-preview .icon{width:28px;height:28px}
.industry-help{font-size:15px;line-height:1.7;margin:14px 0 0}
@media(max-width:680px){.breadcrumbs strong::before{content:none}.shop-industry-row>div{gap:8px}}

/* Twelve labelled choices, with no decorative corner dots or circular icon badges. */
.industry-choices{border:0;margin:0;padding:0;min-width:0}
.industry-choices legend{font-size:15px;font-weight:700;padding:0;margin-bottom:12px}
.industry-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.industry-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:84px;min-width:0;padding:10px 5px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;text-align:center;font-size:13px;line-height:1.4}
.industry-choice .icon{width:30px;height:30px;flex:none}
.industry-choice span{word-break:keep-all;overflow-wrap:anywhere}
.industry-choice input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.industry-choice:has(input:checked){border-color:var(--ink);background:var(--theme-selected);font-weight:700}
.industry-choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
@media(hover:hover){.industry-choice:hover{border-color:var(--ink)}}
.industry-preview{margin-top:12px;padding:10px 0}
.industry-help{margin-top:10px}
@media(max-width:360px){.industry-choice{font-size:12px;padding:8px 4px;min-height:84px}}

/* Gentle cheek tint stays legible with either interface palette. */
:root{--industry-blush:#c97c88}
:root[data-theme="dark"]{--industry-blush:#e3a2ad}

/* Transparent character artwork inherits the interface ink through its alpha mask. */
.industry-character-icon{display:inline-block;flex:none;background-color:currentColor;-webkit-mask-image:var(--industry-art);mask-image:var(--industry-art);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;mask-mode:alpha}
.industry-choice .industry-character-icon{width:34px;height:34px}

/* Platform identity stays distinct from each shop industry icon. */
.platform-brandmark{font-size:23px;font-weight:800;letter-spacing:-.04em;line-height:1}

/* Korean and English wordmarks share one explicit leading edge. */
.sidebar .brand>span:last-child{display:grid;justify-items:start;text-align:left}
.sidebar .brand strong,.sidebar .brand small{margin-inline:0;padding-inline:0;text-align:left}

.opening-balance-modal .notice,.opening-balance-modal .field-help{font-size:15px;line-height:1.6}.opening-balance-modal .check{font-size:15px}

.opening-balance-modal .field-label{font-size:14px;line-height:1.5}@media(max-width:480px){.opening-balance-modal .form-grid{grid-template-columns:minmax(0,1fr)}.opening-balance-modal .form-grid>*{min-width:0}.opening-balance-modal input,.opening-balance-modal select{max-width:100%;box-sizing:border-box}}

.owner-history-counts,.owner-history-help,.owner-history-review p{font-size:15px;line-height:1.65;margin:0 0 12px}.owner-history-help{color:var(--theme-muted)}.owner-history-review{padding:12px 0;margin-bottom:14px;border-bottom:1px solid var(--line)}.owner-history-item{min-width:0}.owner-history-item .history-item-head{gap:10px;align-items:flex-start;flex-wrap:wrap}.owner-history-badges{display:flex;gap:6px;flex-wrap:wrap}.owner-history-item p{font-size:15px;line-height:1.65;overflow-wrap:anywhere}.owner-history-service{font-weight:700}.owner-history-amount{font-variant-numeric:tabular-nums}.owner-history-source{margin-top:12px;font-size:14px;line-height:1.65}.owner-history-source summary{cursor:pointer;min-height:32px;display:list-item}.owner-history-source p,.owner-history-source small{overflow-wrap:anywhere}.owner-history-overlap{color:var(--theme-warning,#7c561e)}.customer-detail-last .badge{margin-left:6px}.owner-history-note{white-space:pre-wrap}

.owner-history-item .badge{font-size:12px;line-height:1.5}.owner-history-amount{color:var(--theme-ink);font-weight:600}

.past-visit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}
.past-visit-head h3{margin:0;font-size:16px}.past-visit-head .btn{min-height:44px}
.past-visit-help,.past-visit-modal p,.past-visit-fields label,.past-visit-modal form>label{font-size:15px;line-height:1.6}
.past-visit-help{margin:0 0 16px;color:var(--theme-muted)}
.past-visit-fields{display:grid;gap:16px}.past-visit-fields label,.past-visit-modal form>label:not(.check){display:grid;gap:6px;font-weight:600}
.past-visit-fields input,.past-visit-fields select,.past-visit-fields textarea,.past-visit-modal form>label input{max-width:100%;width:100%;box-sizing:border-box;font-size:16px;min-height:44px}
.past-visit-fields>div:empty{display:none}.past-visit-amount{font-size:14px;color:var(--theme-muted);font-weight:400}
.past-visit-more summary{font-size:15px;cursor:pointer}.past-visit-more label{margin-top:12px}
.past-visit-matches{border:1px solid var(--line);padding:12px;border-radius:12px;overflow-wrap:anywhere}.past-visit-matches p{margin:6px 0}
.past-visit-result{padding:14px 0;border-block:1px solid var(--line);font-size:17px!important;overflow-wrap:anywhere}
.past-visit-summary{margin-top:16px}.past-visit-modal .modal-footer{display:flex;gap:10px}.past-visit-modal .modal-footer>.btn{flex:1;min-width:0;min-height:48px}
.past-visit-modal .check{margin-top:18px;display:flex;align-items:flex-start;gap:8px}.past-visit-modal .check input{width:auto;min-height:20px;flex:none;margin-top:3px}
.past-visit-drafts{margin-bottom:16px}.past-visit-drafts summary{font-size:15px;font-weight:600;cursor:pointer}.past-visit-draft{padding:12px 0;border-bottom:1px solid var(--line)}.past-visit-draft p{font-size:15px;margin:4px 0}
.past-visit-evidence{font-size:14px}.past-visit-evidence summary{cursor:pointer}.past-visit-evidence p{overflow-wrap:anywhere}

/* Owner light mode uses white base surfaces; semantic fills and dark mode keep their palette. */
:root[data-theme="light"]{--theme-bg:#fff;--theme-paper:#fff;--theme-control:#fff;--surface-fffdf7:#fff;--surface-fdfcf8:#fff;--surface-fbfbf5:#fff;--surface-fffefa:#fff;--surface-fffefaed:#ffffffed}


/* Customer list: shared rows keep dates and family information aligned. */
.customer-info-card{container-type:inline-size;container-name:customer-list-card}
.customer-list-header{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:start}
.customer-list-left,.customer-list-actions{min-width:0}
.customer-list-left .customer-profile{width:100%;min-width:0;align-items:flex-start;text-align:left}
.customer-list-left .avatar,.customer-list-left .customer-identity>small{display:none}
.customer-list-left .customer-identity{display:block;min-width:0;width:100%}
.customer-list-left .customer-name-row{display:block}
.customer-list-left .customer-name-row strong{display:block;font-size:16px;line-height:1.5;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.customer-list-actions .customer-contact-actions{display:flex;justify-content:flex-end;gap:4px;flex-wrap:nowrap;margin:0}
.customer-list-actions .customer-contact-actions>.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 44px;width:44px;min-width:44px;min-height:48px;padding:4px 2px}
.customer-list-actions .customer-contact-actions>.btn span{font-size:14px;line-height:1.4;white-space:nowrap}
.customer-list-actions .customer-contact-actions .icon{width:16px;height:16px}
.customer-list-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin-top:8px;align-items:start;font-size:15px;line-height:1.6;font-weight:400;color:var(--ink)}
.customer-list-facts>p,.customer-list-date{margin:0;font-size:15px;line-height:1.6;font-weight:400;min-width:0}
.customer-list-phone{max-width:100%;overflow-wrap:anywhere}
.customer-list-date{display:flex;gap:4px;align-items:baseline;white-space:nowrap}
.customer-list-date dt,.customer-list-date dd{margin:0;font-weight:400}
.customer-list-date dt{color:var(--muted)}
.customer-list-date dd{font-variant-numeric:tabular-nums}
.customer-list-relative{text-align:right;word-break:keep-all;overflow-wrap:anywhere}
.customer-list-relative-name strong{font-size:15px;line-height:1.6;font-weight:650}
.customer-list-more-family{grid-column:1/-1;min-width:0}
.customer-list-family{margin:0;padding:0;border:0;background:transparent;font-size:15px;line-height:1.6;color:var(--ink);text-align:right;min-width:0}
.customer-list-family-owner,.customer-list-family-kinds{font-size:15px;line-height:1.6;font-weight:400;margin:4px 0;word-break:keep-all;overflow-wrap:anywhere}
.customer-list-family-owner strong{font-weight:650}
.customer-list-family-person+.customer-list-family-person{margin-top:10px}
.customer-list-members{margin:0}
.customer-list-members>summary{min-height:44px;align-content:center;font-size:15px;line-height:1.6;cursor:pointer;overflow-wrap:anywhere}
.customer-list-members>summary span{white-space:nowrap}
.customer-list-members>ul{display:grid;gap:8px;list-style:none;margin:4px 0 0;padding:0}
.customer-list-members li{padding:0;border:0}
.customer-list-family .customer-list-member-link{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-height:48px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:15px;line-height:1.6;text-align:right;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.customer-list-member-link>strong{font-size:15px;line-height:1.6;font-weight:650}
.customer-list-member-link>.customer-list-family-kinds{display:block;margin:0;font-size:15px;line-height:1.6;font-weight:400}
.customer-info-card .customer-info-own-label{margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--line);font-size:15px;font-weight:650;line-height:1.5}
.customer-info-card .customer-info-credit{border-top:0;padding-top:0;font-size:15px;gap:6px 12px}
.customer-info-card .customer-info-credit span{white-space:nowrap}
.customer-info-card .customer-info-credit strong{font-size:16px}
@container customer-list-card (max-width:300px){.customer-list-header{gap:8px}.customer-list-facts{column-gap:8px}}

/* Names and contacts use the header; factual text uses only its intrinsic width. */
.customer-list-owner-body{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;align-items:start;margin-top:8px}
.customer-list-owner-left,.customer-list-owner-right{min-width:0}
.customer-list-owner-facts{display:grid;gap:4px;font-size:15px;line-height:1.6;font-weight:400}
.customer-list-owner-facts>.customer-list-phone{margin:0;font-size:15px;line-height:1.6}
.customer-list-owner-relations{min-width:0}
.customer-list-owner-members>summary{min-width:0;font-size:15px;line-height:1.6;text-align:right}
.customer-list-owner-members>ul{margin:8px 0 0}
@container customer-list-card (max-width:300px){.customer-list-owner-body{column-gap:8px}}

/* Family relationship names use a distinct, theme-aware text color. */
:root[data-theme="light"]{--customer-family-name-color:#1d4ed8}
:root[data-theme="dark"]{--customer-family-name-color:#93c5fd}
.customer-info-card .customer-list-relative-name strong,.customer-info-card .customer-list-member-link>strong,.customer-info-card .customer-list-family-owner strong{color:var(--customer-family-name-color,var(--ink))}

/* Booking-page status: read-only indicator; family sharing remains independent. */
:root{--connection-linked:#16804a;--connection-unlinked:#b17900;--connection-pending:#9a5700;--connection-unknown:#66736d}
:root[data-theme="dark"]{--connection-linked:#5fda92;--connection-unlinked:#f4cf55;--connection-pending:#f4bc79;--connection-unknown:#b4c0b9}
.customer-connection-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;font-size:15px;line-height:1.6;color:var(--ink)}
.customer-connection-legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.customer-connection-dot{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;box-sizing:border-box;background:var(--connection-unknown)}
.customer-connection-dot.connected{background:var(--connection-linked)}
.customer-connection-dot.unlinked{background:var(--connection-unlinked)}
.customer-connection-dot.pending{background:transparent;border:2px solid var(--connection-pending)}
.customer-connection-dot.unknown{background:transparent;border:2px dashed var(--connection-unknown)}
.customer-list-left .customer-name-row{display:flex;align-items:flex-start;gap:0}
.customer-name-open{display:block;flex:0 1 auto;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.customer-connection-indicator{display:inline-flex;flex:0 0 32px;align-items:center;justify-content:center;gap:4px;min-width:32px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.customer-connection-indicator.pending,.customer-connection-indicator.unknown{flex-wrap:wrap;align-content:center;flex-basis:48px;min-width:48px;row-gap:2px}
.customer-connection-short{display:block;width:100%;font-size:12px;line-height:1.4;white-space:nowrap}
.customer-name-open:focus-visible,.customer-connection-indicator:focus-visible{outline:2px solid var(--theme-action);outline-offset:2px;border-radius:4px}

.customer-list-left .customer-name-row{flex-wrap:nowrap}

/* Customer detail: name the customer-page connection, with the same status dots. */
:root[data-theme] .customer-connection-badge{gap:6px;padding:0;background:transparent;color:var(--ink);font-size:15px;font-weight:500;line-height:1.6}

/* Selected items4 and5 only. Existing production rules above are preserved. */
.customer-note-modal .care-note-tabs{position:sticky;top:-14px;background:var(--paper);z-index:2;padding:8px 0}
@media(max-width:680px){.customer-note-modal .modal-content{padding:12px 14px}
}
.customer-note-modal .modal-footer{flex-wrap:wrap}
.customer-note-modal #customer-visits-pagination{scroll-margin-top:76px}
.customer-note-modal #customer-purchases-pagination,.customer-note-modal #imported-purchases-pagination{scroll-margin-top:76px}
.customer-benefits{margin:8px 0 16px}
.customer-benefits>h3{font-size:14px;margin:0 0 4px}
.customer-benefit-row{padding:10px 0;border-bottom:1px solid var(--line)}
.customer-benefit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.customer-benefit-heading h4{font-size:14px;margin:0;font-weight:650}
.customer-benefit-heading>strong{font-size:19px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.customer-benefit-row .field-help{margin:3px 0 7px;overflow-wrap:anywhere}
.customer-benefit-row .actions{display:flex;gap:8px;margin:0;flex-wrap:wrap}
.customer-benefit-row .actions .btn{min-height:44px;flex:1 1 100px;justify-content:center;font-size:13px}
.customer-benefit-warning{font-size:12px;line-height:1.6;margin:3px 0 7px;color:var(--ink);overflow-wrap:anywhere}
.customer-detail-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-detail-tabs .btn{font-size:12px}
.customer-note-modal .customer-note-header{margin-bottom:10px}
.customer-note-modal .modal-content{scroll-padding-bottom:16px}
@media(max-width:360px){.customer-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-benefit-heading>strong{font-size:18px}
}
.customer-benefits{margin:8px 0 18px;border-block:1px solid var(--line);padding:10px 0}
.customer-benefits-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.customer-benefits-top h3{font-size:16px;margin:0;font-weight:700}
.customer-benefits-top .btn{min-height:44px;padding:8px 14px;font-size:14px;flex:none}
.customer-benefits details{margin:0}
.customer-benefits summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;list-style:none;cursor:pointer;border-radius:4px}
.customer-benefits summary::-webkit-details-marker{display:none}
.customer-benefits summary::marker{content:''}
.customer-benefits summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.customer-benefits-summary{font-size:15px;line-height:1.65;min-width:0;overflow-wrap:anywhere;color:var(--ink)}
.customer-benefits-summary.needs-review{font-weight:650}
.customer-benefits-toggle{display:flex;align-items:center;gap:4px;font-size:14px;white-space:nowrap;color:var(--ink);flex:none}
.customer-benefits details:not([open]) .when-open,.customer-benefits details[open] .when-closed{display:none}
.customer-benefits details[open] .customer-benefits-toggle svg{transform:rotate(180deg)}
.customer-benefits-body .customer-benefit-row:last-child{border-bottom:0}
.customer-info-card .customer-detail-open{display:flex;width:100%;min-height:48px;margin-top:14px;padding:12px 16px;align-items:center;justify-content:center;gap:8px;background:var(--sage);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:15px;font-weight:650;line-height:1.4}
.customer-info-card .customer-detail-open svg{width:18px;height:18px;flex:none}
.customer-note-modal .customer-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 20px}
.customer-note-modal .customer-detail-tabs .btn{min-width:0;min-height:44px;padding:8px 3px;font-size:14px;white-space:normal;line-height:1.35}
.customer-tab-panel{font-size:15px;line-height:1.65;min-width:0;overflow-wrap:anywhere}
.customer-tab-panel h3{font-size:16px;margin:0 0 8px}
.customer-tab-panel p{margin:6px 0 12px}
.customer-tab-recent,.customer-tab-next{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--line)}
.customer-tab-recent strong,.customer-note-service{font-size:17px;font-weight:650}
.customer-tab-recent small,.care-note-record>small{color:var(--muted)}
.customer-tab-help,.customer-note-modal .legacy-history-section>p{font-size:15px;line-height:1.65;color:var(--muted)}
.customer-note-picker{display:block;font-weight:600;margin-bottom:20px;font-size:15px}
.customer-note-picker select{display:block;width:100%;min-width:0;min-height:46px;font-size:15px;margin-top:8px}
.customer-note-modal .care-note-record{padding:0;background:transparent;border:0}
.customer-note-fields{margin:20px 0}
.customer-note-fields dt{font-size:14px;font-weight:650;margin:16px 0 4px}
.customer-note-fields dd{margin:0;white-space:pre-wrap;font-size:15px}
.customer-note-text{white-space:pre-wrap}
.customer-note-modal .customer-tab-panel .customer-benefits{margin:0 0 20px}
.customer-tab-panel .legacy-history-section{margin-top:20px}
@media(max-width:350px){.customer-note-modal .customer-detail-tabs .btn{font-size:13px;padding-inline:1px}
}
.customer-note-modal .care-note-record .customer-note-service{font-size:17px}
.customer-note-modal .care-note-record .customer-tab-help{font-size:15px}
.customer-note-modal .customer-registration-info{display:flex;flex-direction:column;gap:2px;margin:-4px 0 18px;font-size:15px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.customer-registration-info strong{font-weight:550;color:var(--ink)}
.customer-registration-info .registration-source{font-size:13px}
.customer-note-modal .customer-edit-main{width:100%;min-height:46px;margin:0 0 18px;font-size:15px;background:var(--sage);color:var(--ink)}
.customer-family-summary{margin:20px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}
.customer-family-summary summary{font-weight:650;cursor:pointer;min-height:32px}
.family-person{margin:8px 0}
.family-person .btn{max-width:100%;white-space:normal;text-align:left}
.family-help,.family-account,.family-payment-parties{font-size:15px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.family-payment-parties{color:var(--ink);font-weight:600}
.family-linked{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.family-linked span{display:block;font-size:14px;color:var(--muted)}
.family-search-results{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.family-search-results .btn{min-height:44px;text-align:left;justify-content:flex-start;white-space:normal}
#family-link-form .field-label{margin-top:16px}
#family-link-form input[type=search],#family-link-form select{width:100%;min-height:44px;font-size:15px}
.family-check{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 0;font-size:15px}
.family-check input{width:20px;height:20px;flex:none}
.family-change-history{margin-top:20px;font-size:14px}
.family-kind-options{border:0;padding:0;margin:18px 0}
.family-kind-options legend{font-size:15px;font-weight:700;margin-bottom:8px}
.family-kind-options .family-check{min-height:46px;padding:10px 8px}
.family-policy-note{font-size:15px;line-height:1.65;margin:12px 0}
.family-linked .family-person-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.family-linked .family-share-summary{font-size:14px;line-height:1.5;margin-top:6px}
.family-policy-person{font-size:15px;line-height:1.65;margin:0 0 16px}
.family-policy-person strong{display:block}
.family-linked{align-items:flex-start}
.family-linked>div{min-width:0}
.family-linked strong{overflow-wrap:anywhere}
.family-kind-options input{accent-color:var(--primary,#285442)}
.customer-edit-modal .field-label,.family-modal .field-label{font-size:15px;line-height:1.6;color:var(--ink)}
.customer-edit-modal .modal-header small,.family-modal .modal-header small{font-size:14px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.customer-edit-modal .btn,.family-modal .btn{font-size:15px;line-height:1.5;min-height:48px;white-space:normal}
.customer-edit-modal .modal-header .icon-button,.family-modal .modal-header .icon-button{min-width:44px;min-height:44px;flex:none}
.customer-edit-modal input,.customer-edit-modal textarea,.family-modal input[type=search],.family-modal select{font-size:16px;line-height:1.6;min-height:48px;min-width:0}
.customer-edit-modal .form-grid>div,.customer-edit-modal .form-grid>details{min-width:0}
.customer-edit-modal .customer-edit-memo{margin-top:4px}
.customer-edit-modal textarea{width:100%;height:128px;resize:vertical;line-height:1.65}
.customer-edit-modal .customer-edit-memo[open] .field-label{margin-top:8px}
.customer-edit-modal summary,.customer-family-summary>summary,.family-modal summary,.family-account-details>summary{font-size:16px;line-height:1.6;font-weight:650;min-height:48px;padding:12px 0;cursor:pointer;color:var(--ink)}
.customer-family-summary .family-person .btn{display:flex;width:100%;min-height:48px;justify-content:flex-start;font-size:16px;line-height:1.6;padding:10px 12px}
.customer-family-summary .family-share-summary,.customer-family-summary .family-account,.customer-family-summary .field-help{font-size:15px;line-height:1.65;color:var(--muted);margin:8px 0 12px}
.customer-family-summary .family-manage-button{width:100%;min-height:48px;font-size:15px;justify-content:center;margin-top:8px}
.family-modal [hidden]{display:none!important}
.family-modal .family-empty,.family-modal .family-help,.family-modal .family-policy-note,.family-modal .family-share-summary{font-size:15px;line-height:1.65;color:var(--muted)}
.family-modal .family-members,.family-modal .family-add{margin:0 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.family-modal .family-add[open]>summary{margin-bottom:8px}
.family-modal .family-linked{display:flex;align-items:center;gap:12px;padding:12px 0}
.family-modal .family-linked>div{flex:1;min-width:0}
.family-modal .family-linked strong{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.family-modal .family-linked span{font-size:15px;line-height:1.6;color:var(--muted)}
.family-modal .family-linked>.btn{flex:none;min-height:48px;padding:10px 12px}
.family-modal .family-share-summary{margin:4px 0 0}
.family-modal .family-search-results{margin:8px 0 12px}
.family-modal .family-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;line-height:1.6}
.family-modal .family-selected strong{min-width:0;overflow-wrap:anywhere}
.family-modal .family-selected .btn{width:auto;flex:none}
.family-modal .family-kind-options .family-check{min-height:48px;padding:10px 0;font-size:16px}
.family-modal .family-kind-options legend{font-size:16px;line-height:1.6}
.family-modal .family-more{margin:12px 0}
.family-modal .modal-footer,.customer-edit-modal .modal-footer{display:flex;gap:10px}
.family-modal .modal-footer>.btn,.customer-edit-modal .modal-footer>.btn{flex:1;min-width:0;padding:10px 8px;justify-content:center}
@media(max-width:680px){.customer-edit-modal .form-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.customer-edit-modal .modal-content,.family-modal .modal-content{padding:12px 18px}
.customer-edit-modal .modal-footer,.family-modal .modal-footer{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}
.keyboard-open .customer-edit-modal .modal-header,.keyboard-open .family-modal .modal-header{padding-top:8px;padding-bottom:8px}
.keyboard-open .customer-edit-modal .modal-header small,.keyboard-open .family-modal .modal-header small{display:none}
.keyboard-open .customer-edit-modal .modal-content,.keyboard-open .family-modal .modal-content{padding-top:4px;padding-bottom:8px}
.keyboard-open .customer-edit-modal .modal-footer,.keyboard-open .family-modal .modal-footer{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
.keyboard-open .customer-edit-modal textarea{height:96px;min-height:64px;max-height:max(64px,calc(var(--visible-height,100dvh) - 210px))}
.keyboard-open .family-modal .family-search-results{max-height:160px;overflow-y:auto;overscroll-behavior:contain}
}
.family-modal .family-selected>div{flex:1;min-width:0}
.family-modal .family-selected strong{display:block}
.family-modal .family-selected .family-help{display:block;margin-bottom:4px}
.customer-info-card.has-family-sharing .customer-info-credit{border-top:0;padding-top:0;font-size:15px;gap:6px 12px}
.customer-info-card.has-family-sharing .customer-info-credit span{white-space:nowrap}
.customer-info-card.has-family-sharing .customer-info-credit strong{font-size:16px}
.family-member-usage{margin:20px 0;border-top:1px solid var(--line);padding-top:18px;font-size:15px;line-height:1.6}
.family-member-usage h3{margin:0 0 8px;font-size:17px;line-height:1.5}
.family-member-usage h3 span,.family-usage-help,.family-usage-account{color:var(--muted)}
.family-member-usage .family-usage-help{margin:0 0 12px;font-size:15px}
.family-usage-item{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.family-usage-item p{margin:7px 0;font-size:15px}
.family-usage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.family-usage-head>strong,.family-usage-owner strong{font-size:16px}
.family-usage-statuses{display:flex;gap:6px;flex-wrap:wrap}
.family-usage-status{font-size:14px;line-height:1.5;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper)}
.family-usage-status.cancelled,.family-usage-status.needs-review{font-weight:650}
.family-usage-net{font-weight:650}
.family-usage-events summary,.family-usage-older>summary{display:list-item;min-height:44px;padding:10px 0;cursor:pointer;font-size:15px;font-weight:650}
.family-usage-events ul{list-style:none;padding:0;margin:0 0 6px}
.family-usage-events li{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:8px 0;font-size:15px}
.family-usage-events time{color:var(--muted);font-size:14px}
.family-owner-usage{margin:20px 0;padding:18px 0;border-block:1px solid var(--line);font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.family-owner-usage h3{font-size:17px;line-height:1.5;margin:0 0 8px}
.family-owner-usage h3 span,.family-owner-help,.family-owner-status,.family-owner-person h4 span{color:var(--muted)}
.family-owner-help{font-size:15px;margin:0 0 12px}
.family-owner-person{padding:16px 0;border-top:1px solid var(--line)}
.family-owner-person h4{font-size:16px;line-height:1.6;margin:0 0 10px}
.family-owner-person h4 span{font-size:14px;font-weight:400}
.family-owner-kind{margin:12px 0}
.family-owner-kind h5{font-size:15px;margin:0 0 3px}
.family-owner-kind p,.family-owner-status{font-size:15px;margin:3px 0}
.family-owner-net{font-weight:650}
.family-owner-records summary{display:list-item;min-height:44px;padding:10px 0;cursor:pointer;font-size:15px;font-weight:650}
.family-owner-records ul{list-style:none;margin:0;padding:0}
.family-owner-records li{border-top:1px solid var(--line);padding:12px 0;font-size:15px;line-height:1.65}
.family-owner-records li p{font-size:15px;margin:5px 0}
.family-owner-sale{font-size:15px;min-height:44px;padding:9px 12px;margin-top:5px}
.customer-note-modal .family-owner-usage .family-owner-sale{font-size:15px}
.customer-list-family-owner,.customer-list-family-kinds{font-size:15px;line-height:1.6;font-weight:400;margin:4px 0;word-break:keep-all;overflow-wrap:anywhere}
.customer-list-family-owner strong{font-weight:650}
.customer-list-family-person+.customer-list-family-person{margin-top:10px}
.customer-list-member-link>.customer-list-family-kinds{display:block;margin:0;font-size:15px;line-height:1.6;font-weight:400}
.customer-info-card .customer-list-relative-name strong,.customer-info-card .customer-list-member-link>strong,.customer-info-card .customer-list-family-owner strong{color:var(--customer-family-name-color,var(--ink))}
