:root{--platepreview-green:#6e846e;--platepreview-green-hover:#506950}
/* Content-first administration: compact context, full-size usable controls.
   This sheet only affects the authenticated workspace, never the public menu. */
.studio .topbar{height:48px;padding:0 24px;font-size:11px}
.studio .content{padding:20px 24px;max-width:1800px}
.studio .page-heading{margin-bottom:16px;gap:12px;align-items:center}
.studio .page-heading h1{font-size:26px;line-height:1.2;letter-spacing:-.7px;margin:0}
.studio .heading-actions{gap:8px}
.studio .heading-actions .k-button,.studio .heading-actions .button{min-height:38px;padding:8px 12px}
.studio .back{padding:0 0 6px;min-height:28px;font-size:11px}
.studio .sidebar{padding-top:22px}
.studio .sidebar .brand{margin-bottom:28px}
.studio .account{margin-top:auto;padding-top:16px}
.studio .studio-footer{margin-top:24px;padding-top:12px}
.studio .stats{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;padding:0;border:0;border-radius:0;background:transparent}
.studio .stats>div{display:flex;align-items:baseline;gap:7px;padding:0;border:0}
.studio .stats span{font-size:11px;letter-spacing:0;text-transform:none;color:#66788f}
.studio .stats strong{font-size:16px;font-weight:650;letter-spacing:0;margin:0;order:-1;color:#344b69}
.studio .stats small{display:none}
.studio .listing-filters{padding:10px 12px;margin-bottom:14px;border-radius:8px}
.studio .listing-filter-toolbar{margin-bottom:8px;gap:8px}
.studio .listing-filter-toolbar .k-button{min-height:30px;padding:5px 8px}
.studio .listing-filter-fields{gap:10px 12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.studio .listing-filter-field{gap:5px}
.studio .listing-filter-field .k-input-inner{padding:7px 10px}
.studio .listing-filter-field .studio-select,.studio .listing-filter-field .remote-lookup input{min-height:36px}
.studio .listing-filter-field .remote-lookup input{padding-block:8px}
.studio .restaurant-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));gap:14px}
.studio .restaurant-card{display:grid;grid-template-columns:110px minmax(0,1fr);border-radius:10px}
.studio .k-card.restaurant-card .card-cover{height:auto;min-height:160px;padding:14px;align-self:stretch}
.studio .card-cover img{max-width:100%;max-height:65px}
.studio .card-mark{font-size:115px;right:-22px;bottom:-36px}
.studio .restaurant-card .card-body{min-width:0;padding:14px 16px 0}
.studio .card-kicker{flex-wrap:wrap;gap:5px;letter-spacing:.5px}
.studio .card-body h3{font-size:19px;margin:10px 0 6px;overflow-wrap:anywhere}
.studio .card-body>p{margin-bottom:0}
.studio .card-footer{margin-top:10px;padding:7px 0;flex-wrap:wrap}
.studio .card-footer .k-button{min-height:32px;padding:5px 7px}
.studio .panel{padding:18px;border-radius:9px}
.studio .panel h2{font-size:17px;margin-bottom:12px}
.studio .section-head{margin-bottom:12px;gap:10px}
.studio .section-head .muted{margin:5px 0 0;font-size:12px}
.studio .field{gap:6px;margin-bottom:14px}
.studio .editor-summary{gap:10px 16px;flex-wrap:wrap;margin:0 0 8px}
.studio .editor-tabs{margin-bottom:14px}
.studio .editor-tabs .k-button{min-height:40px;padding:9px 13px 12px}
.studio .table-filter-toolbar{margin-bottom:4px}
.studio .table-filter-toolbar .k-button{min-height:30px;padding:5px 8px}
.studio .native-data-table th{padding:8px 10px}
.studio .table-sort{padding-bottom:6px}
.studio .native-data-table td{padding:10px 12px;line-height:1.5}
.studio .native-table-scroll{max-height:calc(100dvh - 220px);min-height:120px}
.studio .grid-actions{padding:8px 12px}
.studio .grid-actions .k-button{min-height:34px;padding:6px 10px}
.studio .listing-pager{gap:8px;padding:10px 0}
.studio .listing-pager .k-button,.studio .listing-pager .k-picker{min-height:34px}
.studio .client-overview{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-bottom:12px;padding:12px 16px}
.studio .client-overview>div{display:flex;align-items:center;gap:8px}
.studio .client-overview strong{font-size:18px;margin:0;order:-1}
.studio .client-overview p{margin:0;gap:6px}
.studio .identity-brand-row{margin:12px 0 0;gap:18px}
.studio .identity-brand-row .media-upload{min-height:148px}
.studio .restaurant-language-card{padding:8px}
.studio .restaurant-language-options{gap:4px}
.studio .restaurant-language-options>button{min-height:62px;padding:8px 4px;gap:6px}
.studio .media-upload{padding:12px}
.studio .media-library-upload{padding:12px;margin:10px 0;gap:16px}
.studio .media-upload-disclosure{margin:0 0 12px;border:1px solid #e1e8f3;border-radius:8px;padding:10px 12px;background:#f8faff}
.studio summary{cursor:pointer;color:#31557e;font-size:12px;font-weight:550;min-height:24px;line-height:24px}
.studio summary:hover{color:#184a90;background:#edf3fc}
.studio .localization-provider{padding:8px 12px;margin:10px 0}
.studio .localization-provider p{font-size:12px}
.studio .localization-sections{margin:12px 0;gap:6px}
.studio .localization-sections .k-button{min-height:34px;padding:6px 10px}
.studio .localization-columns,.studio .localization-row{padding:10px 0;gap:16px}
.studio .localization-row p{margin:5px 0}
.studio .comment-row{padding:12px 0}
.studio .comment-row p{margin-top:6px}
.studio .account-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none;align-items:start}
.studio .account-settings>.panel:first-of-type{grid-column:1/-1}
.studio .account-settings>.alert{grid-column:1/-1}
.studio .import-preview{padding:16px}
@media(max-width:1100px){
 .studio .restaurant-grid{grid-template-columns:1fr}
 .studio .account-settings{grid-template-columns:1fr}
}
@media(max-width:750px){
 .studio .sidebar{padding:12px 16px}
 .studio .sidebar .brand{margin:0}
 .studio .sidebar nav{margin-top:10px;gap:4px}
 .studio .sidebar nav .k-button{min-height:40px;padding:8px}
 .studio .topbar{height:44px;padding:0 16px}
 .studio .content{padding:16px}
 .studio .page-heading{gap:10px;margin-bottom:12px}
 .studio .page-heading h1{font-size:23px}
 .studio .heading-actions{justify-content:flex-start}
 .studio .heading-actions .k-button,.studio .heading-actions .button{min-height:44px}
 .studio .listing-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .studio .listing-filter-field .remote-lookup input,.studio .listing-filter-field .studio-select{min-height:44px}
 .studio .listing-filter-actions{gap:2px}
 .studio .listing-filter-toolbar .k-button{min-height:40px}
 .studio .panel{padding:14px}
 .studio .native-table-scroll{max-height:65dvh}
 .studio .editor-tabs .k-button{min-height:44px}
 .studio .identity-brand-row{gap:8px}
 .studio .identity-brand-row .media-upload{min-height:0}
 .studio .client-overview>div:first-child{flex-wrap:wrap}
 .studio .listing-pager .k-button,.studio .listing-pager .k-picker{min-height:44px}
 .studio .localization-row{gap:8px}
 .studio .localization-row .k-button{min-height:44px}
 .studio .account-settings{display:grid;grid-template-columns:1fr}
}
@media(max-width:420px){
 .studio .restaurant-card{grid-template-columns:80px minmax(0,1fr)}
 .studio .restaurant-card .card-cover{padding:10px}
 .studio .restaurant-card .card-body{padding:12px 10px 0}
 .studio .card-kicker{font-size:8px;letter-spacing:0}
 .studio .listing-filter-toolbar{align-items:flex-start;flex-wrap:wrap}
 .studio .listing-filter-fields{grid-template-columns:1fr 1fr}
 .studio .listing-range{grid-template-columns:1fr}
}
/* Keep translation tools together rather than stacking one full-width row each. */
.studio .project-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;padding:12px 16px}
.studio .project-controls>.field{order:-1;flex:1 1 240px;max-width:340px;margin:0}
.studio .project-controls>.section-head{flex:1 1 400px;margin:0;gap:12px}
.studio .project-controls .section-head .muted{max-width:430px;margin:0;line-height:1.5;font-size:11px}
.studio .localization-tools{display:flex;align-items:flex-end;gap:8px 16px;flex-wrap:wrap;margin:8px 0 12px}
.studio .localization-tools .localization-sections{flex:1 1 440px;order:0;margin:0}
.studio .localization-tools>.field{order:1;flex:0 1 190px;margin:0}
.studio .localization-tools .localization-provider{order:2;flex:0 1 250px;padding:6px 10px;margin:0}
.studio .localization-tools .localization-provider[open]{flex-basis:100%}
.studio .localization-tools .localization-provider summary{font-size:11px}
.studio .localization>.section-head h2{margin-bottom:0}
@media(max-width:750px){
 .studio .project-controls{gap:12px}
 .studio .project-controls>.section-head{flex-wrap:wrap}
 .studio .project-controls>.field{max-width:none}
 .studio .localization-tools .localization-sections{flex-basis:100%}
 .studio .localization-tools>.field{flex:1 1 140px}
 .studio .localization-tools .localization-provider{flex:1 1 160px}
}
@media(max-width:750px){
 .studio .sidebar nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}
 .studio .sidebar nav .k-button{flex:0 0 auto;white-space:nowrap}
 .studio .sidebar nav .k-button-text{white-space:nowrap}
 .studio .restaurant-card .card-cover{min-height:150px}
}
/* Reset is a secondary destructive action: use a soft red hover, without the
   shared blue overlay or brightness filter applied to other buttons. */
@media(hover:hover){
 .studio .clear-listing-filters:enabled:hover{
  background:#fff1f2!important;
  background-image:none!important;
  border-color:transparent!important;
  color:#b42332!important;
  filter:none;
  box-shadow:none;
 }
}
/* Shared card lists retain field filters and pagination across every section. */
.studio .listing-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;align-items:start}
.studio .listing-cards-clients,.studio .listing-cards-users{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}
.studio .listing-card{min-width:0;background:#fff;border:1px solid #e1e8f3;border-radius:10px;overflow:visible;padding:16px;box-shadow:0 1px 2px #263d5c04}
.studio .listing-card.has-media{display:grid;grid-template-columns:95px minmax(0,1fr);padding:0;overflow:hidden}
.studio .listing-card-media{display:flex;align-items:center;justify-content:center;background:#edf2fa;align-self:stretch}
.studio .listing-card-media img{width:100%;height:100%;max-height:220px;min-height:130px;object-fit:cover}
.studio .listing-cards-restaurants .listing-card-media img{object-fit:contain;min-height:80px;padding:12px}
.studio .listing-card-content{min-width:0}
.studio .has-media .listing-card-content{padding:14px}
.studio .listing-card-avatar{display:grid;place-items:center;float:left;margin:0 10px 10px 0;width:36px;height:36px;border-radius:9px;background:#edf3fc;color:#315f9b;font-size:12px;font-weight:650}
.studio .listing-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px}
.studio .listing-card h3{font-size:16px;font-weight:600;line-height:1.4;letter-spacing:-.2px;overflow-wrap:anywhere;margin:0}
.studio .listing-card dl{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0}
.studio .listing-card dt{font-size:10px;color:#7b8ba0;margin-bottom:4px;font-weight:500}
.studio .listing-card dd{font-size:12px;line-height:1.5;color:#344c6d;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.studio .listing-cards-users dl>div:first-child{grid-column:1/-1}
.studio .listing-card footer{display:flex;justify-content:flex-end;border-top:1px solid #edf1f7;margin-top:14px;padding-top:7px}
.studio .listing-card footer .k-button{min-height:32px;padding:5px 8px}
.studio .listing-order{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px;font-size:11px;color:#6d7f97}
.studio .listing-order label{display:flex;align-items:center;gap:8px}
.studio .listing-order .k-picker{min-height:30px;max-width:180px;font-size:11px}
.studio .listing-order>.k-picker{max-width:130px}
.studio .listing-order .k-input-inner{padding:5px 8px}
.studio .listing-cards-changes{grid-template-columns:1fr}
.studio .listing-cards-changes .listing-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio .listing-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font:11px/1.6 monospace;margin:0;padding:10px;background:#f6f8fc;border-radius:6px}
.studio .listing-card.card-long-value{min-width:0}
.studio .comment-row.listing-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:16px}
.studio .comment-row.listing-card>.k-button{align-self:flex-end}
.studio .version-card{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.studio .version-card>b{width:100%;font-size:16px;color:#344c6d}
.studio .version-card>span{flex-basis:100%;font-size:12px;color:#71829a}
.studio .category-sort-list{display:grid;gap:10px}
.studio .category-sort-list>.category-row{border:1px solid #e1e8f3;border-radius:10px;padding:14px;background:#fff}
.studio .category-sort-list>.category-row.drop-before{border-top:3px solid #3478cf}
.studio .category-sort-list>.category-row.drop-after{border-bottom:3px solid #3478cf}
.studio .localization-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px;align-items:start}
.studio .localization-row.listing-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}
.studio .translation-card-label{font-size:11px;color:#526a8a;display:block;margin-bottom:6px}
.studio .localization-row.listing-card>div:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid #edf1f7;padding-top:10px}
.studio .localization-row.listing-card>div:last-child>small{flex:1 1 130px}
.studio .localization-row .translation-status{margin:0}
.studio .localization-row.listing-card .k-button{margin:0;min-height:34px;padding:6px 9px}
.studio .import-preview ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;list-style:none;padding:0}
.studio .import-preview li{background:white;border:1px solid #e1e8f3;border-radius:9px;padding:14px;margin:0;line-height:1.6}
@media(max-width:750px){
 .studio .listing-card-grid,.studio .localization-list{grid-template-columns:1fr}
 .studio .listing-card{padding:14px}
 .studio .listing-order{flex-wrap:wrap}
 .studio .listing-order .k-picker{min-height:40px}
 .studio .listing-card footer .k-button,.studio .localization-row.listing-card .k-button{min-height:44px}
 .studio .listing-cards-changes .listing-card dl{grid-template-columns:1fr}
 .studio .localization-row.listing-card{grid-template-columns:1fr}
 .studio .localization-row.listing-card>div:nth-child(2){padding:10px;background:#f7faff;border-radius:6px}
}
.studio .listing-card-grid{align-items:stretch}
.studio .listing-cards-clients .listing-card header,.studio .listing-cards-users .listing-card header{min-height:44px}
.studio .listing-cards-clients .listing-card,.studio .listing-cards-users .listing-card{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:10px}
.studio .listing-cards-clients .listing-card-avatar,.studio .listing-cards-users .listing-card-avatar{float:none;margin:0}
.studio .listing-cards-clients .listing-card-content,.studio .listing-cards-users .listing-card-content{display:flex;flex-direction:column;grid-column:2}
.studio .listing-cards-clients .listing-card dl,.studio .listing-cards-users .listing-card dl{margin-top:10px;margin-bottom:14px}
.studio .listing-cards-clients .listing-card footer,.studio .listing-cards-users .listing-card footer{margin-top:auto}
/* Metadata uses the full card width; only the title shares a row with initials. */
.studio .listing-cards-clients .listing-card,.studio .listing-cards-users .listing-card{grid-template-rows:auto 1fr auto}
.studio .listing-cards-clients .listing-card-content,.studio .listing-cards-users .listing-card-content{display:contents}
.studio .listing-cards-clients .listing-card dl,.studio .listing-cards-users .listing-card dl,.studio .listing-cards-clients .listing-card footer,.studio .listing-cards-users .listing-card footer{grid-column:1/-1}
/* Availability belongs below the title, so long names retain the full width. */
.studio .listing-card-content>header{justify-content:flex-start}
.studio .listing-card-content>.badge{align-self:flex-start;justify-self:start;margin:8px 0 0}
.studio .listing-cards-clients .listing-card-content>.badge,.studio .listing-cards-users .listing-card-content>.badge{grid-column:1/-1;grid-row:2}
.studio .listing-cards-clients .listing-card,.studio .listing-cards-users .listing-card{grid-template-rows:auto auto 1fr auto}
.studio .listing-card footer{flex-wrap:wrap;gap:6px;justify-content:space-between}
.studio .category-level>.badge{display:block;max-width:160px;white-space:normal;margin-top:7px}
.studio .availability-note{margin-bottom:10px;font-size:12px}
.studio .listing-card .fit-card-title{width:100%;min-width:0;white-space:nowrap;overflow-wrap:normal;letter-spacing:0;line-height:1.4}
.studio .listing-cards-clients .listing-card header,.studio .listing-cards-users .listing-card header,.studio .listing-cards-restaurants .listing-card header{align-items:center;min-width:0}
.studio .listing-cards-clients .listing-card-avatar,.studio .listing-cards-users .listing-card-avatar{align-self:center}
.studio .listing-card-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.studio .card-heading{width:100%;min-width:0}
.studio .card-subtitle{display:block;font-size:10px;color:#7c8ba0;line-height:1.5;margin-top:3px;font-weight:400;overflow-wrap:anywhere}
.studio .listing-cards-clients .listing-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio .card-open-action .k-button-text,.studio .card-open-action .k-svg-icon{color:inherit!important}
@media(hover:hover){
 .studio .listing-card .card-open-action.action-list:enabled:hover{background:#205db0!important;background-image:none!important;border-color:#205db0!important;color:#fff!important;filter:none}
}
.studio .card-subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;min-width:0}
.studio .card-subtitle-row .card-subtitle{margin:0;min-width:0}
.studio .card-subtitle-row .badge{margin:0;flex-shrink:0}
.studio .listing-cards-clients .listing-card{grid-template-rows:auto 1fr auto}
/* The status badge must fit the subtitle's original line box. */
.studio .card-subtitle-row{margin-top:3px;min-height:15px}
.studio .card-subtitle-row .badge{font-size:8px;line-height:12px;padding:1px 5px;border-radius:4px}
/* Action buttons need a clear state, regardless of Kendo's flat/outline theme.
   Navigation keeps its own hover and reset keeps the requested soft red tint. */
:is(.studio,.studio-dialog,.login-form) .k-button .k-button-text,:is(.studio,.studio-dialog,.login-form) .k-button .k-svg-icon{color:inherit}
@media(hover:hover){
 :is(.studio,.studio-dialog,.login-form) .k-button[class*="action-"]:enabled:not(.clear-listing-filters):not(.editor-tabs .k-button):not(.sidebar nav .k-button):hover{
  color:var(--action-ink,#fff)!important;
  background:var(--action-strong,var(--action-color))!important;
  background-image:none!important;
  border-color:var(--action-strong,var(--action-color))!important;
  filter:none;
 }
 :is(.studio,.studio-dialog,.login-form) .k-button[class*="action-"].primary:enabled:not(.clear-listing-filters):hover{background-color:var(--action-strong)!important;border-color:var(--action-strong)!important}
 :is(.studio,.studio-dialog,.login-form) .k-button[class*="action-"]:enabled:hover .k-button-text,:is(.studio,.studio-dialog,.login-form) .k-button[class*="action-"]:enabled:hover .k-svg-icon{color:inherit!important}
}
/* Hierarchy colors complement the numeric level and the full category path.
   Hue is assigned from the actual depth, including levels beyond the palette. */
.studio .category-sort-list>.sortable-category{background:var(--category-level-bg,#fff);border-inline-start:4px solid var(--category-level-color,#315f9b)}
.studio .category-depth-label{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;background:var(--category-level-tag,#e7effc);color:var(--category-level-color,#315f9b);font-size:10px;font-weight:650;white-space:nowrap}
.studio .sortable-category .category-drag-handle{color:var(--category-level-color,#315f9b)}
/* Stock and editing remain distinct, adjacent actions at every card width. */
.studio .listing-cards-dishes .listing-card footer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:6px}
.studio .listing-cards-dishes .listing-card footer .k-button{font-size:11px;padding:6px;white-space:nowrap;min-width:0;gap:6px}
.studio .listing-cards-dishes .stock-action.action-cancel{color:#b42332;background:#fff0f1;border-color:transparent}
.studio .listing-cards-dishes .card-open-action.action-edit{color:#475569;background:#f1f5f9;border-color:transparent}
.studio .listing-cards-dishes .stock-action.action-accept{color:var(--platepreview-green-hover);background:#eff3ef;border-color:transparent}
@media(max-width:420px){.studio .listing-cards-dishes .has-media{grid-template-columns:80px minmax(0,1fr)}}
/* File selection uses a quiet slate palette, separate from editing actions. */
:is(.studio,.studio-dialog) .k-button.media-file-button:enabled{--action-color:#475569;--action-strong:#334155;color:#475569!important;background:#f1f5f9!important;border-color:#94a3b8!important}
:is(.studio,.studio-dialog) .media-file-button .k-button-text,:is(.studio,.studio-dialog) .media-file-button .k-svg-icon{color:inherit!important}
/* All edit actions share the slate palette, including cards and dialogs. */
.k-button.action-edit{--action-color:#475569;--action-bg:#f1f5f9;--action-strong:#334155}
:is(.studio,.studio-dialog,.login-form) .k-button.action-edit:enabled{color:#475569!important;background:#f1f5f9!important;border-color:#94a3b8!important}
:is(.studio,.studio-dialog,.login-form) .k-button.action-edit .k-button-text,:is(.studio,.studio-dialog,.login-form) .k-button.action-edit .k-svg-icon{color:inherit!important}
@media(hover:hover){
 :is(.studio,.studio-dialog,.login-form) .k-button.action-edit:enabled:hover{color:#fff!important;background:#475569!important;border-color:#475569!important;background-image:none!important;filter:none}
}
/* Filter controls share the remote lookup's surface and dimensions. The border
   belongs to the Kendo wrapper when present, or to a direct native input. */
:is(.studio,.studio-dialog) .listing-filters :is(.listing-filter-field,.listing-order) :is(.k-input,.k-picker),
:is(.studio,.studio-dialog) .listing-filters .remote-lookup input{
 width:100%;min-width:0;min-height:42px;border:1px solid #dfe6f1;border-radius:8px;
 background:#fff;color:#344967;font-size:12px;box-shadow:none;
}
:is(.studio,.studio-dialog) .listing-filters .listing-filter-field .k-input-inner,
:is(.studio,.studio-dialog) .listing-filters .listing-order .k-input-inner{
 min-width:0;min-height:40px;padding:10px 12px;border:0;border-radius:0;
 background:transparent;color:#344967;font-size:12px;box-shadow:none;
}
:is(.studio,.studio-dialog) .listing-filters .remote-lookup input{padding:10px 38px 10px 12px}
:is(.studio,.studio-dialog) .listing-filters :is(input,.k-input-inner)::placeholder{color:#8a98ad;opacity:1}
:is(.studio,.studio-dialog) .listing-filters :is(.k-input,.k-picker):hover,
:is(.studio,.studio-dialog) .listing-filters .remote-lookup input:hover{border-color:#b7cbea;background:#fff}
:is(.studio,.studio-dialog) .listing-filters :is(.k-input,.k-picker):focus-within,
:is(.studio,.studio-dialog) .listing-filters .remote-lookup input:focus{
 border-color:#8fb2e3;outline:2px solid #b4cdf2;outline-offset:1px;box-shadow:none;
}
:is(.studio,.studio-dialog) .listing-filters .k-input-inner:focus{outline:0;box-shadow:none}
:is(.studio,.studio-dialog) .listing-filters :is(.k-input-button,.k-button){border-radius:6px}
@media(max-width:750px){
 :is(.studio,.studio-dialog) .listing-filters :is(.listing-filter-field,.listing-order) :is(.k-input,.k-picker),
 :is(.studio,.studio-dialog) .listing-filters .remote-lookup input{min-height:44px}
 :is(.studio,.studio-dialog) .listing-filters .listing-filter-field .k-input-inner,
 :is(.studio,.studio-dialog) .listing-filters .listing-order .k-input-inner{min-height:42px}
}
:is(.studio,.studio-dialog) .listing-filters .listing-filter-field>input.k-input,
:is(.studio,.studio-dialog) .listing-filters .listing-range>input.k-input{padding:10px 12px}
/* Immutable record identity is metadata, not an editable control. */
.record-identity{margin:0 0 20px}
.record-identity dt{font-size:12px;font-weight:550;color:#687a90;margin-bottom:5px}
.record-identity dd{margin:0;color:#344967;font-size:13px;overflow-wrap:anywhere}
.record-identity code{font-family:inherit}
/* Fixed-size comment previews; a native overlay button opens the whole card,
   while Delete remains a separate action above the overlay. */
.studio .comment-row.listing-card.comment-card{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;height:164px;overflow:hidden;padding:16px}
.studio .comment-card-meta{min-width:0}
.studio .comment-card-meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio .comment-card-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.studio .comment-card .comment-preview{min-height:0;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.studio .comment-card-open{position:absolute;inset:0;z-index:1;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.studio .comment-card-open:enabled:hover{background:transparent!important;background-image:none!important;filter:none}
.studio .comment-card:hover{border-color:#a9bfdc;box-shadow:0 3px 12px #304e7410}
.studio .comment-card-open:focus-visible{outline:2px solid #3975be;outline-offset:-3px}
.studio .comment-card>.comment-delete{position:relative;z-index:2;justify-self:end;align-self:end}
.comment-details dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}
.comment-details dt{font-size:11px;color:#7a8aa0;margin-bottom:5px}
.comment-details dd{font-size:13px;color:#344967;margin:0;overflow-wrap:anywhere}
.comment-details h3{font-size:14px;margin:0 0 10px}
.comment-full-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px;margin:0}
@media(max-width:480px){.comment-details dl{grid-template-columns:1fr}}

/* The management button's click area covers its restaurant card. */
.studio .restaurant-card-interactive{position:relative;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.studio .restaurant-card-interactive:hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.studio .restaurant-card-interactive .restaurant-manage{position:static}
.studio .restaurant-card-interactive:has(.restaurant-manage:focus-visible){outline:2px solid #2865c4;outline-offset:3px}
.studio .listing-cards-restaurants .listing-card:has(.card-open-action){position:relative;cursor:pointer}
.studio .listing-cards-restaurants .card-open-action{position:static}
.studio .listing-cards-restaurants .listing-card:has(.card-open-action):hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.studio .listing-cards-restaurants .listing-card:has(.card-open-action:focus-visible){outline:2px solid #2865c4;outline-offset:3px}

.studio :is(.listing-cards-clients,.listing-cards-users) .listing-card:has(.card-open-action){cursor:pointer;transition:border-color .18s,box-shadow .18s}
.studio :is(.listing-cards-clients,.listing-cards-users) .listing-card:has(.card-open-action):hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.studio :is(.listing-cards-clients,.listing-cards-users) .listing-card:has(.card-open-action:focus-visible){outline:2px solid #2865c4;outline-offset:3px}
.translation-inline-list{border:1px solid #dfe6f1;border-radius:10px;overflow:hidden;background:#fff}
.translation-inline-heading,.translation-inline-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:12px 16px}
.translation-inline-heading{background:#f4f7fb;color:#506582;font-size:13px}
.translation-inline-row+.translation-inline-row{border-top:1px solid #e7edf5}
.translation-inline-source,.translation-inline-target{min-width:0}
.translation-inline-source>small{display:block;font-size:11px;color:#7a879b;overflow-wrap:anywhere;margin-bottom:5px}
.translation-inline-source>p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.translation-inline-target label{display:block}
.studio .translation-inline-target .k-textarea{width:100%;border:1px solid #cfdae9;border-radius:8px;background:#fff}
.studio .translation-inline-target .k-textarea:focus-within{border-color:#2865c4;box-shadow:0 0 0 3px #2865c416}
.studio .translation-inline-target .k-textarea-inner{min-height:40px;line-height:1.5;padding:9px 11px;resize:vertical}
.translation-inline-meta{display:flex;gap:8px;align-items:center;margin-top:5px;font-size:11px}
.translation-inline-meta .translation-status{padding:2px 6px;font-size:10px}
.localization-save-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.localization-save-actions>span{font-size:12px}
.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(max-width:650px){.translation-inline-heading{display:none}.translation-inline-row{grid-template-columns:1fr;gap:8px;padding:12px}.localization-save-actions{justify-content:flex-start}.translation-inline-source>p{font-size:13px}.translation-inline-target .k-textarea{font-size:14px}}
.translation-filters{margin:8px 0 10px;border:1px solid #e1e8f2;border-radius:8px}
.translation-filters>summary{padding:9px 12px;color:#506582;cursor:pointer;font-size:12px;font-weight:600;border-radius:8px}
.translation-filters>summary:hover{background:#edf3fb;color:#2456a6}
.translation-filters>.listing-filters{margin:0;border:0;border-top:1px solid #e1e8f2;border-radius:0;padding:12px}
.studio .localization>.section-head{margin-bottom:10px}
.studio .localization .localization-tools{margin-bottom:8px;gap:10px}
.studio .localization>p.muted{font-size:12px;margin:8px 0 10px}
.translation-transfer{margin:8px 0 10px;padding:10px 12px;background:#f6f9fd;border-radius:8px}
.translation-transfer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.translation-transfer>small{display:block;color:#718198;line-height:1.5;font-size:11px}
.translation-import-preview{max-height:48vh;overflow:auto;border:1px solid #dfe6f1;border-radius:8px}
.translation-import-preview article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;overflow-wrap:anywhere}
.translation-import-preview article+article{border-top:1px solid #e1e8f2}
.translation-import-preview article>b{grid-column:1/-1}
.translation-import-preview span{font-size:12px;color:#718198}
.translation-import-preview p{white-space:pre-wrap;margin:5px 0}
@media(max-width:650px){.translation-import-preview article{grid-template-columns:1fr}}
.customer-summary{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:8px 0 14px;font-size:12px;color:#63758e}
.customer-summary b{font-size:16px;color:#273348;margin-right:4px}
.customer-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.customer-card{border:1px solid #dfe6f1;border-radius:10px;padding:16px;background:#fff;cursor:pointer;min-width:0;transition:border-color .18s,box-shadow .18s}
.customer-card:hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.customer-card:has(button:focus-visible){outline:2px solid #2865c4;outline-offset:3px}
.customer-card header{display:flex;gap:10px;align-items:center}
.customer-card header>div:last-child{min-width:0}
.customer-card h3{font-size:16px;margin:0 0 4px;overflow-wrap:anywhere}
.customer-card header p{font-size:12px;color:#718198;margin:0;overflow-wrap:anywhere}
.customer-restaurant{font-size:12px;margin:12px 0;color:#496284;font-weight:600}
.customer-card dl{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:0 0 12px}
.customer-card dt{color:#718198;font-size:11px;margin-bottom:4px}
.customer-card dd{margin:0;font-weight:600}
.customer-card footer{border-top:1px solid #e7edf5;padding-top:8px;display:flex;gap:5px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.customer-card footer small{font-size:10px;color:#718198}
.customer-detail-heading{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:10px}
.customer-detail-heading h2{font-size:20px;margin:0 0 4px}.customer-detail-heading p{margin-bottom:4px}.customer-detail-heading small{color:#718198}
.customer-activity-list{display:grid;gap:12px}
.customer-activity-list article{border:1px solid #dfe6f1;padding:14px;border-radius:8px;min-width:0}
.customer-activity-list header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.customer-activity-list time{font-size:11px;color:#718198}.customer-activity-list h3{font-size:15px;margin-bottom:8px}
.customer-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0}
.customer-stars{display:flex;gap:12px;align-items:center;margin:0}.customer-stars span{color:#8c7044;font-size:23px;letter-spacing:3px}.customer-stars b{font-size:13px;color:#496284}
@media(max-width:650px){.customer-card-grid{grid-template-columns:1fr}.customer-summary{gap:10px}}
.version-selection-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.version-selection-toolbar>span{font-size:12px;font-weight:600;margin-right:5px}
.version-selection-toolbar>small{flex-basis:100%;color:#718198;font-size:11px}
.studio .version-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.version-card>header{display:flex;align-items:center;gap:8px;min-width:0}
.version-card>header input{accent-color:#2865c4;width:16px;height:16px;flex-shrink:0}
.version-card>header b{flex:1;min-width:0}
.studio .version-card>header .k-button{font-size:11px;padding:5px 8px}
.studio .version-card .version-actions{display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;margin-top:auto}
.studio .version-card .version-actions>.k-button{flex:1;min-width:0;white-space:nowrap;font-size:11px;padding:8px 9px}
.studio .version-card.version-selected{border-color:#6593d0;background:#f4f8ff}
@media(max-width:650px){.studio .version-card-grid{grid-template-columns:1fr}.version-selection-toolbar .k-button{font-size:11px}}
.lookup-result-content{display:flex;gap:10px;align-items:center;min-width:0}
.lookup-result-text{min-width:0;display:flex;flex-direction:column;gap:3px}
.lookup-result-text b,.lookup-result-text small{overflow-wrap:anywhere}
.lookup-result-avatar{position:relative;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:8px;background:#edf3fb;color:#315f99;font-size:12px;font-weight:700;overflow:hidden}
.lookup-result-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#edf3fb;padding:3px}
.lookup-result-avatar img[hidden]{display:none}
.studio .version-card{display:flex;flex-direction:column;gap:12px}
.studio .version-card .version-actions>.k-button{min-height:40px;flex:1 1 0;justify-content:center;padding:8px 5px;font-size:12px}
.studio .version-card .version-actions .k-icon{width:16px;height:16px;font-size:16px}
.studio .version-card .version-actions .k-button-text{gap:5px}
.customer-card>.badge{font-size:10px;margin-bottom:10px}
.customer-newsletter{font-size:12px;margin-top:8px;color:#63758e}
.studio .comment-row.listing-card.comment-card{grid-template-columns:minmax(0,1fr);justify-content:stretch}
.studio .comment-card>.comment-delete{justify-self:end;margin-inline-start:auto;margin-inline-end:0}
/* Reset the former wrapping row layout before stacking version content. */
.studio .version-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));min-width:0;width:100%}
.studio .version-card.listing-card{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:12px;min-width:0;overflow:hidden}
.studio .version-card>header{width:100%;min-height:0;flex:0 0 auto;align-items:center}
.studio .version-card>span{flex:0 0 auto;flex-basis:auto;min-width:0;white-space:normal;overflow-wrap:anywhere}
.studio .version-card .version-actions{width:100%;min-width:0;margin-top:auto;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.studio .version-card .version-actions>.k-button{width:100%;min-width:0;box-sizing:border-box}
.studio .version-card .version-actions .k-button-text{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio .version-card.version-selectable{cursor:pointer;transition:border-color .15s,background .15s}
.studio .version-card.version-selectable:hover{border-color:#7e9fc9;background:#f8faff}
.studio .version-card.version-selected,.studio .version-card.version-selected:hover{background:#edf4ff;border-color:#6593d0}
.studio .version-card:has(input:focus-visible){outline:2px solid #2865c4;outline-offset:3px}
.customer-workspace-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.customer-workspace-tabs .active{background:#edf4ff;border-color:#8aaddd}
.feedback-period{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:10px;align-items:end;background:#fff;border:1px solid #e1e8f2;padding:12px;border-radius:10px;margin-bottom:14px}
.feedback-period .field{margin-bottom:0;min-width:0}.feedback-period .k-input{width:100%}
.feedback-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
.feedback-metrics>div{display:flex;flex-direction:column;gap:7px;border:1px solid #e0e7f1;border-radius:9px;background:#fff;padding:14px;min-width:0}
.feedback-metrics small{color:#718198;font-size:11px}.feedback-metrics b{font-size:24px;color:#304b6b}
.feedback-note{font-size:12px;color:#718198;line-height:1.6}
.feedback-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.feedback-chart{margin:0;padding:16px;background:#fff;border:1px solid #e1e8f2;border-radius:10px;min-width:0}
.feedback-chart figcaption{font-weight:650;color:#344c6d;margin-bottom:12px}.feedback-chart p,.feedback-chart small{font-size:11px;color:#718198;line-height:1.5}
.feedback-chart svg{display:block;width:100%;height:auto;max-height:260px}.feedback-chart svg text{fill:#718198;font-size:10px}
.chart-axis{stroke:#ccd6e4;stroke-width:1}.chart-grid{stroke:#edf1f6;stroke-width:1}.chart-comments{fill:#527dac}.chart-ratings{fill:#ad8a5c}
.chart-average{fill:none;stroke:#4c8478;stroke-width:2.5}.chart-point{fill:#4c8478;stroke:#fff;stroke-width:2}
.chart-legend{display:flex;gap:16px;font-size:11px;color:#718198;margin-bottom:4px;flex-wrap:wrap}.chart-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.legend-comments:before{background:#527dac}.legend-ratings:before{background:#ad8a5c}
.star-distribution{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:12px}.star-distribution>span{min-width:28px;color:#8f734c}.star-distribution>div{height:10px;background:#edf1f6;flex:1;border-radius:6px;overflow:hidden}.star-distribution i{display:block;height:100%;background:#ad8a5c;border-radius:6px}.star-distribution b{min-width:24px;text-align:right;color:#496284}
.feedback-data{border:1px solid #e1e8f2;border-radius:8px;margin-bottom:18px}.feedback-data>summary{padding:10px 12px;cursor:pointer;font-size:12px;font-weight:600;color:#506582}
.feedback-alerts footer{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.feedback-alerts p{font-size:12px;overflow-wrap:anywhere}.feedback-alerts small,.feedback-dish>small{color:#718198;font-size:11px}
.comment-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;z-index:2;justify-self:stretch;min-width:0}.comment-actions>.comment-reply-control{margin-left:auto;min-width:0}.comment-actions .k-button{min-height:34px;padding:6px 10px;font-size:12px}
.staff-reply{border-inline-start:3px solid #80a197;padding:10px 14px;background:#f3f8f6;margin:14px 0}.staff-reply>b{display:block;font-size:12px;color:#41695e}.staff-reply time{font-size:10px;color:#718198}.staff-reply p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin:8px 0 0}
.comment-reply-control:not(.compact){margin-top:12px}.customer-activity-list .comment-reply-control .k-button{min-height:34px}
@media(max-width:1100px){.feedback-period{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.feedback-period{grid-template-columns:1fr}.feedback-chart-grid{grid-template-columns:1fr}.feedback-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.comment-actions .k-button{font-size:11px;padding:6px 8px}}
.feedback-alert-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:#f7e8e5;color:#9c433a;font-size:11px;font-weight:700}
.feedback-chart-grid>.feedback-distribution{grid-column:1/-1}

/* Dock the footer to the viewport and scroll only the working content. */
.studio{--workspace-sidebar-width:238px;--workspace-footer-height:56px;height:100dvh;min-height:0;overflow:hidden}
.studio>.sidebar{overflow-y:auto;overscroll-behavior:contain}
.studio>main{display:grid;grid-template-rows:auto minmax(0,1fr) var(--workspace-footer-height);height:100dvh;min-height:0;min-width:0;overflow:hidden}
.studio>main>.topbar{min-height:48px}
.studio>main>.content{height:100%;min-height:0;min-width:0;max-height:100%;width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.studio>main>.studio-footer{position:fixed;inset:auto 0 0 var(--workspace-sidebar-width);height:var(--workspace-footer-height);margin:0;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);background:#f5f7fb;z-index:25;box-sizing:border-box}
.studio>main>.studio-footer>.platform-logo{width:124px;height:auto;max-height:32px;flex-shrink:0}
@media(min-width:1400px){.studio{--workspace-sidebar-width:252px}}
@media(max-width:1100px){.studio{--workspace-sidebar-width:200px}}
@media(max-width:750px){
 .studio{--workspace-sidebar-width:0px;--workspace-footer-height:48px;display:flex;flex-direction:column}
 .studio>.sidebar{flex:0 0 auto;overflow-y:visible}
 .studio>main{flex:1 1 auto;height:auto;width:100%;margin:0;min-height:0}
 .studio>main>.topbar{min-height:44px}
 .studio>main>.studio-footer{padding:8px 16px}
}
@media print{
 .studio{height:auto;min-height:0;overflow:visible;display:block}
 .studio>main{display:block;height:auto;overflow:visible}
 .studio>main>.content{height:auto;overflow:visible;max-height:none}
 .studio>main>.studio-footer{display:none!important}
}
.staff-reply .reply-edited{display:block;font-size:10px;color:#718198;margin-top:4px}
.email-verification-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f5f7fb}
.email-verification-page>.panel{width:min(100%,620px);padding:32px}.email-verification-page .platform-logo{width:190px;height:auto;margin-bottom:22px}.email-verification-page h1{font-size:26px}.email-verification-page p{line-height:1.65}
/* Keep notifications above the docked footer at desktop and mobile sizes. */
.studio .toast{bottom:calc(var(--workspace-footer-height,56px) + 16px + env(safe-area-inset-bottom,0px));right:20px;z-index:100;max-width:min(560px,calc(100vw - var(--workspace-sidebar-width,0px) - 40px))}
@media(max-width:750px){.studio .toast{right:16px;max-width:calc(100vw - 32px)}}

/* Restaurant address: compact, responsive and consistent with API selectors. */
.restaurant-location{margin:20px 0;padding-top:16px;border-top:1px solid #e2e9f2;min-width:0}
.restaurant-location h3{margin:0 0 14px}
.restaurant-location-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 18px}
.restaurant-location-grid .field{min-width:0;margin:0;grid-column:span 3}
.restaurant-location-grid .field:nth-child(-n+3){grid-column:span 4}
.restaurant-location-grid .k-input,.restaurant-location-grid .studio-select{width:100%}
.location-source{display:block;margin-top:12px;color:#74849a;font-size:11px}
.location-source a{color:inherit}
@media(max-width:900px){.restaurant-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-location-grid .field,.restaurant-location-grid .field:nth-child(-n+3){grid-column:auto}}
@media(max-width:580px){.restaurant-location-grid{grid-template-columns:minmax(0,1fr)}}
.studio .listing-cards-dishes .listing-card{cursor:pointer;transition:border-color .18s,box-shadow .18s}
.studio .listing-cards-dishes .listing-card:hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.studio .listing-cards-dishes .listing-card:focus-visible{outline:2px solid #2865c4;outline-offset:3px}
/* Both headings use the identity heading as their shared typographic reference. */
.studio .identity{--identity-section-heading-size:17px}
.studio .identity>h2,.studio .identity .restaurant-location>h3{font-size:var(--identity-section-heading-size);font-weight:550;letter-spacing:-.5px}

/* Audit uses the same compact cards and filters as the other workspaces. */
.audit-intro{margin-bottom:12px}
.audit-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.audit-card{display:flex;flex-direction:column;min-width:0}
.audit-card header{display:flex;justify-content:space-between;align-items:start;gap:12px}
.audit-card h3{font-size:16px;margin:0}
.audit-card .audit-actor{margin:12px 0 4px}
.audit-card time{font-size:12px;color:#73829a}
.audit-card dl,.audit-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.audit-card dt,.audit-detail dt{font-size:12px;color:#73829a;margin-bottom:4px}
.audit-card dd,.audit-detail dd{margin:0;overflow-wrap:anywhere}
.audit-card footer{margin-top:auto;padding-top:10px;display:flex;justify-content:flex-end}
.audit-card-interactive{cursor:pointer;transition:border-color .18s,box-shadow .18s}
.audit-card-interactive:hover{border-color:#9bb5da;box-shadow:0 4px 16px #234b7812}
.audit-card-interactive:focus-visible{outline:2px solid #2865c4;outline-offset:3px}
.audit-changes{display:grid;gap:10px}.audit-changes>div{padding:12px;border:1px solid #e4e9f1;border-radius:8px}.audit-changes p{margin:8px 0 0;overflow-wrap:anywhere}
@media(max-width:560px){.audit-detail dl{grid-template-columns:1fr}}

/* Semantic audit borders stay visible on hover and for every interface language. */
.studio .audit-card{--audit-border:#98a6b8;border:1px solid var(--audit-border);border-inline-start-width:4px}
.studio .audit-action-create{--audit-border:#4b8664}
.studio .audit-action-edit{--audit-border:#bd7b3a}
.studio .audit-action-delete{--audit-border:#b85d65}
.studio .audit-action-publication{--audit-border:#5683bb}
.studio .audit-card-interactive:hover{border-color:var(--audit-border);box-shadow:0 4px 16px #234b7820}
.studio .restore-publication-confirm{background:#475569!important;border-color:#475569!important;color:#fff!important}
.studio .restore-publication-confirm:enabled:hover{background:#334155!important;border-color:#334155!important;color:#fff!important;box-shadow:0 3px 10px #33415528}

.audit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.audit-toolbar p{margin:0}
.audit-scope-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:12px}.audit-scope-selectors .field{margin-bottom:0}
.audit-empty{padding:34px 20px;text-align:center;color:#73829a;border:1px dashed #ccd7e5;border-radius:10px;background:#fff;margin-top:18px}
.audit-scope-note{margin:10px 0}
.audit-table-scroll{overflow-x:auto;max-width:100%}
.audit-table{width:100%;border-collapse:separate;border-spacing:0 7px;font-size:12px}
.audit-table th{text-align:start;color:#667891;font-size:11px;padding:8px 12px;white-space:nowrap}
.audit-event-row{--audit-border:#98a6b8;cursor:pointer;outline-offset:2px}
.audit-event-row td{padding:11px 12px;background:#fff;border-block:1px solid var(--audit-border);vertical-align:middle}
.audit-event-row td:first-child{border-inline-start:4px solid var(--audit-border);border-start-start-radius:7px;border-end-start-radius:7px;white-space:nowrap}
.audit-event-row td:last-child{border-inline-end:1px solid var(--audit-border);border-start-end-radius:7px;border-end-end-radius:7px;white-space:nowrap}
.audit-event-row small{display:block;color:#73829a;font-size:10px;margin-top:4px;overflow-wrap:anywhere}
.audit-event-row:hover td{background:#f6f9fd}.audit-event-row:focus-visible{outline:2px solid #2865c4}
.audit-resource{max-width:240px;overflow-wrap:anywhere}
.audit-legend{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:58dvh;overflow:auto}
.audit-legend li{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #e4e9f1;border-radius:8px}
.audit-color-swatch{width:12px;height:36px;border-radius:3px;background:var(--audit-border);flex-shrink:0}
.audit-legend h3{font-size:13px;margin:0 0 5px}.audit-legend h3 small{font-size:11px;font-weight:400;color:#73829a}.audit-legend p{font-size:12px;line-height:1.5;margin:0}.audit-legend .badge{font-size:10px;margin-top:6px}
@media(max-width:640px){.audit-toolbar{align-items:flex-start}.audit-toolbar .k-button{flex-shrink:0}.audit-scope-selectors,.audit-legend{grid-template-columns:1fr}.audit-table{min-width:800px}}
.audit-scope-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:10px}
.audit-scope-bar .audit-scope-selectors{margin-bottom:0}
.audit-scope-note{font-size:11px;margin:6px 0 10px}
.audit-table .table-sort{font-size:inherit;padding:0;display:flex;gap:8px;align-items:center}
@media(max-width:640px){.audit-scope-bar{grid-template-columns:1fr}.audit-scope-bar>.k-button{justify-self:end}}
/* Dialogs render in a portal, outside .studio. Keep the slate confirmation there too. */
:is(.studio,.studio-dialog) .k-button.restore-publication-confirm.action-edit{background:#475569!important;border-color:#475569!important;color:#fff!important}
:is(.studio,.studio-dialog) .k-button.restore-publication-confirm.action-edit:enabled:hover{background:#334155!important;border-color:#334155!important;color:#fff!important;box-shadow:0 3px 10px #33415528}

.restaurant-fiscal,.client-fiscal{margin:20px 0;padding-top:16px;border-top:1px solid #e2e9f2;min-width:0}
:is(.studio,.studio-dialog) :is(.restaurant-fiscal,.client-fiscal)>h3,:is(.studio,.studio-dialog) .fiscal-fields .restaurant-location>h3{font-size:var(--identity-section-heading-size,17px);font-weight:550;letter-spacing:-.5px;margin:0 0 14px}
.fiscal-inherited dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.fiscal-inherited dl>div:last-child{grid-column:1/-1}
.fiscal-inherited dt{color:#718096;font-size:12px}.fiscal-inherited dd{margin:4px 0;overflow-wrap:anywhere}
@media(max-width:580px){.fiscal-inherited dl{grid-template-columns:minmax(0,1fr)}}

.studio .restaurant-logo-field .media-upload .check-field{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:12px;line-height:1.4}
.studio .restaurant-logo-field .media-upload .check-field .k-checkbox{flex-shrink:0}

:is(.studio,.studio-dialog) .media-upload{transition:background-color .15s,border-color .15s,box-shadow .15s}
:is(.studio,.studio-dialog) .media-upload.is-dragging{border:2px dashed #40779b;background:#edf5fa;box-shadow:0 0 0 3px #40779b20}
:is(.studio,.studio-dialog) .media-upload.is-disabled{opacity:.65}
:is(.studio,.studio-dialog) .media-upload-controls{flex:1 1 220px;min-width:0}
:is(.studio,.studio-dialog) .media-upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
:is(.studio,.studio-dialog) .media-drop-hint{font-size:11px;color:#647891;line-height:1.5;margin:10px 0 0}
:is(.studio,.studio-dialog) .media-upload .check-field{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;margin:12px 0;font-size:12px;line-height:1.5}
:is(.studio,.studio-dialog) .media-upload .check-field input[type=checkbox]{flex:0 0 15px;width:15px;height:15px;min-width:15px;min-height:15px;margin:2px 0 0;padding:0}
:is(.studio,.studio-dialog) .media-upload-error{flex-basis:100%;margin:0}

/* Compact logo uploader: action and name option share the available width. */
.studio .restaurant-logo-field .media-upload{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px;min-height:0;align-items:center}
.studio .restaurant-logo-field .media-preview{width:76px;height:64px;min-height:0;object-fit:contain}
.studio .restaurant-logo-field .media-upload-controls{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px 14px;min-width:0}
.studio .restaurant-logo-field .media-upload-extra{min-width:0}
.studio .restaurant-logo-field .media-upload-extra .check-field{margin:0;font-size:11px;line-height:1.4}
.studio .restaurant-logo-field .media-upload-guidance{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 12px}
.studio .restaurant-logo-field .media-upload-guidance .media-drop-hint,.studio .restaurant-logo-field .media-upload-guidance small{margin:0;font-size:10px;line-height:1.4}
.studio .restaurant-logo-field .media-upload-error{grid-column:1/-1}
@media(max-width:600px){
 .studio .restaurant-logo-field .media-upload{grid-template-columns:60px minmax(0,1fr);gap:10px}
 .studio .restaurant-logo-field .media-preview{width:60px;height:56px}
 .studio .restaurant-logo-field .media-upload-controls{grid-template-columns:minmax(0,1fr);gap:7px}
 .studio .restaurant-logo-field .media-upload-guidance{grid-column:1}
}

/* Compact media library: thumbnail, metadata and one icon action. */
.studio .media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:12px}
.studio .media-library-grid .library-card{display:grid;grid-template-columns:86px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:10px;min-width:0;min-height:106px}
.studio .media-library-grid .library-card>img,.studio .media-library-grid .library-card>video{width:86px;height:86px;object-fit:contain;border-radius:6px;background:#edf2f7}
.studio .media-library-grid .library-card>.library-card-info{padding:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.studio .library-card-info>b,.studio .library-card-info>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin:0}
.studio .library-card-info>b{font-size:11px;line-height:1.4}.studio .library-card-info>small{font-size:10px;line-height:1.4}
.studio .library-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.studio .library-card-tags .badge{font-size:9px;margin:0;padding:3px 5px;line-height:1.3}
.studio .media-role.restaurant-logo{background:#e8eff9;color:#375d8a}.studio .media-role.client-logo{background:#e7f2f1;color:#386f6b}
.studio .library-card .library-delete.k-button{width:30px;min-width:30px;height:30px;min-height:30px;padding:5px;margin:0;align-self:start;justify-content:center;border-radius:6px}
@media(max-width:580px){.studio .media-library-grid .library-card{grid-template-columns:70px minmax(0,1fr) 30px;min-height:90px}.studio .media-library-grid .library-card>img,.studio .media-library-grid .library-card>video{width:70px;height:70px}}

.studio .restaurant-logo-field .media-upload:not(:has(>.media-preview)){grid-template-columns:minmax(0,1fr)}
.restaurant-alerts .section-head h2{display:flex;align-items:center;gap:8px;margin:0}.restaurant-alerts h2>svg{width:20px;height:20px;color:#a47b3e}
.restaurant-alert-counts{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.restaurant-alert-counts>span{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5eaf1;border-radius:8px;font-size:12px}.restaurant-alert-counts strong{font-size:19px;color:#8b6935}
.restaurant-alert-list{display:flex;flex-direction:column;gap:8px}.restaurant-alert-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e3e9f1;border-inline-start:3px solid #b99a65;border-radius:7px}.restaurant-alert-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.restaurant-alert-row b{overflow-wrap:anywhere;font-size:13px}.restaurant-alert-row span,.restaurant-alert-row small{font-size:11px;color:#718198}.restaurant-alert-row .k-button{flex-shrink:0}
@media(max-width:580px){.restaurant-alert-row{align-items:flex-start;flex-wrap:wrap}.restaurant-alert-counts{gap:6px}}
.studio .topbar .studio-breadcrumbs{min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin}
.studio-breadcrumbs ol{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none;white-space:nowrap;font-size:11px}
.studio-breadcrumbs li{display:flex;align-items:center;min-width:0}.studio-breadcrumbs li+li:before{content:'/';margin:0 12px;color:#abb4a9}
.studio .topbar .studio-breadcrumbs span{margin:0;color:#61716c}.studio .topbar .studio-breadcrumbs button{font-size:inherit;color:#718078;padding:4px 0;border-radius:3px}.studio .topbar .studio-breadcrumbs button:hover{color:#2456a6;text-decoration:underline;background:transparent}.studio-breadcrumbs button:focus-visible{outline:2px solid #8db2e6;outline-offset:3px}

.studio .identity-brand-row{align-items:stretch}
.studio .identity-brand-row>.field{display:flex;flex-direction:column;min-width:0}
.studio .identity-brand-row .media-upload,.studio .identity-brand-row .restaurant-language-card{flex:1;min-height:0}
.studio .identity-brand-row .restaurant-language-card{padding:6px}
.studio .identity-brand-row .restaurant-language-options{gap:4px}
.studio .identity-brand-row .restaurant-language-options>button{min-height:38px;padding:3px 4px;gap:3px;font-size:9px;line-height:1.2}
.studio .identity-brand-row .restaurant-language-options .language-flag{font-size:18px;width:24px;line-height:1}
.studio .media-library-grid .library-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.studio .media-library-grid .library-card:hover,.studio .media-library-grid .library-card:focus-visible{border-color:#9ab8df;box-shadow:0 3px 12px #2f5d8b10;outline:none}
.media-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start}.media-details-preview{background:#f2f5f9;border:1px solid #e1e7f0;border-radius:8px;overflow:hidden}.media-details-preview img,.media-details-preview video{width:100%;max-height:320px;object-fit:contain;display:block}
.media-details-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.media-details-facts .full{grid-column:1/-1}.media-details-facts dt{font-size:11px;color:#78889e;margin-bottom:5px}.media-details-facts dd{margin:0;font-size:12px;overflow-wrap:anywhere}.media-details-facts code{font-size:10px}
.media-details-references{margin-top:20px}.media-details-references h3{font-size:14px}.media-details-references ul{list-style:none;padding:0;margin:0;max-height:200px;overflow:auto}.media-details-references li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid #e8edf4}.media-details-references li b{font-size:12px}.media-details-references li span,.media-details-references li small{font-size:11px;color:#7a899d}
@media(max-width:580px){.media-details{grid-template-columns:1fr}.media-details-preview img,.media-details-preview video{max-height:220px}}
.studio-dialog .dish-media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:4px 0 18px;align-items:stretch}
.studio-dialog .dish-media-row>.field{display:flex;flex-direction:column;min-width:0;margin:0}
.studio-dialog .dish-media-row .media-upload{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:12px}
.studio-dialog .dish-media-row .media-preview,.studio-dialog .dish-media-row .media-empty-preview{width:100%;height:110px;min-height:110px;max-height:110px;object-fit:contain;border-radius:6px;background:#edf2f8}
.studio-dialog .dish-media-row .media-empty-preview{display:grid;place-items:center;color:#8090a6;font-size:12px;border:1px dashed #d5deeb}
.studio-dialog .dish-media-row .media-upload-controls{flex:initial;display:flex;flex-direction:column;gap:8px;min-width:0}
.studio-dialog .dish-media-row .media-upload small,.studio-dialog .dish-media-row .media-drop-hint{margin:0;line-height:1.4}
.studio-dialog .dish-media-row .media-upload-actions{gap:6px}.studio-dialog .dish-media-row .media-file-button{padding:7px 10px;min-height:34px;font-size:11px}
@media(max-width:580px){.studio-dialog .dish-media-row{grid-template-columns:1fr}}

/* Historical audit entries remain selectable and visibly marked as deleted. */
.remote-lookup-results .lookup-deleted-badge{display:inline-block;margin-inline-start:8px;padding:2px 6px;border-radius:4px;background:#fff1f2;color:#b42336;font-size:11px;font-weight:600;line-height:1.4;vertical-align:middle;white-space:nowrap}

.client-alert-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.client-alert-card{min-width:0;border:1px solid #dce5f3;border-inline-start:3px solid #b88632;border-radius:12px;padding:16px;background:white}.client-alert-card h3{margin:12px 0 4px}.client-alert-card p{overflow-wrap:anywhere}.client-alert-card .card-actions{display:flex;justify-content:flex-end;margin-top:12px}
/* Give verification actions balanced space between the notice and identity fields. */
.studio-dialog .user-verification-actions{display:grid;gap:18px;margin:0 0 24px}
.studio-dialog .user-verification-actions>.alert{margin:0}
.studio-dialog .user-verification-actions>.dialog-actions{margin:0;padding:0;justify-content:flex-start;align-items:center;gap:12px}
/* Alert counters describe the whole resource, independently of list filters. */
.studio .editor-tabs .k-button.has-alerts,.studio .editor-tabs .k-button.has-alerts .k-button-text,.studio .editor-tabs .k-button.has-alerts .k-icon,.studio .has-alerts{color:#b42336}
.studio .editor-tabs .k-button.has-alerts.active::after{background:#b42336}
.studio .editor-tabs .k-button.has-alerts:hover{color:#8f1829;background:#fff1f2}
/* Alert lists share the compact row layout used by Audit. */
.studio .alerts-table{min-width:560px;table-layout:fixed}
.studio .alerts-table th:last-child{width:155px}
.studio .alerts-table .alert-table-row{--audit-border:#dce5f3;cursor:default}
.studio .alerts-table .alert-table-row td{white-space:normal;overflow-wrap:anywhere}
.studio .alerts-table .alert-table-row td:first-child{border-inline-start-color:#b42336}
.studio .alerts-table .alert-row-actions{white-space:nowrap;text-align:end}
.studio .alerts-table .alert-row-actions .k-button{padding:7px 10px;min-height:34px}
/* Separate contracted modules from the submit action in client forms. */
.studio-dialog .client-module-fields{margin-bottom:20px}
/* Shared quota indicator in client details and the media gallery. */
.studio .media-usage,.studio .client-overview>.media-usage{--usage-color:#2c7560;display:grid;gap:6px;min-width:200px;width:min(100%,360px);margin:0 0 16px;align-items:stretch;color:#52647b}
.studio .client-overview>.media-usage{margin:0 0 0 auto;width:240px;min-width:0;flex:0 1 240px}
.studio .media-usage.warning{--usage-color:#97703d}
.studio .media-usage.full{--usage-color:#b42336}
.media-usage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.media-usage-heading b{color:var(--usage-color);white-space:nowrap;font-size:13px}
.media-usage small{font-size:11px;color:#73829a;text-align:end}
.media-usage progress{display:block;appearance:none;-webkit-appearance:none;border:0;border-radius:20px;overflow:hidden;width:100%;height:9px;background:#e7edf3;color:var(--usage-color)}
.media-usage progress::-webkit-progress-bar{background:#e7edf3;border-radius:20px}
.media-usage progress::-webkit-progress-value{background:var(--usage-color);border-radius:20px}
.media-usage progress::-moz-progress-bar{background:var(--usage-color);border-radius:20px}
@media(max-width:640px){.studio .client-overview>.media-usage{flex-basis:100%;width:100%;margin:4px 0 0}}
/* Keep user actions within their card/dialog, on one row. Full labels remain accessible. */
.studio .listing-cards-users .listing-card footer{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:5px;min-width:0}
.studio .listing-cards-users .listing-card footer .k-button{flex:1 1 0;min-width:0;padding:6px 5px;gap:4px;font-size:11px;white-space:nowrap}
.studio .listing-cards-users .listing-card footer .k-button-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.studio .listing-cards-users .listing-card footer .k-svg-icon{width:15px;height:15px;flex-shrink:0}
.studio-dialog .user-editor-form{min-width:0;max-width:100%}
.studio-dialog .user-editor-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;flex-wrap:nowrap}
.studio-dialog .user-editor-actions .k-button{min-width:0;padding:9px 7px;gap:6px;font-size:12px;white-space:nowrap}
.studio-dialog .user-editor-actions .k-button-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.studio-dialog .user-verification-actions>.dialog-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,max-content);justify-content:start}
@media(max-width:600px){.studio-dialog .user-editor-actions{gap:6px}.studio-dialog .user-editor-actions .k-button{min-height:44px;padding:8px}.studio-dialog .user-editor-actions .k-button-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.studio-dialog .user-verification-actions>.dialog-actions{grid-auto-columns:minmax(0,1fr)}.studio-dialog .user-verification-actions .k-button{min-width:0;padding:8px;font-size:11px}.studio-dialog .user-verification-actions .k-button-text{white-space:normal}}
/* Suspension is reversible: distinguish it from permanent deletion. */
:is(.studio,.studio-dialog) .k-button.user-access-suspend{--action-color:#8b682f;--action-strong:#745420}
:is(.studio,.studio-dialog) .k-button.user-access-suspend:enabled{color:#805f2c!important;background:#faf5eb!important;border-color:#c9b17f!important}
:is(.studio,.studio-dialog) .k-button.user-cancel-action{--action-color:#617187;--action-strong:#4c5d73}
:is(.studio,.studio-dialog) .k-button.user-cancel-action:enabled{color:#617187!important;background:#fff!important;border-color:#cbd5e1!important}
@media(hover:hover){:is(.studio,.studio-dialog) .k-button.user-access-suspend:enabled:hover,:is(.studio,.studio-dialog) .k-button.user-cancel-action:enabled:hover{color:#fff!important;background:var(--action-color)!important;border-color:var(--action-color)!important}}
/* Upload errors must remain inside their panel, below controls and preview. */
:is(.studio,.studio-dialog) .media-upload-error{flex:0 0 100%;grid-column:1/-1;display:block;position:static;min-width:0;max-width:100%;width:100%;margin:10px 0 0;white-space:normal;overflow-wrap:anywhere;line-height:1.5;box-sizing:border-box}
.studio-dialog .dish-media-row .media-upload{min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:stretch}
.studio-dialog .dish-media-row .media-upload-error{flex:initial;align-self:stretch;order:10}
/* Comment reply/edit, close and delete share one balanced footer row. */
.studio-dialog .comment-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;margin-top:20px;min-width:0}
.studio-dialog .comment-detail-actions>.k-button:first-child{justify-self:start}
.studio-dialog .comment-detail-actions>.k-button:last-child{justify-self:end}
.studio-dialog .comment-detail-actions .k-button{min-width:0;min-height:42px;padding:8px 7px;gap:6px;font-size:12px}
.studio-dialog .comment-detail-actions .k-button-text{min-width:0;white-space:normal;overflow-wrap:anywhere}
.studio-dialog .comment-detail-actions .k-svg-icon{width:16px;height:16px;flex-shrink:0}
@media(max-width:480px){.studio-dialog .comment-detail-actions{gap:6px}.studio-dialog .comment-detail-actions>.k-button:first-child{justify-self:start}
.studio-dialog .comment-detail-actions>.k-button:last-child{justify-self:end}
.studio-dialog .comment-detail-actions .k-button{font-size:11px;padding:8px 5px;gap:4px}}

.studio .media-client-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:center;gap:24px;margin-bottom:16px}
.studio .media-client-summary>.field{min-width:0;margin:0}
.studio .media-client-summary>.media-usage{width:100%;min-width:0;margin:0}
@media(max-width:700px){.studio .media-client-summary{grid-template-columns:minmax(0,1fr);gap:12px}}

.translation-inline-source{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-content:start;align-items:center}
.translation-inline-source>small{grid-column:1/-1}
.translation-inline-source>p{grid-column:1;grid-row:2}
.studio .translation-inline-source>.translation-edit-original{grid-column:2;grid-row:2;min-width:30px;width:30px;height:30px;min-height:30px;padding:5px;margin:0;align-self:center}
.studio .translation-edit-original .k-svg-icon{width:16px;height:16px}

/* Filas de localización compactas: edición y estado comparten la línea del texto. */
.studio .translation-inline-row{padding:6px 12px;gap:16px;align-items:center}
.studio .translation-inline-source{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:2px 8px;align-content:center}
.studio .translation-inline-source>small{grid-column:1;grid-row:2;margin:0;font-size:10px;line-height:1.2}
.studio .translation-inline-source>p{grid-column:1;grid-row:1;margin:0;font-size:13px;line-height:1.3}
.studio .translation-inline-source>.translation-edit-original{grid-column:2;grid-row:1;min-height:28px;height:28px;width:28px;min-width:28px;padding:4px}
.studio .translation-inline-target{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center}
.studio .translation-inline-target>label{min-width:0;margin:0}
.studio .translation-inline-target .k-textarea{font-size:13px;min-height:32px}
.studio .translation-inline-target .k-textarea-inner{min-height:30px;line-height:1.3;padding:6px 8px}
.studio .translation-inline-meta{margin:0;gap:0}
.studio .translation-inline-meta .translation-status-dot{display:block;width:8px;height:8px;min-width:8px;border-radius:50%;padding:0;background:#2c7560}
.studio .translation-status-dot.pending{background:#97703d}
.studio .translation-status-dot.review{background:#2865c4}
.studio .translation-status-dot.error{background:#b42336}
.studio .translation-inline-meta:has(.error){flex-wrap:wrap;max-width:180px;gap:4px}
.studio .translation-inline-target>details{grid-column:1/-1}
@media(max-width:650px){.studio .translation-inline-row{grid-template-columns:1fr;gap:5px;padding:8px 10px}}

.studio .translation-inline-heading{padding:6px 16px;min-height:40px;align-items:center}
.translation-heading-language{display:flex;align-items:center;gap:8px;min-width:0}
.studio .translation-heading-language .studio-select{width:150px;min-width:0;min-height:28px;height:28px;font-size:12px}
.studio .translation-heading-language .k-input-inner{padding:3px 8px;min-height:0}
.studio .translation-heading-language .k-input-button{width:26px;min-width:26px;min-height:0;padding:3px}
@media(max-width:650px){.studio .translation-inline-heading{display:flex;justify-content:flex-end;padding:6px 10px}.studio .translation-inline-heading>b{display:none}.translation-heading-language{max-width:100%}}

.password-requirements{list-style:none;margin:12px 0 16px;padding:10px 12px;background:#f4f7fb;border-radius:8px;font-size:12px;color:#52647b}
.password-requirements li{display:flex;align-items:center;gap:8px;line-height:1.5}
.password-requirements li+li{margin-top:4px}
.password-requirements li.met{color:#217452}
.password-requirements li>span{width:14px;text-align:center;flex-shrink:0}

.mfa-panel{min-width:0}.mfa-panel form{display:grid;gap:12px}.mfa-panel .field{margin:0}.mfa-panel details{margin:12px 0}.mfa-panel .mfa-qr{display:block;width:200px;height:200px;margin:12px auto;border-radius:8px;background:#fff}.mfa-secret{display:block;overflow-wrap:anywhere;user-select:all;padding:10px;background:#f4f7fb}.mfa-recovery pre{columns:2;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.mfa-panel .check-field{margin:12px 0}.mfa-panel .wide{margin-top:8px}.mfa-panel>button{margin-top:12px}

.mfa-admin-codes{columns:2;padding:14px;background:#f4f7fb;border:1px solid #dfe6f1;border-radius:8px;font-size:14px;line-height:1.8;white-space:pre-wrap;user-select:all}

.owner-signup form{display:grid;gap:12px}.owner-signup .field{margin:0}.owner-signup-privacy{padding:10px 12px;border:1px solid #dfe6f1;border-radius:8px;font-size:12px}.owner-signup-privacy p{line-height:1.5}.owner-signup-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px}.owner-signup>.k-button{margin-top:14px}

.login-page{--login-accent:#5680b6}.login-story h1 em{color:var(--login-accent)}
.login-form .k-button.owner-register-button{--action-ink:#fff;--action-color:#456d9f;--action-strong:#456d9f;margin-top:14px;background:var(--login-accent)!important;border-color:var(--login-accent)!important;color:#fff!important}
.login-form .owner-register-button:enabled:hover{box-shadow:0 3px 10px #456d9f26}
.login-form .owner-signup form{gap:18px}
.login-form .owner-signup .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
.login-form .owner-signup .field{gap:8px;margin:0}

.brand-color-control{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:stretch;min-width:0}
.brand-color-picker{display:block;width:44px;min-height:44px;height:100%;padding:4px;border:1px solid #d4ddeb;border-radius:8px;background:#fff;cursor:pointer}
.brand-color-picker:hover{border-color:#5680b6;box-shadow:0 0 0 2px #5680b61a}
.brand-color-picker:focus-visible{outline:2px solid #5680b6;outline-offset:2px}
.brand-color-control .k-input{width:100%}

@media(min-width:768px){.account-settings .account-profile-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}

.studio .account-settings>.account-client-fiscal{grid-column:1/-1}

.k-button:is(.action-create,.action-accept):not(.primary):not(.owner-register-button){color:var(--platepreview-green-hover)}
@media(hover:hover){
 :is(.studio,.studio-dialog,.login-form) .k-button:is(.action-create,.action-accept).primary:enabled:hover{color:#fff!important}
}

/* Destructive/cancel actions start; all other actions form a group at the end. */
:is(.studio,.studio-dialog) :is(.dialog-actions,.heading-actions,.localization-save-actions,.translation-transfer-actions,.booking-card-actions,.grid-actions,.listing-filter-actions,.comment-actions,.card-footer,.listing-card footer){display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-start}
:is(.studio,.studio-dialog) :is(.dialog-actions,.heading-actions,.localization-save-actions,.translation-transfer-actions,.booking-card-actions,.grid-actions,.listing-filter-actions,.comment-actions,.card-footer,.listing-card footer)>.k-button:is(.action-delete,.action-cancel){order:-1;margin-inline-start:0}
:is(.studio,.studio-dialog) :is(.dialog-actions,.heading-actions,.localization-save-actions,.translation-transfer-actions,.booking-card-actions,.grid-actions,.listing-filter-actions,.comment-actions,.card-footer,.listing-card footer)>:nth-child(1 of .k-button:not(.action-delete,.action-cancel),a.button,.comment-reply-control){margin-inline-start:auto}
:is(.studio,.studio-dialog) form>.k-button:not(.action-delete,.action-cancel){display:flex;width:fit-content;max-width:100%;margin-inline-start:auto}
:is(.studio,.studio-dialog) form>.k-button:is(.action-delete,.action-cancel){display:flex;width:fit-content;max-width:100%;margin-inline-start:0;margin-inline-end:auto}
.studio-dialog .user-editor-actions{flex-wrap:nowrap}
.studio-dialog .user-editor-actions>.k-button{flex:1 1 0}
.studio .version-actions>.action-delete{order:-1}
/* Common action states use the existing semantic palette across the panel. */
.login-form .k-button.owner-register-button{--action-bg:#edf4ff}
:is(.studio,.studio-dialog,.login-form) :is(.k-button,a.button,button.primary,button.secondary):not(.editor-tabs .k-button):not(.sidebar nav .k-button){
 background:var(--action-bg,#f1f5f9)!important;
 color:var(--action-strong,#334155)!important;
 border-color:var(--action-color,#94a3b8)!important;
 background-image:none!important;
 transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
:is(.studio,.studio-dialog,.login-form) :is(.k-button,a.button) :is(.k-button-text,.k-svg-icon){color:inherit!important}
@media(hover:hover){
 :is(.studio,.studio-dialog,.login-form) :is(.k-button,a.button,button.primary,button.secondary):not(.editor-tabs .k-button):not(.sidebar nav .k-button):not(:disabled):not([aria-disabled="true"]):hover{
  background:var(--action-strong,#334155)!important;
  color:#fff!important;
  border-color:var(--action-strong,#334155)!important;
  background-image:none!important;
  box-shadow:0 3px 9px #27334824;
  filter:none;
 }
}
@media(prefers-reduced-motion:reduce){:is(.studio,.studio-dialog,.login-form) :is(.k-button,a.button){transition:none}}

.field>.field-help{font-size:11px;font-weight:400;line-height:1.5;color:#617187}

.studio .editor-save-actions{width:100%;margin-top:18px;padding:14px 0 4px;border-top:1px solid #dfe6f1;min-width:0}
.studio .editor-save-actions>.action-accept{margin-inline-start:auto}

.studio .publication-warning{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;margin:0 0 14px;background:#fff4e5;border:1px solid #e9ba78;border-radius:8px;color:#8a4c0b;font-size:13px;line-height:1.5}
.studio .publication-warning>.symbol{width:21px;height:21px;flex-shrink:0;fill:currentColor}

.studio .toast.toast-error{background:#fff0f1;color:#961b2b;border:1px solid #dc8e97;box-shadow:0 5px 20px #7a25341f}
.studio .toast.toast-error>.symbol{fill:currentColor;flex-shrink:0}
.studio #restaurant-save-changes{scroll-margin-block-end:16px}
.studio #restaurant-save-changes:focus{outline:3px solid #506950;outline-offset:4px}

/* Keep feedback away from the save controls and always offer dismissal. */
.studio .toast{top:60px;bottom:auto;align-items:flex-start;padding:13px 14px;gap:10px}
.studio .toast-message{flex:1;min-width:0;line-height:1.5;overflow-wrap:anywhere}
.studio .toast-close{flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;min-width:28px;margin:-3px -4px -3px 0;padding:4px;border-radius:5px;color:inherit;background:transparent;cursor:pointer}
.studio .toast-close svg{width:20px;height:20px}
.studio .toast-close:hover{background:#ffffff38;box-shadow:inset 0 0 0 1px currentColor}
.studio .toast-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:750px){.studio .toast{top:56px}}

.studio .restaurant-public-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;font-size:12px;padding:6px 9px;white-space:nowrap}
.studio .restaurant-public-link svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.studio .restaurant-card .card-footer>small{margin-inline-end:auto}
.studio .restaurant-landing-setting{margin:16px 0 20px;padding:12px 14px;border:1px solid #dfe6f1;border-radius:8px;background:#f8fafd}
.studio .restaurant-landing-setting .muted{margin:8px 0 0}

.media-upload-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.media-picker-dialog .k-dialog-content{max-height:75vh;overflow:auto}.media-picker-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;padding:16px;margin-bottom:16px}.media-picker-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px}.media-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.media-picker-card{padding:0;border:1px solid #d6e1ee;background:white;border-radius:9px;overflow:hidden;text-align:left;cursor:pointer;min-width:0;color:#314460;transition:border-color .15s,box-shadow .15s}.media-picker-card:hover,.media-picker-card:focus-visible,.media-picker-card.is-selected{border-color:#366cb1;box-shadow:0 0 0 2px #e2edfc;outline:none}.media-picker-card:disabled{opacity:.65;cursor:wait}.media-picker-card>img,.media-picker-card>video{width:100%;height:115px;object-fit:cover;background:#edf2f8;display:block}.media-picker-card>img.is-logo{object-fit:contain;padding:12px}.media-picker-description{display:flex;flex-direction:column;gap:5px;padding:10px;min-width:0}.media-picker-description>b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-picker-description small{font-size:10px;color:#6e819d;line-height:1.6}.media-picker-choose{align-self:flex-end;font-size:11px;font-weight:600;color:#2d66ae;margin-top:4px}.dish-delete-files{border:1px solid #d6e1ee;border-radius:8px;padding:14px;margin:20px 0}.dish-delete-files>p{font-size:12px;color:#687d99}.dish-delete-file{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e6edf6}.dish-delete-file:last-child{border-bottom:0}.dish-delete-file>img,.dish-delete-file>video{width:85px;height:70px;object-fit:contain;background:#edf2f8;border-radius:5px}.dish-delete-file>span{display:flex;flex-direction:column;gap:8px}.dish-delete-file .check-field{display:flex;align-items:center;gap:8px;font-size:12px;margin:0}@media(max-width:700px){.media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-picker-filters{grid-template-columns:1fr}.media-upload-actions .k-button{font-size:12px;padding:8px}}

.media-upload-actions .media-icon-button{width:38px;min-width:38px;height:36px;padding:8px;justify-content:center}.media-upload-actions{flex-wrap:nowrap;gap:8px}.media-icon-button .k-svg-icon{width:18px;height:18px}

.restaurant-public-address{margin-top:24px;padding-top:20px;border-top:1px solid #dce4ed}.public-address-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.public-address-links code{overflow-wrap:anywhere}.public-address-actions{display:flex;justify-content:flex-end;margin-top:16px}

/* Two restaurant logos share a compact row; white artwork needs a dark preview. */
.studio .identity-brand-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,.85fr)}
.studio .negative-logo-field .media-preview{background:#26352d}
@media(max-width:1200px){.studio .identity-brand-row{grid-template-columns:repeat(2,minmax(0,1fr))}.studio .identity-brand-row>.field:last-child{grid-column:1/-1}}
@media(max-width:700px){.studio .identity-brand-row{grid-template-columns:minmax(0,1fr)}.studio .identity-brand-row>.field:last-child{grid-column:auto}}
