/* Plataforma: página de restaurantes, assistente, configurações, cardápio público e logo em texto. */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.button.danger{background:#b43b37;border-color:#b43b37;color:#fff}

/* Logo em texto (restaurante sem logo) */
.brand-wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;padding:12px;box-sizing:border-box;text-align:center;line-height:1.05;color:var(--brand-primary)}
.brand-wordmark b{font:800 clamp(18px,2.2vw,26px)/1.05 var(--font-display),sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.brand-wordmark small{font:500 10px/1.2 var(--font-body),sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
aside .brand.has-wordmark,.identity-logo-plate.has-wordmark{aspect-ratio:430/218;display:flex}
aside .brand.has-wordmark .brand-wordmark{min-height:0}
@media(max-width:650px){aside .brand.has-wordmark .brand-wordmark b{font-size:15px}aside .brand.has-wordmark .brand-wordmark small{display:none}}

/* Barra lateral: links do restaurante */
.aside-bottom .aside-link{display:block;margin:0 0 10px;font-size:12px;font-weight:600;color:var(--brand-primary);text-decoration:none}
.aside-bottom .aside-link.is-muted{font-weight:400;color:#6a776e}
.aside-bottom .aside-link:hover{text-decoration:underline}
.aside-status{display:block;margin-top:14px}
@media(max-width:650px){aside .aside-bottom .aside-link{display:none}aside .aside-bottom .aside-status{margin:0}}

/* Cardápio público: sem barra da equipe */
html.mode-public aside{position:static;width:auto;display:flex;align-items:center;justify-content:space-between;padding:16px max(16px,calc((100vw - 1180px)/2));border:0;border-bottom:1px solid var(--brand-line);background:var(--brand-surface)}
html.mode-public aside .brand{width:150px;margin:0}
html.mode-public aside nav,html.mode-public aside .nav-label,html.mode-public aside .aside-bottom,html.mode-public .shell>header{display:none}
html.mode-public .shell{margin-left:0}
html.mode-public main{max-width:1180px;margin:0 auto;box-sizing:border-box}
@media(max-width:650px){html.mode-public aside{padding:12px 16px}html.mode-public aside .brand{width:110px}}

/* Plataforma e endereço inexistente */
html.mode-platform aside,html.mode-missing aside,html.mode-platform .shell>header,html.mode-missing .shell>header{display:none}
html.mode-platform .shell,html.mode-missing .shell{margin-left:0}
html.mode-platform body,html.mode-missing body{background:#f5f6f2}
.platform-page{max-width:1120px;margin:0 auto}
.platform-top{display:flex;align-items:baseline;gap:14px;margin:0 0 40px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.platform-wordmark{font:800 24px/1 var(--font-display),sans-serif;letter-spacing:-.03em;color:#1f2a24}
.platform-wordmark span{color:var(--brand-accent)}
.soomi-wordmark{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap}.soomi-wordmark>b{font-weight:inherit}.soomi-mark{height:1.3em;width:auto;aspect-ratio:100/104;flex-shrink:0;display:block}
.platform-tagline{font-size:12px;color:var(--muted)}
.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:28px}
.tenant-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}
.tenant-card-brand{aspect-ratio:430/218;display:flex;align-items:center;justify-content:center;background:var(--brand-surface);border-bottom:1px solid var(--brand-line)}
.tenant-card-brand img{width:100%;height:100%;object-fit:contain}
.tenant-card-body{padding:18px 20px 6px}
.tenant-card-body h2{margin:0;font:700 19px/1.3 var(--font-display),sans-serif;color:var(--brand-primary)}
.tenant-card-url{display:inline-block;margin-top:4px;font-size:12px;color:var(--brand-primary)}
.tenant-card-body p{margin:10px 0 0;font-size:12px;color:#56665b}
.tenant-card-body .tenant-card-modules{margin-top:4px;color:var(--muted)}
.tenant-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding:16px 20px 20px}
.tenant-card-actions .button{text-decoration:none;font-size:12px}
.tenant-card-delete{margin-left:auto;border:0;background:none;color:#a14b45;font-size:12px;cursor:pointer;padding:6px}
.tenant-card-delete:hover{text-decoration:underline}
.tenant-card-new{align-items:center;justify-content:center;gap:8px;min-height:300px;padding:24px;border-style:dashed;background:transparent;color:#405048;text-align:center;cursor:pointer;font:inherit}
.tenant-card-new span{font-size:30px;color:#245d45}
.tenant-card-new b{font-size:16px}
.tenant-card-new small{max-width:220px;color:var(--muted);line-height:1.5}
.tenant-card-new:hover{background:#fff;border-color:#b9c7b6}
.platform-missing-box{max-width:560px;margin:12vh auto 0;text-align:center}
.platform-missing-box h1{margin-top:12px}
.platform-missing-box .button{display:inline-block;text-decoration:none}
@media(max-width:650px){.platform-top{flex-direction:column;gap:6px;margin-bottom:26px}.tenant-grid{grid-template-columns:1fr}.tenant-card-new{min-height:170px}}

/* Cardápio vazio */
.menu-empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px 0 40px;padding:44px 24px;border:1px dashed var(--brand-line);border-radius:18px;background:var(--brand-card);text-align:center}
.menu-empty-state>span{font-size:30px;color:var(--brand-primary)}
.menu-empty-state h2{margin:0;font:700 21px/1.3 var(--font-display),sans-serif;color:var(--brand-primary)}
.menu-empty-state p{max-width:420px;margin:0 0 6px;font-size:13px;line-height:1.6;color:#56665b}

/* Configurações */
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin-bottom:40px}
.settings-card{padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}
.settings-card.settings-wide{grid-column:1/-1}
/* Abas de Configurações (uma seção por vez, em largura total) */
.settings-tabs{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;margin:0 0 20px;border-bottom:1px solid var(--line)}.settings-tabs::-webkit-scrollbar{display:none}
.settings-tabs button{position:relative;flex:0 0 auto;padding:12px 0 14px;border:0;background:none;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;cursor:pointer}
.settings-tabs button:hover{color:var(--brand-primary)}.settings-tabs button[aria-selected=true]{font-weight:800;color:var(--brand-primary)}
.settings-tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:var(--brand-primary)}
.settings-tabs button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px;border-radius:4px}
.settings-layout.is-tabbed{grid-template-columns:1fr}
.settings-card-head{margin-bottom:18px}
.settings-card-head h2{margin:0;font:700 17px/1.3 var(--font-display),sans-serif;color:#1f2a24}
.settings-card-head p{margin:6px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}
.settings-card h3{margin:20px 0 10px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#75816b}
.settings-card h3:first-child{margin-top:0}
.settings-actions{display:flex;justify-content:flex-end;margin-top:18px;grid-column:1/-1}
.settings-note{margin:14px 0 0;font-size:12px;color:var(--muted)}
.settings-links{display:grid;gap:12px}
.settings-links>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:12px 14px;border-radius:10px;background:#f5f6f2}
.settings-links small{grid-column:1;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#75816b}
.settings-links a{grid-column:1;font-size:13px;color:var(--brand-primary);overflow-wrap:anywhere}
.settings-links .button{grid-column:2;grid-row:1/3;font-size:11px;padding:8px 12px}
.settings-identity{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px}
.settings-identity>div:nth-child(2){display:flex;flex-direction:column;gap:4px;font-size:13px}
.settings-identity>div:nth-child(2) span{color:var(--muted);font-size:12px}
.settings-identity .button{grid-column:1/-1;justify-self:start}
.settings-theme{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}
.theme-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.theme-swatch{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:12px}
.theme-swatch input,.font-choice input{position:absolute;opacity:0;pointer-events:none}
.theme-swatch:has(input:checked),.font-choice:has(input:checked){border-color:var(--brand-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 25%,transparent)}
.theme-swatch:has(input:focus-visible),.font-choice:has(input:focus-visible){outline:2px solid var(--brand-primary);outline-offset:2px}
.theme-swatch-colors{display:flex;height:28px;overflow:hidden;border-radius:7px;box-shadow:inset 0 0 0 1px #0000001a}
.theme-swatch-colors i{flex:1}
.theme-swatch-colors i:first-child{flex:1.6}
.theme-swatch-colors.is-custom{background:conic-gradient(from 90deg,#e06a4e,#e9c24d,#5aa469,#3f7fbf,#8a5bb0,#e06a4e)}
.custom-colors{display:grid;gap:10px;margin-top:14px}
.custom-colors[hidden]{display:none}
.custom-colors label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.custom-colors label small{display:block;color:var(--muted);font-size:11px}
.custom-colors input[type=color]{width:46px;height:34px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.font-choices{display:grid;gap:8px}
.font-choice{position:relative;display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.font-choice-sample{width:44px;font-size:26px;font-weight:700;color:#1f2a24;text-align:center}
.font-choice-text{display:flex;flex-direction:column;gap:2px;font-size:13px}
.font-choice-text small{font-size:11px;color:var(--muted)}
.theme-preview{padding:14px;border-radius:14px;background:var(--brand-surface)}
.theme-preview .brand-hero{min-height:0;margin:0;padding:26px}
.theme-preview .brand-hero-text{max-width:calc(100% - 130px)}
.theme-preview .brand-hero-slogan{font-size:30px}
.theme-preview .brand-hero p{font-size:12px}
.theme-preview .brand-hero-art{width:110px;height:110px;right:20px}
.theme-preview-row{display:flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--font-body),sans-serif}
.theme-preview-chip{padding:7px 12px;border:1px solid var(--brand-line);border-radius:999px;background:var(--brand-card);color:var(--brand-primary);font-size:12px}
.theme-preview-chip.is-active{border-color:var(--brand-accent);box-shadow:inset 0 0 0 1px var(--brand-accent)}
.theme-preview-price{margin-left:auto;font:800 17px var(--font-display),sans-serif;color:var(--brand-primary)}
.settings-warning{min-height:1em;margin:10px 0 0;font-size:12px;color:#a14b45}
.settings-modules{display:grid;gap:10px;margin:0;padding:0;border:0}
.settings-modules legend{margin-bottom:10px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#75816b}
.settings-toggle{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.settings-toggle input{position:absolute;opacity:0;pointer-events:none}
.settings-toggle-track{position:relative;width:36px;height:20px;margin-top:1px;border-radius:999px;background:#cfd6cc;transition:background .15s}
.settings-toggle-track::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}
.settings-toggle input:checked+.settings-toggle-track{background:var(--brand-primary)}
.settings-toggle input:checked+.settings-toggle-track::after{transform:translateX(16px)}
.settings-toggle input:focus-visible+.settings-toggle-track{outline:2px solid var(--brand-primary);outline-offset:2px}
.settings-toggle b{display:block;font-size:13px}
.settings-toggle small{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:var(--muted)}
.settings-table-rows{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}
.settings-table-row{display:grid;grid-template-columns:30px 1fr 110px 32px;align-items:center;gap:10px}
.settings-table-code{font:700 12px var(--font-display),sans-serif;color:var(--muted)}
.settings-table-row input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8dfd6;border-radius:8px;font:13px var(--font-body),sans-serif}
.settings-table-row label:nth-of-type(2){display:flex;align-items:center;gap:6px}
.settings-table-row label:nth-of-type(2) input{width:64px}
.settings-table-row small{font-size:11px;color:var(--muted)}
.settings-icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#7b857e;cursor:pointer}
.settings-icon-button:disabled{opacity:.4;cursor:not-allowed}
.settings-table-add{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:var(--muted)}
.settings-empty{margin:0;padding:16px;border-radius:10px;background:#f5f6f2;font-size:12px;line-height:1.6;color:#56665b}
@media(max-width:900px){.settings-layout,.settings-theme{grid-template-columns:1fr}}
@media(max-width:650px){.settings-card{padding:18px}.settings-identity{grid-template-columns:110px 1fr}.settings-table-row{grid-template-columns:24px 1fr 92px 32px;gap:8px}}

/* Assistente de novo restaurante */
.tenant-wizard-dialog{width:min(860px,96vw)}
.wizard-progress{display:flex;gap:6px;margin:0 0 22px;padding:0;list-style:none;counter-reset:none}
.wizard-progress li{flex:1;display:flex;align-items:center;gap:8px;padding-top:10px;border-top:3px solid #dfe5dc;font-size:11px;color:var(--muted)}
.wizard-progress li span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef1ec;font-size:10px;font-weight:700}
.wizard-progress li.is-current{border-color:var(--brand-primary);color:#1f2a24;font-weight:600}
.wizard-progress li.is-current span,.wizard-progress li.is-done span{background:var(--brand-primary);color:#fff}
.wizard-progress li.is-done{border-color:color-mix(in srgb,var(--brand-primary) 45%,#fff)}
.wizard-fields{display:grid;gap:18px}
.wizard-fields>label,.wizard-tables label{display:flex;flex-direction:column;gap:7px;font-size:12px}
.wizard-fields input,.wizard-fields textarea,.wizard-tables input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8dfd6;border-radius:8px;background:#fffef7;font:14px/1.5 var(--font-body),sans-serif;color:#263830}
.wizard-fields small,.wizard-tables small{font-size:11px;line-height:1.5;color:var(--muted)}
.wizard-slug{display:flex;align-items:stretch;border:1px solid #d8dfd6;border-radius:8px;overflow:hidden;background:#fffef7}
.wizard-slug>span{display:flex;align-items:center;padding:0 0 0 12px;color:var(--muted);font-size:13px;white-space:nowrap}
.wizard-slug input{border:0;border-radius:0;padding-left:2px;background:transparent}
.identity-wide{grid-column:1/-1}
.wizard-theme{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}
.wizard-tables{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.wizard-tables small{grid-column:1/-1}
@media(max-width:650px){.wizard-progress li{font-size:0;gap:0}.wizard-progress li span{font-size:10px}.wizard-theme,.wizard-tables{grid-template-columns:1fr}.wizard-slug>span{display:none}.wizard-slug input{padding-left:12px}}
aside .brand .brand-wordmark{display:flex;margin:0;font:inherit;letter-spacing:normal}
.settings-toggle,.theme-swatch,.font-choice,.custom-colors label,.settings-table-row label,.wizard-tables label{margin:0}
