/* Crin Menu studio: all selectors are scoped to .studio-, .pdf- and .owner- components. */
.studio-pdf-module,
.owner-dashboard {
  box-sizing: border-box;
  color: #f8f5f0;
  font-family: "Plus Jakarta Sans", "Montserrat", system-ui, sans-serif;
}
.studio-pdf-module *,
.owner-dashboard * { box-sizing: border-box; }
.studio-pdf-module button,
.owner-dashboard button,
.studio-pdf-module input,
.owner-dashboard input { font-family: inherit; }

.studio-pdf-module {
  --studio-orange: #d94e28;
  background: #121316;
  border: 1px solid #2d2b2b;
  border-radius: 28px;
  overflow: hidden;
  padding: clamp(20px, 3.3vw, 42px);
  position: relative;
}
.studio-pdf-module::before {
  background: radial-gradient(circle, rgba(217,78,40,.22), transparent 66%);
  content: "";
  height: 440px;
  pointer-events: none;
  position: absolute;
  right: -160px;
  top: -170px;
  width: 440px;
}
.pdf-module-head,
.pdf-controls,
.pdf-sheets,
.pdf-module-foot,
.pdf-demo-note { position: relative; z-index: 1; }
.pdf-module-head { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 25px; }
.pdf-eyebrow,
.owner-eyebrow { color: #f59e0b; display: block; font-size: 10px; font-weight: 800; letter-spacing: .16em; margin-bottom: 9px; }
.pdf-module-head h2 { color: #fffaf4; font-family: "Fraunces", Georgia, serif; font-size: clamp(25px, 3vw, 41px); letter-spacing: -.04em; line-height: 1.01; margin: 0 0 11px; max-width: 590px; }
.pdf-module-head p { color: #bcb5b0; font-size: 13px; line-height: 1.6; margin: 0; max-width: 620px; }
.pdf-save-pill { align-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #ded7d0; display: inline-flex; flex: 0 0 auto; font-size: 10px; font-weight: 700; gap: 7px; padding: 9px 12px; white-space: nowrap; }
.pdf-save-dot { background: #16a34a; border-radius: 50%; box-shadow: 0 0 0 4px rgba(22,163,74,.12); height: 6px; width: 6px; }
.pdf-controls { align-items: center; background: #1b1b1f; border: 1px solid #302e30; border-radius: 15px; display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 25px; padding: 12px 14px; }
.pdf-color-control { align-items: center; color: #f7f0e8; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 800; gap: 9px; }
.pdf-color-control input { appearance: none; background: transparent; border: 0; border-radius: 5px; cursor: pointer; height: 25px; overflow: hidden; padding: 0; width: 32px; }
.pdf-color-control input::-webkit-color-swatch-wrapper { padding: 0; }
.pdf-color-control input::-webkit-color-swatch { border: 2px solid #fff; border-radius: 5px; }
.pdf-toggle { align-items: center; color: #d5cec7; cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 700; gap: 8px; }
.pdf-toggle input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.pdf-switch { background: #454348; border-radius: 999px; height: 22px; padding: 3px; position: relative; transition: .2s ease; width: 39px; }
.pdf-switch::after { background: #f4f0e9; border-radius: 50%; content: ""; height: 16px; left: 3px; position: absolute; top: 3px; transition: .2s ease; width: 16px; }
.pdf-toggle input:checked + .pdf-switch { background: var(--pdf-accent, #d94e28); }
.pdf-toggle input:checked + .pdf-switch::after { left: 20px; }
.pdf-toggle input:focus-visible + .pdf-switch,
.owner-availability:focus-visible,
.owner-place:focus-visible,
.owner-template-card:focus-visible { outline: 3px solid rgba(245,158,11,.66); outline-offset: 3px; }
.pdf-contrast { border-left: 1px solid #39373a; display: inline-flex; flex-direction: column; font-size: 10px; gap: 2px; margin-left: auto; padding-left: 14px; }
.pdf-contrast strong { color: #fff8ee; font-size: 10px; }
.pdf-contrast span { color: #aaa4a0; }
.pdf-sheets { align-items: flex-start; display: grid; gap: clamp(15px, 2vw, 28px); grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: center; }
.pdf-sheet { aspect-ratio: 8.5 / 11; background: #f8f1e6; box-shadow: 0 18px 38px rgba(0,0,0,.36); color: #1e1a18; min-width: 0; overflow: hidden; position: relative; }
.pdf-cover-page { background: #202124; color: #fff9ef; font-family: "Anton", "Kaushan Script", Impact, sans-serif; padding: 9%; }
.pdf-cover-page::after { background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.72)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.pdf-page-number { color: rgba(255,255,255,.72); font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(6px, .7vw, 10px); font-weight: 800; letter-spacing: .12em; position: absolute; right: 8%; top: 6%; z-index: 3; }
.pdf-cover-ornament { border: 1px solid rgba(255,255,255,.28); height: 88%; left: 5%; position: absolute; top: 6%; width: 90%; z-index: 2; }
.pdf-cover-ornament::after { border-left: 1px solid var(--pdf-accent); border-top: 1px solid var(--pdf-accent); content: ""; height: 40px; left: -1px; position: absolute; top: -1px; width: 40px; }
.pdf-logo-frame { align-items: center; display: flex; height: 19%; justify-content: center; left: 13%; max-width: 42%; position: absolute; top: 12%; z-index: 3; }
.pdf-logo { filter: brightness(0) invert(1); max-height: 100%; max-width: 100%; object-fit: contain; }
.pdf-logo-fallback { color: #fff; font-family: Georgia, serif; font-size: clamp(12px, 1.8vw, 24px); font-weight: 800; letter-spacing: .1em; }
.pdf-cover-kicker { bottom: 39%; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(5px, .65vw, 9px); font-weight: 800; left: 13%; letter-spacing: .15em; position: absolute; z-index: 3; }
.pdf-cover-page h3 { bottom: 22%; color: #fffaf3; font-size: clamp(25px, 4.2vw, 62px); font-weight: 400; left: 13%; letter-spacing: -.04em; line-height: .9; margin: 0; position: absolute; z-index: 3; }
.pdf-cover-page h3 em { color: var(--pdf-accent); font-style: normal; }
.pdf-dish-photo-frame { bottom: 16%; height: 43%; position: absolute; right: 7%; transform: rotate(4deg); width: 48%; z-index: 1; }
.pdf-dish-photo-frame::before { border: 1px solid var(--pdf-accent); content: ""; inset: -8px; position: absolute; }
.pdf-dish-photo { height: 100%; object-fit: cover; width: 100%; }
.pdf-dish-photo-fallback { align-items: center; background: linear-gradient(135deg,#3b221c,#d94e28 55%,#f3b06d); color: rgba(255,255,255,.82); display: flex; font-size: clamp(8px, 1.2vw, 14px); height: 100%; justify-content: center; letter-spacing: .1em; position: absolute; width: 100%; }
.pdf-cover-footer { bottom: 6%; display: flex; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(5px, .6vw, 8px); justify-content: space-between; left: 13%; letter-spacing: .1em; position: absolute; right: 13%; z-index: 3; }
.pdf-cover-footer strong { color: var(--pdf-accent); }
.pdf-inside-page { background: #f7f1e8; font-family: "Anton", "Kaushan Script", Impact, sans-serif; padding: 11% 9% 8% 16%; }
.pdf-inside-page::before { background: #171719; content: ""; height: 43%; left: 0; position: absolute; top: 0; width: 100%; }
.pdf-inside-page .pdf-page-number { color: rgba(255,255,255,.68); }
.pdf-orange-tongue { align-items: center; display: flex; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(11px, 1.55vw, 24px); font-weight: 900; height: 33%; justify-content: center; left: 0; position: absolute; top: 0; width: 12%; z-index: 2; }
.pdf-inside-content { position: relative; z-index: 2; }
.pdf-inside-label { color: var(--pdf-accent); display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(5px, .65vw, 9px); font-weight: 900; letter-spacing: .16em; margin-bottom: 12%; }
.pdf-inside-content h3 { color: #fff8ee; font-size: clamp(19px, 3vw, 43px); font-weight: 400; line-height: .96; margin: 0 0 10%; max-width: 85%; }
.pdf-menu-rule { background: var(--pdf-accent); height: 3px; margin-bottom: 10%; width: 34px; }
.pdf-dish-row { align-items: flex-start; border-bottom: 1px solid rgba(28,25,23,.15); display: flex; gap: 7px; padding: 8% 0 7%; }
.pdf-dish-icon { color: var(--pdf-accent); flex: 0 0 15px; font-family: Georgia, serif; font-size: 13px; line-height: 1; }
.pdf-dish-row h4 { color: #211c1a; font-size: clamp(9px, 1.25vw, 17px); font-weight: 400; line-height: 1.1; margin: 0 0 6px; }
.pdf-dish-row h4 span { color: #716962; font-family: "Plus Jakarta Sans", sans-serif; font-size: .55em; letter-spacing: .08em; }
.pdf-dish-description { color: #68605a; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(5px, .58vw, 8px); line-height: 1.35; margin: 0 0 6px; }
.pdf-price { color: var(--pdf-accent); display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(7px, .72vw, 10px); font-weight: 900; }
.pdf-qr-block { align-items: center; background: #fff; border: 1px solid #dfd5c9; display: flex; gap: 7%; margin-top: 12%; padding: 5%; }
.pdf-qr { background: #fff; flex: 0 0 26%; line-height: 0; padding: 3px; }
.pdf-qr svg { display: block; height: auto; width: 100%; }
.pdf-qr-block strong { color: #211c1a; display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(6px, .65vw, 9px); line-height: 1.2; }
.pdf-qr-block span { color: var(--pdf-accent); display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(5px, .55vw, 8px); font-weight: 800; margin-top: 4px; }
.pdf-qr-block small { color: #77706a; display: block; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(4px, .48vw, 7px); line-height: 1.2; margin-top: 4px; }
.pdf-inside-footer { bottom: 5%; color: #706861; display: flex; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(4px, .48vw, 7px); font-weight: 800; justify-content: space-between; left: 16%; letter-spacing: .08em; position: absolute; right: 9%; }
.pdf-module-foot { color: #aaa29b; display: flex; font-size: 10px; justify-content: space-between; margin-top: 15px; }
.pdf-module-foot strong { color: #f1e7dc; }
.pdf-demo-note { color: #7f7975; font-size: 10px; margin: 18px 0 0; }

.owner-dashboard { background: #fff; border: 1px solid #e7e5e4; border-radius: 22px; box-shadow: 0 18px 42px rgba(28,25,23,.08); color: #1c1917; overflow: hidden; }
.owner-head { align-items: center; background: linear-gradient(125deg,#fff 20%,#fff8f1); border-bottom: 1px solid #ece9e5; display: flex; gap: 20px; justify-content: space-between; padding: 27px clamp(19px, 3vw, 38px); }
.owner-eyebrow { color: #d94e28; margin-bottom: 7px; }
.owner-head h2 { color: #1c1917; font-family: "Fraunces", Georgia, serif; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.045em; line-height: 1; margin: 0 0 8px; }
.owner-head p { color: #736c67; font-size: 12px; margin: 0; }
.owner-account { align-items: center; border: 1px solid #e9e5e0; border-radius: 12px; display: flex; flex: 0 0 auto; gap: 9px; padding: 9px 11px; }
.owner-avatar { align-items: center; background: #1c1917; border-radius: 50%; color: #fff; display: inline-flex; font-size: 9px; font-weight: 900; height: 30px; justify-content: center; width: 30px; }
.owner-account strong,.owner-account small { display: block; }
.owner-account strong { font-size: 11px; }
.owner-account small { color: #817973; font-size: 9px; margin-top: 2px; }
.owner-account-status { color: #16a34a; font-size: 10px; margin-left: 3px; }
.owner-layout { display: grid; grid-template-columns: 190px minmax(0,1fr) 245px; min-height: 510px; }
.owner-sidebar { background: #faf9f7; border-right: 1px solid #ebe7e3; padding: 23px 12px; }
.owner-sidebar-label { align-items: center; color: #756d68; display: flex; font-size: 10px; font-weight: 900; justify-content: space-between; letter-spacing: .06em; margin: 0 7px 11px; text-transform: uppercase; }
.owner-sidebar-label span { align-items: center; background: #eeeae5; border-radius: 99px; color: #6e6863; display: inline-flex; font-size: 9px; height: 18px; justify-content: center; width: 18px; }
.owner-place { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 11px; cursor: pointer; display: grid; gap: 8px; grid-template-columns: 29px minmax(0,1fr) 10px; padding: 10px 7px; text-align: left; transition: .18s ease; width: 100%; }
.owner-place + .owner-place { margin-top: 3px; }
.owner-place:hover { background: #fff; border-color: #ece6df; }
.owner-place.is-active { background: #fff; border-color: #e8d8cb; box-shadow: 0 5px 13px rgba(62,41,29,.06); }
.owner-place-mark { align-items: center; background: var(--place-color); border-radius: 8px; color: #fff; display: inline-flex; font-size: 8px; font-weight: 900; height: 29px; justify-content: center; width: 29px; }
.owner-place strong,.owner-place small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-place strong { color: #29231f; font-size: 10px; }
.owner-place small { color: #8d847e; font-size: 8px; margin-top: 3px; }
.owner-place-chevron { color: #b4aaa2; font-size: 18px; line-height: 1; }
.owner-magic { align-items: flex-start; border-top: 1px solid #ebe5df; color: #756d68; display: flex; gap: 8px; margin: 24px 7px 0; padding-top: 17px; }
.owner-magic > span { color: #d94e28; font-size: 14px; }
.owner-magic strong,.owner-magic small { display: block; }
.owner-magic strong { color: #504943; font-size: 9px; }
.owner-magic small { font-size: 8px; line-height: 1.35; margin-top: 3px; }
.owner-main { min-width: 0; padding: 26px clamp(18px, 2.4vw, 31px); }
.owner-main-top { align-items: flex-start; display: flex; justify-content: space-between; }
.owner-location { color: #16a34a; font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.owner-main h3 { color: #1c1917; font-family: "Fraunces", Georgia, serif; font-size: 24px; letter-spacing: -.04em; margin: 4px 0 0; }
.owner-sync { color: #857c75; font-size: 9px; white-space: nowrap; }
.owner-sync span { color: #16a34a; font-weight: 900; }
.owner-stats { border-bottom: 1px solid #ede9e5; display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); margin: 20px 0 24px; padding-bottom: 18px; }
.owner-stats span,.owner-stats strong { display: block; }
.owner-stats span { color: #8d837c; font-size: 9px; }
.owner-stats strong { color: #2b2521; font-size: 17px; margin-top: 7px; }
.owner-stats strong small { color: #a9a09a; font-size: 10px; }
.owner-stats .owner-green { color: #16a34a; font-size: 12px; }
.owner-section-title { align-items: flex-start; display: flex; justify-content: space-between; }
.owner-section-title h4 { color: #322b26; font-size: 13px; margin: 0; }
.owner-section-title p { color: #8c827b; font-size: 9px; margin: 4px 0 0; }
.owner-live-badge,.owner-preview-live { color: #16a34a; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.owner-menu-table { border: 1px solid #ece8e3; border-radius: 12px; margin-top: 13px; overflow: hidden; }
.owner-menu-row { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(0,1fr) 78px 92px; padding: 11px 12px; }
.owner-menu-row + .owner-menu-row { border-top: 1px solid #f0ece8; }
.owner-dish-name { align-items: center; display: flex; gap: 9px; min-width: 0; }
.owner-dish-index { color: #b6ada6; font-family: Georgia, serif; font-size: 11px; }
.owner-dish-name strong,.owner-dish-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-dish-name strong { color: #423a35; font-size: 10px; }
.owner-dish-name small { color: #9a9088; font-size: 8px; margin-top: 3px; }
.owner-price-label { align-items: center; color: #8c827b; display: flex; font-size: 9px; gap: 2px; }
.owner-price-label input { background: #faf9f7; border: 1px solid #e6e0da; border-radius: 6px; color: #352e29; font-size: 10px; font-weight: 800; min-width: 0; padding: 6px 5px; width: 61px; }
.owner-price-label input:focus { border-color: #d94e28; outline: 2px solid rgba(217,78,40,.14); }
.owner-availability { align-items: center; background: transparent; border: 0; color: #898079; cursor: pointer; display: inline-flex; font-size: 8px; gap: 5px; padding: 3px 0; white-space: nowrap; }
.owner-availability > span:first-child { background: #c8c2bc; border-radius: 99px; height: 17px; padding: 2px; position: relative; transition: .18s ease; width: 30px; }
.owner-availability > span:first-child::after { background: #fff; border-radius: 50%; box-shadow: 0 1px 2px rgba(0,0,0,.18); content: ""; height: 13px; left: 2px; position: absolute; top: 2px; transition: .18s ease; width: 13px; }
.owner-availability.is-on { color: #16803d; }
.owner-availability.is-on > span:first-child { background: #16a34a; }
.owner-availability.is-on > span:first-child::after { left: 15px; }
.owner-template-heading { margin-top: 23px; }
.owner-template-grid { display: grid; gap: 8px; grid-template-columns: repeat(3,1fr); margin-top: 12px; }
.owner-template-card { background: #fff; border: 1px solid #ebe6e0; border-radius: 10px; cursor: pointer; display: flex; flex-direction: column; min-width: 0; padding: 7px; position: relative; text-align: left; transition: .18s ease; }
.owner-template-card:hover { border-color: #d9c0b0; transform: translateY(-2px); }
.owner-template-card.is-selected { border-color: #d94e28; box-shadow: 0 0 0 2px rgba(217,78,40,.11); }
.owner-template-art { border-radius: 6px; display: grid; gap: 3px; height: 48px; margin-bottom: 7px; overflow: hidden; padding: 5px; }
.owner-template-art i { background: rgba(255,255,255,.75); border-radius: 2px; display: block; }
.owner-template-art.theme-universal { background: #f6e7d7; grid-template-columns: 1fr 1fr; }
.owner-template-art.theme-universal i:first-child { background: #d94e28; grid-column: span 2; }
.owner-template-art.theme-dark { background: #1d1c20; grid-template-columns: 1fr 1fr; }
.owner-template-art.theme-dark i:first-child { background: #d4af37; grid-column: span 2; }
.owner-template-art.theme-grid { background: #edf2e9; grid-template-columns: 1fr 1fr; }
.owner-template-art.theme-grid i { background: #fff; border: 1px solid #c9d8c4; }
.owner-template-card strong { color: #463e38; font-size: 8px; line-height: 1.2; }
.owner-template-card small { color: #968d85; font-size: 7px; margin-top: 3px; }
.owner-template-apply { color: #d94e28; font-size: 7px; font-weight: 900; margin-top: 7px; }
.owner-template-card.is-selected .owner-template-apply { color: #16803d; }
.owner-preview-column { background: #f9f7f4; border-left: 1px solid #ebe7e3; padding: 24px 16px; }
.owner-preview-heading { color: #665e58; display: flex; font-size: 10px; font-weight: 900; justify-content: space-between; margin-bottom: 13px; }
.owner-preview-live { font-size: 8px; }
.owner-mini-preview { background: #fff; border: 1px solid #e4ded7; border-radius: 15px; box-shadow: 0 9px 22px rgba(46,35,26,.08); overflow: hidden; padding: 11px; }
.owner-mini-preview.theme-dark { background: #171719; border-color: #383338; color: #fff; }
.owner-mini-preview.theme-grid { background: #f4f8f1; }
.owner-mini-top { align-items: center; display: flex; gap: 7px; }
.owner-mini-logo { align-items: center; background: var(--owner-accent); border-radius: 8px; color: #fff; display: inline-flex; font-size: 8px; font-weight: 900; height: 26px; justify-content: center; width: 26px; }
.owner-mini-top strong,.owner-mini-top small { display: block; }
.owner-mini-top strong { color: #2c2723; font-size: 9px; }
.owner-mini-preview.theme-dark .owner-mini-top strong { color: #fff; }
.owner-mini-top small { color: #958a82; font-size: 7px; margin-top: 2px; }
.owner-live-dot { color: #16a34a; font-size: 7px; margin-left: auto; }
.owner-mini-hero { background: linear-gradient(130deg, var(--owner-accent), #291c18); border-radius: 9px; color: #fff; margin: 12px 0 9px; padding: 17px 10px; }
.owner-mini-hero span { display: block; font-size: 6px; font-weight: 800; letter-spacing: .12em; opacity: .76; }
.owner-mini-hero strong { display: block; font-family: Georgia, serif; font-size: 16px; line-height: 1; margin-top: 5px; }
.owner-mini-list { display: grid; gap: 7px; }
.owner-mini-dish { align-items: center; border-bottom: 1px solid rgba(80,70,60,.12); display: grid; gap: 5px; grid-template-columns: 6px minmax(0,1fr) auto; padding-bottom: 6px; }
.owner-mini-dish span:nth-child(2) { color: #514942; font-size: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-mini-preview.theme-dark .owner-mini-dish span:nth-child(2) { color: #ddd1c6; }
.owner-mini-dish strong { color: var(--owner-accent); font-size: 7px; }
.owner-mini-dot { border-radius: 50%; height: 5px; width: 5px; }
.owner-mini-foot { color: #a0968d; font-size: 6px; margin-top: 11px; }
.owner-preview-note { color: #958b84; font-size: 8px; line-height: 1.45; margin: 12px 3px 0; }
.owner-disclaimer { align-items: center; background: #fffaf4; border-top: 1px solid #eee4da; color: #786d64; display: flex; font-size: 9px; gap: 9px; justify-content: center; padding: 12px 18px; text-align: center; }
.owner-disclaimer strong { color: #a8462b; }

@media (max-width: 1050px) {
  .owner-layout { grid-template-columns: 168px minmax(0,1fr); }
  .owner-preview-column { border-left: 0; border-top: 1px solid #ebe7e3; display: grid; gap: 12px; grid-column: 1 / -1; grid-template-columns: auto minmax(220px,280px) 1fr; padding: 18px; }
  .owner-preview-heading { align-self: start; margin: 8px 0 0; }
  .owner-preview-note { align-self: center; margin: 0; }
}
@media (max-width: 760px) {
  .studio-pdf-module { border-radius: 20px; padding: 18px 12px; }
  .pdf-module-head { align-items: flex-start; flex-direction: column; }
  .pdf-save-pill { font-size: 9px; }
  .pdf-controls { align-items: stretch; gap: 11px; }
  .pdf-contrast { border-left: 0; border-top: 1px solid #39373a; margin: 0; padding: 8px 0 0; width: 100%; }
  .pdf-sheets { gap: 10px; }
  .pdf-module-foot { flex-direction: column; gap: 5px; }
  .owner-head { align-items: flex-start; flex-direction: column; padding: 22px 18px; }
  .owner-account { width: 100%; }
  .owner-layout { display: block; }
  .owner-sidebar { border-bottom: 1px solid #ebe7e3; border-right: 0; padding: 14px; }
  .owner-sidebar-label { margin-bottom: 7px; }
  .owner-place { display: inline-grid; margin: 0 3px 3px 0; max-width: calc(33.333% - 6px); vertical-align: top; }
  .owner-place + .owner-place { margin-top: 0; }
  .owner-place-chevron { display: none; }
  .owner-magic { display: none; }
  .owner-main { padding: 22px 14px; }
  .owner-preview-column { display: block; padding: 18px 14px; }
  .owner-preview-heading { margin-bottom: 11px; }
  .owner-preview-note { margin: 10px 0 0; }
}
@media (max-width: 500px) {
  .pdf-sheets { grid-template-columns: 1fr; margin: 0 auto; max-width: 320px; }
  .pdf-sheet { width: 100%; }
  .pdf-module-head h2 { font-size: 28px; }
  .owner-place { max-width: none; width: 100%; }
  .owner-menu-row { align-items: start; grid-template-columns: minmax(0,1fr) 74px; }
  .owner-availability { grid-column: 1 / -1; margin-left: 25px; }
  .owner-template-grid { gap: 6px; }
  .owner-template-card { padding: 5px; }
  .owner-template-art { height: 38px; }
  .owner-disclaimer { align-items: flex-start; flex-direction: column; gap: 3px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .owner-place,.owner-template-card,.pdf-switch::after,.owner-availability > span:first-child::after { transition: none; }
}

/* Ajustes para la demostración dentro de la landing, no para el panel real. */
.owner-mini-dish.is-unavailable span:nth-child(2){opacity:.5;text-decoration:line-through}
.owner-mini-dish.is-unavailable strong{color:#9B9287}
.owner-layout{grid-template-columns:145px minmax(0,1fr)}
.owner-head{align-items:flex-start;flex-direction:column;padding:24px}
.owner-head h2{font-size:29px}
.owner-head p{font-size:10px}
.owner-account{padding:6px 9px}
.owner-account strong{font-size:9px}
.owner-preview-column{grid-column:1/-1;display:grid;grid-template-columns:110px 1fr;gap:14px;border-left:0;border-top:1px solid #EBE7E3;padding:18px}
.owner-preview-column .owner-mini-preview{max-width:350px}
.owner-preview-note{grid-column:2;font-size:8px;margin-top:0}
.owner-main{padding:23px 17px}
.owner-place{grid-template-columns:23px minmax(0,1fr);gap:5px;padding:9px 5px}
.owner-place-mark{width:23px;height:23px;font-size:7px}
.owner-place strong{font-size:8px}
.owner-place small{font-size:6px}
.owner-place-chevron{display:none}
.owner-sync{display:none}
.owner-main h3{font-size:23px}
.owner-stats{gap:10px}
.owner-menu-row{grid-template-columns:minmax(0,1fr) 65px;gap:5px;padding:10px}
.owner-availability{grid-column:1/-1;margin-left:20px}
.owner-price-label input{width:51px}
.owner-section-title p{font-size:8px}
.owner-live-badge{display:none}
.pdf-logo-fallback,.pdf-dish-photo-fallback{display:none}
.pdf-qr{padding:12%;box-sizing:content-box}
@media(max-width:767px){.owner-layout{display:block}.owner-preview-column{display:block}.owner-preview-note{margin-top:12px}.owner-sidebar{padding:13px}.owner-place{width:100%;display:grid;grid-template-columns:27px minmax(0,1fr);margin:2px 0;max-width:none}.owner-place strong{font-size:10px}.owner-place small{font-size:8px}.owner-head h2{font-size:28px}.owner-main{padding:22px 15px}}

.pdf-logo{filter:none}
.pdf-cover-kicker{top:40%;bottom:auto}
.owner-dashboard button,.studio-pdf-module button,.studio-pdf-module input{font-family:inherit}
.owner-availability{font-size:9px}
.owner-price-label input{width:65px;font-size:10px;appearance:textfield;-moz-appearance:textfield;padding-inline:5px}
.owner-price-label input::-webkit-inner-spin-button,.owner-price-label input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.owner-menu-row{grid-template-columns:minmax(0,1fr) 83px}
.pdf-qr{padding:0;box-sizing:border-box;flex:0 0 30%}
.pdf-qr svg{padding:10%;background:#fff}
@media(max-width:767px){.owner-menu-row{grid-template-columns:minmax(0,1fr) 83px}}

.pdf-inside-label{margin-bottom:8%}
.pdf-inside-content h3{margin-bottom:6%}
.pdf-menu-rule{margin-bottom:6%}
.pdf-dish-row{padding:6% 0 5%}
.pdf-qr-block{margin-top:7%}

.owner-mini-preview.theme-grid .owner-mini-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.owner-mini-preview.theme-grid .owner-mini-dish{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #DEE7D8;border-radius:7px;padding:8px;gap:6px}
.owner-mini-preview.theme-grid .owner-mini-dish span:nth-child(2){white-space:normal;font-size:8px;line-height:1.4}
.owner-mini-preview.theme-grid .owner-mini-dot{display:none}
.owner-mini-preview.theme-grid .owner-mini-dish strong{font-size:9px}

.pdf-inside-page::before{height:35%}
.pdf-dish-row{position:relative;background:#F7F1E8;z-index:3}


/* Sprint 49 · tarjeta de vista previa compacta y viva */
.owner-mini-preview { min-width: 0; }
.owner-mini-top { min-width: 0; }
.owner-mini-top > span:nth-child(2) { min-width: 0; }
.owner-mini-logo { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 9px; font-size: 9px; }
.owner-mini-hero {
  display: flex;
  height: 76px;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  margin: 12px 0 9px;
  padding: 14px 18px;
  border-radius: 14px;
  background: linear-gradient(125deg, var(--owner-accent), #291c18 115%);
  box-sizing: border-box;
}
.owner-mini-hero span { font-size: 6px; letter-spacing: .14em; }
.owner-mini-hero strong { margin: 0; font-size: 16px; line-height: 1.08; }
.owner-mini-list { gap: 5px; }
.owner-mini-dish { min-height: 27px; padding: 5px 0; }
.owner-mini-dish strong { white-space: nowrap; }
.owner-mini-preview.theme-grid .owner-mini-hero { height: 76px; }
.owner-mini-preview.theme-grid .owner-mini-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }


/* Sprint 51: wordmark tipográfico de la portada de la carta demo. */
.pdf-grill-house-logo { align-items: flex-start; color: #fffaf3; flex-direction: column; font-family: "Anton", Impact, sans-serif; font-size: clamp(17px, 2.2vw, 32px); justify-content: center; letter-spacing: .09em; line-height: .88; }
.pdf-grill-house-logo strong { color: var(--pdf-accent, #d94e28); font-size: .62em; letter-spacing: .3em; margin-top: 5px; }
