*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f1eb;color:#1c1f1b}.login{min-height:100vh;display:grid;place-items:center;background:#181a17}.login-card{width:min(420px,calc(100% - 32px));background:#fff;padding:2.5rem;display:grid;gap:1rem}.login-card img{width:80px;height:80px;object-fit:cover;border-radius:50%;margin:auto}.login-card h1{text-align:center}.login-card input{width:100%;padding:.9rem;margin-top:.35rem}.login-card small{line-height:1.5;color:#6b6e68}.error{background:#ffe7e2;padding:.8rem}.admin-button{display:inline-block;background:#c58f76;color:#181a17;padding:.85rem 1rem;border:0;font-weight:700;text-decoration:none}.admin-nav{position:fixed;inset:0 auto 0 0;width:240px;background:#181a17;color:#fff;padding:2rem;display:flex;flex-direction:column;gap:.35rem}.admin-nav strong{font-size:1.2rem;margin-bottom:1.5rem}.admin-nav a{color:#fff;text-decoration:none;padding:.7rem;opacity:.8}.admin-nav a:hover{background:#292c28;opacity:1}.admin-main{margin-left:240px;padding:2rem 3vw}.admin-main header{display:flex;justify-content:space-between;align-items:center}.admin-main h1{font-size:2.6rem;margin:.1rem 0}.admin-main header p{margin:0;color:#777}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}.stats article,.panel{background:#fff;padding:1.5rem}.stats span,.stats small{display:block;color:#777}.stats strong{font-size:2.5rem}.panel{margin:1rem 0}.quick{display:flex;gap:.7rem;flex-wrap:wrap}.quick button{padding:.8rem;background:#f1ece2;border:1px solid #d5cbbc}table{width:100%;border-collapse:collapse}td,th{padding:1rem;text-align:left;border-bottom:1px solid #eee}.pending,.urgent{padding:.3rem .6rem;font-size:.75rem}.pending{background:#f5e8c7}.urgent{background:#ffd8d1}@media(max-width:850px){.admin-nav{position:static;width:100%;height:auto;flex-direction:row;overflow:auto;padding:1rem}.admin-nav strong{margin:0}.admin-main{margin:0;padding:1rem}.stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.stats{grid-template-columns:1fr}.admin-main header{align-items:flex-start;gap:1rem}}

.notice{padding:14px 16px;margin:0 0 20px;background:#eef7ee;border:1px solid #b9d8bb}.notice.error,.error{background:#fff0ee;border:1px solid #e0aaa2;padding:12px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.narrow{max-width:760px}.cms-form{display:grid;gap:16px}.cms-form label{display:grid;gap:7px}.cms-form input,.cms-form textarea,.cms-form select,.inline-form input{font:inherit;padding:11px;border:1px solid #cfc7bb;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start}.check input{width:auto}.danger{margin-top:24px;padding:10px 14px;border:1px solid #a43b2e;background:#fff;color:#a43b2e}.inline-form{display:flex;align-items:center;gap:8px}.inline-form input{max-width:140px}.admin-button.small{padding:8px 12px}.admin-nav .muted{opacity:.45;cursor:not-allowed}.panel table a{font-weight:700}.login-card code{font-size:.85em}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.panel{overflow:auto}.admin-main{padding:22px}.admin-nav{position:static;width:auto;min-height:auto}.admin-nav a{display:inline-block;margin-right:12px}body:not(.login){display:block}}
.preview{width:min(360px,100%);max-height:240px;object-fit:cover;border:1px solid #ddd}.cms-form small{font-weight:400;color:#777}.quick a{margin-right:.5rem}

.thumb{width:70px;height:55px;object-fit:cover}.flash{padding:14px;margin:0 0 20px}.flash.success{background:#e8f5e9}.flash.error{background:#fde5e5}.admin-main fieldset{border:1px solid #ddd;padding:18px;margin:18px 0}.admin-main blockquote{background:#f7f4ee;padding:16px;border-left:4px solid #cb9279}.admin-main table input[type=time]{min-width:115px}@media(max-width:760px){.admin-nav{position:relative;width:100%;height:auto}.admin-main{margin-left:0;padding:20px}.admin-nav a{display:inline-block}.admin-main table{display:block;overflow:auto}}

.media-action-disabled,.media-action-disabled:disabled{display:inline-block;background:#e8e3de!important;color:#756f69!important;border:1px solid #cfc7bf!important;cursor:not-allowed!important;opacity:1!important;text-decoration:none!important;padding:.55rem .75rem}.media-usage.is-used{margin-top:.65rem;padding:.55rem;background:#f5eee8;border-left:3px solid #c98f76}.cms-form fieldset{margin:0 0 1.25rem;padding:1rem;border:1px solid #ddd4cb}.cms-form legend{font-weight:700;padding:0 .35rem}

.activity-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto auto;gap:12px;align-items:end;margin:1rem 0}.activity-filters label{display:grid;gap:6px}.activity-filters input,.activity-filters select{padding:9px;border:1px solid #cfc7bb}.activity-filters a{padding:.6rem}.panel pre{white-space:pre-wrap;max-width:540px}@media(max-width:1000px){.activity-filters{grid-template-columns:1fr 1fr}}

[hidden]{display:none!important}

/* Recurrence Engine 2.0 final polish */
.recurrence-preview{margin-top:1.5rem;border:1px solid #d8cec3;background:#f8f4ed;overflow:hidden}
.recurrence-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid #ded5cb;background:#f1e8de}
.recurrence-preview-head h3{margin:.1rem 0 0;font-size:1.25rem}
.recurrence-preview-head>span{flex:0 0 auto;padding:.35rem .55rem;border:1px solid #d3b5a5;background:#fff7f2;font-size:.78rem;font-weight:700}
.recurrence-preview-eyebrow{margin:0;color:#9a6049;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.recurrence-preview-list{list-style:none;counter-reset:occurrence;margin:0;padding:.4rem 1.25rem 1rem}
.recurrence-preview-list li{counter-increment:occurrence;display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.72rem 0;border-bottom:1px solid #e4dcd3}
.recurrence-preview-list li:last-child{border-bottom:0}
.recurrence-preview-list li::before{content:counter(occurrence);display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#c98f76;color:#171914;font-size:.78rem;font-weight:700}
.recurrence-preview-date{font-weight:700}
.recurrence-preview-list time{padding:.25rem .5rem;background:#fff;border:1px solid #ddd2c7;font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700;white-space:nowrap}
.recurrence-preview-empty{display:grid;gap:.25rem;padding:1.25rem}
.recurrence-preview-empty span{color:#6f6b65}
@media(max-width:520px){.recurrence-preview-head{display:grid}.recurrence-preview-head>span{justify-self:start}.recurrence-preview-list li{grid-template-columns:2rem 1fr}.recurrence-preview-list time{grid-column:2;justify-self:start}}

.role-badge{display:inline-block;padding:.25rem .55rem;border:1px solid #d7b39f;background:#f8eee8;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap}

/* Unified admin navigation */
.admin-nav{padding:0;gap:0;overflow:hidden}
.admin-nav-brand{flex:0 0 auto;padding:2rem 2rem 1rem}
.admin-nav-brand strong{display:block;margin:0;font-size:1.2rem}
.admin-nav-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:0 1.25rem 1rem;scrollbar-gutter:stable}
.admin-nav-section{display:grid;gap:.15rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.12)}
.admin-nav-section:first-child{border-top:0}
.admin-nav-section-title{padding:.35rem .7rem;color:#c7c9c5;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.admin-nav a{display:block;margin:0;padding:.62rem .7rem;border-left:3px solid transparent;border-radius:0}
.admin-nav a.active{background:#292c28;border-left-color:#c98f76;opacity:1;font-weight:700}
.admin-nav-footer{flex:0 0 auto;padding:.75rem 1.25rem 1.25rem;border-top:1px solid rgba(255,255,255,.14);background:#181a17}
.admin-nav-footer a{padding:.7rem}
@media(max-width:850px){
  .admin-nav{position:static;width:100%;height:auto;max-height:none;display:block;overflow:visible}
  .admin-nav-brand{padding:1rem 1rem .5rem}
  .admin-nav-scroll{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding:.5rem 1rem 1rem}
  .admin-nav-section{display:flex;flex:0 0 auto;border-top:0;border-left:1px solid rgba(255,255,255,.12);padding:0 0 0 .5rem}
  .admin-nav-section:first-child{border-left:0;padding-left:0}
  .admin-nav-section-title{display:none}
  .admin-nav a{white-space:nowrap}
  .admin-nav-footer{padding:.5rem 1rem 1rem;border-top:0}
}

/* Isolate and identify the exact repeated form whose submitted values failed validation. */
.tbg-form-has-error { outline: 2px solid rgba(170, 55, 45, .35); outline-offset: 3px; }

.readiness-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.readiness-summary article{padding:1rem;border:1px solid #d8d2c5;border-radius:.75rem;background:#fff}.readiness-summary strong{display:block;font-size:1.7rem}.readiness-summary span{color:#625f58}.readiness-list{display:grid;gap:.85rem}.readiness-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d8d2c5;border-left-width:.4rem;border-radius:.75rem;background:#fff}.readiness-item h3{margin:.3rem 0}.readiness-item p{margin:0}.readiness-missing{border-left-color:#a23b2a}.readiness-review{border-left-color:#a36b15}.readiness-ready{border-left-color:#3c7651}.readiness-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem}.readiness-meta span,.readiness-meta strong{padding:.15rem .45rem;border-radius:999px;background:#f1eee7}.content-guidance{margin-top:1.5rem;padding:1rem;border-radius:.75rem;background:#f4f1ea}.form-note{padding:.75rem 1rem;border-left:3px solid #7e725c;background:#f5f2eb;color:#48443d}@media(max-width:700px){.readiness-summary{grid-template-columns:1fr}.readiness-item{align-items:flex-start;flex-direction:column}.readiness-item .admin-button{width:100%;text-align:center}}


/* Customer-friendly CMS corrective */
.setup-panel .panel-head p{margin:.35rem 0 0;color:#6b6861;max-width:62ch}.warning-list{display:grid;gap:.8rem}.warning-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #ded8cd;background:#faf8f4}.admin-nav-section[data-section="website tools"]{opacity:.82}.admin-nav-section[data-section="website tools"] .admin-nav-section-title::after{content:" · occasional use";font-weight:400;text-transform:none;letter-spacing:0}@media(max-width:700px){.warning-item{align-items:flex-start;flex-direction:column}.warning-item .admin-button{width:100%;text-align:center}}


/* Gallery manager */
.gallery-admin-table tbody tr{cursor:grab}.gallery-admin-table tbody tr.is-dragging{opacity:.45}.drag-handle{display:inline-block;font-weight:900;letter-spacing:-.2em;color:#777}.gallery-featured-badge{display:inline-block;margin-left:.5rem;padding:.18rem .45rem;border-radius:999px;background:#f5dfd4;color:#7b3f29;font-size:.75rem}.gallery-current-image{margin-bottom:1.4rem;padding:1rem;border:1px solid #ddd4cb;background:#f8f5ef}.gallery-current-image img{display:block;width:100%;max-height:420px;object-fit:cover}.gallery-current-image p:last-child{margin-bottom:0;color:#625f58}.media-picker{margin:1rem 0}.media-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.media-picker-option{position:relative;display:grid!important;gap:.4rem!important;margin:0!important;padding:.55rem;border:1px solid #d8d0c5;background:#fff;cursor:pointer}.media-picker-option input{position:absolute;top:.65rem;left:.65rem;z-index:1}.media-picker-option img{width:100%;aspect-ratio:1;object-fit:cover}.media-picker-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.media-picker-option:has(input:checked){outline:3px solid #c98f76}@media(max-width:700px){.media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Gallery final refinements */
@media (min-width: 1000px){
  .panel.narrow:has(.gallery-current-image),
  .panel.narrow:has(.media-picker){max-width:980px}
}
.media-picker-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.8rem}
.media-picker-option{align-content:start;min-width:0;padding:.5rem;border-radius:.35rem}
.media-picker-option img{height:112px;aspect-ratio:4/3;object-fit:cover;border-radius:.2rem;background:#f3f1eb}
.media-picker-option span{font-size:.74rem;line-height:1.25}
.media-picker-option input{top:.55rem;left:.55rem}
@media(max-width:700px){
  .media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-picker-option img{height:auto;aspect-ratio:4/3}
}

/* Final CMS consistency and usability pass — 2026-08-03 */
:root{--admin-ink:#191c18;--admin-muted:#696d66;--admin-line:#ddd7cc;--admin-paper:#fff;--admin-wash:#f6f3ed;--admin-accent:#c98f76;--admin-accent-dark:#9d654e;--admin-radius:10px;--admin-shadow:0 8px 26px rgba(31,35,29,.07)}
body:not(.login){background:#f4f1eb;color:var(--admin-ink)}
.admin-main{max-width:1680px;min-height:100vh;padding:2rem clamp(1.25rem,3vw,3.5rem)}
.admin-main>header{position:relative;margin-bottom:1.35rem;padding-bottom:1.1rem;border-bottom:1px solid var(--admin-line)}
.admin-main>header h1{font-size:clamp(2rem,3vw,2.75rem);letter-spacing:-.035em}
.admin-main>header .admin-button{border-radius:999px;padding:.78rem 1.15rem}
.panel,.stats article{border:1px solid #e6e0d6;border-radius:var(--admin-radius);box-shadow:var(--admin-shadow)}
.panel{padding:clamp(1.1rem,2vw,1.6rem);margin:1.25rem 0}
.panel-head{margin-bottom:1rem}.panel-head h2{margin:0}.panel-head p{margin:.35rem 0 0;color:var(--admin-muted)}
.admin-button{border-radius:7px;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;cursor:pointer}
.admin-button:hover{background:#b97d64;box-shadow:0 5px 14px rgba(80,50,37,.16);transform:translateY(-1px)}
.cms-form input,.cms-form textarea,.cms-form select,.inline-form input,.activity-filters input,.activity-filters select{min-height:44px;border-radius:6px;border-color:#cbc5ba;transition:border-color .15s,box-shadow .15s}
.cms-form textarea{min-height:110px;resize:vertical}
.cms-form input:focus,.cms-form textarea:focus,.cms-form select:focus,.inline-form input:focus,.activity-filters input:focus,.activity-filters select:focus,.admin-search-input:focus{outline:0;border-color:var(--admin-accent-dark);box-shadow:0 0 0 3px rgba(201,143,118,.18)}
.cms-form label{font-weight:700}.cms-form label small,.cms-form .muted{font-weight:400;color:var(--admin-muted)}
.cms-form fieldset{border-radius:8px;background:#fcfbf8}.cms-form legend{font-size:.92rem}
.table-wrap,.panel>table{border:1px solid #ece7df;border-radius:8px;overflow:hidden}
table{background:#fff}th{background:#f6f3ed;color:#4d514a;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}td,th{padding:.88rem 1rem}tbody tr{transition:background .12s}tbody tr:hover{background:#fbf8f3}
.status-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;background:#eeeae2;font-size:.78rem;font-weight:700;text-transform:capitalize}
.admin-search{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;padding:.75rem;border:1px solid var(--admin-line);border-radius:8px;background:var(--admin-wash)}
.admin-search-label{font-weight:700;white-space:nowrap}.admin-search-input{width:min(420px,100%);min-height:42px;padding:.7rem .85rem;border:1px solid #cbc5ba;border-radius:999px;background:#fff;font:inherit}
.admin-search-count{margin-left:auto;color:var(--admin-muted);font-size:.86rem;white-space:nowrap}.admin-no-results{padding:1.25rem;text-align:center;color:var(--admin-muted);background:#faf8f4;border-radius:8px}
.cms-sticky-actions{position:sticky;z-index:20;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem -1.6rem -1.6rem;padding:.85rem 1.6rem;border-top:1px solid #d8d1c5;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(30,34,28,.08);backdrop-filter:blur(8px)}
.cms-sticky-actions .admin-button{min-width:150px}.cms-save-state{font-size:.84rem;color:var(--admin-muted)}.cms-save-state.is-dirty{color:#88523e;font-weight:700}
/* Media library: cleaner responsive cards and a less crowded upload/audit area */
.media-library-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;align-items:start;margin-bottom:1.25rem}
.media-library-toolbar>section{padding:1rem;border:1px solid var(--admin-line);border-radius:9px;background:#faf8f4}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;align-items:start}
.media-grid>article,.media-grid>figure{min-width:0;margin:0;padding:.75rem;border:1px solid var(--admin-line);border-radius:9px;background:#fff;box-shadow:0 5px 16px rgba(31,35,29,.05)}
.media-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:6px;background:#f4f2ed}
.media-grid h3,.media-grid strong{overflow-wrap:anywhere}.media-usage{border-radius:5px}.copy-path{margin-top:.55rem}
.inline-form{flex-wrap:wrap}.inline-form button{min-height:40px;border-radius:5px;border:1px solid #bcb4a9;background:#f5f1ea;font-weight:700;cursor:pointer}
@media(max-width:900px){.media-library-toolbar{grid-template-columns:1fr}.cms-sticky-actions{margin-left:-1.1rem;margin-right:-1.1rem;padding-left:1.1rem;padding-right:1.1rem}.admin-search{align-items:stretch;flex-direction:column}.admin-search-count{margin-left:0}.admin-search-input{width:100%}}
@media(max-width:600px){.panel-head{align-items:flex-start;flex-direction:column}.panel-head .admin-button{width:100%;text-align:center}.cms-sticky-actions{align-items:stretch;flex-direction:column}.cms-sticky-actions .admin-button{width:100%}.form-grid{gap:12px}.media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.media-grid{grid-template-columns:1fr}}

/* Client presentation polish — August 2026 */
.admin-eyebrow{margin:0 0 .35rem;color:#9a6049;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.secondary-admin-button{background:#fff;border:1px solid #c98f76;color:#5c3525}
.secondary-admin-button:hover{background:#f8eee9}

/* Always-available actions for ordering and other long workflows */
.menu-order-panel{padding-bottom:5.5rem}
.menu-order-form{gap:0}
.menu-order-original-save{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cms-sticky-actions.is-floating{position:fixed;right:clamp(1rem,3vw,3rem);bottom:1.2rem;left:auto;z-index:100;min-width:min(390px,calc(100vw - 2rem));margin:0;padding:.75rem .85rem .75rem 1rem;border:1px solid #d8c7bb;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 16px 42px rgba(25,28,24,.2)}
.cms-sticky-actions.is-floating .admin-button{min-width:160px;border-radius:8px}
.sort-card{border-radius:10px;overflow:hidden;border:1px solid #dfd8cf;background:#faf8f4}
.sort-card .drag-handle{margin:0;padding:.9rem 1rem;background:#f0e8df;font-size:1.15rem;cursor:grab}
.sort-item{margin:.45rem .65rem;padding:.78rem .9rem;border:1px solid #ddd5cc;border-left:4px solid #c98f76;border-radius:6px;background:#fff;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.sort-item:hover{border-color:#c98f76;background:#fffaf7}

/* Media library workspace */
.media-library-panel{padding:1.75rem}
.media-library-heading{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--admin-line,#ddd4cb)}
.media-library-heading h2{margin:.1rem 0 .35rem;font-size:1.7rem}
.media-library-heading p:last-child{margin:0;color:#666}
.media-library-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.35rem}
.media-tool-card{display:grid;grid-template-columns:auto 1fr;gap:.9rem 1rem;align-items:start;padding:1.25rem;border:1px solid #ded6cc;border-radius:12px;background:#faf8f4}
.media-tool-card>form,.media-tool-card>.media-audit-stats{grid-column:1/-1}
.media-tool-card h3{margin:.15rem 0 .3rem;font-size:1.15rem}
.media-tool-card p{margin:0;color:#69655f;line-height:1.45}
.media-tool-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:#ead5c8;color:#603d2d;font-size:1.2rem;font-weight:800}
.media-tool-card .cms-form{gap:.85rem}
.media-tool-card .cms-form label{margin:0}
.media-tool-card input[type=file],.media-tool-card input[type=text],.media-tool-card input:not([type]){width:100%;border-radius:7px}
.media-tool-card .admin-button{justify-self:start;border-radius:7px}
.media-audit-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.media-audit-stats span{display:grid;gap:.15rem;padding:.8rem;border:1px solid #e1d8cf;border-radius:8px;background:#fff;color:#625e58}
.media-audit-stats strong{font-size:1.35rem;color:#1c1f1b}
.media-library-controls{display:grid;grid-template-columns:auto minmax(220px,460px) auto;align-items:end;gap:.7rem;margin:1.35rem 0 1rem;padding-top:1.2rem;border-top:1px solid #e4ddd5}
.media-library-controls>label{font-weight:700}
.admin-search-field{position:relative}
.admin-search-field>span{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#777}
.admin-search-field input{width:100%;padding:.78rem .9rem .78rem 2.35rem;border:1px solid #cfc7bb;border-radius:999px;font:inherit;background:#fff}
.admin-search-field input:focus{outline:3px solid rgba(201,143,118,.2);border-color:#c98f76}
.media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;align-items:stretch}
.media-library-grid .media-card{display:flex;flex-direction:column;margin:0;border:1px solid #ded7cf;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(28,31,27,.05)}
.media-card-image{position:relative;aspect-ratio:4/3;background:#f2eee8;overflow:hidden}
.media-card-image img{width:100%;height:100%;object-fit:contain;padding:.75rem}
.media-status-badge{position:absolute;top:.7rem;right:.7rem;padding:.3rem .55rem;border-radius:999px;background:#e6f3e8;color:#2f6840;font-size:.72rem;font-weight:800}
.media-status-badge.is-archived{background:#eee9e4;color:#736b64}
.media-library-grid figcaption{display:flex;flex:1;flex-direction:column;gap:.85rem;padding:1rem}
.media-card-title strong{display:block;overflow-wrap:anywhere;font-size:.96rem;line-height:1.3}
.media-meta{display:grid;gap:.35rem;margin:0}
.media-meta>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.5rem;align-items:start}
.media-meta dt{font-weight:700;color:#5b5853}
.media-meta dd{margin:0;text-align:right;color:#777;overflow-wrap:anywhere}
.media-usage{display:grid;gap:.15rem;margin-top:auto;padding:.7rem;border:1px solid #e2ddd6;border-radius:7px;background:#f7f5f2;color:#6e6963}
.media-usage.is-used{margin-top:auto;padding:.7rem;border-left:3px solid #d0a14f;background:#fff7d8}
.media-usage span{font-size:.88rem;line-height:1.35}
.media-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.media-actions button,.media-actions .text-button{min-height:38px;padding:.55rem .7rem;border-radius:6px}
.media-actions form{margin:0}
.usage-details{width:100%;font-size:.88rem}
.usage-details summary{cursor:pointer;font-weight:700}
.media-no-results{text-align:center;padding:2rem}

@media(max-width:980px){
  .media-library-toolbar{grid-template-columns:1fr}
  .media-library-controls{grid-template-columns:1fr}
  .cms-sticky-actions.is-floating{right:1rem;left:calc(240px + 1rem);min-width:0}
}
@media(max-width:850px){
  .cms-sticky-actions.is-floating{left:1rem}
}
@media(max-width:600px){
  .media-library-panel{padding:1rem}
  .media-tool-card{grid-template-columns:1fr}
  .media-tool-icon{display:none}
  .media-audit-stats{grid-template-columns:1fr}
  .media-library-grid{grid-template-columns:1fr}
  .cms-sticky-actions.is-floating{align-items:stretch;flex-direction:column;right:.75rem;bottom:.75rem;left:.75rem;min-width:0}
}

/* Native search cancel cleanup — 2026-08-03 */
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}input[type="search"]::-ms-clear,input[type="search"]::-ms-reveal{display:none;width:0;height:0}

/* Menu item page settings */
.menu-page-settings{margin-bottom:24px}
.menu-page-settings .cms-form{max-width:980px}
.menu-default-preview{display:flex;align-items:center;gap:22px;padding:16px;border:1px solid rgba(20,30,23,.12);border-radius:14px;background:#f8f5ef}
.menu-default-preview .preview{width:180px;max-height:120px;object-fit:cover;margin:0;border-radius:10px}
.menu-default-preview strong{display:block;margin-bottom:10px}
@media(max-width:720px){.menu-default-preview{align-items:flex-start;flex-direction:column}.menu-default-preview .preview{width:100%;max-height:220px}}

/* ========================================================================
   PREMIUM RESTAURANT CMS VISUAL UPGRADE — 2026-08-05
   Presentation-only. Existing routes, field names, actions and workflows are
   intentionally unchanged. The goal is a premium but very approachable CMS.
   ======================================================================== */
:root{
  --cms-bg:#f5f0e8;
  --cms-bg-deep:#eee6da;
  --cms-paper:#fffdf9;
  --cms-paper-2:#fbf7f1;
  --cms-ink:#22221e;
  --cms-muted:#777168;
  --cms-line:#e4d9cc;
  --cms-line-strong:#d4c2b2;
  --cms-copper:#c87652;
  --cms-copper-2:#a95738;
  --cms-copper-soft:#f3dfd3;
  --cms-gold:#c9a36a;
  --cms-nav:#151916;
  --cms-nav-2:#1d211e;
  --cms-nav-text:#f2eee7;
  --cms-success:#4f855a;
  --cms-danger:#a24b3c;
  --cms-shadow:0 18px 55px rgba(44,35,27,.09),0 2px 8px rgba(44,35,27,.04);
  --cms-shadow-soft:0 8px 24px rgba(44,35,27,.06);
  --cms-radius:16px;
}
html{background:var(--cms-bg);scroll-behavior:smooth}
body:not(.login){font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
  radial-gradient(circle at 92% 3%,rgba(207,146,112,.10),transparent 28rem),
  linear-gradient(180deg,#f8f4ee 0,#f3eee6 100%);color:var(--cms-ink)}
body:not(.login) .admin-main{max-width:none;min-height:100vh;margin-left:256px;padding:38px clamp(28px,3.5vw,64px) 64px}

/* Sidebar: preserve the familiar navigation, but give it depth and brand character. */
.admin-nav{width:256px;background:
  radial-gradient(circle at 5% 0,rgba(200,118,82,.12),transparent 13rem),
  linear-gradient(180deg,#141815 0%,#1b201c 48%,#121613 100%);border-right:1px solid rgba(213,174,129,.13);box-shadow:10px 0 30px rgba(22,24,20,.08)}
.admin-nav-brand{position:relative;padding:28px 25px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-nav-brand:before{content:"TB";display:grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border:1px solid rgba(221,172,121,.58);border-radius:50%;color:#e4b684;font-family:Georgia,serif;font-size:15px;letter-spacing:.04em;box-shadow:inset 0 0 0 4px rgba(201,118,82,.05)}
.admin-nav-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;letter-spacing:.02em;color:#fff7ed}
.admin-nav-brand:after{content:"Restaurant CMS";display:block;margin-top:5px;color:#a9a59c;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.admin-nav-scroll{padding:12px 12px 20px;scrollbar-width:thin;scrollbar-color:#4b504a transparent}
.admin-nav-section{gap:3px;padding:11px 0;border-top-color:rgba(255,255,255,.075)}
.admin-nav-section-title{padding:8px 12px 7px;color:#989a92;font-size:.66rem;letter-spacing:.16em}
.admin-nav a{position:relative;padding:10px 12px 10px 15px;border:1px solid transparent;border-left:0;border-radius:9px;color:var(--cms-nav-text);font-size:.91rem;opacity:.74;transition:.18s ease}
.admin-nav a:before{content:"";position:absolute;left:6px;top:50%;width:3px;height:3px;border-radius:50%;background:#bea480;opacity:0;transform:translateY(-50%)}
.admin-nav a:hover{background:rgba(255,255,255,.055);color:#fff;opacity:1;transform:translateX(2px)}
.admin-nav a.active{background:linear-gradient(100deg,rgba(200,118,82,.98),rgba(173,87,57,.93));border:1px solid rgba(255,223,202,.16);border-left:0;color:#fff;opacity:1;font-weight:750;box-shadow:0 8px 20px rgba(111,50,31,.22),inset 0 1px rgba(255,255,255,.18)}
.admin-nav a.active:before{opacity:0}
.admin-nav-footer{padding:14px 12px 20px;background:transparent;border-top-color:rgba(255,255,255,.08)}
.admin-nav-footer a{color:#d4d1ca}

/* Page heading */
.admin-main>header{min-height:120px;margin:0 0 26px;padding:5px 0 25px;border-bottom:1px solid rgba(179,157,134,.25)}
.admin-main>header>div>p{margin:0 0 8px;color:#9c7059;font-size:.72rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.admin-main>header h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,4vw,4rem);font-weight:500;line-height:1;letter-spacing:-.045em;color:#20211d}
.admin-main>header .admin-button{align-self:flex-start;margin-top:10px;padding:13px 21px;border-radius:10px}
.admin-route-hours .admin-main>header>div:after{content:"Set your operating hours for each day of the week."}
.admin-route-settings .admin-main>header>div:after{content:"Manage your restaurant details, contact information and website links."}
.admin-route-recurrence .admin-main>header>div:after{content:"Create and manage repeating specials and events."}
.admin-main>header>div:after{display:block;margin-top:10px;color:var(--cms-muted);font-size:.96rem;letter-spacing:0}

/* Buttons: premium copper treatment with clear white labels. */
.admin-button,.quick a,.quick button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:43px;padding:.72rem 1.05rem;border:1px solid rgba(119,57,34,.12);border-radius:9px;background:linear-gradient(180deg,#d48b69 0%,#bd6847 100%);color:#fff!important;font-weight:800;line-height:1;text-decoration:none;text-shadow:0 1px 1px rgba(55,25,15,.25);box-shadow:0 7px 16px rgba(138,70,43,.15),inset 0 1px rgba(255,255,255,.24);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.admin-button:hover,.quick a:hover,.quick button:hover{background:linear-gradient(180deg,#dc9270,#b95f3f);box-shadow:0 10px 22px rgba(138,70,43,.22);transform:translateY(-1px);filter:saturate(1.04)}
.admin-button:active{transform:translateY(0);box-shadow:0 4px 10px rgba(138,70,43,.16)}
.secondary-admin-button{background:#fff!important;color:#8d4d33!important;text-shadow:none;border:1px solid #d8b19d;box-shadow:none}
.danger{border-radius:9px;font-weight:750}
.text-button,.panel table a{color:#9f5337;text-decoration-color:rgba(159,83,55,.35);text-underline-offset:3px}

/* Cards and surfaces */
.panel,.stats article{border:1px solid rgba(196,175,154,.52);border-radius:var(--cms-radius);background:rgba(255,253,249,.95);box-shadow:var(--cms-shadow);overflow:hidden}
.panel{margin:20px 0;padding:26px}
.panel.narrow{max-width:900px}
.panel-head{gap:20px;margin-bottom:18px}.panel-head h2{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:600}.panel-head p{color:var(--cms-muted);line-height:1.55}
.stats{gap:16px}.stats article{position:relative;padding:20px 22px;overflow:hidden}.stats article:after{content:"";position:absolute;right:-22px;top:-22px;width:72px;height:72px;border-radius:50%;background:var(--cms-copper-soft);opacity:.6}.stats strong{font-family:Georgia,serif;font-weight:500;color:#2b2925}
.notice,.flash,.form-note{border-radius:10px}
.form-note{border:1px solid #ead9cb;border-left:4px solid #c87652;background:#fbf3ed;color:#625950}

/* Forms */
.cms-form{gap:18px}.cms-form label{gap:8px;color:#3b3934;font-size:.86rem;font-weight:800}.cms-form label small{line-height:1.45;color:#888178}
.cms-form input,.cms-form textarea,.cms-form select,.inline-form input,.activity-filters input,.activity-filters select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d9cdbf;border-radius:9px;background:#fffdfa;color:#22231f;box-shadow:inset 0 1px 2px rgba(45,35,25,.025);font:inherit}
.cms-form textarea{padding-top:13px;line-height:1.5}.cms-form input:hover,.cms-form textarea:hover,.cms-form select:hover{border-color:#cbb7a6}
.cms-form input:focus,.cms-form textarea:focus,.cms-form select:focus,.inline-form input:focus,.activity-filters input:focus,.activity-filters select:focus,.admin-search-input:focus{border-color:#bd7759;outline:0;box-shadow:0 0 0 4px rgba(200,118,82,.13),0 3px 10px rgba(50,39,28,.04)}
.cms-form fieldset{padding:18px 20px;border:1px solid #e3d8cd;border-radius:12px;background:#fbf8f3}.cms-form legend{padding:0 8px;color:#79543f;font-weight:850}
.check{min-height:34px;font-weight:750!important}.check input[type=checkbox],.check input[type=radio],table input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:#bd6847;cursor:pointer}
.form-grid{gap:18px}

/* Tables */
.table-wrap,.panel>table{border:1px solid #e4d9cf;border-radius:12px;overflow:hidden}
table{border-spacing:0;background:transparent}th{padding:13px 15px;background:linear-gradient(180deg,#f5efe7,#f2ece4);color:#71695f;font-size:.69rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}td{padding:14px 15px;border-bottom-color:#ece3da;color:#2e2e2a}tbody tr{background:rgba(255,255,255,.45)}tbody tr:nth-child(even){background:rgba(250,247,242,.58)}tbody tr:hover{background:#fff9f4}tbody tr:last-child td{border-bottom:0}
.status-badge,.role-badge{border-color:#dec3b2;background:#f8e9df;color:#714735}

/* Search strip */
.admin-search{margin:16px 0 4px;padding:11px 13px;border:1px solid #e1d5c8;border-radius:12px;background:linear-gradient(180deg,#faf7f2,#f6f0e8)}
.admin-search-label{color:#46433e;font-size:.86rem}.admin-search-input{min-height:44px;border-color:#d8cabc;background:#fff;border-radius:999px}.admin-search-count{color:#8a7b70}

/* Settings: same fields, much easier to scan in a generous two-column workspace. */
.admin-route-settings .panel.narrow{max-width:1240px;padding:28px}
.admin-route-settings .panel>.cms-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.admin-route-settings .panel>.cms-form>input[type=hidden]{display:none}
.admin-route-settings .panel>.cms-form>label{padding:0}
.admin-route-settings .panel>.cms-form>label:nth-of-type(3),
.admin-route-settings .panel>.cms-form>label:nth-of-type(7),
.admin-route-settings .panel>.cms-form>label:nth-of-type(12),
.admin-route-settings .panel>.cms-form>label:nth-of-type(13){grid-column:1/-1}
.admin-route-settings .panel>.cms-form>label:nth-of-type(3),
.admin-route-settings .panel>.cms-form>label:nth-of-type(12),
.admin-route-settings .panel>.cms-form>label:nth-of-type(13){padding:15px 0 2px;border-top:1px solid #ede3d9}
.admin-route-settings .panel>.cms-form>.admin-button{grid-column:1/-1;justify-self:end;min-width:170px;margin-top:8px}

/* Opening hours: make a simple seven-row form feel intentionally designed, not generic. */
.admin-route-hours .panel{max-width:1320px;padding:24px}
.admin-route-hours .panel form{display:grid;gap:15px}
.admin-route-hours .panel table{border:1px solid #e2d6ca;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(47,37,28,.04)}
.admin-route-hours .panel th{height:48px;background:#f5eee5;color:#756b61}
.admin-route-hours .panel td{height:68px;padding:12px 16px;vertical-align:middle}
.admin-route-hours .panel td:first-child{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-weight:600;color:#292824}
.admin-route-hours .panel td:nth-child(2){width:110px;text-align:center}
.admin-route-hours .panel input[type=time],.admin-route-hours .panel td:last-child input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d9cdbf;border-radius:8px;background:#fffdfa;font:inherit;color:#2a2925;transition:.15s}
.admin-route-hours .panel input[type=time]{max-width:170px;font-variant-numeric:tabular-nums}
.admin-route-hours .panel td:last-child input{min-width:220px}
.admin-route-hours .panel input[type=time]:focus,.admin-route-hours .panel td:last-child input:focus{outline:0;border-color:#bd7759;box-shadow:0 0 0 4px rgba(200,118,82,.12)}
.admin-route-hours .panel>form>.admin-button{justify-self:start;min-width:140px;margin-top:2px}
.admin-route-hours .admin-search{order:2;margin:2px 0 0}.admin-route-hours table{order:1}.admin-route-hours .panel>form>.admin-button{order:3}

/* Recurrence: preserve exact controls, improve the hierarchy and reduce cognitive load. */
.admin-route-recurrence .admin-main>.panel:first-of-type{max-width:1320px}
.admin-route-recurrence .admin-main>.panel.narrow{max-width:980px;padding:28px}
.admin-route-recurrence .admin-main>.panel:first-of-type td:first-child{font-weight:750}
.admin-route-recurrence .admin-main>.panel:first-of-type td:nth-child(2){color:#6e635b}
.admin-route-recurrence .admin-main>.panel:first-of-type td:nth-child(3){font-weight:750;color:#47724d}
.admin-route-recurrence .cms-form>label.check{margin:2px 0 3px;padding:13px 15px;border:1px solid #e5d8cc;border-radius:10px;background:#faf5ef}
.admin-route-recurrence #recurrence_weekdays .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-route-recurrence #recurrence_weekdays .check{justify-content:flex-start;padding:9px 11px;border:1px solid #e4d8cd;border-radius:8px;background:#fff}
.admin-route-recurrence .recurrence-preview{border:1px solid #e0d1c4;border-radius:13px;background:#fbf7f1;box-shadow:var(--cms-shadow-soft)}
.admin-route-recurrence .recurrence-preview-head{background:linear-gradient(135deg,#f4e6db,#f8f1e9);border-bottom-color:#e2d4c8}
.admin-route-recurrence .recurrence-preview-list li::before{background:linear-gradient(180deg,#d18866,#bd6847);color:#fff}

/* Login belongs to the same premium system, without adding steps. */
.login{background:radial-gradient(circle at 50% 10%,rgba(200,118,82,.16),transparent 24rem),linear-gradient(145deg,#111512,#1c211d);font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.login-card{width:min(430px,calc(100% - 32px));padding:34px;border:1px solid rgba(222,196,175,.32);border-radius:18px;background:rgba(255,253,249,.98);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.login-card img{width:82px;height:82px;border:4px solid #f0e0d4;box-shadow:0 8px 22px rgba(79,45,30,.14)}.login-card h1{font-family:Georgia,serif;font-weight:500;font-size:2rem}.login-card label{font-weight:750;font-size:.86rem}.login-card input{min-height:48px;border:1px solid #d8cabc;border-radius:9px;background:#fffdfa}.login-card .admin-button{width:100%}

/* Responsive: keep it friendly on smaller admin devices. */
@media(max-width:1100px){
  .admin-route-settings .panel>.cms-form{grid-template-columns:1fr}
  .admin-route-settings .panel>.cms-form>label{grid-column:1!important}
  .admin-route-recurrence #recurrence_weekdays .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  body:not(.login) .admin-main{margin-left:0;padding:24px 18px 48px}
  .admin-nav{width:100%;box-shadow:none}.admin-nav-brand:before,.admin-nav-brand:after{display:none}.admin-nav-brand{padding:16px 18px 8px}
  .admin-main>header{min-height:0;align-items:flex-start;gap:16px}.admin-main>header h1{font-size:2.6rem}
}
@media(max-width:700px){
  .admin-main>header{flex-direction:column}.admin-main>header .admin-button{width:100%}
  .panel{padding:18px}.admin-route-hours .panel{padding:14px;overflow-x:auto}.admin-route-hours .panel table{min-width:760px}
  .admin-route-settings .panel.narrow,.admin-route-recurrence .admin-main>.panel.narrow{padding:18px}
}
@media(max-width:520px){
  .admin-main>header h1{font-size:2.25rem}.form-grid{grid-template-columns:1fr}
  .admin-route-recurrence #recurrence_weekdays .form-grid{grid-template-columns:1fr 1fr}
}

/* ========================================================================
   PREMIUM ADMIN DESIGN REFINEMENT 2 — 2026-08-06
   Refines contrast, file inputs, nav distinction and visual clarity.
   ======================================================================== */
:root{
  --cms-bg:#f4efe7;
  --cms-paper:#fffdfa;
  --cms-paper-2:#fcf8f3;
  --cms-line:#dfd2c3;
  --cms-line-strong:#cdb7a4;
  --cms-copper:#d07d58;
  --cms-copper-2:#b96343;
  --cms-copper-3:#9d4f33;
  --cms-copper-soft:#f8ebe1;
  --cms-nav-title:#c6ab8a;
}

/* Clearer overall contrast: fewer muddy translucent layers, cleaner whites. */
body:not(.login){background:linear-gradient(180deg,#f7f2eb 0%,#f2ece4 100%)}
.panel,.stats article{background:var(--cms-paper);border-color:var(--cms-line);box-shadow:0 16px 42px rgba(44,35,27,.07),0 2px 8px rgba(44,35,27,.035)}
.panel{padding:28px}
.panel-head{margin-bottom:20px}
.panel-head h2,.panel h2{letter-spacing:-.02em}
.panel p,.cms-form p,.panel li{line-height:1.58}
.notice,.flash,.form-note{background:#fcf7f1}
.form-note{border-color:#e8d3c2;background:#fcf7f1}

/* Navigation: make section titles more distinct and active item lighter/cleaner. */
.admin-nav-section{padding:14px 0 12px}
.admin-nav-section-title{
  display:flex;align-items:center;gap:10px;
  margin:0 8px 7px;padding:0;
  color:var(--cms-nav-title);font-size:.64rem;font-weight:800;letter-spacing:.18em;
}
.admin-nav-section-title:before,
.admin-nav-section-title:after{
  content:"";height:1px;flex:1 1 auto;background:linear-gradient(90deg,rgba(214,180,145,.08),rgba(214,180,145,.42),rgba(214,180,145,.08));
}
.admin-nav a{margin:1px 4px;padding:11px 13px 11px 17px;border-radius:12px;opacity:.82}
.admin-nav a:hover{background:rgba(255,255,255,.075)}
.admin-nav a.active{
  background:linear-gradient(180deg,#de916f 0%,#cb7652 100%);
  box-shadow:0 10px 24px rgba(130,62,38,.18), inset 0 1px rgba(255,255,255,.22);
}
.admin-nav-footer{padding-top:16px}

/* Buttons and controls: sharper contrast and cleaner text. */
.admin-button,.quick a,.quick button{
  background:linear-gradient(180deg,#d98f6d 0%,#c46c49 100%);
  border-color:rgba(132,66,41,.15);
  box-shadow:0 9px 20px rgba(138,70,43,.16), inset 0 1px rgba(255,255,255,.22);
}
.admin-button:hover,.quick a:hover,.quick button:hover{
  background:linear-gradient(180deg,#e39a77 0%,#c26040 100%);
}
.secondary-admin-button{background:#fff!important;color:var(--cms-copper-3)!important}

/* File inputs: remove the generic browser feel while preserving native behavior. */
.cms-form input[type=file],
input[type=file]{
  padding:8px 10px;
  min-height:54px;
  border:1px solid #d9cdbf;
  border-radius:12px;
  background:linear-gradient(180deg,#fffdfa 0%,#fbf7f1 100%);
  color:#453f38;
  box-shadow:inset 0 1px 2px rgba(45,35,25,.02);
}
.cms-form input[type=file]::file-selector-button,
input[type=file]::file-selector-button{
  margin-right:12px;
  padding:11px 15px;
  border:1px solid rgba(142,77,51,.18);
  border-radius:9px;
  background:linear-gradient(180deg,#f8efe7 0%,#f0dfd2 100%);
  color:#81482f;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.cms-form input[type=file]::-webkit-file-upload-button,
input[type=file]::-webkit-file-upload-button{
  margin-right:12px;
  padding:11px 15px;
  border:1px solid rgba(142,77,51,.18);
  border-radius:9px;
  background:linear-gradient(180deg,#f8efe7 0%,#f0dfd2 100%);
  color:#81482f;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.cms-form input[type=file]:hover,
input[type=file]:hover{border-color:#c6ad98}
.cms-form input[type=file]:hover::file-selector-button,
input[type=file]:hover::file-selector-button{background:linear-gradient(180deg,#fbf3eb 0%,#edd8c9 100%)}

/* Tables and utility surfaces: less tint layering, clearer structure. */
.table-wrap,.panel>table,.admin-route-hours .panel table,.recurrence-preview{border-color:#e1d5c8}
th{background:#f4ede4;color:#6e655c}
tbody tr{background:#fff}
tbody tr:nth-child(even){background:#fcf8f3}
tbody tr:hover{background:#fdf4ee}
.admin-search{background:#f8f3ed;border-color:#e2d6ca}
.recurrence-preview{background:#fffdfa}
.recurrence-preview-head{background:#f4ece3;border-bottom-color:#e1d5c8}
.recurrence-preview-head>span{background:#fff;border-color:#d9c6b7}
.recurrence-preview-list li::before{background:linear-gradient(180deg,#dd9775,#c46d4b);color:#fff}
.recurrence-preview-list time{background:#fffdfa;border-color:#dfd2c4}

/* Specific page polish: menu import and preview sections. */
.two-panel{gap:30px}
.admin-route-menu-import .panel.two-panel,
.admin-route-menu-import .two-panel.panel{grid-template-columns:1.15fr .85fr}
.admin-route-menu-import code{padding:.18rem .45rem;border:1px solid #eadbce;border-radius:6px;background:#faf5ef;color:#5c5249}
.admin-route-menu-import .panel h2{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;font-weight:600}
.admin-route-menu-import .panel p{margin:0 0 14px}

/* Opening-hours + recurrence extra clarity. */
.admin-route-hours .panel th{background:#f3ece2}
.admin-route-hours .panel td{background:#fffdfa}
.admin-route-hours .panel tr:nth-child(even) td{background:#fcf8f3}
.admin-route-hours .panel td:last-child input::placeholder{color:#a1968b}
.admin-route-recurrence .cms-form>label.check{background:#fffaf5;border-color:#e4d7cb}
.admin-route-recurrence #recurrence_weekdays .check{background:#fffdfa}

/* Sticky save bars / footer strips become cleaner and more professional. */
.sticky-save-bar,.admin-save-bar,.save-bar{background:rgba(255,253,249,.96)!important;border-top:1px solid #e4d7ca!important;box-shadow:0 -10px 25px rgba(44,35,27,.05)}

@media(max-width:900px){
  .admin-route-menu-import .panel.two-panel,
  .admin-route-menu-import .two-panel.panel{grid-template-columns:1fr}
}

/* ========================================================================
   FINAL ADMIN POLISH PASS — 2026-08-06
   Consistent form rhythm, tables, helper text, badges and empty states.
   No functional changes.
   ======================================================================== */

/* Form rhythm and hierarchy */
.cms-form{row-gap:20px}
.cms-form label{font-size:.84rem;letter-spacing:.005em;color:#35332f}
.cms-form label>small,
.cms-form small,
.panel small{color:#837c73;font-size:.78rem;line-height:1.45}
.cms-form label>small{margin-top:-2px}
.cms-form input,.cms-form textarea,.cms-form select,.inline-form input,.activity-filters input,.activity-filters select{
  border-color:#d8ccbf;
  background:#fffefa;
  box-shadow:0 1px 0 rgba(55,42,31,.02);
}
.cms-form input::placeholder,.cms-form textarea::placeholder{color:#a39a90}
.cms-form select{background-color:#fffefa}
.cms-form textarea{min-height:118px}
.form-grid{gap:20px 22px}
.cms-form hr{width:100%;height:1px;border:0;background:#e8ddd2;margin:5px 0}
.cms-form fieldset{padding:20px 22px;background:#fffaf5;border-color:#e4d7ca}
.cms-form legend{color:#744833;font-size:.82rem;letter-spacing:.025em}

/* Helper and guidance blocks */
.form-note,.content-guidance{
  position:relative;
  padding:13px 16px 13px 44px;
  border:1px solid #ead9cb;
  border-left:1px solid #ead9cb;
  border-radius:10px;
  background:#fcf8f3;
  color:#625a52;
  font-size:.84rem;
  line-height:1.55;
}
.form-note:before,.content-guidance:before{
  content:"i";
  position:absolute;left:14px;top:13px;
  display:grid;place-items:center;
  width:20px;height:20px;
  border:1px solid #d4aa94;border-radius:50%;
  color:#a45b3d;font-size:.72rem;font-family:Georgia,serif;font-weight:700;
  background:#fff;
}

/* Table polish */
.panel>table,.table-wrap{box-shadow:0 5px 16px rgba(44,35,27,.035)}
th{
  padding:12px 15px;
  background:#f2ebe2;
  border-bottom:1px solid #dfd2c4;
  color:#625b53;
  font-size:.67rem;
  letter-spacing:.115em;
}
td{padding:15px;border-bottom-color:#e9e0d7}
tbody tr:nth-child(even){background:#fdfaf6}
tbody tr:hover{background:#faf2eb}
.panel table a{color:#9e5134;font-weight:800;text-decoration-thickness:1px}

/* Badges: clearer semantic contrast, restrained shapes */
.status-badge,.role-badge,.gallery-featured-badge,.label-pill{
  display:inline-flex;align-items:center;gap:.3rem;
  min-height:26px;padding:.24rem .58rem;
  border:1px solid #ddc6b7;
  border-radius:999px;
  background:#fff6ef;
  color:#774631;
  font-size:.72rem;font-weight:800;line-height:1;
}
.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#c47450}
.status-badge[data-status="active"]:before,
.status-badge.is-active:before{background:#4c8659}
.role-badge{background:#f7f1e9;color:#655b51;border-color:#ddd2c6}
.gallery-featured-badge{background:#f7e6da;color:#78422e}
.label-pill.dietary{background:#f2f6ed;color:#53694d;border-color:#cedac7}
.label-pill.allergen{background:#fff0ec;color:#844e3f;border-color:#e2c1b7}

/* Empty states */
.empty-state,.admin-no-results,.media-no-results{
  position:relative;
  padding:34px 28px;
  border:1px dashed #d6c7b9;
  border-radius:12px;
  background:#fcfaf7;
  color:#746e67;
  text-align:center;
}
.empty-state:before,.admin-no-results:before,.media-no-results:before{
  content:"•";
  display:grid;place-items:center;
  width:34px;height:34px;
  margin:0 auto 12px;
  border:1px solid #dcc6b7;border-radius:50%;
  background:#fff6ef;color:#c26f4c;font-size:1.25rem;
}
.empty-state h3{margin:0 0 7px;color:#302e2a;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.empty-state p{margin:.3rem auto;max-width:55ch;line-height:1.55}

/* Search and utility strips */
.admin-search{padding:12px 14px;border-radius:11px;background:#f8f4ee}
.admin-search-label{font-size:.82rem}
.admin-search-count{font-size:.78rem;color:#81786f}
.admin-search-input{min-height:42px}

/* Sticky action area */
.cms-sticky-actions{
  padding:12px 18px;
  border-top-color:#e1d6ca;
  background:rgba(255,254,251,.985);
  box-shadow:0 -8px 20px rgba(44,35,27,.045);
  backdrop-filter:blur(10px);
}
.cms-save-state{font-size:.78rem;color:#7f786f}
.cms-save-state.is-dirty{color:#955337}

/* Media/tool cards align with rest of CMS */
.media-tool-card{background:#fffaf5;border-color:#e2d6ca;box-shadow:0 4px 14px rgba(44,35,27,.025)}
.media-tool-icon{background:#f4e3d7;color:#955236}
.media-library-grid .media-card{border-color:#e1d7cd;box-shadow:0 7px 18px rgba(44,35,27,.045)}
.media-usage{background:#faf7f3;border-color:#e6ddd5}

/* Lists / recurrence preview */
.recurrence-preview-list li{padding:.82rem 0;border-bottom-color:#e6dcd2}
.recurrence-preview-date{font-size:.95rem;color:#302e2a}
.recurrence-preview-list time{border-radius:7px;color:#453d36}

/* Improve title/subtitle separation without adding new UI */
.panel-head h2{margin-bottom:3px}
.admin-main>header>div:after{max-width:65ch;line-height:1.5}

/* More consistent spacing on utility two-column pages */
.two-panel>div{min-width:0}
.two-panel>div>h2:first-child{margin-top:0}
.two-panel>div>p:first-of-type{color:#665f57}

@media(max-width:700px){
  .cms-form{row-gap:16px}
  .form-grid{gap:16px}
  .form-note,.content-guidance{padding-left:42px}
  td,th{padding:.78rem .8rem}
}

/* ========================================================================
   PREMIUM HIGH-CONTRAST ADMIN SYSTEM — 2026-08-06
   Removes washed salmon/beige tinting in favor of solid charcoal, white and
   copper accents. Presentation-only: no field, route or workflow changes.
   ======================================================================== */
:root{
  --cms-bg:#f4f1eb;
  --cms-paper:#ffffff;
  --cms-paper-2:#fbfaf7;
  --cms-ink:#1c211e;
  --cms-muted:#6f716d;
  --cms-line:#dedbd4;
  --cms-line-strong:#c9c4ba;
  --cms-copper:#cf7652;
  --cms-copper-2:#b85d3c;
  --cms-copper-3:#94472f;
  --cms-charcoal:#1b211e;
  --cms-charcoal-2:#252b27;
  --cms-success:#3f7d4d;
  --cms-danger:#a34436;
}

/* Main workspace: neutral, crisp and deliberately low-tint. */
body:not(.login){
  background:#f4f1eb;
  color:var(--cms-ink);
}
.panel,.stats article{
  background:#fff;
  border-color:var(--cms-line);
  box-shadow:0 14px 34px rgba(27,33,30,.065),0 2px 6px rgba(27,33,30,.025);
}

/* Stronger title system: charcoal first, copper as a controlled accent. */
.admin-main>header>div>p{
  display:flex;
  align-items:center;
  gap:10px;
  color:#5f625e;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.17em;
}
.admin-main>header>div>p:before{
  content:"";
  width:22px;
  height:3px;
  border-radius:99px;
  background:var(--cms-copper);
}
.admin-main>header h1{color:var(--cms-charcoal)}

/* Sidebar: retain the premium dark structure, with cleaner hierarchy. */
.admin-nav{
  background:#171c19;
  border-right-color:#292f2b;
}
.admin-nav-brand{border-bottom-color:#303631}
.admin-nav-section{border-top-color:#303631}
.admin-nav-section-title{
  color:#d4aa8d;
  font-size:.62rem;
  letter-spacing:.19em;
}
.admin-nav-section-title:before,
.admin-nav-section-title:after{background:#4a4f4b}
.admin-nav a{color:#f1f2ef;opacity:.78}
.admin-nav a:hover{background:#252b27;color:#fff;opacity:1}
.admin-nav a.active{
  background:var(--cms-copper);
  color:#fff;
  border-color:var(--cms-copper);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  text-shadow:0 1px 1px rgba(83,37,23,.25);
}
.admin-nav-footer{border-top-color:#303631}

/* Buttons: solid, decisive copper instead of gradients/tints. */
.admin-button,.quick a,.quick button{
  background:var(--cms-copper);
  border-color:var(--cms-copper);
  color:#fff!important;
  text-shadow:0 1px 1px rgba(74,31,20,.25);
  box-shadow:0 7px 15px rgba(116,54,34,.16);
}
.admin-button:hover,.quick a:hover,.quick button:hover{
  background:var(--cms-copper-2);
  border-color:var(--cms-copper-2);
  box-shadow:0 9px 20px rgba(116,54,34,.2);
}
.secondary-admin-button{
  background:#fff!important;
  color:var(--cms-copper-3)!important;
  border:1px solid var(--cms-copper)!important;
  text-shadow:none!important;
  box-shadow:none!important;
}

/* File inputs: solid primary control + clean white field. */
.cms-form input[type=file],input[type=file]{
  min-height:56px;
  padding:7px 9px;
  background:#fff;
  color:#262b28;
  border:1px solid var(--cms-line-strong);
  box-shadow:none;
}
.cms-form input[type=file]::file-selector-button,
input[type=file]::file-selector-button,
.cms-form input[type=file]::-webkit-file-upload-button,
input[type=file]::-webkit-file-upload-button{
  margin-right:13px;
  padding:12px 17px;
  border:1px solid var(--cms-copper);
  border-radius:9px;
  background:var(--cms-copper);
  color:#fff;
  font:inherit;
  font-weight:850;
  text-shadow:0 1px 1px rgba(74,31,20,.22);
  box-shadow:none;
  cursor:pointer;
}
.cms-form input[type=file]:hover::file-selector-button,
input[type=file]:hover::file-selector-button{
  background:var(--cms-copper-2);
  border-color:var(--cms-copper-2);
}

/* Inputs: white, precise, no salmon/beige wash. */
.cms-form input,.cms-form textarea,.cms-form select,
.inline-form input,.activity-filters input,.activity-filters select{
  background:#fff;
  border-color:#d2d0ca;
  color:#202522;
  box-shadow:none;
}
.cms-form input:hover,.cms-form textarea:hover,.cms-form select:hover{border-color:#aaa79f}
.cms-form input:focus,.cms-form textarea:focus,.cms-form select:focus,
.inline-form input:focus,.activity-filters input:focus,.activity-filters select:focus,.admin-search-input:focus{
  border-color:var(--cms-copper);
  box-shadow:0 0 0 3px rgba(207,118,82,.13);
}
.cms-form fieldset{background:#fff;border-color:var(--cms-line)}
.cms-form legend{color:var(--cms-charcoal)}

/* Guidance: neutral white surface with a solid copper marker only. */
.form-note,.content-guidance{
  background:#fff;
  border:1px solid var(--cms-line);
  border-left:4px solid var(--cms-copper);
  color:#565b57;
}
.form-note:before,.content-guidance:before{
  border-color:var(--cms-charcoal);
  background:var(--cms-charcoal);
  color:#fff;
}

/* Tables: charcoal header, white body, subtle neutral striping. */
.table-wrap,.panel>table,.admin-route-hours .panel table,.recurrence-preview{
  border-color:var(--cms-line);
}
th{
  background:var(--cms-charcoal);
  color:#fff;
  border-bottom-color:var(--cms-charcoal);
  letter-spacing:.12em;
}
tbody tr{background:#fff}
tbody tr:nth-child(even){background:#f8f8f5}
tbody tr:hover{background:#f2f0eb}
td{border-bottom-color:#e5e3de;color:#252a27}
.panel table a{color:var(--cms-copper-3)}

/* Search and utility bars become crisp white instead of tinted bands. */
.admin-search{
  background:#fff;
  border-color:var(--cms-line);
}
.admin-search-input{background:#fff}

/* Badges: solid contrast. */
.role-badge,.status-badge,.gallery-featured-badge,.label-pill{
  background:#fff;
  border:1px solid var(--cms-charcoal);
  color:var(--cms-charcoal);
}
.role-badge{background:var(--cms-charcoal);color:#fff;border-color:var(--cms-charcoal)}
.status-badge{border-color:#9c9e99}
.gallery-featured-badge{background:var(--cms-copper);border-color:var(--cms-copper);color:#fff}
.label-pill.dietary{background:#fff;border-color:#56705a;color:#3e5943}
.label-pill.allergen{background:#fff;border-color:#9a5443;color:#7c3f32}

/* Media and tools: white cards + solid icon discs. */
.media-tool-card{
  background:#fff;
  border-color:var(--cms-line);
  box-shadow:0 5px 14px rgba(27,33,30,.04);
}
.media-tool-icon{
  background:var(--cms-copper);
  color:#fff;
}
.media-usage{background:#fff;border-color:var(--cms-line)}
.media-usage.is-used{background:#fff;border-left:4px solid var(--cms-copper);border-color:var(--cms-line)}
.media-library-grid .media-card{background:#fff;border-color:var(--cms-line)}

/* Empty states: remove decorative tinted fill. */
.empty-state,.admin-no-results,.media-no-results{
  background:#fff;
  border-color:#bbb8b0;
  color:#666a66;
}
.empty-state:before,.admin-no-results:before,.media-no-results:before{
  background:var(--cms-charcoal);
  border-color:var(--cms-charcoal);
  color:#fff;
}

/* Recurrence: white content, charcoal heading bar, copper numbering. */
.recurrence-preview{background:#fff}
.recurrence-preview-head{
  background:var(--cms-charcoal);
  border-bottom-color:var(--cms-charcoal);
  color:#fff;
}
.recurrence-preview-head h3,.recurrence-preview-head .recurrence-preview-eyebrow{color:#fff}
.recurrence-preview-head>span{
  background:#fff;
  color:var(--cms-charcoal);
  border-color:#fff;
}
.recurrence-preview-list li::before{background:var(--cms-copper);color:#fff}
.recurrence-preview-list time{background:#fff;border-color:#cbc8c1;color:#222723}
.admin-route-recurrence .cms-form>label.check,
.admin-route-recurrence #recurrence_weekdays .check{background:#fff;border-color:var(--cms-line)}

/* Opening hours: no tinted rows or headers. */
.admin-route-hours .panel th{background:var(--cms-charcoal);color:#fff}
.admin-route-hours .panel td{background:#fff}
.admin-route-hours .panel tr:nth-child(even) td{background:#f8f8f5}
.admin-route-hours .panel input[type=time],.admin-route-hours .panel td:last-child input{background:#fff}

/* Menu import and code labels: crisp neutral surfaces. */
.admin-route-menu-import code{
  background:#fff;
  border-color:#c9c6bf;
  color:#313632;
}

/* Sticky save regions: pure white rather than translucent warm tint. */
.cms-sticky-actions,.sticky-save-bar,.admin-save-bar,.save-bar{
  background:#fff!important;
  border-top-color:var(--cms-line)!important;
  box-shadow:0 -8px 20px rgba(27,33,30,.05)!important;
  backdrop-filter:none!important;
}

/* Homepage/media pickers: neutral containers, copper selection. */
.homepage-image-field{background:#fff;border-color:var(--cms-line)}
.homepage-current-image,.homepage-upload-control,.homepage-media-chooser{background:#fff;border-color:var(--cms-line)}
.status-label{background:var(--cms-charcoal);color:#fff}
.homepage-media-option{background:#f7f7f4}
.homepage-media-option:has(input:checked){background:#fff;border-color:var(--cms-copper)}

/* Notices keep semantic meaning without salmon washes. */
.notice{background:#fff;border-color:#b9cfbb;border-left:4px solid #4f855a}
.notice.error,.error,.flash.error{background:#fff;border-color:#d8aaa2;border-left:4px solid var(--cms-danger)}
.flash.success{background:#fff;border:1px solid #b9cfbb;border-left:4px solid #4f855a}

@media(max-width:850px){
  .admin-nav-section-title:before,.admin-nav-section-title:after{display:none}
}

/* ========================================================================
   PREMIUM ADMIN ARCHITECTURE PASS — 2026-08-06
   Strong visual hierarchy: charcoal navigation -> copper page identity ->
   white editing surfaces. Presentation only; workflows remain unchanged.
   ======================================================================== */
:root{
  --cms-copper:#d17853;
  --cms-copper-dark:#b85d3c;
  --cms-copper-deep:#91452f;
  --cms-charcoal:#171d1a;
  --cms-charcoal-soft:#242b27;
  --cms-cream:#fff8f1;
  --cms-warm-white:#fffdfa;
  --cms-canvas:#f2eee8;
  --cms-neutral-line:#ded9d2;
}

/* The page identity is now a deliberate solid brand block. */
body:not(.login) .admin-main{
  background:var(--cms-canvas);
}
.admin-main>header,
.admin-main>header.admin-header{
  min-height:174px;
  margin:0 0 32px;
  padding:30px 34px;
  border:0;
  border-radius:18px;
  background:var(--cms-copper);
  box-shadow:0 18px 40px rgba(111,55,34,.14);
  position:relative;
  overflow:hidden;
}
.admin-main>header:after,
.admin-main>header.admin-header:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-110px;
  width:270px;
  height:270px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025);
  pointer-events:none;
}
.admin-main>header>div,
.admin-main>header.admin-header>div{position:relative;z-index:1}
.admin-main>header>div>p,
.admin-main>header.admin-header>div>p{
  color:#fff4eb;
  margin:0 0 10px;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.admin-main>header>div>p:before,
.admin-main>header.admin-header>div>p:before{
  width:24px;height:3px;background:#fff;border-radius:99px;
}
.admin-main>header h1,
.admin-main>header.admin-header h1{
  color:#fff;
  text-shadow:0 2px 1px rgba(93,39,22,.12);
  letter-spacing:-.045em;
}
.admin-main>header>div:after{
  color:#fff2e9;
  max-width:700px;
  font-size:1rem;
  line-height:1.5;
}
.admin-main>header>.admin-button,
.admin-main>header.admin-header>.admin-button{
  position:relative;
  z-index:1;
  align-self:center;
  margin:0;
  min-width:146px;
  background:var(--cms-charcoal)!important;
  border-color:var(--cms-charcoal)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(34,24,18,.18);
}
.admin-main>header>.admin-button:hover,
.admin-main>header.admin-header>.admin-button:hover{
  background:#252d29!important;
  border-color:#252d29!important;
}

/* Editing content sits on clean white, clearly separated from the page title. */
.panel,.stats article{
  background:#fff;
  border:1px solid var(--cms-neutral-line);
  box-shadow:0 12px 30px rgba(24,29,26,.055);
}
.panel{border-radius:16px}

/* Settings: explicit sections create information hierarchy without adding steps. */
.admin-route-settings .settings-panel{
  max-width:1320px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.admin-route-settings .settings-form{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.admin-route-settings .settings-group{
  overflow:hidden;
  border:1px solid var(--cms-neutral-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(24,29,26,.045);
}
.admin-route-settings .settings-group-head{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.5fr);
  column-gap:24px;
  align-items:end;
  padding:22px 26px 18px;
  border-bottom:1px solid var(--cms-neutral-line);
  background:#fff;
}
.admin-route-settings .settings-group-kicker{
  grid-column:1/-1;
  margin:0 0 6px!important;
  color:var(--cms-copper-deep)!important;
  font-size:.64rem!important;
  font-weight:900!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.admin-route-settings .settings-group-head h2{
  margin:0;
  color:var(--cms-charcoal);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.6rem;
  line-height:1.1;
  font-weight:600;
}
.admin-route-settings .settings-group-head>p:last-child{
  margin:0;
  color:#6a6e6a;
  font-size:.9rem;
  line-height:1.45;
}
.admin-route-settings .settings-group-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 24px;
  padding:24px 26px 27px;
}
.admin-route-settings .settings-group-fields>label{
  margin:0;
}
.admin-route-settings .settings-group:nth-of-type(1) .settings-group-fields>label:nth-child(3),
.admin-route-settings .settings-group:nth-of-type(2) .settings-group-fields>label:nth-child(4){
  grid-column:1/-1;
}
.admin-route-settings .settings-save{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:18px 22px;
  border:1px solid var(--cms-charcoal);
  border-radius:14px;
  background:var(--cms-charcoal);
  color:#fff;
  box-shadow:0 10px 26px rgba(23,29,26,.12);
}
.admin-route-settings .settings-save span{
  color:#daddd9;
  font-size:.9rem;
}
.admin-route-settings .settings-save .admin-button{
  flex:0 0 auto;
  min-width:150px;
  background:var(--cms-copper)!important;
  border-color:var(--cms-copper)!important;
}

/* Stronger title-to-content separation on data-heavy pages. */
.admin-route-hours .panel,
.admin-route-recurrence .panel,
.admin-route-menu-import .panel,
.admin-route-media-library .panel{
  margin-top:0;
}
.admin-route-hours .panel{padding:26px}
.admin-route-hours .panel table{
  border-radius:12px;
  border-color:#cfd2cf;
  box-shadow:none;
}
.admin-route-hours .panel th{
  background:var(--cms-charcoal);
  color:#fff;
}
.admin-route-hours .panel td:first-child{
  color:var(--cms-charcoal);
}

/* Navigation remains dark; active item is copper but slightly deeper than header. */
.admin-nav a.active{
  background:var(--cms-copper-dark);
  border-color:var(--cms-copper-dark);
  color:#fff;
}
.admin-nav-section-title{
  color:#e1b58f;
}

/* Primary actions retain solid copper; no pale salmon utility surfaces. */
.admin-button,.quick a,.quick button{
  background:var(--cms-copper);
  border-color:var(--cms-copper);
}
.admin-button:hover,.quick a:hover,.quick button:hover{
  background:var(--cms-copper-dark);
  border-color:var(--cms-copper-dark);
}
.form-note,.content-guidance,.admin-search,.empty-state,
.media-tool-card,.media-usage,.homepage-image-field,
.homepage-current-image,.homepage-upload-control,.homepage-media-chooser{
  background:#fff;
}

@media(max-width:900px){
  .admin-main>header,.admin-main>header.admin-header{min-height:150px;padding:24px}
  .admin-route-settings .settings-group-head{grid-template-columns:1fr;gap:7px}
  .admin-route-settings .settings-group-fields{grid-template-columns:1fr}
  .admin-route-settings .settings-group:nth-of-type(1) .settings-group-fields>label:nth-child(3),
  .admin-route-settings .settings-group:nth-of-type(2) .settings-group-fields>label:nth-child(4){grid-column:auto}
}
@media(max-width:700px){
  .admin-main>header,.admin-main>header.admin-header{border-radius:14px}
  .admin-route-settings .settings-group-head,
  .admin-route-settings .settings-group-fields{padding-left:18px;padding-right:18px}
  .admin-route-settings .settings-save{align-items:stretch;flex-direction:column}
  .admin-route-settings .settings-save .admin-button{width:100%}
}

/* ========================================================================
   FINAL GLOBAL ADMIN COMPONENT SYSTEM — 2026-08-06
   One consistent premium visual language across every CMS screen.
   Presentation only: no field, route, permission or workflow changes.
   ======================================================================== */
:root{
  --cms-charcoal:#171d1a;
  --cms-charcoal-2:#222a26;
  --cms-copper:#d37955;
  --cms-copper-dark:#b85f3e;
  --cms-copper-deep:#93472f;
  --cms-offwhite:#f4efe8;
  --cms-white:#ffffff;
  --cms-border:#d9d5cf;
  --cms-border-soft:#e8e4de;
  --cms-text:#202521;
  --cms-muted:#727772;
  --cms-success:#2f7a4a;
  --cms-warning:#9b691b;
  --cms-danger:#9d3e35;
}

/* ---------- Type hierarchy ---------- */
.cms-form>label,.cms-form .form-grid>label,.cms-form fieldset>label,.inline-form label,.activity-filters label{
  color:#423a34;font-size:.78rem;font-weight:850;line-height:1.25;letter-spacing:.025em;
}
.cms-form input,.cms-form textarea,.cms-form select,.inline-form input,.activity-filters input,.activity-filters select{
  color:var(--cms-text);font-size:.98rem;font-weight:550;letter-spacing:0;
}
.cms-form textarea{line-height:1.55;font-weight:500}
.cms-form label small,.cms-form small,.panel small,.form-note small{
  color:#858a85;font-size:.75rem;font-weight:450;line-height:1.45;
}
.cms-form input::placeholder,.cms-form textarea::placeholder,.inline-form input::placeholder{color:#999d99;font-weight:450}
.cms-form legend,.panel fieldset legend{color:var(--cms-charcoal);font-size:.98rem;font-weight:850;letter-spacing:.01em}
.panel h2{color:var(--cms-charcoal);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:600;letter-spacing:-.02em}
.panel h3{color:var(--cms-charcoal);font-size:1.05rem;font-weight:850}

/* ---------- White editing surfaces / neutral gutters ---------- */
body:not(.login){background:var(--cms-offwhite)}
.panel,.stats article,.media-tool-card,.sort-card,.homepage-image-field,.homepage-current-image,.homepage-upload-control,.homepage-media-chooser{
  background:var(--cms-white)!important;border-color:var(--cms-border)!important;
}
.panel{box-shadow:0 12px 30px rgba(20,27,23,.055)}
.cms-form input,.cms-form textarea,.cms-form select,.inline-form input,.activity-filters input,.activity-filters select{
  background:#fff;border:1px solid #d7d3cd;border-radius:9px;box-shadow:none;
}
.cms-form input:focus,.cms-form textarea:focus,.cms-form select:focus,.inline-form input:focus,.activity-filters input:focus,.activity-filters select:focus{
  border-color:var(--cms-copper);box-shadow:0 0 0 3px rgba(211,121,85,.12);outline:0;
}

/* ---------- All primary actions ---------- */
.admin-button,.quick a,.quick button,.quick-price-save{
  background:var(--cms-copper)!important;border:1px solid var(--cms-copper)!important;color:#fff!important;
  text-shadow:0 1px 1px rgba(77,33,20,.2);border-radius:9px;font-weight:850;
  box-shadow:0 7px 16px rgba(117,56,35,.13);
}
.admin-button:hover,.quick a:hover,.quick button:hover,.quick-price-save:hover{
  background:var(--cms-copper-dark)!important;border-color:var(--cms-copper-dark)!important;color:#fff!important;
}
.admin-button.small,.quick-price-save{min-height:38px;padding:.58rem .8rem;font-size:.78rem}
.secondary-admin-button{background:#fff!important;border-color:var(--cms-charcoal)!important;color:var(--cms-charcoal)!important;text-shadow:none;box-shadow:none}

/* ---------- Native upload controls: no pale salmon ---------- */
.cms-form input[type=file],input[type=file]{
  min-height:56px;padding:8px 10px;background:#fff!important;border:1px solid var(--cms-border)!important;border-radius:10px;color:#4e534f;font-weight:500;
}
.cms-form input[type=file]::file-selector-button,input[type=file]::file-selector-button,
.cms-form input[type=file]::-webkit-file-upload-button,input[type=file]::-webkit-file-upload-button{
  margin-right:13px;padding:11px 16px;border:1px solid var(--cms-copper);border-radius:8px;
  background:var(--cms-copper);color:#fff;font:inherit;font-weight:850;cursor:pointer;text-shadow:0 1px 1px rgba(77,33,20,.18);
}
.cms-form input[type=file]:hover::file-selector-button,input[type=file]:hover::file-selector-button{background:var(--cms-copper-dark);border-color:var(--cms-copper-dark)}

/* ---------- Tables: one strong visual system everywhere ---------- */
.panel>table,.table-wrap,.admin-route-hours .panel table{border:1px solid #cfd3d0;border-radius:12px;overflow:hidden;background:#fff}
table th{
  background:var(--cms-charcoal)!important;color:#fff!important;border-bottom:0!important;
  font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
}
table td{background:#fff;border-bottom:1px solid var(--cms-border-soft);color:#303632}
table tbody tr:nth-child(even) td{background:#faf9f7}
table tbody tr:hover td{background:#f7f5f1}
table tbody tr:last-child td{border-bottom:0}
.panel table a{color:var(--cms-copper-deep);font-weight:800}

/* ---------- Status / role badges ---------- */
.role-badge,.status-badge{
  display:inline-flex;align-items:center;min-height:28px;padding:.28rem .65rem;border-radius:999px;
  background:var(--cms-charcoal)!important;border:1px solid var(--cms-charcoal)!important;color:#fff!important;font-size:.74rem;font-weight:800;
}
.admin-route-system-health table td:nth-child(2) strong{
  display:inline-flex;align-items:center;gap:7px;color:var(--cms-success);font-size:.78rem;font-weight:900;letter-spacing:.04em;
}
.admin-route-system-health table td:nth-child(2) strong:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cms-success)}

/* ---------- Notices / guidance: clean, not tinted ---------- */
.form-note,.content-guidance,.empty-state,.media-usage,.notice,.admin-search{
  background:#fff!important;border:1px solid var(--cms-border)!important;color:#5f645f;
}
.form-note{border-left:4px solid var(--cms-copper)!important;padding:14px 16px}
.notice.success,.flash.success{background:#fff!important;border-color:#b8d2c0!important;border-left:4px solid var(--cms-success)!important;color:#365d42}
.notice.error,.flash.error,.error{background:#fff!important;border-color:#dfb9b5!important;border-left:4px solid var(--cms-danger)!important;color:#75352f}
.empty-state{border-style:dashed!important}

/* ---------- Search / filters ---------- */
.admin-search{padding:12px 14px;border-radius:11px}
.admin-search-input{background:#fff;border:1px solid #d5d2cc;border-radius:9px}

/* ---------- System Health ---------- */
.admin-route-system-health .panel>h2:first-child{display:none}
.admin-route-system-health .panel>p:first-of-type{margin-top:0;color:#626862;font-size:.96rem}
.admin-route-system-health .panel table{margin-top:20px}
.admin-route-system-health .panel h3{margin-top:30px;padding-top:24px;border-top:1px solid var(--cms-border-soft)}
.admin-route-system-health .panel pre{padding:16px;border:1px solid var(--cms-border);border-radius:9px;background:#f8f8f7;color:#343a36}

/* ---------- Quick prices ---------- */
.admin-route-prices .panel{padding:26px}
.admin-route-prices .inline-form{display:grid;grid-template-columns:minmax(130px,160px) auto;gap:10px;justify-content:start}
.admin-route-prices .inline-form input[type=number]{min-height:44px;font-weight:650;font-variant-numeric:tabular-nums}
.admin-route-prices table td:first-child{font-weight:600}

/* ---------- Menu item defaults ---------- */
.admin-route-items .menu-page-settings .form-note{margin:8px 0 4px}
.admin-route-items .menu-page-settings .panel-head h2{margin-top:3px}
.admin-route-items .menu-page-settings>.cms-form>.admin-button{width:auto;justify-self:start;min-width:210px}

/* ---------- Media tools ---------- */
.media-tool-card{box-shadow:none!important}
.media-tool-icon{background:var(--cms-charcoal)!important;color:#fff!important;border:0!important}
.media-tool-card h3{color:var(--cms-charcoal)}
.media-usage.is-used{background:#fff!important;border:1px solid var(--cms-border)!important;border-left:4px solid var(--cms-warning)!important}

/* ---------- Recurrence ---------- */
.recurrence-preview{background:#fff!important;border-color:var(--cms-border)!important}
.recurrence-preview-head{background:var(--cms-charcoal)!important;border-bottom:0!important}
.recurrence-preview-head h3,.recurrence-preview-head .recurrence-preview-eyebrow{color:#fff!important}
.recurrence-preview-head>span{background:#fff!important;border:0!important;color:var(--cms-charcoal)!important}
.recurrence-preview-list li::before{background:var(--cms-copper)!important;color:#fff!important}
.recurrence-preview-list time{background:#fff!important;border-color:var(--cms-border)!important}

/* ---------- Menu ordering / sortable UI ---------- */
.menu-order-panel .sort-card,.sort-card{background:#fff!important;border-color:var(--cms-border)!important}
.menu-order-panel .sort-card .drag-handle{background:var(--cms-charcoal)!important;color:#fff!important}
.menu-order-panel .sort-item,.sort-item{background:#fff!important;border-color:var(--cms-border)!important;border-left-color:var(--cms-copper)!important}

/* ---------- Homepage / content editor fieldsets ---------- */
.admin-route-homepage .cms-form>label,.admin-route-content .cms-form>label,.admin-route-settings .cms-form>label{gap:9px}
.admin-route-content fieldset,.admin-route-homepage fieldset,.admin-route-settings fieldset{padding:22px 24px;border-color:var(--cms-border)!important;background:#fff!important}
.admin-route-content fieldset+fieldset{margin-top:24px}

/* ---------- Navigation section titles / active item ---------- */
.admin-nav-section-title{color:#e4b78f!important;font-size:.64rem;font-weight:900;letter-spacing:.18em}
.admin-nav a.active{background:var(--cms-copper-dark)!important;color:#fff!important;box-shadow:0 8px 18px rgba(93,42,27,.18)}

/* ---------- Responsive consistency ---------- */
@media(max-width:760px){
  .admin-route-prices .inline-form{grid-template-columns:1fr auto}
  .admin-route-prices .panel{padding:16px}
}

/* ========================================================================
   MEDIA LIBRARY CARD RESTRUCTURE — 2026-08-06
   Clear, predictable card zones: preview → identity → metadata → usage → actions.
   No workflow or action changes.
   ======================================================================== */
.admin-route-media-library .media-library-controls{
  display:grid;
  grid-template-columns:auto minmax(260px,520px) 1fr auto;
  gap:16px;
  align-items:center;
  margin:26px 0 20px;
  padding:0;
}
.admin-route-media-library .media-library-controls>label{
  color:var(--cms-charcoal);
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.01em;
}
.admin-route-media-library .media-library-controls .admin-search-count{
  justify-self:end;
  color:var(--cms-muted);
  font-size:.82rem;
}

.admin-route-media-library .media-library-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(300px,330px))!important;
  gap:22px!important;
  align-items:stretch!important;
  justify-content:start;
  margin-top:0!important;
}
.admin-route-media-library .media-library-grid .media-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--cms-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(20,27,23,.055)!important;
  opacity:1!important;
}
.admin-route-media-library .media-library-grid .media-card.is-archived{
  opacity:1!important;
  border-color:#cfd2cf!important;
}

/* Preview is always one consistent visual block. */
.admin-route-media-library .media-card-image{
  position:relative;
  aspect-ratio:16/10!important;
  overflow:hidden;
  padding:16px;
  border-bottom:1px solid var(--cms-border-soft);
  background:#f6f5f2!important;
}
.admin-route-media-library .media-card-image img{
  display:block;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  border-radius:8px;
  background:#fff;
}
.admin-route-media-library .media-status-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  min-height:26px;
  padding:.28rem .62rem;
  border-radius:999px;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.03em;
  box-shadow:0 3px 10px rgba(20,27,23,.08);
}
.admin-route-media-library .media-status-badge.is-active{
  background:var(--cms-success)!important;
  border-color:var(--cms-success)!important;
  color:#fff!important;
}
.admin-route-media-library .media-status-badge.is-archived{
  background:var(--cms-charcoal)!important;
  border-color:var(--cms-charcoal)!important;
  color:#fff!important;
}

/* Card content is deliberately separated into readable zones. */
.admin-route-media-library .media-card figcaption{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  flex:1 1 auto;
  padding:0!important;
}
.admin-route-media-library .media-card-title{
  min-height:70px;
  padding:17px 18px 14px;
  border-bottom:1px solid var(--cms-border-soft);
}
.admin-route-media-library .media-card-title strong{
  display:block;
  color:var(--cms-charcoal);
  font-size:.98rem;
  font-weight:800;
  line-height:1.38;
  overflow-wrap:anywhere;
}
.admin-route-media-library .media-card.is-archived .media-card-title strong{
  color:#59605b;
}

/* Metadata becomes four compact facts rather than a loose definition list. */
.admin-route-media-library .media-meta{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px!important;
  margin:0!important;
  padding:14px 18px!important;
}
.admin-route-media-library .media-meta>div{
  display:block!important;
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--cms-border-soft);
  border-radius:8px;
  background:#faf9f7;
}
.admin-route-media-library .media-meta dt{
  margin:0 0 4px;
  color:#7d827d;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-route-media-library .media-meta dd{
  margin:0!important;
  color:#343a36;
  font-size:.82rem;
  font-weight:700;
  line-height:1.25;
  text-align:left!important;
  overflow-wrap:anywhere;
}

/* Usage is a single, clear status panel. */
.admin-route-media-library .media-usage,
.admin-route-media-library .media-usage.is-used{
  display:grid!important;
  gap:3px!important;
  margin:auto 18px 14px!important;
  padding:11px 12px!important;
  border:1px solid var(--cms-border)!important;
  border-left:4px solid #aeb4af!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#5e655f!important;
}
.admin-route-media-library .media-usage.is-used{
  border-left-color:var(--cms-copper)!important;
}
.admin-route-media-library .media-usage strong{
  color:var(--cms-charcoal);
  font-size:.79rem;
  font-weight:850;
}
.admin-route-media-library .media-usage span{
  margin:0!important;
  color:#6f756f;
  font-size:.79rem!important;
  line-height:1.35!important;
}

/* Action footer: same placement on every card, clear hierarchy. */
.admin-route-media-library .media-actions{
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:9px!important;
  align-items:center!important;
  margin-top:0;
  padding:14px 18px 17px;
  border-top:1px solid var(--cms-border-soft);
  background:#fff;
}
.admin-route-media-library .media-actions form{margin:0!important}
.admin-route-media-library .copy-path{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin:0!important;
  padding:.55rem .8rem;
  border:1px solid var(--cms-charcoal);
  border-radius:8px;
  background:#fff;
  color:var(--cms-charcoal);
  font:inherit;
  font-size:.77rem;
  font-weight:800;
  cursor:pointer;
}
.admin-route-media-library .copy-path:hover{
  background:var(--cms-charcoal);
  color:#fff;
}
.admin-route-media-library .media-actions .text-button,
.admin-route-media-library .media-actions .danger,
.admin-route-media-library .media-actions .media-action-disabled{
  min-height:38px;
  margin:0!important;
  padding:.55rem .8rem!important;
  border-radius:8px!important;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
}
.admin-route-media-library .media-actions .text-button{
  border:1px solid var(--cms-copper)!important;
  background:var(--cms-copper)!important;
  color:#fff!important;
}
.admin-route-media-library .media-actions .danger{
  border:1px solid var(--cms-danger)!important;
  background:#fff!important;
  color:var(--cms-danger)!important;
}
.admin-route-media-library .media-actions .media-action-disabled{
  border:1px solid #d8d9d6!important;
  background:#f2f2f0!important;
  color:#929691!important;
}
.admin-route-media-library .usage-details{
  grid-column:1/-1;
  width:100%!important;
  margin-top:1px;
  padding-top:9px;
  border-top:1px solid var(--cms-border-soft);
}
.admin-route-media-library .usage-details summary{
  color:#4c534e;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none!important;
  cursor:pointer;
}
.admin-route-media-library .usage-details p{
  margin:7px 0 0!important;
  color:#747a75;
  font-size:.76rem;
  line-height:1.4;
}

@media(max-width:760px){
  .admin-route-media-library .media-library-controls{grid-template-columns:1fr;gap:9px}
  .admin-route-media-library .media-library-controls .admin-search-count{justify-self:start}
  .admin-route-media-library .media-library-grid{grid-template-columns:1fr!important}
  .admin-route-media-library .media-meta{grid-template-columns:1fr 1fr}
}


/* ========================================================================
   MOBILE CMS NAV + SIGN-IN RESPONSIVE CORRECTIVE — 2026-08-06
   ======================================================================== */
.login{
  min-height:100svh;
  padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));
}
.login-card{
  width:min(540px,100%) !important;
  max-width:calc(100vw - 32px);
}
@media(max-width:560px){
  .login{place-items:center;}
  .login-card{
    width:100% !important;
    max-width:none;
    padding:26px 22px !important;
    border-radius:18px;
  }
  .login-card img{width:76px;height:76px}
  .login-card h1{font-size:clamp(1.85rem,9vw,2.4rem);margin:.25rem 0 .5rem}
  .login-card label{font-size:.9rem}
  .login-card input{min-height:52px;font-size:16px}
  .login-card .admin-button{min-height:52px;font-size:1rem}
}

@media(max-width:850px){
  body:not(.login) .admin-nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    background:var(--cms-charcoal,#171d1a) !important;
    box-shadow:0 10px 24px rgba(12,16,14,.18) !important;
  }
  .admin-nav-brand{
    position:relative;
    min-height:52px;
    padding:13px 96px 10px 18px !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }
  .admin-nav-brand strong{font-size:1.18rem !important;line-height:1.25}
  .admin-nav-scroll{
    display:flex !important;
    align-items:stretch !important;
    gap:14px !important;
    width:100%;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:8px 14px 12px !important;
    scroll-padding-inline:14px;
    scrollbar-width:thin;
  }
  .admin-nav-section{
    display:flex !important;
    flex:0 0 auto !important;
    flex-wrap:wrap !important;
    align-content:flex-start;
    gap:5px !important;
    min-width:max-content;
    padding:0 14px 0 0 !important;
    border:0 !important;
    border-right:1px solid rgba(255,255,255,.12) !important;
  }
  .admin-nav-section:last-child{border-right:0 !important;padding-right:0 !important}
  .admin-nav-section-title{
    display:block !important;
    flex:0 0 100% !important;
    width:100%;
    padding:0 5px 3px !important;
    color:#e7b88f !important;
    font-size:.62rem !important;
    font-weight:900 !important;
    line-height:1.2;
    letter-spacing:.16em !important;
    white-space:nowrap;
  }
  .admin-nav-section-title:before,.admin-nav-section-title:after{display:none !important}
  .admin-nav a{
    flex:0 0 auto;
    margin:0 !important;
    padding:9px 13px !important;
    min-height:40px;
    display:inline-flex !important;
    align-items:center;
    border-radius:10px !important;
    white-space:nowrap !important;
  }
  .admin-nav-footer{
    position:absolute !important;
    top:8px;
    right:10px;
    z-index:2;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  .admin-nav-footer a{
    display:inline-flex !important;
    align-items:center;
    min-height:36px;
    padding:8px 10px !important;
    color:#d7d8d4 !important;
    font-size:.8rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px !important;
    white-space:nowrap;
  }
  body:not(.login) .admin-main{margin-left:0 !important;padding-top:20px !important}
}
@media(max-width:480px){
  .admin-nav-brand{padding-left:14px !important}
  .admin-nav-scroll{padding-left:10px !important;padding-right:10px !important;gap:10px !important}
  .admin-nav-section{padding-right:10px !important}
  .admin-nav a{padding:8px 11px !important;font-size:.86rem !important}
}


/* ========================================================================
   MOBILE CMS CONSISTENCY PASS — 2026-08-06
   One navigation model on every route; contained guidance and data tables.
   ======================================================================== */
.admin-menu-toggle{display:none!important}

/* Guidance icons always reserve their own space instead of sitting on text. */
.form-note,.content-guidance{
  position:relative!important;
  padding:14px 16px 14px 48px!important;
  min-height:48px;
}
.form-note:before,.content-guidance:before{
  left:14px!important;
  top:14px!important;
  width:22px!important;
  height:22px!important;
  line-height:22px!important;
  flex:0 0 22px;
}

/* Direct legacy tables are wrapped by admin-ui.js; explicit wrappers use the
   same containment. Horizontal scrolling belongs to the table, not the page. */
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.table-wrap>table{width:100%;margin:0}

@media(max-width:850px){
  /* Premium routes (Homepage, Menu ordering, Media tools, etc.) must use the
     same sticky top navigation as the rest of the CMS. */
  body:not(.login) .premium-nav{
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  /* The navigation rail remains where the selected item is useful rather than
     snapping back to its far-left origin after every page load. */
  .admin-nav-scroll{
    scroll-behavior:auto;
    scroll-snap-type:none!important;
  }
  .admin-nav-scroll a{scroll-snap-align:none!important}

  /* Keep wide admin lists fully reachable without allowing the viewport itself
     to become wider than the phone. */
  .admin-main,.panel{min-width:0;max-width:100%}
  .panel{overflow:visible}
  .table-wrap{border-radius:12px!important}
  .table-wrap>table{min-width:610px}
  .table-wrap th,.table-wrap td{white-space:normal}

  /* Shorter lists can remain naturally sized when specifically marked. */
  .table-wrap>table[data-mobile-compact="1"]{min-width:100%}
}

@media(max-width:520px){
  .form-note,.content-guidance{padding:13px 13px 13px 46px!important}
  .form-note:before,.content-guidance:before{left:12px!important;top:13px!important}
  .table-wrap>table{min-width:570px}
}

/* ========================================================================
   ADMIN EDIT ACTION CONSISTENCY — 2026-08-06
   Clear save/cancel pairings and safer archive actions across edit screens.
   ======================================================================== */
.form-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:4px;
}
.form-actions .admin-button{
  margin:0!important;
  min-width:150px;
}
.form-actions>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid var(--cms-border, #d8d2c9);
  border-radius:9px;
  background:#fff;
  color:var(--cms-charcoal, #151b17)!important;
  font-weight:800;
  text-decoration:none!important;
}
.form-actions>a:hover,.form-actions>a:focus-visible{
  border-color:var(--cms-copper, #d87954);
  color:var(--cms-copper-deep, #9c4f33)!important;
}

/* Forms that archive a record are visually separated from the normal save
   controls. JS adds .destructive-action only to Archive actions. */
.destructive-action{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-top:26px!important;
  padding:20px 0 0!important;
  border-top:1px solid var(--cms-border-soft, #ece7df);
  overflow:visible!important;
}
.destructive-action .danger{
  margin:0!important;
  align-self:center;
  min-height:44px;
  padding:10px 16px;
  border:1px solid var(--cms-danger, #a74438)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--cms-danger, #a74438)!important;
  font-weight:850;
  line-height:1.2;
}
.destructive-action .danger:hover,.destructive-action .danger:focus-visible{
  background:var(--cms-danger, #a74438)!important;
  color:#fff!important;
}
.destructive-action-info{
  position:relative;
  margin:0;
  padding-left:34px;
  color:#676b67;
  font-size:.82rem;
  line-height:1.5;
}
.destructive-action-info:before{
  content:"i";
  position:absolute;
  left:0;
  top:0;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--cms-charcoal, #151b17);
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.78rem;
  font-weight:800;
}

/* The floating save bar belongs to the editing form only; give the following
   archive section enough visual breathing room so its button is never clipped. */
.cms-form:has(.cms-sticky-actions)+.destructive-action{margin-top:30px!important}

@media(max-width:620px){
  .form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .form-actions .admin-button,.form-actions>a{width:100%;min-width:0}
  .destructive-action{grid-template-columns:1fr;gap:14px}
  .destructive-action .danger{width:100%}
}

/* ========================================================================
   MOBILE LIST FIT + TOUCH-SAFE GALLERY ORDERING — 2026-08-06
   Keep compact admin lists useful at phone width and make Gallery ordering
   work without relying on desktop HTML5 drag-and-drop.
   ======================================================================== */
.compact-admin-table{width:100%;table-layout:auto}
.compact-admin-table th,.compact-admin-table td{vertical-align:middle}
.gallery-order-cell{white-space:nowrap}
.gallery-order-buttons{display:inline-flex;gap:5px;margin-left:8px;vertical-align:middle}
.gallery-order-button{
  display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #c9b9aa;border-radius:8px;
  background:#fff;color:var(--cms-charcoal);font:900 1rem/1 system-ui,sans-serif;cursor:pointer
}
.gallery-order-button:hover,.gallery-order-button:focus-visible{border-color:var(--cms-copper);background:#fff7f2;outline:none}
.gallery-order-button:disabled{opacity:.28;cursor:default;background:#f4f1ed}

@media(max-width:850px){
  /* These short operational lists do not need the generic 570–610px table
     minimum used by dense CMS datasets. Fit them to the panel instead. */
  .table-wrap>.compact-admin-table[data-mobile-compact="1"]{width:100%;min-width:100%!important;table-layout:auto}
  .compact-admin-table th,.compact-admin-table td{padding:.72rem .65rem;font-size:.88rem}
  .specials-admin-table th:first-child,.specials-admin-table td:first-child{width:42%}
  .specials-admin-table th:nth-child(2),.specials-admin-table td:nth-child(2){width:22%;white-space:nowrap}
  .specials-admin-table th:nth-child(3),.specials-admin-table td:nth-child(3){width:22%}
  .specials-admin-table th:last-child,.specials-admin-table td:last-child{width:14%;white-space:nowrap;text-align:right}

  /* On a phone, Date and Type are secondary metadata. The enquiry detail
     still contains them, while the list keeps Name / Subject / Status clear. */
  .enquiries-admin-table .enquiry-date-col,.enquiries-admin-table .enquiry-type-col{display:none}
  .enquiries-admin-table th:nth-child(3),.enquiries-admin-table td:nth-child(3){width:28%}
  .enquiries-admin-table th:nth-child(4),.enquiries-admin-table td:nth-child(4){width:47%}
  .enquiries-admin-table th:nth-child(5),.enquiries-admin-table td:nth-child(5){width:25%;white-space:nowrap}

  /* Native row dragging is unreliable on touch devices. Keep the handle as a
     desktop cue and make the explicit arrow controls the primary mobile tool. */
  .gallery-admin-table .drag-handle{display:none}
  .gallery-order-buttons{margin-left:0;gap:6px}
  .gallery-order-button{width:36px;height:36px}
}

/* ========================================================================
   GALLERY ORDERING + ENQUIRY MOBILE CARDS — 2026-08-06
   ======================================================================== */
.gallery-order-help{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid #e1d6cc;border-left:4px solid var(--cms-copper);border-radius:10px;background:#fffdfb;color:#56514c;font-size:.9rem;line-height:1.5}
.gallery-order-help-icon{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--cms-charcoal);color:#fff;font:800 .78rem/1 Georgia,"Times New Roman",serif}
.gallery-order-controls{display:flex;align-items:center;gap:7px}
.gallery-admin-table .drag-handle{display:inline-grid;place-items:center;min-width:25px;height:36px;color:#665f58;cursor:grab;font-size:1.15rem;line-height:1;user-select:none;touch-action:none}
.gallery-admin-table .drag-handle:active{cursor:grabbing}
.gallery-admin-table tr.is-dragging{opacity:.58;background:#fff7f2}
.gallery-position-label{display:inline-flex;margin:0!important}
.gallery-position-input{width:48px!important;min-width:48px!important;height:36px!important;padding:4px 5px!important;text-align:center;border:1px solid #c9b9aa!important;border-radius:8px!important;background:#fff!important;font-weight:800!important;color:var(--cms-charcoal)!important}
.gallery-position-input:focus{border-color:var(--cms-copper)!important;box-shadow:0 0 0 2px rgba(209,105,72,.12)!important;outline:none}
.gallery-order-buttons{display:inline-flex;gap:5px;margin-left:0;vertical-align:middle}
.gallery-order-save{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e6ddd5;color:#70675f;font-size:.9rem}
.gallery-order-save .admin-button{margin:0;flex:0 0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.enquiry-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#f3eee9;color:#4d4945;font-size:.78rem;font-weight:800;white-space:nowrap}
.enquiry-status-new{background:#fff0e9;color:#9b4b31}
.enquiry-status-in-progress{background:#f3eee0;color:#7a6329}
.enquiry-status-closed{background:#edf3ed;color:#426044}
.enquiry-status-spam{background:#f1eeee;color:#6b5454}

@media(max-width:850px){
  .enquiries-panel{padding:14px!important}
  .enquiries-table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .enquiries-admin-table{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
  .enquiries-admin-table thead{display:none!important}
  .enquiries-admin-table tbody{display:grid!important;gap:10px!important}
  .enquiries-admin-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px 12px!important;width:100%!important;padding:14px 15px!important;border:1px solid #e1d7cf!important;border-radius:12px!important;background:#fff!important;box-shadow:0 5px 16px rgba(40,32,26,.04)!important}
  .enquiries-admin-table td{display:block!important;width:auto!important;padding:0!important;border:0!important;font-size:.88rem!important;min-width:0!important;white-space:normal!important}
  .enquiries-admin-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#8b8179;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .enquiries-admin-table td[data-label="Name"]{grid-column:1/2;grid-row:1;font-size:1rem!important;font-weight:800}
  .enquiries-admin-table td[data-label="Status"]{grid-column:2/3;grid-row:1;text-align:right}
  .enquiries-admin-table td[data-label="Subject"]{grid-column:1/-1;grid-row:2;color:#333}
  .enquiries-admin-table td[data-label="Date"]{grid-column:1/2;grid-row:3;color:#655f59}
  .enquiries-admin-table td[data-label="Type"]{grid-column:2/3;grid-row:3;text-align:right;color:#655f59}
  .enquiries-admin-table td[data-label="Name"]::before,.enquiries-admin-table td[data-label="Status"]::before{display:none}
  .enquiries-admin-table td[data-label="Subject"]::before{margin-top:2px}

  .gallery-admin-table .drag-handle{display:none!important}
  .gallery-order-controls{gap:6px}
  .gallery-position-input{width:44px!important;min-width:44px!important}
  .gallery-order-button{width:34px;height:36px}
  .gallery-order-save{align-items:stretch;flex-direction:column}
  .gallery-order-save .admin-button{width:100%}
}

/* ========================================================================
   GALLERY ORDER CONTROL + TITLE LAYOUT REFINEMENT — 2026-08-06
   ======================================================================== */
.gallery-admin-table td{vertical-align:middle}
.gallery-order-cell{white-space:nowrap}
.gallery-order-controls{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.gallery-admin-table .drag-handle{
  width:38px;
  min-width:38px;
  height:38px;
  margin-right:0;
  border-radius:11px;
  color:#574d46;
  background:#efe6de;
  border:0;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 1px 3px rgba(45,34,27,.08);
  font-size:1.05rem;
  font-weight:900;
}
.gallery-admin-table .drag-handle:hover{background:#e9ddd4;color:var(--cms-copper-dark)}
.gallery-position-input{
  width:48px!important;
  min-width:48px!important;
  height:38px!important;
  margin:0!important;
  padding:0 7px!important;
  border:0!important;
  border-radius:11px!important;
  background:#f4ebe4!important;
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 1px 3px rgba(45,34,27,.08)!important;
  color:var(--cms-charcoal)!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
}
.gallery-position-input::-webkit-inner-spin-button,
.gallery-position-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gallery-position-input:focus{background:#fff7f2!important;box-shadow:0 0 0 2px rgba(209,105,72,.22),0 1px 3px rgba(45,34,27,.08)!important;outline:none}
.gallery-order-buttons{gap:6px;margin-left:0}
.gallery-order-button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:11px;
  background:var(--cms-copper);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 3px 8px rgba(117,60,39,.18);
  color:#fff;
  font-size:1.18rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;
}
.gallery-order-button:hover:not(:disabled){background:var(--cms-copper-dark);box-shadow:0 5px 10px rgba(117,60,39,.22);transform:translateY(-1px)}
.gallery-order-button:disabled{opacity:1;cursor:not-allowed;background:#e8ddd4;color:#9f8f84;box-shadow:none}
.gallery-title-cell{min-width:240px}
.gallery-title-stack{
  min-height:72px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
}
.gallery-item-title{
  display:block;
  max-width:100%;
  line-height:1.34;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.gallery-feature-slot{
  display:flex;
  align-items:flex-end;
  min-height:25px;
  margin-top:auto;
}
.gallery-featured-badge{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin:0!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  white-space:nowrap;
  line-height:1!important;
}

@media(max-width:850px){
  .gallery-order-controls{gap:7px}
  .gallery-position-input{width:44px!important;min-width:44px!important;height:38px!important}
  .gallery-order-button{width:38px;height:38px;font-size:1.12rem}
  .gallery-title-cell{min-width:0!important;width:52%!important;padding-left:.8rem!important;padding-right:.5rem!important}
  .gallery-title-stack{min-height:74px;gap:8px}
  .gallery-item-title{max-width:100%;font-size:.98rem;line-height:1.3;overflow-wrap:break-word;word-break:normal}
  .gallery-feature-slot{min-height:24px}
  .gallery-featured-badge{font-size:.69rem!important;padding:4px 9px!important}
  .gallery-admin-table th:nth-child(4),.gallery-admin-table td:nth-child(4),
  .gallery-admin-table th:nth-child(5),.gallery-admin-table td:nth-child(5){display:none}
}


/* ========================================================================
   GALLERY ORDERING SOLID CONTROLS + PERSISTENT SAVE — 2026-08-06
   ======================================================================== */
.gallery-order-controls{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:7px!important}
.gallery-position-input{
  width:44px!important;min-width:44px!important;height:38px!important;
  border:0!important;border-radius:10px!important;
  background:var(--cms-charcoal)!important;color:#fff!important;
  box-shadow:none!important;outline:none!important;
  font-weight:900!important;text-align:center!important;
}
.gallery-position-input:focus{background:#222824!important;box-shadow:0 0 0 3px rgba(209,105,72,.24)!important}
.gallery-order-buttons{gap:6px!important;margin:0!important}
.gallery-order-button{
  width:38px!important;height:38px!important;border:0!important;border-radius:10px!important;
  background:var(--cms-copper)!important;color:#fff!important;box-shadow:none!important;
  font-size:1.23rem!important;font-weight:950!important;line-height:1!important;
}
.gallery-order-button:hover:not(:disabled){background:var(--cms-copper-dark)!important;box-shadow:none!important;transform:none!important}
.gallery-order-button:disabled{background:#d9d4cf!important;color:#8b8681!important;opacity:1!important;box-shadow:none!important}
.gallery-admin-table .drag-handle{background:#e9e6e2!important;border:0!important;box-shadow:none!important;color:#393d39!important}
.gallery-order-save{
  position:sticky;bottom:10px;z-index:12;
  margin:16px 0 0!important;padding:11px 12px!important;
  border:1px solid #d8cec6!important;border-radius:12px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(28,31,27,.12)!important;
}
.gallery-order-save .admin-button{min-width:132px;background:var(--cms-copper)!important;color:#fff!important;border-radius:9px!important}
@media(max-width:850px){
  .gallery-order-save{bottom:8px!important;gap:9px!important}
  .gallery-order-save span{font-size:.82rem!important}
  .gallery-order-save .admin-button{width:100%!important}
}

/* ========================================================================
   GALLERY DESKTOP PERSISTENT SAVE CONTROL — 2026-08-06
   Keep Save order available while working through a long gallery list.
   ======================================================================== */
@media(min-width:851px){
  .gallery-order-save{position:static!important;box-shadow:none!important}
  .gallery-order-save .admin-button{
    position:fixed!important;
    right:clamp(24px,3vw,52px)!important;
    bottom:24px!important;
    z-index:120!important;
    min-width:150px!important;
    padding:13px 20px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:var(--cms-copper)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(58,37,29,.22)!important;
  }
  .gallery-order-save .admin-button:hover{
    background:var(--cms-copper-dark)!important;
    transform:translateY(-1px)!important;
    box-shadow:0 12px 28px rgba(58,37,29,.26)!important;
  }
}

/* ========================================================================
   GALLERY EDIT SELECTION CONTROLS — 2026-08-06
   Cleaner radio choices for media type and media-library selection.
   ======================================================================== */
.gallery-edit-panel .media-type-choice{
  margin:0;
  padding:16px;
  border:1px solid #ded5cd;
  border-radius:12px;
  background:#fff;
}
.gallery-edit-panel .media-type-choice legend{
  padding:0 8px;
  color:var(--cms-charcoal);
  font-weight:850;
}
.gallery-edit-panel .media-type-choice{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.gallery-edit-panel .media-type-choice legend{grid-column:1/-1}
.gallery-edit-panel .media-type-choice label{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:0!important;
  padding:11px 14px 11px 42px;
  border:1px solid #ded5cd;
  border-radius:10px;
  background:#f7f4f1;
  color:#353a35;
  font-weight:850!important;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.gallery-edit-panel .media-type-choice label:hover{background:#f1ebe6;border-color:#cfae9c}
.gallery-edit-panel .media-type-choice input[type="radio"]{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%);
  accent-color:var(--cms-copper);
}
.gallery-edit-panel .media-type-choice label:has(input:checked){
  background:var(--cms-charcoal);
  border-color:var(--cms-charcoal);
  color:#fff;
}
.gallery-edit-panel .media-type-choice label:has(input:checked) input{accent-color:var(--cms-copper)}

.gallery-edit-panel .media-picker{
  padding:14px 16px 16px;
  border:1px solid #ded5cd;
  border-radius:12px;
  background:#fff;
}
.gallery-edit-panel .media-picker legend{
  padding:0 8px;
  color:var(--cms-charcoal);
  font-weight:850;
}
.gallery-edit-panel .media-picker-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(138px,1fr));
  gap:12px;
}
.gallery-edit-panel .media-picker-option{
  position:relative;
  display:grid!important;
  grid-template-rows:auto auto;
  align-content:start;
  gap:7px!important;
  min-width:0;
  margin:0!important;
  padding:7px!important;
  border:2px solid transparent!important;
  border-radius:11px!important;
  background:#f5f2ee!important;
  box-shadow:none!important;
  cursor:pointer;
  overflow:hidden;
}
.gallery-edit-panel .media-picker-option:hover{background:#eee9e4!important}
.gallery-edit-panel .media-picker-option input[type="radio"]{
  position:absolute!important;
  top:10px!important;
  left:auto!important;
  right:10px!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  z-index:2;
  appearance:none;
  -webkit-appearance:none;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:rgba(24,31,27,.72)!important;
  box-shadow:0 0 0 1px rgba(24,31,27,.22)!important;
  cursor:pointer;
}
.gallery-edit-panel .media-picker-option input[type="radio"]:checked{
  border:5px solid #fff!important;
  background:var(--cms-copper)!important;
  box-shadow:0 0 0 2px var(--cms-copper)!important;
}
.gallery-edit-panel .media-picker-option:has(input:checked){
  outline:0!important;
  border-color:var(--cms-copper)!important;
  background:#fff7f2!important;
}
.gallery-edit-panel .media-picker-option img{
  display:block;
  width:100%;
  height:112px;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:7px;
  background:#e9e5df;
}
.gallery-edit-panel .media-picker-option span{
  display:block;
  padding:0 2px 2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#4e4944;
  font-size:.74rem;
  line-height:1.25;
  font-weight:750;
}

.gallery-edit-panel .video-media-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
.gallery-edit-panel .video-media-list label{
  position:relative;
  display:flex!important;
  align-items:center;
  min-height:44px;
  margin:0!important;
  padding:10px 12px 10px 40px!important;
  border:1px solid #ded5cd;
  border-radius:9px;
  background:#f7f4f1;
  cursor:pointer;
}
.gallery-edit-panel .video-media-list input[type="radio"]{
  position:absolute!important;
  left:13px!important;
  top:50%!important;
  width:17px!important;
  height:17px!important;
  min-height:17px!important;
  margin:0!important;
  transform:translateY(-50%);
  accent-color:var(--cms-copper);
}
.gallery-edit-panel .video-media-list label:has(input:checked){
  border-color:var(--cms-copper);
  background:#fff5ef;
}

@media(max-width:700px){
  .gallery-edit-panel .media-type-choice{grid-template-columns:1fr 1fr;padding:13px;gap:8px}
  .gallery-edit-panel .media-type-choice label{padding-left:36px;font-size:.9rem}
  .gallery-edit-panel .media-type-choice input[type="radio"]{left:11px!important}
  .gallery-edit-panel .media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .gallery-edit-panel .media-picker-option img{height:auto;aspect-ratio:4/3}
}

/* ========================================================================
   SHARED ADMIN IMAGE PICKER — 2026-08-06
   A single non-technical image workflow for content editors.
   ======================================================================== */
.admin-image-picker{
  margin:2px 0 4px;
  padding:18px;
  border:1px solid #ded5cd;
  border-radius:14px;
  background:#fff;
}
.admin-image-picker>legend{
  padding:0 8px;
  color:var(--cms-charcoal);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-weight:800;
}
.admin-image-picker-help{margin:0 0 14px;color:#68615b;font-size:.88rem;line-height:1.5}
.admin-image-current{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-bottom:15px;
  padding:10px;
  border-radius:11px;
  background:#f4f1ed;
}
.admin-image-current img{display:block;width:112px;height:82px;object-fit:cover;border-radius:8px;background:#e8e3de}
.admin-image-current>div{display:grid;gap:5px;min-width:0}
.admin-image-current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cms-charcoal)}
.admin-image-current small{color:#746d66;line-height:1.4}
.admin-image-source-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:start}
.admin-image-upload-card,.admin-image-library>summary{
  min-height:72px;
  display:flex!important;
  align-items:center;
  gap:12px;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #d9d0c8;
  border-radius:11px;
  background:#f7f4f1;
  color:var(--cms-charcoal);
  cursor:pointer;
}
.admin-image-upload-card:hover,.admin-image-library>summary:hover{background:#f0ebe6;border-color:#c9a994}
.admin-image-source-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--cms-copper);color:#fff;font-size:1.05rem;font-weight:900}
.admin-image-upload-card>span:nth-child(2),.admin-image-library>summary>span:nth-child(2){display:grid;gap:3px;min-width:0}
.admin-image-upload-card strong,.admin-image-library strong{font-size:.9rem}
.admin-image-upload-card small,.admin-image-library small{color:#777067;font-size:.76rem;line-height:1.35}
.admin-image-upload-card input[type="file"]{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.admin-image-or{align-self:center;color:#8f877f;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.admin-image-library{min-width:0}
.admin-image-library>summary{list-style:none}
.admin-image-library>summary::-webkit-details-marker{display:none}
.admin-image-library[open]>summary{border-color:var(--cms-copper);background:#fff7f2}
.admin-image-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-top:12px;padding:12px;border:1px solid #e2dad3;border-radius:11px;background:#faf8f6;max-height:430px;overflow:auto}
.admin-image-media-option{position:relative;display:grid!important;gap:6px!important;min-width:0;margin:0!important;padding:7px!important;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer;overflow:hidden}
.admin-image-media-option:hover{background:#f4efeb}
.admin-image-media-option input[type="radio"]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.admin-image-media-thumb{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:7px;background:#e9e5df}
.admin-image-media-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.admin-image-media-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4d4843;font-size:.72rem;font-weight:750}
.admin-image-selected-mark{position:absolute;top:10px;right:10px;width:23px;height:23px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:rgba(24,31,27,.72);color:transparent;font-size:.72rem;font-weight:900;box-shadow:0 0 0 1px rgba(24,31,27,.18)}
.admin-image-media-option:has(input:checked){border-color:var(--cms-copper);background:#fff7f2}
.admin-image-media-option:has(input:checked) .admin-image-selected-mark{background:var(--cms-copper);color:#fff;box-shadow:0 0 0 1px var(--cms-copper)}
.admin-image-empty{margin:12px 0 0!important;padding:12px!important}
.admin-image-remove-option{margin-top:2px!important;padding:12px 14px;border:1px solid #dfd6ce;border-radius:10px;background:#faf8f6}

@media(max-width:700px){
  .admin-image-picker{padding:14px}
  .admin-image-current{grid-template-columns:88px minmax(0,1fr);gap:11px}
  .admin-image-current img{width:88px;height:68px}
  .admin-image-source-row{grid-template-columns:1fr;gap:8px}
  .admin-image-or{justify-self:center;padding:1px 0}
  .admin-image-upload-card,.admin-image-library>summary{min-height:64px}
  .admin-image-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px;padding:9px;gap:8px}
}
.admin-image-upload-card.has-file{background:#fff7f2;border-color:var(--cms-copper)}
.admin-image-upload-card.has-file .admin-image-source-icon{background:var(--cms-charcoal)}

/* ========================================================================
   GALLERY-STYLE SHARED IMAGE PICKER — 2026-08-07
   Match the clear, always-visible Gallery editor workflow across CMS forms.
   ======================================================================== */
.gallery-style-image-picker{
  padding:14px 16px 16px;
  border:1px solid #ded5cd;
  border-radius:12px;
  background:#fff;
}
.gallery-style-image-picker>legend{
  padding:0 8px;
  color:var(--cms-charcoal);
  font-weight:850;
}
.gallery-style-image-picker .admin-image-picker-help{margin:0 0 14px}
.gallery-style-image-picker .admin-image-current{margin-bottom:16px}
.gallery-style-image-picker .admin-image-file-row{
  display:grid!important;
  gap:7px!important;
  margin:0 0 16px!important;
  color:var(--cms-charcoal);
  font-weight:850!important;
}
.gallery-style-image-picker .admin-image-file-row input[type="file"]{font-weight:400!important}
.gallery-style-image-picker .admin-shared-media-picker{
  margin:0!important;
  padding:14px 16px 16px;
  border:1px solid #ded5cd;
  border-radius:12px;
  background:#fff;
}
.gallery-style-image-picker .admin-shared-media-picker legend{
  padding:0 8px;
  color:var(--cms-charcoal);
  font-weight:850;
}
.gallery-style-image-picker .media-picker-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(138px,1fr));
  gap:12px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  max-height:430px;
  overflow:auto;
}
.gallery-style-image-picker .media-picker-option{
  position:relative;
  display:grid!important;
  grid-template-rows:auto auto;
  align-content:start;
  gap:7px!important;
  min-width:0;
  margin:0!important;
  padding:7px!important;
  border:2px solid transparent!important;
  border-radius:11px!important;
  background:#f5f2ee!important;
  box-shadow:none!important;
  cursor:pointer;
  overflow:hidden;
}
.gallery-style-image-picker .media-picker-option:hover{background:#eee9e4!important}
.gallery-style-image-picker .media-picker-option input[type="radio"]{
  position:absolute!important;
  top:10px!important;
  left:auto!important;
  right:10px!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  z-index:2;
  appearance:none;
  -webkit-appearance:none;
  border:2px solid #fff!important;
  border-radius:50%!important;
  background:rgba(24,31,27,.72)!important;
  box-shadow:0 0 0 1px rgba(24,31,27,.22)!important;
  cursor:pointer;
}
.gallery-style-image-picker .media-picker-option input[type="radio"]:checked{
  border:5px solid #fff!important;
  background:var(--cms-copper)!important;
  box-shadow:0 0 0 2px var(--cms-copper)!important;
}
.gallery-style-image-picker .media-picker-option:has(input:checked){
  border-color:var(--cms-copper)!important;
  background:#fff7f2!important;
}
.gallery-style-image-picker .media-picker-option img{
  display:block;
  width:100%;
  height:112px;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:7px;
  background:#e9e5df;
}
.gallery-style-image-picker .media-picker-option span{
  display:block;
  padding:0 2px 2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#4e4944;
  font-size:.74rem;
  line-height:1.25;
  font-weight:750;
}
.media-selection-clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:12px 0 0;
  padding:8px 12px;
  border:1px solid #d8cec6;
  border-radius:9px;
  background:#fff;
  color:#4c4742;
  font:inherit;
  font-size:.8rem;
  font-weight:800;
  cursor:pointer;
}
.media-selection-clear:hover{border-color:var(--cms-copper);color:var(--cms-copper-dark);background:#fff8f4}
.media-selection-clear[hidden]{display:none!important}

@media(max-width:700px){
  .gallery-style-image-picker{padding:13px}
  .gallery-style-image-picker .admin-shared-media-picker{padding:12px}
  .gallery-style-image-picker .media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:360px}
  .gallery-style-image-picker .media-picker-option img{height:auto;aspect-ratio:4/3}
}

/* ========================================================================
   HOMEPAGE IMAGE PICKER CONSISTENCY — 2026-08-07
   Use the same Gallery-style image workflow as the rest of the CMS.
   ======================================================================== */
.admin-route-homepage .gallery-style-image-picker .admin-image-current .status-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  min-height:30px;
  padding:7px 12px;
  border:0;
  border-radius:9px;
  background:var(--cms-copper);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none;
}
.admin-route-homepage .gallery-style-image-picker .admin-image-current{
  background:#fff;
  border:1px solid #e0d8d1;
}

/* ========================================================================
   HOMEPAGE HERO PICKER — COMPACT SPLIT LAYOUT — 2026-08-07
   Keep the space-efficient side-by-side structure while retaining the newer,
   always-visible Gallery-style image controls.
   ======================================================================== */
@media(min-width:701px){
  .admin-route-homepage .gallery-style-image-picker{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr);
    column-gap:16px;
    row-gap:14px;
    align-items:start;
  }
  .admin-route-homepage .gallery-style-image-picker>legend{grid-column:1/-1}
  .admin-route-homepage .gallery-style-image-picker .admin-image-picker-help,
  .admin-route-homepage .gallery-style-image-picker .admin-image-current{
    grid-column:1/-1;
    margin-bottom:0;
  }
  .admin-route-homepage .gallery-style-image-picker .admin-image-file-row{
    grid-column:1;
    align-self:stretch;
    min-height:100%;
    margin:0!important;
    padding:15px 16px;
    border:1px solid #ded5cd;
    border-radius:12px;
    background:#fff;
  }
  .admin-route-homepage .gallery-style-image-picker .admin-image-file-row input[type="file"]{
    margin-top:4px;
  }
  .admin-route-homepage .gallery-style-image-picker .admin-shared-media-picker{
    grid-column:2;
    align-self:stretch;
    min-width:0;
    padding:13px 14px 14px;
  }
  .admin-route-homepage .gallery-style-image-picker .admin-shared-media-picker .media-picker-grid{
    grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
    max-height:250px;
    gap:9px;
  }
  .admin-route-homepage .gallery-style-image-picker .admin-shared-media-picker .media-picker-option img{
    height:88px;
  }
}

.admin-route-homepage .gallery-style-image-picker .admin-image-current{
  padding:11px 12px;
  border:1px solid #ded5cd;
  border-radius:12px;
  background:#fff;
}
.admin-route-homepage .gallery-style-image-picker .admin-image-current .status-label{
  display:inline-flex;
  width:max-content;
  min-height:28px;
  padding:7px 11px;
  border:0;
  border-radius:8px;
  background:var(--cms-copper)!important;
  color:#fff!important;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none!important;
}
.admin-route-homepage .gallery-style-image-picker .admin-image-current strong{
  margin-top:1px;
  font-size:.92rem;
}

@media(max-width:700px){
  .admin-route-homepage .gallery-style-image-picker .admin-image-file-row,
  .admin-route-homepage .gallery-style-image-picker .admin-shared-media-picker{
    margin-bottom:0!important;
  }
}

/* ========================================================================
   HOMEPAGE HERO PICKER — VERIFIED HYBRID LAYOUT FIX — 2026-08-07
   premium.php now exposes the route class used by these scoped rules.
   ======================================================================== */
@media(min-width:701px){
  body.admin-route-homepage .gallery-style-image-picker{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
    gap:14px 16px!important;
    align-items:stretch!important;
  }
  body.admin-route-homepage .gallery-style-image-picker>legend,
  body.admin-route-homepage .gallery-style-image-picker>.admin-image-picker-help,
  body.admin-route-homepage .gallery-style-image-picker>.admin-image-current{
    grid-column:1/-1!important;
  }
  body.admin-route-homepage .gallery-style-image-picker>.admin-image-file-row{
    grid-column:1!important;
    margin:0!important;
    min-height:150px!important;
    padding:16px!important;
    border:1px solid var(--cms-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    align-content:start!important;
  }
  body.admin-route-homepage .gallery-style-image-picker>.admin-shared-media-picker{
    grid-column:2!important;
    margin:0!important;
    min-height:150px!important;
    padding:14px!important;
    border:1px solid var(--cms-border)!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  body.admin-route-homepage .gallery-style-image-picker>.admin-shared-media-picker .media-picker-grid{
    grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;
    gap:9px!important;
    max-height:230px!important;
  }
}
body.admin-route-homepage .gallery-style-image-picker .admin-image-current .status-label{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  min-height:28px!important;
  padding:7px 11px!important;
  margin:0 0 4px!important;
  border:0!important;
  border-radius:8px!important;
  background:var(--cms-copper)!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}

/* ========================================================================
   GLOBAL HYBRID IMAGE PICKER + SINGLE SAVE ACTION — 2026-08-07
   Keep upload and Media Library choices side by side on normal screens on
   every editor, not only the Homepage.
   ======================================================================== */
@media(min-width:701px){
  .gallery-style-image-picker{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
    gap:14px 16px!important;
    align-items:stretch!important;
  }
  .gallery-style-image-picker>legend,
  .gallery-style-image-picker>.admin-image-picker-help,
  .gallery-style-image-picker>.admin-image-current{grid-column:1/-1!important}
  .gallery-style-image-picker>.admin-image-file-row{
    grid-column:1!important;
    margin:0!important;
    min-height:150px!important;
    padding:16px!important;
    border:1px solid var(--cms-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    align-content:start!important;
  }
  .gallery-style-image-picker>.admin-shared-media-picker{
    grid-column:2!important;
    margin:0!important;
    min-height:150px!important;
    padding:14px!important;
    border:1px solid var(--cms-border)!important;
    border-radius:12px!important;
    background:#fff!important;
  }
}
.cms-form.has-sticky-save>.cms-original-save{display:none!important}
.archived-content{margin-top:18px;border-top:1px solid #e3dbd4;padding-top:16px}
.archived-content>summary{cursor:pointer;font-weight:850;color:var(--cms-charcoal);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.archived-content>summary::-webkit-details-marker{display:none}
.archived-content>summary:after{content:"Show";font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cms-copper);font-weight:900}
.archived-content[open]>summary:after{content:"Hide"}
.archived-content table{margin-top:12px}
.restore-button{border:0;background:var(--cms-charcoal);color:#fff;border-radius:8px;padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}
.restore-button:hover{background:#272d29}

:root{--admin-accent:#b96f4f;--admin-accent-dark:#8f5039;--admin-ink:#17211d}
