/* Shared page rhythm and form-end save actions. */
.cms-admin #cms-screen>.cms-button:first-child:has(+.cms-screen-heading),.cms-admin #cms-screen>.cms-back:first-child{margin-bottom:24px}
.cms-admin .cms-list-count,.cms-admin .cms-summary-count{margin:0 0 24px!important;font-size:.875rem;color:var(--color-muted);line-height:1.5}
.cms-admin .cms-panel .cms-summary-count{margin-bottom:0!important}
.cms-admin .cms-icon-button{width:40px;height:40px;min-width:40px;min-height:40px;padding:9px;border-radius:10px;font-size:20px;line-height:1;flex:0 0 40px}
.cms-admin .cms-icon-button svg{width:20px;height:20px;flex:0 0 20px}
.cms-admin .cms-inline-savebar{position:static;inset:auto;width:100%;transform:none;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;padding:16px 20px;border:1px solid var(--color-line);border-radius:20px;background:#fff;box-shadow:none;backdrop-filter:none;margin:0;min-width:0}
.cms-admin .cms-inline-savebar>.cms-button,.cms-admin .cms-inline-savebar>.cms-inline-save-control{order:0}
.cms-admin .cms-inline-savebar>.cms-button{min-height:56px;padding:14px 24px;font-size:1rem;flex:0 0 auto;width:auto}
.cms-admin .cms-inline-savebar>.cms-save-state,.cms-admin .cms-inline-savebar>.cms-design-savebar-copy,.cms-admin .cms-inline-savebar>.cms-inline-save-status{order:1;flex:1 1 auto;margin:0 0 0 auto!important;min-width:0;text-align:right}
.cms-admin .cms-inline-savebar>.cms-inline-save-status{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.cms-admin .cms-inline-savebar .cms-save-state{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.cms-admin .cms-inline-savebar .cms-design-savebar-copy>span{display:none}
.cms-admin .cms-toast{top:24px;bottom:auto}
.cms-admin #cms-screen input,.cms-admin #cms-screen textarea,.cms-admin #cms-screen select,.cms-admin #cms-screen [contenteditable]{scroll-margin-block:24px}
.cms-admin .cms-service-row-controls{gap:6px}
@container cms-service-tree (max-width:760px){.cms-admin .cms-service-category-row>.cms-service-row-controls{grid-template-columns:repeat(2,40px)}}
@media(pointer:coarse){.cms-admin .cms-icon-button,.cms-admin .cms-service-row-control{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}.cms-admin .cms-service-category-row>.cms-service-row-controls{grid-template-columns:repeat(2,44px)}}
@media(max-width:767px){.cms-admin .cms-inline-savebar{padding:12px 16px;gap:12px;flex-wrap:nowrap;border-radius:16px}.cms-admin .cms-inline-savebar>.cms-button{min-width:0;min-height:56px;padding:14px 20px;font-size:.9375rem;flex:0 0 auto}.cms-admin .cms-inline-savebar>.cms-save-state,.cms-admin .cms-inline-savebar>.cms-inline-save-status{width:auto;text-align:right;margin-left:auto!important;font-size:.75rem}.cms-admin .cms-summary-count,.cms-admin .cms-list-count{margin-bottom:20px!important}}
.cms-admin #cms-screen :is(.cms-collection-icon,.cms-service-row-control,.cms-design-move,.cms-design-edit-block,.cms-navigation-action):not(.cms-actions-item){width:40px;height:40px;min-width:40px;min-height:40px;padding:9px;flex:0 0 40px;border-radius:10px}
.cms-admin #cms-screen :is(.cms-collection-icon,.cms-service-row-control,.cms-design-move,.cms-design-edit-block,.cms-navigation-action):not(.cms-actions-item)>svg{width:20px;height:20px;flex:0 0 20px}
.cms-admin #cms-screen .cms-design-edit-block>span{display:none}
.cms-admin #cms-screen .cms-catalog-view>.cms-button{width:56px;height:56px;min-width:56px;min-height:56px;padding:0}
.cms-admin .cms-catalog-category-row{grid-template-columns:40px minmax(0,1fr) auto auto}
.cms-admin .cms-catalog-category-tree .cms-service-category-body{padding:16px 20px 20px 40px;display:grid;gap:12px}
.cms-admin .cms-catalog-category-tree .cms-service-slug{overflow-wrap:anywhere}
.cms-admin .cms-catalog-category-tree .cms-drag-handle{background:transparent;cursor:grab;touch-action:none}
.cms-admin .cms-catalog-category-tree .cms-drag-handle:disabled{cursor:default}
.cms-admin .cms-catalog-category-tree .is-dragging{opacity:.45}
.cms-admin .cms-catalog-category-tree [data-drop=before]{box-shadow:0 -3px 0 var(--color-primary)}
.cms-admin .cms-catalog-category-tree [data-drop=after]{box-shadow:0 3px 0 var(--color-primary)}
.cms-admin .cms-catalog-category-tree .cms-service-add{justify-self:start;margin-top:4px}
@container cms-service-tree (max-width:900px){.cms-admin .cms-catalog-category-tree .cms-catalog-category-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px 12px}.cms-admin .cms-catalog-category-row>.cms-service-category-meta{grid-column:2;grid-row:2;justify-content:flex-start}.cms-admin .cms-catalog-category-row>.cms-service-row-controls{grid-column:3;grid-row:1/3}.cms-admin .cms-catalog-category-row>.cms-drag-handle{grid-row:1/3}}
@media(max-width:600px){.cms-admin .cms-catalog-category-tree .cms-catalog-category-row{grid-template-columns:40px minmax(0,1fr);padding:16px;gap:10px}.cms-admin .cms-catalog-category-row>.cms-service-category-copy{grid-column:2;grid-row:1}.cms-admin .cms-catalog-category-row>.cms-service-category-meta{grid-column:2;grid-row:2}.cms-admin .cms-catalog-category-row>.cms-service-row-controls{grid-column:2;grid-row:3;display:flex;justify-content:flex-start;flex-wrap:wrap}.cms-admin .cms-catalog-category-row>.cms-drag-handle{grid-column:1;grid-row:1/4}.cms-admin .cms-catalog-category-tree .cms-service-category-body{padding:12px 8px 12px 12px}.cms-admin .cms-catalog-category-tree .cms-service-category .cms-service-category-row{padding:12px}.cms-admin .cms-catalog-category-tree .cms-service-category-body .cms-service-category-row{grid-template-columns:minmax(0,1fr)}.cms-admin .cms-catalog-category-tree .cms-service-category-body .cms-service-category-row>:is(.cms-service-category-copy,.cms-service-category-meta,.cms-service-row-controls){grid-column:1}.cms-admin .cms-catalog-category-tree .cms-service-category-body .cms-drag-handle{display:none}}
@media(pointer:coarse){.cms-admin #cms-screen :is(.cms-collection-icon,.cms-service-row-control,.cms-design-move,.cms-design-edit-block,.cms-navigation-action):not(.cms-actions-item){width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}}


.cms-admin dialog .cms-inline-savebar{position:static;inset:auto;box-sizing:border-box;width:100%;max-width:none;margin:24px 0 0;border:0;border-top:1px solid var(--color-line);border-radius:0;box-shadow:none;backdrop-filter:none}
.cms-admin dialog .cms-inline-savebar .cms-design-editor-actions{order:0;flex:0 0 auto;margin:0}
.cms-admin dialog .cms-inline-savebar .cms-design-editor-actions .cms-button{min-height:56px;padding:14px 20px;width:auto;flex:0 0 auto;font-size:1rem}
.cms-admin dialog .cms-inline-savebar>.cms-design-editor-status{order:1;margin-left:auto;text-align:right;font-size:.875rem;line-height:1.5;min-width:0}
@media(max-width:600px){.cms-admin dialog .cms-inline-savebar{flex-wrap:wrap;padding:12px 16px;gap:8px}.cms-admin dialog .cms-inline-savebar .cms-design-editor-actions{width:auto;display:flex;gap:8px}.cms-admin dialog .cms-inline-savebar .cms-design-editor-actions .cms-button{flex:1;min-width:0;font-size:.875rem;padding-inline:12px}.cms-admin dialog .cms-inline-savebar>.cms-design-editor-status{flex:1;min-width:80px;width:auto;font-size:.75rem;text-align:right;margin:0 0 0 auto}.cms-admin .cms-profile-dialog .cms-profile-close{flex-basis:40px}}
@media(pointer:coarse){.cms-admin .cms-profile-dialog .cms-profile-close{flex-basis:44px}}

/* Profile actions belong to the white dialog, including its password form. */
.cms-admin .cms-profile-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.cms-admin .cms-profile-dialog>.cms-dialog-head,.cms-admin .cms-profile-dialog>.cms-profile-message{flex:0 0 auto}
.cms-admin .cms-profile-dialog>.cms-profile-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-bottom:16px}
.cms-admin .cms-profile-dialog .cms-profile-savebar.cms-inline-savebar{position:static;flex:0 0 auto;left:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:24px 0 0;padding:20px 0 0;gap:16px;flex-wrap:nowrap;justify-content:flex-start;border:0;border-top:1px solid var(--color-line);border-radius:0;background:#fff;box-shadow:none;backdrop-filter:none}
.cms-admin .cms-profile-dialog .cms-profile-savebar>.cms-save-state{flex:1;min-width:0;width:auto;margin-left:auto!important;text-align:right}
@media(max-width:767px){.cms-admin .cms-profile-dialog .cms-profile-savebar.cms-inline-savebar{padding-top:16px;gap:12px;margin-top:20px}.cms-admin .cms-profile-dialog .cms-profile-savebar>.cms-button{min-height:56px;padding-inline:18px;flex:0 0 auto}.cms-admin .cms-profile-dialog .cms-profile-savebar>.cms-save-state{font-size:.75rem;line-height:1.5}}

/* One heading rhythm for settings and editor cards; authored content is excluded. */
.cms-admin #cms-screen .cms-screen-heading{gap:24px;margin-bottom:32px}
.cms-admin #cms-screen .cms-screen-heading h1{font-size:clamp(32px,3.2vw,48px);line-height:1.12;font-weight:600;letter-spacing:-.035em;margin:0;max-width:24ch}
.cms-admin #cms-screen .cms-screen-heading>div:first-child>p.cms-muted{font-size:15px;font-weight:400;line-height:1.6;margin:14px 0 0;color:var(--color-muted);max-width:75ch}
.cms-admin #cms-screen .cms-ui-section-head,.cms-admin .cms-ui-section-head{display:flex;align-items:flex-start;gap:14px;min-width:0;padding-bottom:20px;border-bottom:1px solid var(--color-line);margin:0;grid-column:1/-1}
.cms-admin #cms-screen .cms-ui-heading-copy,.cms-admin .cms-ui-heading-copy{flex:1 1 auto;min-width:0;display:grid;gap:8px}
.cms-admin #cms-screen .cms-ui-heading-copy>:is(h2,h3),.cms-admin .cms-ui-heading-copy>:is(h2,h3){font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.025em;color:var(--color-ink);margin:0;padding:0;border:0;word-break:normal;overflow-wrap:anywhere;hyphens:none}
.cms-admin #cms-screen .cms-ui-heading-icon,.cms-admin .cms-ui-heading-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid var(--color-line);border-radius:12px;background:var(--color-surface,#f3f7fd);color:var(--color-primary);font-size:20px;line-height:1;box-sizing:border-box}
.cms-admin #cms-screen .cms-ui-heading-icon>svg,.cms-admin .cms-ui-heading-icon>svg{display:block;width:20px;height:20px;flex:none}
.cms-admin #cms-screen .cms-ui-heading-help,.cms-admin .cms-ui-heading-help{font-size:15px;font-weight:400;line-height:1.6;color:var(--color-muted);margin:0;max-width:75ch}
.cms-admin #cms-screen :is(.cms-field-helper,.cms-general-module-copy>small,.cms-check-row small,.cms-managed-help,.cms-legal-field>small,.cms-legal-check small,.cms-general-field>p){font-size:15px;font-weight:400;line-height:1.6;color:var(--color-muted)}
.cms-admin #cms-screen .cms-general-module-copy>strong{font-size:19px;font-weight:600;line-height:1.4}
.cms-admin #cms-screen .cms-ui-section-head>:is(.cms-button,.cms-icon-button,.cms-status){flex:0 0 auto;align-self:flex-start}
.cms-admin #cms-screen .cms-ui-section-head+.cms-field-helper{margin-top:16px}
.cms-admin #cms-screen .cms-panel-title.cms-ui-section-head{margin-bottom:20px}
@media(max-width:767px){.cms-admin #cms-screen .cms-screen-heading{margin-bottom:28px;gap:20px}.cms-admin #cms-screen .cms-screen-heading h1{font-size:32px;max-width:none}.cms-admin #cms-screen .cms-ui-section-head{gap:12px;padding-bottom:18px}.cms-admin #cms-screen .cms-ui-heading-copy>:is(h2,h3){font-size:22px}.cms-admin #cms-screen .cms-ui-heading-help{max-width:none}}

/* Every module keeps Save at the end of its own form, including lazy modules. */
.cms-admin :is(.cms-form-actions,.cms-design-savebar,.cms-managed-savebar,.cms-legal-savebar,.cms-design-editor-footer,.cms-profile-savebar){position:static;inset:auto;transform:none;width:100%;z-index:auto;box-shadow:none;backdrop-filter:none}

/* Known dismiss controls share one 44px target and one code-native 20px X.
   Flex keeps zero-font accessible text from creating a second anonymous grid row.
   Existing DOM names, handlers, dialog focus and positioning remain intact. */
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;padding:0;gap:0;border:1px solid var(--color-line,#d8e2f1);border-radius:12px;background:var(--color-white,#fff);color:var(--color-ink,#1e293b);font-size:0;line-height:0;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{content:'';display:block;flex:none;width:20px;height:20px;pointer-events:none;background:currentColor;-webkit-mask:url("/cms-assets/icons/ui/x.svg?v=478dee32a530") center/20px 20px no-repeat;mask:url("/cms-assets/icons/ui/x.svg?v=478dee32a530") center/20px 20px no-repeat}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::after{content:none}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)>*{display:none!important}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):not(:disabled):hover{background:var(--color-surface-soft,#f3f6fb);border-color:var(--color-input-border,#9dadc6);color:var(--color-ink,#1e293b)}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):focus-visible{outline:3px solid var(--color-focus,#7d9fe0);outline-offset:3px}
body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):disabled{opacity:.5;cursor:default}
@media(prefers-reduced-motion:reduce){body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){transition:none}}
@media(forced-colors:active){body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon){background:Canvas;color:ButtonText;border-color:ButtonText}body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{background:ButtonText;forced-color-adjust:none}body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon):focus-visible{outline-color:Highlight}}
@supports not ((mask-image:linear-gradient(black,black)) or (-webkit-mask-image:linear-gradient(black,black))){body.cms-admin :is(#cms-media-close,button.cms-profile-close,button.cms-media-details-close,button.cms-design-editor-close,button.cms-chat-close,.cms-gallery-head>button.cms-gallery-icon,.cms-transfer-head>button.cms-icon-button,.cms-popups-dialog-head>button.cms-button,button.kv-popup-close,button.kv-cms-close,.kv-chrome-head>button.kv-chrome-icon)::before{content:'×';background:none;font:400 24px/20px Arial,sans-serif}}
/* Card titles start on the same left edge as their fields.
   Only aria-hidden heading decoration moves; identity and action icons stay semantic. */
.cms-admin .cms-ui-section-head>.cms-ui-heading-copy{order:0;flex:1 1 0;min-width:0;margin-inline-start:0;padding-inline-start:0}
.cms-admin .cms-ui-section-head>.cms-ui-heading-icon:not(.cms-customer-avatar){order:2;align-self:flex-start;margin:0 0 0 auto}
/* The gallery header has an authored decoration rather than an enhanced one.
   Its close button stays last in the right-hand action cluster. */
.cms-admin .cms-gallery-head>div{order:0;flex:1 1 0;min-width:0}
.cms-admin .cms-gallery-head>.cms-gallery-heading-icon{order:1;margin:0 0 0 auto}
.cms-admin .cms-gallery-head>button{order:2}


/* An actionable Eye is the publication indicator; rows without a text badge use one less track. */
.cms-admin .cms-entity-list>.cms-list-row[data-publication-icon-state="true"]{grid-template-columns:28px minmax(0,1fr) auto}
.cms-admin .cms-promotions-list>.cms-promotion-editor[data-publication-icon-state="true"]>summary{grid-template-columns:24px 64px minmax(0,1fr) auto}
.cms-admin .cms-promotions-list .cms-promotion-drag.cms-drag-handle{display:grid;place-items:center;flex:0 0 24px;width:24px;min-width:24px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--color-muted);font-size:0;line-height:0}
.cms-admin .cms-promotions-list .cms-promotion-drag.cms-drag-handle>svg{display:block;width:24px;height:24px;flex:none;pointer-events:none}
@media(max-width:767px){
  .cms-admin .cms-entity-list>.cms-list-row[data-publication-icon-state="true"]{grid-template-columns:24px minmax(0,1fr)}
  .cms-admin .cms-entity-list>.cms-list-row[data-publication-icon-state="true"]>.cms-drag-handle{grid-row:1/3}
  .cms-admin .cms-entity-list>.cms-list-row[data-publication-icon-state="true"]>.cms-list-row-actions{grid-column:2;grid-row:2}
  .cms-admin .cms-promotions-list>.cms-promotion-editor[data-publication-icon-state="true"]>summary{grid-template-columns:24px 48px minmax(0,1fr)}
  .cms-admin .cms-promotions-list>.cms-promotion-editor[data-publication-icon-state="true"]>summary>.cms-promotion-row-actions{grid-column:2/-1;grid-row:2}
}

/* Library thumbnails use one frame; full-image inspection stays uncropped. */
.cms-admin .cms-media-management-grid{align-items:stretch;grid-auto-rows:1fr}
.cms-admin .cms-media-management-grid>.cms-media-card{align-self:stretch;height:100%}
.cms-admin .cms-media-management-grid .cms-media-card-preview{position:relative;flex:none;aspect-ratio:4/3;overflow:hidden}
.cms-admin .cms-media-management-grid .cms-media-card-preview>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 50%}
.cms-admin .cms-media-management-grid .cms-media-card-copy{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:3em 1.5em minmax(40px,2.8em) 44px;align-content:start;align-items:start;justify-items:start;gap:10px;flex:1;font-size:15px;line-height:1.5}
.cms-admin .cms-media-management-grid .cms-media-card-name{grid-row:1;min-height:3em;max-height:3em;margin:0;line-height:1.5;-webkit-line-clamp:2}
.cms-admin .cms-media-management-grid .cms-media-card-alt{grid-row:2;margin:0;max-height:1.5em;line-height:1.5;-webkit-line-clamp:1}
.cms-admin .cms-media-management-grid .cms-media-card-copy>.cms-status{grid-row:3;align-self:stretch;display:inline-flex;align-items:center;box-sizing:border-box;min-width:0;max-width:100%;padding:4px 8px;white-space:normal;line-height:1.4}
.cms-admin .cms-media-management-grid .cms-media-card-copy>.cms-button{grid-row:4;align-self:stretch;justify-self:stretch;min-height:44px;margin:0;padding:8px 12px;font-size:14px;line-height:1.4}

/* Omit the shared hint track only when no card in this grid needs it. */
@supports selector(:has(*)){
 .cms-admin .cms-media-management-grid:not(:has(.cms-media-card-alt)) .cms-media-card-copy{grid-template-rows:3em minmax(40px,2.8em) 44px}
 .cms-admin .cms-media-management-grid:not(:has(.cms-media-card-alt)) .cms-media-card-copy>.cms-status{grid-row:2}
 .cms-admin .cms-media-management-grid:not(:has(.cms-media-card-alt)) .cms-media-card-copy>.cms-button{grid-row:3}
}

/* Route chrome renders before optional tools and data. Placeholders never imply empty records. */
.cms-admin .cms-pending{display:grid;gap:14px;min-width:0}
.cms-admin .cms-pending-status{display:flex;align-items:center;gap:9px;margin:0 0 20px;color:var(--color-muted);font-size:14px}
.cms-admin .cms-pending-status::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--color-primary,#406fba)}
.cms-admin .cms-pending-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cms-admin .cms-pending-card,.cms-admin .cms-pending-row,.cms-admin .cms-pending-form{display:grid;gap:14px;min-width:0;border:1px solid var(--color-border,#d4e0f3);border-radius:18px;padding:22px;background:var(--color-background,#fff)}
.cms-admin .cms-pending-card{padding:0;overflow:hidden}
.cms-admin .cms-pending-copy{display:grid;gap:13px;padding:20px}
.cms-admin .cms-pending-bar{display:block;height:13px;max-width:100%;border-radius:6px;background:var(--color-surface,#eef3fa)}
.cms-admin .cms-pending-bar--short{width:42%}
.cms-admin .cms-pending-bar--medium{width:72%}
.cms-admin .cms-pending-bar--field{height:45px;width:100%;border-radius:10px}
.cms-admin .cms-pending-image{height:auto;aspect-ratio:4/3;border-radius:0}
.cms-admin .cms-media-grid>.cms-pending{grid-column:1/-1;width:100%}
.cms-admin .cms-pending-toolbar{display:flex;gap:12px;margin-bottom:18px}
.cms-admin .cms-pending-toolbar .cms-pending-bar{height:44px;width:150px}
.cms-admin .cms-pending-toolbar .cms-pending-bar:first-child{width:min(420px,60%)}
.cms-admin .cms-pending-row{grid-template-columns:42px minmax(0,1fr) 72px;align-items:center;min-height:90px}
.cms-admin .cms-pending-row>.cms-pending-bar:first-child{width:42px;height:42px;border-radius:12px}
.cms-admin .cms-pending-form{padding:26px;gap:20px}
.cms-admin .cms-pending-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1100px){.cms-admin .cms-pending-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cms-admin .cms-pending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-admin .cms-pending-kanban{grid-template-columns:1fr}.cms-admin .cms-pending-toolbar{gap:8px}.cms-admin .cms-pending-form{padding:20px}}
@media(max-width:420px){.cms-admin .cms-pending-grid{grid-template-columns:1fr}}
@media(forced-colors:active){.cms-admin .cms-pending-bar{background:GrayText;opacity:.18}.cms-admin .cms-pending-status::before{background:CanvasText}}

/* A replacement is previewed locally before updating the shared photo. */
.cms-admin .cms-media-replace{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-line,#d8e2f1)}
.cms-admin .cms-media-replace h3{margin:0 0 10px;font-size:18px;line-height:1.4}
.cms-admin .cms-media-replace-preview{display:grid;place-items:center;max-width:100%;margin:16px 0;border:1px solid var(--color-line,#d8e2f1);border-radius:14px;overflow:hidden;background:var(--color-surface-soft,#f3f6fb)}
.cms-admin .cms-media-replace-preview[hidden]{display:none}
.cms-admin .cms-media-replace-preview img{display:block;width:100%;height:180px;object-fit:contain}
.cms-admin .cms-media-replace-name{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cms-admin .cms-media-replace-hint{font-size:14px;line-height:1.5;color:var(--color-muted,#64748b)}
.cms-admin .cms-media-replace-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.cms-admin .cms-media-replace-actions>.cms-button{min-height:44px}
@media(max-width:767px){.cms-admin .cms-media-replace-actions>.cms-button{flex:1 1 auto}.cms-admin .cms-media-replace-preview img{height:160px}}
/* Unknown usage has no badge. The bottom action remains aligned across cards. */
@supports selector(:has(*)){
 .cms-admin .cms-media-management-grid:not(:has(.cms-status)) .cms-media-card-copy{grid-template-rows:3em 1.5em minmax(0,1fr) 44px}
 .cms-admin .cms-media-management-grid:not(:has(.cms-status)):not(:has(.cms-media-card-alt)) .cms-media-card-copy{grid-template-rows:3em minmax(0,1fr) 44px}
 .cms-admin .cms-media-management-grid:not(:has(.cms-status)):not(:has(.cms-media-card-alt)) .cms-media-card-copy>.cms-button{grid-row:3}
}

/* One return control across page, entity, CRM, shop and access editors. */
body.cms-admin #cms-screen :is(button,a).cms-ui-back{appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;flex:0 0 auto;align-self:flex-start;width:max-content;max-width:100%;min-width:0;min-height:44px;padding:10px 14px;margin:0 0 24px;border:1px solid var(--color-line);border-radius:12px;background:var(--color-white,#fff);color:var(--color-primary);font-family:var(--font-family);font-size:14px;font-weight:500;line-height:20px;letter-spacing:normal;text-align:left;text-decoration:none;white-space:normal;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease}
body.cms-admin #cms-screen :is(button,a).cms-ui-back>svg{display:block;flex:0 0 20px;width:20px;height:20px;margin:0;color:inherit}
body.cms-admin #cms-screen :is(button,a).cms-ui-back:hover{background:var(--color-surface-soft);border-color:var(--color-primary)}
body.cms-admin #cms-screen button.cms-ui-back:disabled{opacity:.5;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){body.cms-admin #cms-screen :is(button,a).cms-ui-back{transition:none}}

/* Shared compact row actions; destructive items are always last in their menu. */
body.cms-admin .cms-actions-menu{display:inline-flex;flex:0 0 auto;align-items:center;position:relative;vertical-align:middle}
body.cms-admin .cms-actions-trigger{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid var(--color-line);border-radius:12px;background:var(--color-white,#fff);color:var(--color-primary);cursor:pointer}
body.cms-admin .cms-actions-trigger>svg{stroke-width:3.4}
body.cms-admin .cms-actions-trigger:hover,body.cms-admin .cms-actions-trigger[aria-expanded=true]{border-color:var(--color-primary);background:var(--color-surface-soft)}
body.cms-admin .cms-actions-popup{position:fixed;z-index:2000;display:flex;flex-direction:column;gap:3px;width:216px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow:auto;box-sizing:border-box;padding:6px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-white,#fff);box-shadow:0 14px 40px #1b315326;text-align:left}
body.cms-admin .cms-actions-popup[hidden]{display:none!important}
body.cms-admin .cms-actions-popup[popover]{inset:auto;margin:0}
body.cms-admin .cms-actions-popup>.cms-actions-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:none;flex-basis:auto;width:100%;max-width:none;max-height:none;min-width:0;min-height:42px;height:auto;box-sizing:border-box;margin:0;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--color-text,#1e293b);font-size:14px;font-weight:500;line-height:20px;text-decoration:none;white-space:normal;text-align:left;cursor:pointer}
body.cms-admin .cms-actions-item>svg{display:block;flex:0 0 18px;width:18px;height:18px;color:inherit}
body.cms-admin .cms-actions-popup>.cms-actions-item:hover,body.cms-admin .cms-actions-popup>.cms-actions-item:focus-visible{background:var(--color-surface-soft);outline:2px solid transparent;outline-offset:-2px}
body.cms-admin .cms-actions-popup>.cms-actions-danger,body.cms-admin .cms-trash-action,body.cms-admin [data-list-action=trash]:not([aria-label^="Восстановить"]){color:var(--color-danger,#bd2525)}
body.cms-admin .cms-actions-popup>.cms-actions-danger:hover,body.cms-admin .cms-actions-popup>.cms-actions-danger:focus-visible{background:#fff0f0}
body.cms-admin .cms-actions-item:disabled{opacity:.42;cursor:not-allowed}
body.cms-admin :is(.cms-list-row-actions,.cms-service-row-controls,.cms-promotion-row-actions){gap:8px}
body.cms-admin :is(.cms-list-row-actions,.cms-service-row-controls)>.cms-actions-menu{order:10}
body.cms-admin .cms-media-card-menu .cms-actions-trigger{background:#fffef9;box-shadow:0 2px 12px #15203b14}

/* One discoverable entry in the global header, with permission-scoped destinations. */
body.cms-admin #cms-trash-open{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;color:var(--color-danger,#bd2525)}
body.cms-admin #cms-trash-open[hidden]{display:none}
body.cms-admin .cms-trash-hub{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;padding:26px;border:1px solid var(--color-line);border-radius:24px;background:var(--color-white,#fff);color:var(--color-text);box-shadow:0 28px 100px #16283b30;overflow:auto}
body.cms-admin .cms-trash-hub::backdrop{background:#15203b66;backdrop-filter:blur(4px)}
body.cms-admin .cms-trash-hub-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
body.cms-admin .cms-trash-hub-head>h2{margin:0;font-size:28px}
body.cms-admin .cms-trash-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.cms-admin .cms-trash-hub-link{display:block;padding:16px;border:1px solid var(--color-line);border-radius:14px;text-decoration:none;color:inherit;transition:background-color .15s,border-color .15s}
body.cms-admin .cms-trash-hub-link:hover,body.cms-admin .cms-trash-hub-link:focus-visible{background:var(--color-surface-soft);border-color:var(--color-primary)}
body.cms-admin .cms-trash-hub-link .cms-ui-section-head{display:flex;flex-direction:row;align-items:center;gap:12px;padding:0;margin:0;border:0;min-height:0}
body.cms-admin .cms-trash-hub-link .cms-ui-heading-icon{width:34px;height:34px;min-width:34px;margin:0;border:0;background:var(--color-surface-soft)}
body.cms-admin .cms-trash-hub-link h3{margin:0;font-size:15px;line-height:1.4;font-weight:600}
body.cms-admin.cms-has-trash-hub #cms-screen :is([data-cms-trash-local],[data-media-filter=trash]){display:none!important}
body.cms-admin .cms-trash-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin:-8px 0 24px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-surface-soft)}
body.cms-admin .cms-trash-context>span{display:flex;align-items:center;gap:10px;font-size:14px}
body.cms-admin .cms-trash-context svg{color:var(--color-danger,#bd2525)}
@media(max-width:520px){body.cms-admin .cms-trash-hub{padding:18px}body.cms-admin .cms-trash-hub-grid{grid-template-columns:1fr}body.cms-admin .cms-trash-hub-link{padding:12px}body.cms-admin .cms-trash-context{align-items:flex-start}}

/* Photo library and picker: picture, one compact detail action, shared overflow menu. */
.cms-admin .cms-media-management-grid>.cms-media-card.cms-media-card-minimal{position:relative;display:flex;flex-direction:column;min-height:0;grid-template-rows:none;overflow:hidden}
.cms-admin .cms-media-management-grid .cms-media-card-minimal>.cms-media-card-preview{display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:4/3;padding:0;border:0;background:var(--color-white,#fff)}
.cms-admin .cms-media-management-grid .cms-media-card-minimal>.cms-media-card-preview>img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.cms-admin .cms-media-management-grid .cms-media-card-minimal>.cms-media-card-footer{display:flex;grid-template-rows:none;align-items:center;justify-content:flex-end;gap:0;flex:0 0 auto;min-height:0;height:auto;padding:10px 12px;background:var(--color-white,#fff)}
.cms-admin .cms-media-card-minimal>.cms-media-card-footer>.cms-button,.cms-admin .cms-media-picker-card-minimal>.cms-media-card-footer>.cms-button{flex:none;grid-row:auto;width:auto;align-self:auto;justify-self:auto;min-height:40px;margin:0;padding:8px 14px;font-size:13px;line-height:1.5}
.cms-admin :is(.cms-media-card-minimal,.cms-media-picker-card-minimal)>.cms-media-card-menu{position:absolute;z-index:2;top:10px;right:10px}
.cms-admin .cms-media-picker-card.cms-media-picker-card-minimal{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.cms-admin .cms-media-picker-card-minimal>.cms-media-choice{display:block;flex:none;width:100%;height:auto;min-height:0;aspect-ratio:4/3;padding:0;border:0}
.cms-admin .cms-media-picker-card-minimal>.cms-media-choice>img{display:block;width:100%;height:100%;object-fit:cover}
.cms-admin .cms-media-picker-card-minimal>.cms-media-card-footer{display:flex;justify-content:flex-end;align-items:center;padding:8px 10px;min-height:0;height:auto}


/* Text fields own one stable border. Important visual properties also cover lazy module CSS;
   buttons, checkboxes, radios, ranges, files and switches keep their existing focus treatment. */
body.cms-admin :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label){border-width:1px!important;border-style:solid!important;border-color:var(--color-line,#d9e3f1)!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
body.cms-admin :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label):is(:hover,:focus,:focus-visible,[aria-expanded="true"]):where(:not(:disabled)){border-color:var(--color-focus,var(--color-primary,#3e6ab3))!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
body.cms-admin :is(.kv-rich-host,.cms-page-url-input){border:1px solid var(--color-line,#d9e3f1)!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
body.cms-admin :is(.kv-rich-host,.cms-page-url-input):is(:hover,:focus-within){border-color:var(--color-focus,var(--color-primary,#3e6ab3))!important}
/* The URL prefix and rich editor are single visual fields, not a pair of nested borders. */
body.cms-admin .cms-page-url-input input,body.cms-admin .kv-rich-host .ql-editor{border:0!important;outline:none!important;outline-offset:0!important;box-shadow:none!important}
body.cms-admin :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label):is([aria-invalid="true"],:user-invalid){border-color:var(--color-error,#a72b25)!important}
body.cms-admin :is(.kv-rich-host,.cms-page-url-input):is([aria-invalid="true"],:has([aria-invalid="true"],:user-invalid)){border-color:var(--color-error,#a72b25)!important}
@media(forced-colors:active){
 body.cms-admin :is(:where(input:not([type="hidden"],[type="checkbox"],[type="radio"],[type="range"],[type="file"],[type="button"],[type="submit"],[type="reset"],[type="image"],[role="switch"]),textarea,select:not(.rd-select-native):not([hidden])),.kv-select-trigger,.rd-select-trigger,.ql-picker-label):is(:focus,:focus-visible),body.cms-admin :is(.kv-rich-host,.cms-page-url-input):focus-within{border-color:Highlight!important}
}
