:root {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #202522;
  background: #f5f6f5;
  font-size: 16px;
  --accent: #d9b86c;
  --accent-text: #d9b86c;
  --sheet: #191c1b;
  --line: #e2e5e2;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, textarea { font: inherit; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
button, input, textarea { outline-offset: 4px; }
:focus-visible { outline: 2px solid #ae8740; }
button { border: 0; }
button, .plan, input, textarea { transition: background .16s, border-color .16s, color .16s; }
a { color: inherit; }
.icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.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; }
[hidden] { display: none !important; }
.app-header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 14px max(5vw, 22px); border-bottom: 1px solid var(--line); background: #fff; }
.app-brand { display: flex; gap: 11px; align-items: center; text-decoration: none; font-size: 1.05rem; font-weight: 650; letter-spacing: -.6px; }
.brand-mark { color: #ecd29a; background: #202623; border-radius: 10px; width: 38px; height: 38px; font-family: Georgia, serif; font-size: 1.8rem; text-align: center; line-height: 32px; }
.brand-light { color: #78817a; font-weight: 400; }
.header-right { display: flex; align-items: center; gap: 18px; }
.prototype { color: #737b76; font-size: .8125rem; }
.avatar { width: 36px; height: 36px; min-height: 36px; background: #f3f4f1; border: 1px solid #e0e4df; border-radius: 50%; font-size: 1rem; color: #5b655e; }
main { max-width: 1090px; margin: 0 auto; padding: 42px 40px 130px; }
.workspace-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 26px; }
.overline { font-size: .75rem; letter-spacing: 1.7px; font-weight: 650; color: #737e76; margin: 0 0 8px; }
h1 { font-size: clamp(2rem, 4vw, 2.7rem); line-height: 1.15; font-weight: 550; letter-spacing: -1.7px; margin: 0; }
.title-dot { color: #af8844; }
.save-status { display: flex; align-items: center; gap: 7px; font-size: .8125rem; color: #6f7a72; padding-bottom: 5px; }
.save-status .icon { width: 16px; height: 16px; }
.workspace-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 20px; }
.workspace-toolbar p { color: #6c7770; font-size: .875rem; margin: 0; line-height: 1.5; max-width: 290px; }
.tools { display: flex; gap: 5px; align-items: center; }
.tool { background: transparent; color: #48534b; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 7px; padding: 10px 12px; min-height: 44px; font-size: .875rem; white-space: nowrap; }
.tool:hover { background: #e7eae6; }
.preview-toggle { border: 1px solid #d9ded8; background: #fff; margin-left: 5px; }
.preview-toggle[aria-pressed=true] { background: #202623; color: white; border-color: #202623; }
.percent-icon { font-size: 1.2rem; line-height: 1; }
.price-sheet { background: var(--sheet); color: #eeefe8; padding: 28px 62px 24px; border-radius: 5px; box-shadow: 0 18px 50px -28px #19211e88; position: relative; overflow: hidden; }
.price-sheet::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--accent); }
.sheet-top { display: flex; justify-content: space-between; font-size: .75rem; letter-spacing: 2px; color: #a3aba4; }
.salon-heading { text-align: center; padding: 34px 0 30px; }
.salon-name { display: block; font-family: Georgia, "Times New Roman", serif; text-align: center; color: var(--accent-text); font-size: clamp(1.8rem, 3.8vw, 2.8rem); font-weight: 400; line-height: 1.2; letter-spacing: -.6px; width: 100%; background: none; border: 1px solid transparent; border-radius: 5px; padding: 8px; resize: none; overflow: hidden; min-height: 60px; margin: 0; }
.salon-address { text-align: center; font-size: .875rem; color: #afb5af; background: none; border: 1px solid transparent; border-radius: 4px; padding: 8px 4px; width: 100%; }
.salon-address::placeholder { color: #929b94; }
.salon-name:hover:not([readonly]), .salon-address:hover:not([readonly]) { background: #ffffff05; border-color: #ffffff1c; }
.salon-name:focus, .salon-address:focus { outline: none; border-color: var(--accent); }
.salon-rule { display: block; width: 35px; height: 1px; background: var(--accent); margin: 22px auto 0; }
#salonLogo { max-height: 100px; max-width: min(230px, 75%); object-fit: contain; margin: 0 auto 14px; }
.price-columns, .service-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 120px 36px; gap: 18px; align-items: center; }
.price-columns { color: #aab2aa; font-size: .75rem; letter-spacing: 1.3px; padding: 0 0 14px; border-bottom: 1px solid #ffffff30; }
.price-columns span:nth-child(2), .price-columns span:nth-child(3) { text-align: right; padding-right: 9px; }
.price-columns span:nth-child(3) { color: var(--accent-text); }
.price-columns small { display: block; font-size: .75rem; letter-spacing: 0; font-weight: 400; margin-top: 5px; color: #939d94; }
.service-row { border-bottom: 1px solid #ffffff15; min-height: 76px; padding: 12px 0; }
.service-row input, .service-row textarea { min-width: 0; background: transparent; border: 1px solid transparent; border-radius: 5px; color: #f2f1eb; padding: 10px 8px; width: 100%; font-size: 1rem; }
.service-row .service-name { resize: none; overflow: hidden; line-height: 1.5; min-height: 46px; margin-left: -8px; }
.service-row input:hover:not([readonly]), .service-row textarea:hover:not([readonly]) { border-color: #ffffff28; background: #ffffff06; }
.service-row input:focus, .service-row textarea:focus { outline: none; border-color: var(--accent); background: #ffffff08; }
.service-row [aria-invalid=true] { border-color: #e79a90 !important; }
.service-row input::placeholder, .service-row textarea::placeholder { color: #8f9b92; }
.price-cell { position: relative; display: flex; align-items: center; }
.price-cell input { padding-right: 26px; text-align: right; font-variant-numeric: tabular-nums; }
.price-cell .currency { position: absolute; right: 9px; pointer-events: none; font-size: .875rem; color: #aab2aa; }
.anchor input { color: #aab2aa; }
.current input, .current .currency { color: var(--accent-text); font-weight: 600; }
.mobile-label { display: none; }
.remove-service { color: #959e96; background: transparent; padding: 8px; border-radius: 6px; min-height: 44px; min-width: 36px; display: flex; justify-content: center; align-items: center; }
.remove-service:hover { color: #efb5ac; background: #ffffff09; }
.remove-service .icon { width: 17px; height: 17px; }
.add-service { display: flex; align-items: center; justify-content: center; width: 100%; gap: 8px; min-height: 54px; margin-top: 20px; color: var(--accent-text); background: transparent; border: 1px dashed #ffffff30; border-radius: 6px; font-size: .875rem; }
.add-service:hover { background: #ffffff06; border-color: var(--accent); }
.sheet-footer { display: flex; justify-content: space-between; gap: 15px; font-size: .75rem; color: #949e96; margin-top: 32px; line-height: 1.6; }
.below-sheet { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 18px; }
.text-button { background: none; padding: 8px 0; min-height: 40px; color: #657168; text-align: left; font-size: .875rem; line-height: 1.5; }
.text-button span { color: #28352d; text-decoration: underline; text-underline-offset: 4px; }
.text-button:hover { color: #202623; }
#count { color: #788279; font-size: .8125rem; white-space: nowrap; }
.sample-note { text-align: center; font-size: .75rem; color: #79827c; line-height: 1.5; margin: 17px 0 0; }
.publish-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #fffffff5; backdrop-filter: blur(12px); border-top: 1px solid #e1e6df; z-index: 5; padding: 16px 40px max(16px, env(safe-area-inset-bottom)); }
.publish-inner { max-width: 1010px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.publish-message { display: flex; align-items: center; gap: 14px; }
.publish-message > .icon { color: #818b82; }
.publish-message strong { font-size: .875rem; display: block; font-weight: 500; }
.publish-message span { font-size: .8125rem; color: #737f76; display: block; margin-top: 5px; }
.primary { background: #232e27; color: #fafbf5; padding: 15px 24px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 50px; font-weight: 500; font-size: .9375rem; }
.primary:hover { background: #35473b; }
.primary .icon { width: 18px; height: 18px; }
.full { width: 100%; margin-top: 12px; }
#emptyState { text-align: center; padding: 35px 10px 10px; }
#emptyState h2 { color: var(--accent-text); font-family: Georgia, serif; font-weight: 400; }
#emptyState p { color: #a5aea6; font-size: .875rem; }
body.previewing .remove-service, body.previewing .add-service, body.previewing .below-sheet, body.previewing #bulkButton, body.previewing #appearanceButton { display: none; }
body.previewing .service-row, body.previewing .price-columns { grid-template-columns: minmax(0,1fr) 120px 120px; }
body.previewing .service-row input, body.previewing .service-row textarea { cursor: default; }
body.previewing #sheet { box-shadow: 0 22px 60px -20px #19211e55; }
body.previewing .workspace-toolbar { min-height: 44px; }
.toast { position: fixed; left: 50%; bottom: 110px; transform: translateX(-50%); z-index: 30; display: flex; align-items: center; gap: 15px; background: #fff; border: 1px solid #d9e0d9; box-shadow: 0 10px 50px #151d1922; padding: 12px 16px; border-radius: 10px; max-width: calc(100vw - 32px); width: max-content; font-size: .875rem; }
#toastMessage { line-height: 1.5; }
#undo { font-weight: 600; background: transparent; color: #735e2d; min-height: 40px; padding: 5px; }
.icon-button { width: 40px; min-width: 40px; height: 40px; background: transparent; display: flex; justify-content: center; align-items: center; color: #667168; border-radius: 50%; }
.icon-button:hover { background: #eef1ed; }
dialog { color: #29342c; border: 0; border-radius: 16px; padding: 30px; width: min(510px, calc(100vw - 30px)); max-height: calc(100dvh - 35px); overflow: auto; box-shadow: 0 30px 100px #10171455; }
dialog::backdrop { background: #16221aa6; backdrop-filter: blur(5px); }
.dialog-heading { display: flex; justify-content: space-between; gap: 15px; align-items: start; margin-bottom: 20px; }
dialog h2 { font-size: 1.7rem; font-weight: 500; letter-spacing: -.8px; line-height: 1.2; margin: 0; }
dialog p { line-height: 1.65; }
.hint { color: #6d796f; font-size: .875rem; line-height: 1.65; }
.field-label { display: block; font-size: .875rem; font-weight: 550; margin: 22px 0 10px; }
.field-label span { font-weight: 400; color: #7f8a80; }
dialog input:not([type=radio]):not([type=color]), dialog textarea { border: 1px solid #d5ddd4; border-radius: 7px; background: #fafbf9; padding: 13px; width: 100%; color: #233229; }
dialog input[type=file] { font-size: .8125rem; }
dialog textarea { resize: vertical; line-height: 1.6; font-size: .9375rem; }
.swatches { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.swatch { width: 38px; height: 38px; border-radius: 50%; background: var(--swatch); border: 4px solid #fff; outline: 1px solid #dbe0d9; position: relative; }
.swatch[aria-pressed=true] { outline: 2px solid #33483a; }
.swatch[aria-pressed=true]::after { content: '✓'; color: #253129; font-size: 1rem; }
.custom-color { display: flex; align-items: center; gap: 8px; color: #6c776e; font-size: .8125rem; margin-left: auto; }
.custom-color input { width: 32px; height: 32px; border: 0; background: transparent; padding: 0; cursor: pointer; }
.percent-field { position: relative; }
.percent-field input { font-size: 2.5rem; font-weight: 500; padding-right: 60px !important; }
.percent-field > span { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.7rem; color: #899389; }
.quick-values { display: flex; gap: 10px; margin-top: 14px; }
.quick-values button { border: 1px solid #dce2d8; color: #516252; background: #fff; border-radius: 7px; min-height: 42px; padding: 8px 20px; flex: 1; }
.quick-values button:hover { background: #f0f4ed; }
.bulk-example { padding: 18px; background: #f1f5ed; border-radius: 8px; margin: 20px 0; display: flex; justify-content: space-between; gap: 15px; font-size: .875rem; align-items: center; line-height: 1.6; }
.bulk-example strong { font-size: 1rem; white-space: nowrap; }
.error { color: #aa382c; font-size: .875rem; }
.error:empty { display: none; }
.plans { border: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.plan { border: 1px solid #dbe0d8; border-radius: 9px; padding: 17px; cursor: pointer; font-size: .8125rem; color: #6c776d; }
.plan:has(input:checked) { border-color: #576c53; background: #f2f5ed; box-shadow: inset 0 0 0 1px #576c53; }
.plan input { accent-color: #3d573e; margin: 0 5px 0 0; }
.plan-name { font-size: .875rem; font-weight: 550; color: #3e4d40; }
.plan strong { display: block; font-size: 2.1rem; font-weight: 550; color: #263a2b; margin: 20px 0 7px; letter-spacing: -1px; }
.plan strong small { font-size: .8125rem; font-weight: 400; letter-spacing: 0; color: #7c887d; margin-left: 5px; }
.prototype-note { background: #f4f5f1; border-radius: 8px; padding: 14px; font-size: .8125rem; color: #687369; line-height: 1.6; }
.prototype-note strong, .prototype-note span { display: block; }
.checkout-status { color: #3d5b3d; font-size: .875rem; }
.checkout-status:empty { display: none; }
@media (max-width: 900px) {
  main { padding: 32px 26px 135px; }
  .workspace-toolbar { flex-wrap: wrap; }
  .workspace-toolbar p { max-width: none; }
  .tools { margin-left: auto; }
  .price-sheet { padding: 26px 36px 24px; }
  .price-columns, .service-row { grid-template-columns: minmax(0,1fr) 105px 105px 32px; gap: 12px; }
}
@media (max-width: 600px) {
  .app-header { min-height: 64px; padding: 12px 20px; }
  .app-brand { font-size: 1rem; }
  .prototype { font-size: .75rem; }
  .header-right { gap: 10px; }
  .brand-mark { width: 32px; height: 32px; line-height: 27px; font-size: 1.6rem; }
  main { padding: 26px 16px 145px; }
  .workspace-heading { margin: 0 4px 18px; align-items: start; }
  .workspace-heading .overline { display: none; }
  h1 { font-size: 2rem; letter-spacing: -1px; }
  .save-status { font-size: .75rem; max-width: 136px; line-height: 1.35; padding-top: 4px; gap: 5px; }
  .workspace-toolbar { gap: 12px; margin-bottom: 16px; }
  .workspace-toolbar p { font-size: .875rem; padding: 0 4px; }
  .tools { justify-content: space-between; width: 100%; gap: 2px; margin: 0; }
  .tool { padding: 9px 10px; gap: 5px; font-size: .875rem; }
  .tool .icon { width: 17px; height: 17px; }
  .preview-toggle { margin: 0; }
  .price-sheet { padding: 21px 22px; }
  .sheet-top { font-size: .75rem; letter-spacing: 1.3px; }
  .salon-heading { padding: 24px 0; }
  .salon-name { min-height: 48px; font-size: 2rem; padding: 4px; }
  .salon-rule { margin-top: 15px; }
  .price-columns { display: none; }
  .service-row { grid-template-columns: 1fr 1fr 30px; gap: 2px 10px; padding: 14px 0; }
  .service-row:first-child { border-top: 1px solid #ffffff25; }
  .service-row .service-name { grid-column: 1 / 3; padding-top: 6px; padding-bottom: 6px; min-height: 40px; font-size: 1rem; }
  .remove-service { grid-column: 3; grid-row: 1; }
  .price-cell { padding-top: 20px; min-width: 0; }
  .price-cell input { text-align: left; padding-left: 0; padding-right: 22px; font-size: 1rem; }
  .price-cell .currency { right: 12px; top: 34px; }
  .anchor { grid-column: 1; grid-row: 2; }
  .current { grid-column: 2; grid-row: 2; }
  .mobile-label { display: block; position: absolute; top: 3px; left: 0; color: #97a298; font-size: .75rem; }
  .current .mobile-label { color: var(--accent-text); }
  .sheet-footer { flex-direction: column; gap: 3px; margin-top: 25px; font-size: .75rem; }
  .below-sheet { margin: 9px 3px; align-items: start; }
  .text-button { font-size: .8125rem; }
  .text-button span { display: block; }
  #count { margin-top: 10px; }
  .sample-note { font-size: .75rem; padding: 0 10px; }
  .publish-bar { padding: 13px 20px max(13px, env(safe-area-inset-bottom)); }
  .publish-inner { gap: 12px; }
  .publish-message { gap: 0; }
  .publish-message > .icon { display: none; }
  .publish-message strong { font-size: .8125rem; max-width: 145px; line-height: 1.3; }
  .publish-message span { font-size: .75rem; }
  .primary { padding: 14px 18px; gap: 10px; font-size: .875rem; }
  #publish { flex-shrink: 0; }
  body.previewing .service-row { grid-template-columns: minmax(0,1fr) 88px 88px; gap: 4px 8px; }
  body.previewing .service-name { grid-column: 1 / -1; }
  body.previewing .anchor { grid-column: 2; grid-row: 2; }
  body.previewing .current { grid-column: 3; grid-row: 2; }
  body.previewing .price-cell input { text-align: right; }
  body.previewing .mobile-label { left: auto; right: 0; }
  body.previewing .price-cell .currency { right: 4px; }
  body.previewing .tools { justify-content: flex-end; }
  dialog { padding: 24px; }
  dialog h2 { font-size: 1.5rem; }
  .plans { gap: 10px; }
  .plan { padding: 14px 11px; }
  .plan strong { font-size: 1.7rem; }
  .plan strong small { display: block; margin: 4px 0 0; }
  .toast { bottom: 106px; gap: 8px; padding: 8px 12px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
/* Registration is the entry point; the editor opens after authentication. */
.auth-screen { min-height: calc(100dvh - 78px); padding: 48px 22px 26px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.auth-card { width: min(100%, 470px); background: white; border: 1px solid #e1e5df; border-radius: 16px; padding: 36px 40px 28px; box-shadow: 0 22px 70px -50px #23322977; }
.auth-emblem { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #202a23; color: #dec18a; font: 2rem Georgia,serif; border-radius: 12px; margin-bottom: 30px; padding-bottom: 5px; }
.auth-card h1 { font-size: 2rem; letter-spacing: -1px; line-height: 1.17; max-width: 340px; }
.auth-description { color: #718075; font-size: .9375rem; line-height: 1.65; margin: 17px 0 24px; }
.auth-notice { background: #f6f1e6; border: 1px solid #e8ddc6; color: #776135; padding: 13px 15px; border-radius: 7px; font-size: .875rem; line-height: 1.5; margin-bottom: 20px; }
.auth-card .field-label { margin-top: 18px; }
.auth-card input { border: 1px solid #d8dfd6; border-radius: 7px; background: #fdfefd; padding: 14px; width: 100%; color: #233229; font-size: 1rem; min-height: 50px; }
.auth-card input::placeholder { color: #99a298; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 50px; }
#showPassword, #showPasswordConfirm { position: absolute; right: 4px; top: 4px; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: #7c887d; background: transparent; border-radius: 6px; }
.password-hint { color: #7d887f; font-size: .75rem; line-height: 1.5; margin: 8px 0 20px; }
.auth-switches { margin-top: 12px; display: flex; align-items: center; flex-direction: column; }
.auth-switches .text-button { text-align: center; }
.auth-divider { border-top: 1px solid #e7eae4; margin: 18px 0 22px; }
.auth-example { width: 100%; display: flex; justify-content: center; align-items: center; gap: 14px; color: #4e6150; padding: 12px 0; background: transparent; font-size: .875rem; }
.auth-example:hover { color: #233229; }
.auth-price { text-align: center; font-size: .75rem; color: #859084; line-height: 1.6; margin: 9px 0 0; }
.auth-footer { text-align: center; font-size: .8125rem; color: #8a948b; margin-top: 25px; line-height: 1.6; }
.confirmation-mark { width: 54px; height: 54px; display: flex; justify-content: center; align-items: center; border-radius: 50%; color: #3d663e; background: #ebf2e7; margin: 25px 0; }
#confirmationMessage { font-size: .9375rem; line-height: 1.7; overflow-wrap: anywhere; }
#backToAuth, #signOut { font-size: .8125rem; white-space: nowrap; }
body.sample-mode #previewButton { display: none; }
#saved { cursor: pointer; }
@media(max-width:600px) {
 .auth-screen { padding: 30px 16px 22px; min-height: calc(100dvh - 64px); justify-content: start; }
 .auth-card { padding: 28px 24px 24px; border-radius: 13px; }
 .auth-card h1 { font-size: 1.9rem; }
 .auth-emblem { margin-bottom: 24px; }
 .auth-screen .text-button span { display: inline; }
 .header-right .prototype { display: none; }
}

.marketing-choice { display:flex; gap:12px; align-items:flex-start; margin:24px 0 18px; font-size:.875rem; line-height:1.5; cursor:pointer; }
.auth-card .marketing-choice input { width:20px; height:20px; min-height:20px; flex:0 0 20px; margin-top:2px; accent-color:#233229; }
.marketing-choice small { display:block; margin-top:5px; color:#637168; font-size:.8125rem; }
.password-hint { font-size:.875rem; }
.password-wrap button[aria-pressed="true"] { color:#233229; background:#e5ebe5; border-radius:5px; }

/* Compact neutral price-list workspace, including existing saved drafts. */
#sheet { --accent:#153d3a; --accent-text:#2c4341; --sheet:#fff; color:#2c4341; border:1px solid #dfe6e6; box-shadow:0 4px 18px #23343310; padding:18px 24px; }
#sheet::before { display:none; }
main { max-width:1160px; padding:22px 24px 105px; }
.workspace-heading { margin-bottom:12px; }
.workspace-heading h1 { font-size:1.75rem; letter-spacing:-.6px; }
.workspace-heading .overline { display:none; }
.workspace-toolbar { margin-bottom:12px; gap:8px; }
.workspace-toolbar p { max-width:none; }
.salon-heading { padding:12px 0 16px; text-align:left; }
.salon-name { font-family:inherit; text-align:left; font-size:1.25rem; font-weight:600; min-height:40px; padding:7px 10px; letter-spacing:0; color:#2c4341; background:#f9fbfb; border-color:#d0dbda; }
.salon-address { text-align:left; color:#3a5654; background:#f9fbfb; border-color:#d0dbda; margin-top:7px; padding:8px 10px; font-size:1rem; }
.salon-rule { display:none; }
.sheet-top { color:#527774; letter-spacing:1px; }
.price-columns { color:#476966; padding:7px 0; border-color:#dfe6e6; }
.price-columns small { color:#527774; margin-top:3px; }
.service-row { min-height:52px; padding:5px 0; border-color:#e6ecec; }
.service-row input, .service-row textarea { color:#2c4341; background:#fff; border-color:#d0dbda; padding:7px 8px; }
.service-row .service-name { min-height:38px; margin-left:0; line-height:1.4; }
.service-row input:hover:not([readonly]), .service-row textarea:hover:not([readonly]), .salon-name:hover:not([readonly]), .salon-address:hover:not([readonly]) { background:#f9fbfb; border-color:#94b8b5; }
.service-row input:focus, .service-row textarea:focus, .salon-name:focus, .salon-address:focus { background:#fff; border-color:#153d3a; box-shadow:0 0 0 2px #153d3a22; }
.service-row input::placeholder, .service-row textarea::placeholder, .salon-address::placeholder, .salon-name::placeholder { color:#658a87; }
.price-cell .currency, .anchor input, .mobile-label { color:#527774; }
.current input, .current .currency { color:#2c4341; }
.remove-service { color:#648b87; }
.remove-service:hover { color:#b42318; background:#fff1f0; }
.add-service { min-height:42px; margin-top:12px; border-color:#bdd3d1; background:#f9fbfb; }
.add-service:hover { background:#f6f8f8; }
.sheet-footer { color:#527774; margin-top:14px; }
#emptyState { padding:14px 8px; }
#emptyState h2 { font-family:inherit; font-size:1.125rem; }
#emptyState p { color:#527774; }
.below-sheet { margin-top:6px; }
.publish-bar { padding-top:10px; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
body.previewing #sheet { box-shadow:0 4px 18px #23343310; }
body.previewing .service-row input, body.previewing .service-row textarea, body.previewing .salon-name, body.previewing .salon-address { background:transparent; border-color:transparent; box-shadow:none; }
@media(max-width:600px) {
 main { padding:16px 10px 108px; }
 .app-header { min-height:56px; padding:8px 14px; }
 .workspace-heading { margin:0 4px 8px; }
 .workspace-toolbar { flex-wrap:nowrap; margin:0 4px 10px; }
 .workspace-toolbar p { font-size:.875rem; }
 .tools { width:auto; margin-left:auto; }
 #sheet { padding:12px; }
 .salon-heading { padding:10px 0 12px; }
 .salon-name { font-size:1.125rem; min-height:38px; }
 .price-columns, .service-row { display:grid; grid-template-columns:minmax(0,1fr) 75px 75px 28px; gap:5px; }
 .price-columns { font-size:.75rem; letter-spacing:0; }
 .price-columns span:nth-child(2), .price-columns span:nth-child(3) { padding-right:0; text-align:center; }
 .price-columns small { font-size:.75rem; }
 .service-row:first-child { border-top:0; }
 .service-row .service-name { grid-column:auto; min-height:38px; padding:7px 5px; }
 .price-cell, .anchor, .current { grid-column:auto; grid-row:auto; padding-top:0; }
 .price-cell input { padding:7px 5px; text-align:right; font-size:1rem; }
 .price-cell .currency, .mobile-label { display:none; }
 .remove-service { grid-column:auto; grid-row:auto; min-width:28px; padding:4px; }
 .sheet-footer { gap:2px; margin-top:12px; }
 body.previewing .service-row, body.previewing .price-columns { grid-template-columns:minmax(0,1fr) 75px 75px; gap:5px; }
 body.previewing .service-name, body.previewing .anchor, body.previewing .current { grid-column:auto; grid-row:auto; }
}

/* A small working table, with optional details opened only when needed. */
select { font:inherit; color:#2c4341; background:#fff; border:1px solid #d0dbda; padding:9px; border-radius:6px; width:100%; min-height:40px; }
dialog { max-height:90dvh; overflow:auto; }
dialog h2 { font-size:1.3rem; }
.dialog-heading { margin-bottom:14px; }
.dialog-heading .icon-button { font-size:1.5rem; }
.workspace-toolbar { align-items:flex-start; flex-wrap:wrap; }
.workspace-toolbar .tools { flex-wrap:wrap; }
.workspace-toolbar p { flex:1 1 250px; }
#sheet .salon-heading { padding:8px 0 10px; }
#sheet .salon-name { min-height:36px; padding:5px 8px; }
#sheet .salon-address { padding:6px 8px; }
#sheet .price-columns, #sheet .service-row { display:grid; grid-template-columns:minmax(0,1fr) 100px 36px 36px; gap:6px; align-items:center; }
#sheet .price-columns { font-size:.75rem; letter-spacing:.5px; padding:5px 0; }
#sheet .price-columns span:not(:first-child) { text-align:center; padding:0; }
#sheet .service-row { min-height:44px; padding:3px 0; border-bottom:1px solid #eef3f2; }
#sheet .service-row textarea, #sheet .service-row input { min-width:0; width:100%; font-size:1rem; line-height:1.3; padding:6px 7px; border:1px solid #d2dddc; border-radius:5px; min-height:34px; }
#sheet .service-row .current-price { text-align:right; font-weight:550; }
.row-action { min-height:36px; width:36px; border-radius:5px; color:#466865; background:#f4f7f7; font-size:1.1rem; padding:0; }
.row-action:hover, .category-add:hover { background:#eef2f2; }
.row-action.has-discount { color:#086346; background:#def5e9; font-weight:700; }
.row-discount-note { grid-column:1/-1; color:#146343; font-size:.8125rem; padding:0 1px 4px; }
.category-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; background:#f4f6f6; margin-top:8px; padding:2px 6px; border-radius:5px; }
.category-toggle { background:transparent; text-align:left; padding:7px 0; color:#36524f; font-weight:600; font-size:.875rem; min-width:0; overflow-wrap:anywhere; }
.category-toggle small { font-size:.75rem; color:#648b87; margin-left:6px; font-weight:400; }
.category-add { background:transparent; color:#153d3a; padding:7px 4px; font-size:.875rem; white-space:nowrap; border-radius:4px; }
.category-heading h2 { margin:6px 0; font:600 1rem/1.4 inherit; font-size:1rem; }
#add { margin-top:8px; min-height:36px; }
.below-sheet .text-button { font-size:.875rem; }
.below-sheet .text-button span { display:inline; }
body.previewing .editor-only, body.previewing #categoriesButton, body.previewing #anchorsButton { display:none; }
.preview-date { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:5px 0 12px; font-size:.875rem; }
.preview-date input { font:inherit; padding:5px; color:#36524f; border:1px solid #d2dddc; background:#fff; border-radius:4px; }
.public-row { display:grid; grid-template-columns:minmax(0,1fr) 105px 170px; gap:12px; align-items:start; padding:10px 2px; border-bottom:1px solid #e6ecec; font-size:1rem; }
.public-row small { display:block; font-size:.75rem; color:#527774; margin-top:3px; }
.public-anchor, .public-price { text-align:right; }
.public-anchor { font-size:.875rem; }
.public-anchor small { margin:0 0 3px; }
.discount-badge { display:table; margin-top:5px; background:#def5e9; color:#086346; font-size:.75rem; padding:3px 6px; border-radius:4px; }
.two-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.two-fields > * { min-width:0; }
.two-fields input, dialog input:not([type=checkbox]), dialog textarea { width:100%; min-width:0; color:#2c4341; border:1px solid #d0dbda; background:#fff; border-radius:6px; padding:9px; font-size:1rem; }
dialog .field-label { font-size:.875rem; margin:14px 0 6px; }
dialog .hint { font-size:.875rem; }
.check-line { display:flex; gap:10px; align-items:flex-start; margin:18px 0; font-size:.875rem; line-height:1.5; }
.check-line input { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:#153d3a; }
.inline-form { display:flex; gap:8px; margin:15px 0; }
.inline-form input { flex:1; }
.inline-form .primary { padding:10px 18px; }
.category-edit { display:grid; grid-template-columns:minmax(0,1fr) 36px 36px 36px; gap:5px; margin:8px 0; }
.action-row { display:flex; flex-wrap:wrap; margin:12px 0; }
dialog details { margin:14px 0; border-top:1px solid #e6ecec; padding-top:12px; }
summary { cursor:pointer; font-size:.875rem; color:#466865; padding:5px 0; }
.history-list { max-height:220px; overflow:auto; font-size:.875rem; }
.history-list p { padding-bottom:8px; border-bottom:1px solid #e6ecec; }
.danger { color:#b42318; }
.anchor-edit { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:12px; margin:7px 0; font-size:.875rem; }
.wide-dialog { width:min(800px,calc(100vw - 24px)); max-width:800px; }
.import-preview { max-height:42dvh; overflow:auto; margin:12px 0; }
.import-row,.import-head { display:grid; grid-template-columns:minmax(120px,2fr) minmax(90px,1fr) 85px 85px; gap:5px; padding:4px; min-width:440px; }
.import-head { font-size:.8125rem; color:#527774; }
.import-row input { padding:6px; }
.import-row.invalid { background:#ffeded; border-left:3px solid #b42318; }
input[aria-invalid=true] { border-color:#b42318!important; background:#fff6f5!important; }
@media(max-width:600px){
 .workspace-toolbar p { flex-basis:100%; font-size:.875rem; }
 .workspace-toolbar .tools { margin:0; width:100%; justify-content:space-between; gap:3px; }
 .workspace-toolbar .tool { padding:6px 8px; min-height:36px; font-size:.875rem; }
 .workspace-toolbar .tool span { display:inline; }
 #sheet { padding:10px; }
 #sheet .price-columns,#sheet .service-row { grid-template-columns:minmax(0,1fr) 77px 32px 32px; gap:4px; }
 #sheet .row-action { width:32px; }
 #sheet .service-row input,#sheet .service-row textarea { padding:6px 4px; }
 .public-row { grid-template-columns:minmax(0,1fr) 76px 90px; gap:6px; }
 .public-row small { font-size:.75rem; }
 .public-row .public-price small { line-height:1.4; }
 .public-row .public-name { font-size:.9375rem; overflow-wrap:anywhere; }
 .public-row .public-price strong { font-size:1rem; }
 .two-fields { gap:8px; }
 dialog { padding:20px 16px; }
 .publish-message span { font-size:.75rem; }
 .publish-inner .primary { padding:10px 12px; font-size:.875rem; }
 .workspace-heading .save-status { font-size:.75rem; text-align:right; }
}
@media(max-width:359px){ .public-row { grid-template-columns:minmax(0,1fr) 70px 82px; } }

dialog .check-line input[type=checkbox] { width:20px; height:20px; padding:0; flex:0 0 20px; }

.preview-columns { display:none; }
body.previewing .preview-columns { display:grid; grid-template-columns:minmax(0,1fr) 105px 170px; gap:12px; font-size:.75rem; color:#527774; padding:4px 2px; }
.preview-columns span:not(:first-child) { text-align:right; }
@media(max-width:600px) { body.previewing .preview-columns { grid-template-columns:minmax(0,1fr) 76px 90px; gap:6px; } }
@media(max-width:359px) { body.previewing .preview-columns { grid-template-columns:minmax(0,1fr) 70px 82px; } }

/* One compact editor, with two visible prices and direct ordering controls. */
.import-start{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f5f7f7;border:1px solid #dee6e5;border-radius:10px;padding:14px;margin-bottom:16px}
.import-start p{flex-basis:100%;margin:0;color:#527774;font-size:.8125rem;line-height:1.5}
.template-download{text-decoration:none;text-align:center;line-height:1.4;background:#153d3a;color:#fff;border-radius:7px;padding:11px 15px;font-size:.875rem;display:inline-flex;justify-content:center;align-items:center}
#sheet .price-columns,#sheet .service-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px 148px;gap:8px;align-items:center}
#sheet .service-row{padding:6px 0;min-height:46px}
#sheet .service-name{grid-column:auto;min-height:38px;font-size:1rem}
#sheet .inline-price{min-width:0;display:block}
.inline-price>span{display:none}
#sheet .inline-price input{width:100%;text-align:right;font-size:1rem;min-height:38px;box-sizing:border-box}
.row-controls,.category-controls{display:flex;align-items:center;gap:3px}
.row-controls .row-action{width:34px;min-height:36px;font-size:1rem;flex-shrink:0}
.category-controls .row-action{width:30px;min-height:32px}
.category-heading{gap:6px}
.category-toggle{min-width:0;overflow-wrap:anywhere;text-align:left}
.category-controls{flex-shrink:0}
.manual-add{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap}
.manual-add select{flex:1;min-width:160px;border:1px solid #bdd3d1;border-radius:6px;padding:9px;background:white;color:#2c4341;font-size:.875rem}
#sheet .manual-add .add-service{width:auto;margin:0;padding:8px 12px;min-height:39px}
#saved{background:transparent;border:0;color:#537b77;text-align:right;padding:0;font-size:.8125rem}
.import-row,.import-head{grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) 95px 95px;align-items:start}
.import-row-status{grid-column:1/-1;margin:2px 0 0;font-size:.8125rem;line-height:1.5;color:#486c69}
.import-row.invalid .import-row-status{color:#b42318}
.import-row>.text-button{grid-column:1/-1;justify-self:start;font-size:.75rem;padding:2px 0 7px}
.schedule-review{max-height:32dvh;overflow:auto;background:#f9fbfb;border:1px solid #e2e9e8;border-radius:8px;padding:12px;margin:15px 0;font-size:.875rem}
.schedule-review>h3{font-size:.875rem;margin:16px 0 6px}
.schedule-review>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #e4ebea}
.schedule-review>div>span:last-child{text-align:right}
.schedule-review small{display:block;color:#658a87;font-size:.75rem;margin-top:3px}
#discountReference[readonly]{background:#edf6f0;border-color:#9fbfaa}
body.previewing .import-start,body.previewing .manual-add{display:none}
@media(max-width:600px){
 main{padding:16px 12px 110px}
 .import-start{padding:10px;gap:6px;margin-bottom:12px}.import-start .template-download{width:100%;padding:10px;font-size:.875rem}.import-start .tool{padding:8px 4px;font-size:.875rem}
 .import-start p{font-size:.75rem}
 #sheet .price-columns{display:none}
 #sheet .service-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 10px;padding:9px 0}
 #sheet .service-name{grid-column:1/-1;font-size:1rem;min-height:36px}
 #sheet .inline-price>span{display:block;font-size:.75rem;color:#527774;margin:0 0 3px}
 #sheet .inline-price input{text-align:left;min-height:36px;padding:6px 8px}
 #sheet .row-controls{grid-column:1/-1;justify-content:flex-end;gap:6px}
 #sheet .row-controls .row-action{width:36px;min-height:32px}
 .row-discount-note{grid-column:1/-1;font-size:.75rem}
 .manual-add{gap:5px}.manual-add select{min-width:130px;font-size:.875rem}
 #sheet .manual-add .add-service{flex-basis:100%;justify-content:center}
 .category-toggle{font-size:.875rem}.category-add{font-size:.8125rem;padding:5px}.category-controls{gap:1px}
 .category-controls .row-action{width:26px;min-height:32px}
 .import-head{display:none}.import-row{min-width:0;grid-template-columns:1fr 1fr;padding:10px 6px;border-bottom:1px solid #e1e9e8;gap:6px}
 .import-row input{min-width:0;width:100%;font-size:1rem}.import-row input[data-import-field=name]{grid-column:1/-1;grid-row:2}.import-row input[data-import-field=category]{grid-column:1/-1}
}

.import-cell{display:block;min-width:0}.import-cell>span{display:none}

/* Business identity and contrast-first editor controls. */
#workspace .primary,.business-screen .primary,#settingsDialog .primary {background:#153d3a;color:#fff}
#workspace .primary:hover,.business-screen .primary:hover,#settingsDialog .primary:hover {background:#153d3a}
.import-start .template-download {flex:1 1 260px;min-height:48px;font-weight:600;gap:8px;padding:11px 14px}
.business-identity {background:#fff;border:1px solid #dee6e5;border-radius:9px;padding:16px 20px;margin-bottom:22px;color:#2c4341}
.business-identity .salon-heading {padding:8px 0 0}
.business-identity .salon-name,.business-identity .salon-address {background:transparent;border-color:transparent;padding:3px 0;cursor:default}
.business-identity .salon-name {min-height:30px;font-size:1.25rem}
.business-identity .salon-address {margin-top:2px}
.business-identity .text-button {color:#153d3a;font-size:.875rem;margin-top:7px;padding:4px 0}
.workspace-toolbar .tools {margin-left:auto;justify-content:flex-end}
.category-create {margin-bottom:14px}
.category-create>.primary {min-height:42px;padding:9px 15px;font-size:.875rem;font-weight:600}
#categoryEntry {margin-top:10px;background:#f5f7f7;padding:12px;border-radius:7px}
#categoryEntry .inline-form {margin:0;flex-wrap:wrap;gap:8px}
#categoryEntry input {min-width:120px;flex:1;border:1px solid #bdd3d1;border-radius:6px;padding:10px;font-size:1rem}
#categoryEntry .tool {background:white;color:#153d3a;border:1px solid #dee6e5;border-radius:6px}
#sheet .category-heading {background:#153d3a;color:white;padding:9px 10px;gap:8px;margin-top:12px;border-radius:7px;flex-wrap:wrap}
#sheet .category-toggle {color:white;font-size:1rem;flex:1;padding:4px 0;min-height:32px}
#sheet .category-toggle small {color:#edf2f1;font-size:.875rem}
#sheet .category-controls {gap:6px}
#sheet .category-controls .row-action,#sheet .category-add {background:white;color:#153d3a;border:1px solid white;border-radius:6px;min-height:36px;font-weight:600}
#sheet .category-controls .row-action {width:36px;font-size:1.125rem}
#sheet .category-add {font-size:.875rem;padding:6px 10px}
#sheet .category-controls button:hover:not(:disabled) {background:#f1f4f4}
#sheet .row-controls .row-action {background:#153d3a;color:white;border:1px solid #153d3a;border-radius:6px;width:36px;min-height:36px;font-size:1.125rem}
#sheet .row-controls .row-action:hover:not(:disabled) {background:#153d3a}
#sheet .row-controls .has-discount {background:#def5e9;color:#086346;border-color:#b7e7d4;box-shadow:none}
#sheet .row-controls .has-discount:hover:not(:disabled) {background:#bfead7;color:#064f38}
#sheet .row-action:disabled {opacity:.35;cursor:default}
.public-business {margin-top:22px;border-top:1px solid #e2e9e8;padding-top:14px;font-size:.875rem;color:#2c4341}
.public-business h2 {font-size:1rem;margin:0 0 10px}
.public-business p {display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;margin:6px 0;overflow-wrap:anywhere}
.public-business strong {font-weight:500}
.public-business p span {color:#527774}
.business-screen {max-width:660px;margin:0 auto;padding:24px 16px 50px}
.business-card {background:white;border:1px solid #dee6e5;border-radius:12px;padding:24px}
.business-card h1 {font-size:1.6rem;margin:5px 0 8px;letter-spacing:-.5px}
.business-intro {font-size:1rem;color:#527774;margin:0 0 20px;line-height:1.5}
.business-card input:not([type=checkbox]),.business-card select {width:100%;min-width:0;border:1px solid #bdd3d1;background:#fff;color:#2c4341;border-radius:6px;padding:10px;font:inherit;font-size:1rem;min-height:44px}
.business-card .field-label {font-size:.875rem;margin-top:14px}
.business-card .two-fields {align-items:start}
.business-card input[type=checkbox] {width:20px;height:20px;flex:0 0 20px;accent-color:#153d3a}
.business-card .hint,.visibility-preview p {font-size:.875rem;line-height:1.5;margin:7px 0;color:#527774}
.business-location {margin-top:22px;border-top:1px solid #e2e9e8;padding-top:4px}
.business-location h2 {font-size:1.125rem;margin:15px 0 0}
.visibility-preview {background:#f5f7f7;border-radius:8px;padding:12px;margin:20px 0 12px}
.visibility-preview summary {color:#0d2c2a;font-weight:600}
.business-card .text-button {display:block;margin:12px auto 0;color:#153d3a}
.business-card :focus-visible,#workspace button:focus-visible {outline:3px solid #b9d1cf;outline-offset:3px}
body.previewing #businessIdentity .editor-only {display:none}
@media(max-width:600px){
 .import-start .template-download {flex-basis:100%;padding:11px 12px;font-size:.875rem}
 .business-identity {padding:12px;margin-bottom:20px}
 #sheet .category-heading {padding:8px;gap:6px}
 #sheet .category-toggle {flex-basis:100%;min-height:30px}
 #sheet .category-controls {width:100%;justify-content:flex-end;gap:6px}
 #sheet .category-controls .row-action,#sheet .row-controls .row-action {width:38px;min-height:38px}
 #sheet .category-add {margin-right:auto;order:-1;min-height:38px;font-size:.875rem}
 .business-screen {padding:16px 12px 30px}
 .business-card {padding:18px 14px}
 .business-card .two-fields {grid-template-columns:1fr}
 .header-right {gap:8px}.header-right .text-button {font-size:.875rem;padding:6px 0}
 .public-business p {grid-template-columns:85px minmax(0,1fr)}
}
#saved[data-state=error]{color:#b42318}#saved[data-state=pending]{color:#688a87}
@media(max-width:600px){.import-cell>span{display:block;font-size:.75rem;color:#527774;margin-bottom:3px}.import-cell[data-import-label=name]{grid-column:1/-1;grid-row:2}.import-cell[data-import-label=category]{grid-column:1/-1}}

/* A compact category label beside the service name opens the native picker. */
#sheet .service-main {display:flex;align-items:center;gap:8px;min-width:0}
#sheet .service-main .service-name {flex:1;min-width:0;width:0}
.service-category {position:relative;display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;max-width:40%;min-height:38px;padding:4px 2px;color:#153d3a;font-size:.875rem;line-height:1.3;border-radius:5px;cursor:pointer}
.service-category>span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-category>.icon {width:14px;height:14px;flex-shrink:0;pointer-events:none}
.service-category>select {position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer;padding:0;font-size:1rem}
.service-category:focus-within {outline:2px solid #153d3a;outline-offset:2px;background:#f5f7f7}
#sheet .row-controls .icon,#sheet .category-controls .icon {width:18px;height:18px;pointer-events:none}
@media(max-width:600px){#sheet .service-main {grid-column:1/-1}#sheet .service-category {max-width:38%}}

#sheet .row-controls .row-action,#sheet .category-controls .row-action {display:inline-flex;align-items:center;justify-content:center}

/* Compact category headers and mobile price editing. */
#sheet .category-heading {flex-wrap:nowrap;gap:6px;padding:6px 8px;margin-top:8px}
#sheet .category-toggle {display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:0;min-height:36px;padding:2px 0;overflow:hidden}
#sheet .category-name {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sheet .category-chevron,#sheet .category-toggle small {flex:none;margin:0}
#sheet .category-controls {width:auto;gap:4px;flex:0 0 auto}
#sheet .category-add {order:-1;margin:0}
.add-service-short {display:none}
#sheet .service-row {padding:4px 0}
#sheet .service-main .service-name,#sheet .inline-price input {min-height:34px;padding:4px 7px;font-size:1rem;line-height:1.35}
#sheet .service-category {min-height:34px}
#sheet .row-controls .row-action {width:34px;min-height:34px}
.publish-bar {padding:8px 24px max(8px,env(safe-area-inset-bottom))}
.publish-inner {gap:12px}
.publish-inner .primary {min-height:40px;padding:8px 14px;gap:10px}
.publish-message {min-width:0;gap:8px}
.publish-message strong {font-size:.875rem;line-height:1.3;max-width:none;overflow-wrap:anywhere}
.publish-message span {margin-top:2px;line-height:1.3}
@media(max-width:600px){
 #sheet .category-heading {padding:5px 6px;gap:5px}
 #sheet .category-toggle {flex-basis:0;font-size:.875rem;min-height:36px}
 #sheet .category-controls {width:auto;gap:4px}
 #sheet .category-controls .row-action {width:32px;min-height:36px;flex-shrink:0}
 #sheet .category-add {min-height:36px;padding:4px 6px;font-size:.875rem}
 .add-service-long {display:none}.add-service-short {display:inline}
 #sheet .service-row {gap:3px 8px;padding:6px 0}
 #sheet .service-main {gap:6px}
 #sheet .service-main .service-name,#sheet .inline-price input {min-height:32px;padding:4px 6px}
 #sheet .inline-price>span {font-size:.875rem;line-height:1.2;margin-bottom:2px}
 #sheet .service-category {min-height:32px}
 #sheet .row-controls {gap:6px}
 #sheet .row-controls .row-action {width:34px;min-height:34px}
 #sheet .row-discount-note {padding-bottom:1px;line-height:1.35}
 .publish-bar {padding:7px 12px max(7px,env(safe-area-inset-bottom))}
 .publish-inner {gap:8px}
 .publish-inner .primary {min-height:40px;padding:7px 10px;gap:6px;font-size:.875rem}
 .publish-inner .primary .icon {width:16px;height:16px}
 .publish-message strong {font-size:.875rem}
 .publish-message span {font-size:.75rem}
}

/* Shared luxury palette; retain the compact editor and white input surfaces. */
:root{--accent:#b99a59;--accent-text:#153d3a;--line:#dce4df;background:#faf9f6;color:#203b36}
.app-header{border-bottom-color:#d9dfd8}.brand-mark,.auth-emblem{background:#153d3a;color:#e3cc9b}
.title-dot{color:#967638}.primary{background:#153d3a;color:white}.primary:hover{background:#0d2c2a}
.auth-card,.business-card{border-color:#dce4df;border-top:3px solid #b99a59}
.auth-card h1,.business-card h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em}
.auth-card input:not([type=checkbox]),.business-card input:not([type=checkbox]){background:white}
.auth-card input:focus,.business-card input:focus{border-color:#153d3a}
.auth-card .marketing-choice input,.business-card input[type=checkbox]{accent-color:#153d3a}
#sheet{--accent:#b99a59;--accent-text:#203b36;--sheet:#fff;border-color:#dce4df;color:#203b36}
#sheet .category-heading{border-left:3px solid #b99a59}
.business-identity{border-top:2px solid #b99a59}
.import-start{background:#f0f4ef;border-color:#d6e0d7}
#workspace .primary,.business-screen .primary,#settingsDialog .primary,.template-download{background:#153d3a;color:white}
#workspace .primary:hover,.business-screen .primary:hover,#settingsDialog .primary:hover,.template-download:hover{background:#0d2c2a}
:focus-visible,.business-card :focus-visible,#workspace button:focus-visible{outline-color:#977333}
.publish-bar{border-top-color:#dce4df}
