:root{
  --bg:#ffffff;
  --panel:#ffffff;
  --text:#000000;
  --muted:#444444;
  --line:#000000;
  --accent:#000000;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1.45}
a{color:#000;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

/* Shared page frame */
.site-header,.admin-top{background:#fff;color:#000;border-bottom:2px solid #000}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:12px max(18px,calc((100vw - 1180px)/2))}
.site-header .brand img{width:80px;height:58px;object-fit:contain}
.site-header nav,.nav{display:flex;gap:0;flex-wrap:wrap;margin-left:auto}
.site-header nav a,.nav a,.admin-nav a,.admin-top a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:9px 15px;background:#fff;color:#000;
  border:2px solid #000;border-right-width:0;border-radius:2px;
  font-weight:800;text-decoration:none;text-transform:none;letter-spacing:0
}
.site-header nav a:last-child,.nav a:last-child,.admin-nav a:last-child{border-right-width:2px}
.site-header nav a:hover,.nav a:hover,.admin-nav a:hover,.admin-nav a.on,.admin-top a:hover{background:#000;color:#fff}
.call{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#000;border:2px solid #000;border-radius:2px;padding:9px 15px;font-weight:800}

/* Main centered content on every public page */
.hero,.section,.order-shell,.contact-section,.schedule-wrap,.menu-section,.split,.catering{
  width:min(1180px,calc(100% - 32px));max-width:1180px;margin-left:auto;margin-right:auto
}
.hero{min-height:0;display:grid;grid-template-columns:1.05fr .95fr;border:2px solid #000;margin-top:28px;margin-bottom:28px;background:#fff}
.hero-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.hero-photo{min-height:420px;background:url('img/hero-ribs.png') center/cover no-repeat;border-left:2px solid #000}
.hero-photo:after{display:none!important}
.eyebrow{margin:0 0 8px;color:#000;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.hero h1,.section h2,.feature-card h3,.menu-card h3{font-family:Arial,Helvetica,sans-serif;color:#000}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:.95;margin:0}
.lead,.hero-copy p,.section-head p:not(.eyebrow),.split p,.contact-card p{color:#222}
.hero-actions,.location-buttons,.contact-actions,.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}

.section{padding:34px 0;margin-bottom:20px}
.section-head{max-width:800px;margin-bottom:22px}
.section h2{font-size:clamp(32px,5vw,54px);line-height:1;margin:0 0 12px}

.btn,.btn.primary,.btn.secondary,.btn.ghost,.btn.small,.wide-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff!important;color:#000!important;border:2px solid #000!important;
  border-radius:2px!important;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:none!important
}
.btn:hover,.btn.primary:hover,.btn.secondary:hover,.btn.ghost:hover,.wide-btn:hover{background:#000!important;color:#fff!important}
.btn.small{padding:7px 11px;font-size:13px}
.wide-btn{width:100%;font-size:18px}

/* Calendar */
.two-week,.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.day-cell,.schedule-grid article{background:#fff;border:2px solid #000;border-radius:2px;padding:0;min-height:150px;overflow:hidden}
.date-line{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:2px solid #000;font-size:13px;background:#fff;color:#000}
.date-line span{color:#000}
.location-card,.location-card.salt,.location-card.closed{
  margin:0;padding:14px 10px;border:0;border-radius:0;background:#fff;color:#000;text-align:center;display:flex;flex-direction:column;gap:5px
}
.location-card strong,.location-card span,.location-card small{color:#000}
.location-card strong{font-size:14px}.location-card span{font-weight:800;font-size:13px}.location-card small{font-size:11px}
.schedule-grid article{padding:18px}
.schedule-grid span{display:inline-block;border:2px solid #000;border-radius:2px;padding:5px 8px;margin-bottom:10px;background:#fff;color:#000;width:auto;height:auto}
.schedule-grid strong,.schedule-grid em{display:block;color:#000;font-style:normal}

/* Cards and content */
.cards,.menu-grid,.gallery,.admin-grid{display:grid;gap:14px}
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.menu-grid{grid-template-columns:repeat(3,1fr)}
.gallery{grid-template-columns:repeat(4,1fr)}
.feature-card,.contact-card,.menu-card,.order-panel,.admin-card,.catering{
  background:#fff;color:#000;border:2px solid #000;border-radius:2px;padding:22px;box-shadow:none
}
.menu-card small,.menu-card b,.chips span,.feature-card li,.hint,.small-note{color:#000}
.menu-card p{border-top:1px solid #000}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{background:#fff;border:1px solid #000;border-radius:2px;padding:8px 10px}
.split{display:grid;grid-template-columns:1fr .8fr;gap:18px;align-items:start}
.gallery img{width:100%;height:240px;object-fit:cover;border:2px solid #000;border-radius:2px;background:#fff}
.contact-card{text-align:center}.contact-actions{justify-content:center}
footer{background:#fff;color:#000;border-top:2px solid #000;padding:26px 18px;text-align:center}
footer img{width:90px;margin:0 auto 8px}
code{background:#fff;border:1px solid #000;border-radius:2px;padding:2px 5px}

/* Forms / preorder */
.order-shell{margin-top:28px;margin-bottom:60px;border:2px solid #000;padding:28px;background:#fff}
.order-head{text-align:center;max-width:760px;margin:0 auto 22px}.order-head h1{font-size:44px;margin:0 0 8px}
.order-form{display:grid;gap:16px;max-width:900px;margin:0 auto}
.order-panel h2{margin-top:0}
.order-items{display:grid;gap:8px}.order-item{display:flex!important;justify-content:space-between;align-items:center;background:#fff;border:1px solid #000;padding:12px;border-radius:2px}.order-item div{display:flex;flex-direction:column}.order-item input{width:80px}.cart-total{text-align:right;padding-top:15px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:grid;gap:6px;margin:10px 0;color:#000;font-weight:700}
input,select,textarea{width:100%;background:#fff;border:2px solid #000;color:#000;border-radius:2px;padding:10px}
input:focus,select:focus,textarea:focus{outline:3px solid #000;outline-offset:1px}

/* Login */
.login-box{min-height:100vh;display:grid;place-items:center;padding:20px;background:#fff;color:#000}
.login-box form{width:min(430px,100%);background:#fff;border:2px solid #000;padding:28px;border-radius:2px}
.login-box h1,.login-box h2{text-align:center}.error{color:#000;font-weight:800}

/* Admin */
body.admin-body{margin:0;min-height:100vh;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif}
.admin-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;padding:10px max(16px,calc((100vw - 1180px)/2));background:#fff;color:#000}
.admin-top b{font-size:22px;margin-right:auto}.admin-top span{font-weight:700}
.admin-layout{display:block;width:min(1180px,calc(100% - 32px));margin:28px auto 60px;background:#fff;border:2px solid #000;padding:24px}
.admin-nav{display:flex!important;gap:0!important;flex-wrap:wrap!important;margin:0 0 26px!important;padding:0!important;border:0!important;background:#fff!important}
.admin-nav a{margin:0!important}
.admin-main{padding:0!important;background:#fff;color:#000}.admin-main h1{font-size:38px;margin:0 0 8px}.admin-main>p{margin-top:0;color:#222}
.admin-grid{grid-template-columns:1fr 1fr}
.admin-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.admin-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #000}.admin-row:last-child{border-bottom:0}.admin-row div{display:grid;gap:3px}.admin-row span,.admin-row small{color:#222}.admin-row form{margin:0}.mini-form{display:grid;gap:8px;margin-top:14px}.link-danger{background:#fff;color:#000;border:1px solid #000;border-radius:2px;padding:6px 9px;cursor:pointer}.link-danger:hover{background:#000;color:#fff}
.check{display:flex;align-items:center;gap:8px}.check input{width:auto}

/* absolutely no gradients, fades, transparency or shadows */
body:before{display:none!important}
*{background-image:none}
.hero-photo{background-image:url('img/hero-ribs.png')!important}
.site-header,.admin-top{backdrop-filter:none!important;box-shadow:none!important}

@media(max-width:900px){
  .site-header{align-items:flex-start;flex-wrap:wrap}.site-header nav,.nav{order:3;width:100%;margin-left:0}.site-header nav a,.nav a{flex:1;padding:8px 6px;font-size:13px}
  .hero{grid-template-columns:1fr}.hero-photo{order:-1;min-height:260px;border-left:0;border-bottom:2px solid #000}.hero-copy{padding:28px 20px}.hero h1{font-size:44px}
  .two-week,.schedule-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px}.day-cell,.schedule-grid article{min-width:160px;flex:0 0 160px}
  .menu-grid,.gallery,.split,.admin-grid,.form-grid{grid-template-columns:1fr}.gallery img{height:220px}
  .admin-top{flex-wrap:wrap}.admin-top b{width:100%;margin-right:0}.admin-layout{padding:16px;width:min(100% - 20px,1180px)}.admin-nav a{flex:1;min-width:120px;border-right-width:2px;margin:-1px 0 0 -1px!important}
}

/* v11 hard reset: white/black only, no gradients/fades */
html,body,.admin-body,.login-box,.site-header,.admin-top,.admin-layout,.admin-main,.admin-card,.order-panel,.order-shell,.section,.hero,.feature-card,.menu-card,.contact-card,.catering,.day-cell,.schedule-grid article,.location-card,.location-card.salt,.location-card.closed,footer{background:#fff!important;background-image:none!important;color:#000!important;box-shadow:none!important;filter:none!important}
*{text-shadow:none!important}
.site-header,.admin-top{width:min(1180px,calc(100% - 32px));margin:16px auto 0;padding:12px 16px;border:2px solid #000;box-sizing:border-box;position:relative}
.site-header{top:auto}.site-header .brand img{width:145px;height:auto;max-height:80px;object-fit:contain}
.site-header nav a,.admin-nav a,.admin-top a,.btn,.btn.small,.wide-btn{background:#fff!important;color:#000!important;border-color:#000!important;border-radius:2px!important}
.site-header nav a:hover,.admin-nav a:hover,.admin-nav a.on,.admin-top a:hover,.btn:hover,.wide-btn:hover{background:#000!important;color:#fff!important}
.site-frame,.simple-page,.admin-layout,.order-shell{width:min(1180px,calc(100% - 32px))!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.simple-page{padding:28px 0 60px}.simple-page>.order-panel{max-width:900px;margin:0 auto}
.admin-main{padding:0!important;margin:0!important;width:100%!important}
.admin-main>h1,.admin-main>p{text-align:center}
.admin-grid{max-width:1050px;margin:0 auto}
@media(max-width:760px){.site-header,.admin-top{width:calc(100% - 20px);margin-top:10px;flex-wrap:wrap}.site-header .brand{width:100%;display:flex;justify-content:center}.site-header .brand img{width:120px}.site-header nav{width:100%;margin:0;justify-content:center}.admin-top b{width:100%;text-align:center}.admin-layout,.site-frame,.order-shell{width:calc(100% - 20px)!important}.form-grid{grid-template-columns:1fr}}

/* V12 GLOBAL VISUAL RESET - intentionally plain */
html, body { background:#fff !important; color:#000 !important; }
body, body * { font-family: Arial, Helvetica, sans-serif; }
body::before, body::after, *::before, *::after { box-shadow:none !important; text-shadow:none !important; }
header, nav, main, section, article, aside, footer, form, fieldset, div { background-color:#fff !important; background-image:none !important; color:#000 !important; }
h1,h2,h3,h4,h5,h6,p,span,strong,b,small,label,li,em { color:#000 !important; }
.site-header,.admin-top { background:#fff !important; }
.site-frame,.simple-page,.order-shell,.order-panel,.admin-layout,.admin-main,.admin-card,.login-box,.login-box form,.feature-card,.menu-card,.day-cell,.schedule-grid article { background:#fff !important; color:#000 !important; box-shadow:none !important; }
a,button,.btn,input,select,textarea { border-radius:2px !important; box-shadow:none !important; }
.site-header nav a,.nav a,.admin-nav a,.admin-top a,.btn,button { background:#fff !important; color:#000 !important; border:2px solid #000 !important; }
.site-header nav a:hover,.nav a:hover,.admin-nav a:hover,.admin-nav a.on,.admin-top a:hover,.btn:hover,button:hover { background:#000 !important; color:#fff !important; }
input,select,textarea { background:#fff !important; color:#000 !important; border:2px solid #000 !important; }

.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions form{margin:0}.scheduled-day{cursor:default}

/* v14 preorder menu organization */
.menu-category{margin-top:22px}.menu-category:first-of-type{margin-top:8px}.menu-category>h3{margin:0 0 10px;padding-bottom:7px;border-bottom:2px solid #000;font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.order-item-card{display:flex;background:#fff;border:1px solid #000;border-radius:2px;overflow:hidden}.order-item-image{width:150px;min-height:130px;object-fit:cover;border-right:1px solid #000}.order-item-body{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:14px}.item-copy{display:grid;gap:5px;min-width:0}.item-copy strong{font-size:18px}.item-copy p{margin:0;line-height:1.45;color:#111}.item-price{font-weight:800}.sauce-note{font-weight:700;color:#111}.item-controls{display:grid;gap:8px;min-width:155px}.qty-wrap,.sauce-choice{display:grid!important;gap:4px}.sauce-choice select{min-width:150px}.admin-menu-thumb{width:70px;height:55px;object-fit:cover;border:1px solid #000;border-radius:2px;margin-bottom:5px}.menu-admin-row>div:first-child{max-width:70%}.current-image{display:flex;align-items:center;gap:10px}.current-image img{width:100px;height:80px;object-fit:cover;border:1px solid #000}.muted{color:#222}.menu-item-form{border-top:2px solid #000;padding-top:14px;margin-top:18px}.menu-item-form h3{margin:0}
@media(max-width:700px){.order-item-card{display:block}.order-item-image{width:100%;height:180px;border-right:0;border-bottom:1px solid #000}.order-item-body{display:grid;gap:14px}.item-controls{grid-template-columns:100px 1fr;min-width:0}.sauce-choice select{min-width:0;width:100%}.menu-admin-row{display:grid}.menu-admin-row>div:first-child{max-width:none}}

/* v15 food truck event availability */
.reserve-date-hint{border-top:2px solid #000;padding:10px;display:grid;gap:3px;text-align:center}
.reserve-date-hint strong{font-size:13px;text-transform:uppercase}.reserve-date-hint span{font-size:12px}
.reservable-day{display:block;color:#000;text-decoration:none;border-width:3px}.reservable-day:hover{outline:3px solid #000;outline-offset:2px}
.availability-card{margin-top:22px}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-top:16px}
.availability-day{border:1px solid #000;padding:10px;display:grid;gap:10px;align-content:space-between;min-height:118px;background:#fff!important}
.availability-day.enabled{border:3px solid #000}.availability-day.blocked{border-style:dashed}
.availability-day>div{display:grid;gap:3px}.availability-day b{font-size:14px}.availability-day span{font-size:18px;font-weight:800}.availability-day small{font-size:11px;line-height:1.25}.availability-day form{margin:0}.availability-day .btn{width:100%;padding:6px 8px}
.event-request-panel{max-width:980px!important}.request-heading{text-align:center;max-width:760px;margin:0 auto 22px}.request-heading h1{font-size:clamp(34px,5vw,52px);margin:6px 0 10px}.request-heading p{line-height:1.5}
.pricing-box{border:2px solid #000;padding:20px;margin:0 0 24px}.pricing-box h2{text-align:center;margin:0 0 14px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pricing-grid>div{border:1px solid #000;padding:14px;display:grid;gap:5px}.pricing-grid strong{font-size:16px}.pricing-grid span{line-height:1.4}
.event-request-form{max-width:850px;margin:0 auto}.event-check{border:1px solid #000;padding:12px;margin:16px 0}.success-box,.notice-box,.form-error{border:2px solid #000;padding:18px;margin:18px 0}.form-error{font-weight:800}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}.availability-grid{grid-template-columns:repeat(2,1fr)}}


/* v15 preorder quantity controls - always visible add/remove buttons */
.qty-control{display:grid;grid-template-columns:44px 58px 44px;align-items:stretch;width:max-content;border:2px solid #000;border-radius:2px;overflow:hidden;background:#fff!important}
.qty-btn{display:flex;align-items:center;justify-content:center;min-width:44px;height:42px;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#000!important;font-size:25px;font-weight:900;line-height:1;cursor:pointer;opacity:1!important;visibility:visible!important}
.qty-btn:hover,.qty-btn:focus{background:#000!important;color:#fff!important}
.qty-minus{border-right:2px solid #000!important}.qty-plus{border-left:2px solid #000!important}
.qty-input{width:58px;height:42px;padding:0 4px!important;border:0!important;border-radius:0!important;text-align:center;font-size:18px;font-weight:900;background:#fff!important;color:#000!important;-moz-appearance:textfield}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.item-controls{justify-items:end}.sauce-choice{width:100%}
@media(max-width:700px){.item-controls{justify-items:start}.qty-control{grid-template-columns:48px 62px 48px}.qty-btn{min-width:48px;height:46px}.qty-input{width:62px;height:46px}}

/* v17 catalog, catering and menu builder */
.catalog-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr);gap:18px;align-items:start}.catalog-list{max-height:78vh;overflow:auto}.catalog-heading{margin:18px 0 4px;padding:7px 0;border-bottom:2px solid #000;text-transform:uppercase}.profile-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:16px 0}.profile-card{border:2px solid #000;padding:14px;display:grid;gap:8px}.profile-card span{font-size:13px}.menu-builder-form{margin-top:18px}.builder-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.builder-groups section{border:2px solid #000;padding:12px}.builder-groups h3{margin:0 0 8px}.builder-item{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px solid #bbb}.builder-item:last-child{border-bottom:0}.builder-item input{width:auto;margin-top:2px}.builder-item span{display:grid;gap:2px}.builder-item small{font-size:12px}.quick-add-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.cat-edit-row>.check{flex:1}.cat-edit-row>.check span{display:grid}.cat-edit-row>.check small{font-size:12px}.catering-page{display:grid;gap:18px}.catering-intro{text-align:center}.catering-switch{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin-top:16px}.catering-switch .btn{margin:0}.catering-order-panel,.event-request-panel{max-width:1000px!important}.catering-order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.delivery-note{border:2px solid #000;padding:12px;margin:16px 0}.catering-customer{margin:18px 0}.catering-menu-section{margin:22px 0}.catering-menu-section h3{font-size:24px;margin:0 0 8px;border-bottom:2px solid #000;padding-bottom:6px}.catering-table{border:2px solid #000}.catering-row{display:grid;grid-template-columns:2fr 1fr .8fr 80px 100px;align-items:center;gap:8px;padding:9px;border-bottom:1px solid #000}.catering-row:last-child{border-bottom:0}.catering-row-head{font-weight:800;background:#fff!important;border-bottom:2px solid #000}.cat-qty{width:70px!important;text-align:center}.catering-summary{border:2px solid #000;padding:14px;margin:18px 0;display:grid;gap:5px}.catering-summary>div{display:flex;justify-content:space-between;font-size:22px}.request-heading{text-align:center}.pricing-box{border:2px solid #000;padding:18px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pricing-grid>div{border:1px solid #000;padding:12px;display:grid;gap:5px}.notice-box,.success-box,.form-error{border:2px solid #000;padding:16px;margin:16px 0}.form-error{font-weight:800}
@media(max-width:900px){.catalog-layout{grid-template-columns:1fr}.builder-groups{grid-template-columns:1fr 1fr}.catering-order-head{display:grid}.sheet-actions{justify-content:flex-start}.catering-row{grid-template-columns:1.5fr .8fr .7fr 68px 85px;font-size:13px}.pricing-grid{grid-template-columns:1fr}}
@media(max-width:620px){.builder-groups{grid-template-columns:1fr}.catering-row-head{display:none}.catering-row{grid-template-columns:1fr 70px;gap:5px}.catering-row>span:nth-child(2),.catering-row>span:nth-child(3){grid-column:1}.catering-row>span:nth-child(4){grid-column:2;grid-row:1/3}.catering-row>span:nth-child(5){grid-column:2}.catering-order-head,.sheet-actions{display:grid}.sheet-actions .btn{width:100%}}


/* v18 catering notes, ice request, tips, event-fee disclosure */
.cat-item-name{display:grid;gap:4px}.cat-item-note{display:block;font-size:12px;font-weight:400;line-height:1.35;color:#000!important}.ice-request-box,.tip-box{border:2px solid #000;padding:14px;margin:18px 0}.ice-request-box small,.tip-box p{display:block;margin-top:5px;line-height:1.4}.ice-request-box input:disabled+*{opacity:1}.tip-box h3{margin:0 0 4px}.tip-buttons{display:flex;gap:0;flex-wrap:wrap;margin:10px 0}.tip-buttons .btn{margin:0}.tip-box label{max-width:260px}.pricing-footnote{margin:14px 0 0;padding-top:12px;border-top:1px solid #000;line-height:1.45;font-size:13px}.catering-summary .grand-total{padding-top:10px;margin-top:6px;border-top:2px solid #000;font-size:24px}.catering-summary>div{gap:20px}.catering-summary span{white-space:nowrap}

/* v20 menu builder selection controls */
.builder-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.builder-select-toolbar h2{margin:0}.builder-select-actions{display:flex;gap:6px}.builder-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #000;padding-bottom:6px;margin-bottom:6px}.builder-group-head h3{margin:0}.builder-group-toggle{appearance:none;background:#fff;color:#000;border:1px solid #000;border-radius:2px;padding:5px 9px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.builder-group-toggle:hover{background:#000;color:#fff}

/* v21 admin account/password */
.account-card{max-width:620px;margin:0 auto}.account-form{max-width:520px;margin:0 auto}.account-card .notice-box,.account-card .success-box,.account-card .form-error{margin:0 0 16px}

/* v22 schedule/admin status helpers */
.availability-day{background:#fdecec!important;border:1px solid #d9a4a4!important}
.availability-day.enabled{background:#e8f6e8!important;border:1px solid #8dbb8d!important}
.availability-day.blocked{background:#f1f1f1!important;border:1px dashed #999!important}
.availability-day .availability-toggle.turn-on{background:#dff3df!important;color:#123d12!important;border-color:#5e9b5e!important}
.availability-day .availability-toggle.turn-on:hover{background:#c9eac9!important}
.availability-day .availability-toggle.turn-off{background:#f8dada!important;color:#5b1010!important;border-color:#b66!important}
.availability-day .availability-toggle.turn-off:hover{background:#f1c3c3!important}
.saved-location-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 18px}
.saved-location{border:1px solid #000;padding:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.saved-location>div{display:grid;gap:3px}.saved-location span,.saved-location small{font-size:12px;color:#222}
.location-add-form{border-top:1px solid #000;padding-top:14px}
.catering-select-toolbar{margin:12px 0}.catering-select-group{margin:14px 0 20px}.catering-select-group .builder-group-head{margin-bottom:0}.catering-select-group .catalog-heading{border:0;margin:0;padding:0}

/* v26: show every sauce choice for preorder meats */
.sauce-choice{border:0;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center}
.sauce-choice legend{font-weight:700;margin:0 8px 4px 0;padding:0;width:100%}
.sauce-choice label{display:inline-flex;align-items:center;gap:5px;margin:0;font-weight:600;white-space:nowrap}
.sauce-choice input[type=radio]{width:auto;margin:0}

/* v28 pickup conflict visibility */
.pickup-blocked-note{display:block;margin-top:4px;padding:5px 7px;background:#f7e5e5;border:1px solid #d7aaaa;border-radius:2px;color:#6f1f1f;font-weight:700}

/* v32 order printing */
.order-print-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.order-print-option{border:1px solid #bbb;border-radius:2px;padding:12px}.order-print-option>b{display:block;margin-bottom:8px}.order-print-option form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.order-print-option input[type=date]{width:auto;min-width:165px}.order-print-option small{display:block;margin-top:7px;color:#555}.order-admin-row .row-actions{flex:0 0 auto}@media(max-width:700px){.order-print-tools{grid-template-columns:1fr}.order-print-option form{align-items:stretch}.order-print-option input[type=date],.order-print-option .btn{width:100%}}

/* v33: mobile preorder controls - sauces run horizontally below quantity */
@media(max-width:700px){
  .item-controls{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;min-width:0!important;justify-items:start!important}
  .qty-wrap{display:block!important;width:auto!important}
  .sauce-choice{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 14px!important;width:100%!important;min-width:0!important;margin:0!important}
  .sauce-choice legend{flex:0 0 100%!important;width:auto!important;margin:0!important;padding:0!important}
  .sauce-choice label{display:inline-flex!important;align-items:center!important;gap:5px!important;margin:0!important;white-space:nowrap!important;width:auto!important}
  .sauce-choice input[type=radio]{flex:0 0 auto!important;width:20px!important;height:20px!important;margin:0!important}
}

/* v34 expandable current + next month schedule */
.month-calendars{display:grid;grid-template-columns:1fr;gap:28px;margin-top:8px}
.month-calendar h3{margin:0 0 10px;text-align:center;font-size:1.35rem}
.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.month-weekdays{margin-bottom:6px;text-align:center;font-weight:800;font-size:.82rem}
.month-day,.month-empty{min-height:112px;border:1px solid #000;border-radius:2px;background:#fff;color:#000;padding:7px;min-width:0}
.month-empty{border-color:#ddd;background:#fafafa}
a.month-day{text-decoration:none;display:block}
.month-date{font-size:1rem;margin-bottom:6px}
.month-stop{display:flex;flex-direction:column;gap:2px;font-size:.78rem;line-height:1.2;margin-top:4px}
.month-stop span{font-size:.72rem}
.month-status{font-size:.72rem;line-height:1.2;margin-top:6px}
.month-day.reservable-day{background:#eef8ee;border-color:#567a56}
.month-status.available{font-weight:700;color:#315c31}
.month-day.closed-day{background:#fff5f5;border-color:#b98d8d}
.month-status.unavailable{color:#7a4d4d}
.month-day.past-day{background:#f3f3f3;color:#777;border-color:#ccc}

/* v35: full calendar only; emphasize the current Monday-Sunday week */
.month-day.current-week{border:2px solid #666;padding:6px}
.month-day.current-week .month-date strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
@media (max-width:700px){
  .month-weekdays,.month-grid{gap:3px}
  .month-weekdays{font-size:.67rem}
  .month-day,.month-empty{min-height:78px;padding:4px}
  .month-date{font-size:.86rem;margin-bottom:3px}
  .month-stop{font-size:.62rem;overflow-wrap:anywhere}
  .month-stop span,.month-status{font-size:.58rem}
}

/* v36: admin-only edit shortcuts on public pages */
.admin-edit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.admin-edit-link{white-space:nowrap}

/* v36 preorder inline editing + image crop/rotate */
.inline-item-editor{margin:0 0 14px;padding:14px;border:2px solid #000;background:#f7f7f7}
.image-editor{margin:12px 0}.image-editor-work{margin-top:10px;padding:10px;border:1px solid #aaa;background:#fff}.image-crop-canvas{display:block;width:100%;max-width:640px;height:auto;border:2px solid #000;background:#eee;touch-action:none;cursor:grab}.image-crop-canvas:active{cursor:grabbing}.image-editor-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.image-editor-controls label{display:flex;align-items:center;gap:7px;width:auto;margin:0}.image-editor-controls input[type=range]{width:150px}.image-editor-controls select{width:auto}.current-image{margin-top:10px}.current-image img{max-width:180px;max-height:120px;object-fit:cover;border:1px solid #000}.current-image span{display:block;font-size:12px;margin-top:4px}
@media(max-width:700px){.image-editor-controls{display:grid;grid-template-columns:1fr 1fr}.image-editor-controls .btn,.image-editor-controls label{width:100%}.image-editor-controls input[type=range]{width:100%}}

/* v37 admin organization */
.holiday-catering-copy{margin:18px 0}.holiday-copy-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.current-image-manage{display:flex;gap:14px;align-items:flex-start}.current-image-manage img{width:120px;height:90px;object-fit:cover;border:1px solid #bbb;border-radius:2px}.current-image-manage>div{display:grid;gap:6px}.remove-image-check{margin-top:4px;padding:8px;border:1px solid #c9c9c9;background:#f7f7f7}.order-section-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.orders-section-heading{margin-top:24px}.catering-menu-note{align-self:start}.image-editor-work{margin-top:10px}.image-editor-work canvas{display:block;max-width:100%;height:auto;border:1px solid #aaa;background:#eee;cursor:grab}.image-editor-work canvas:active{cursor:grabbing}
@media(max-width:640px){.current-image-manage{display:grid}.current-image-manage img{width:100%;height:auto;max-height:220px}.holiday-copy-items{grid-template-columns:1fr}}

/* v38 admin organization */
.admin-section-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.pickup-window-edit{padding:12px 0;border-bottom:1px solid #ddd}.pickup-window-edit:last-of-type{margin-bottom:14px}.current-image-admin{display:flex;gap:12px;align-items:center;margin:8px 0 12px}.current-image-admin img{width:110px;height:82px;object-fit:cover;border:1px solid #ccc;border-radius:2px}.admin-calendar-day{outline:1px dashed #777;outline-offset:-3px}.admin-calendar-day:hover{outline:2px solid #111}.btn.danger{border-color:#8b0000;color:#8b0000;background:#fff}

/* v39 weekly event availability */
.weekly-availability-form{margin:14px 0 20px;padding:14px;border:1px solid #d8d8d8;border-radius:2px}
.weekly-availability-form h3{margin-top:0}
.weekly-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;margin:10px 0 12px}
.weekly-availability-day{display:flex;flex-direction:column;gap:5px}
.weekly-availability-day select{width:100%}
.availability-actions{display:flex;gap:5px;flex-wrap:wrap}
.availability-default-form{margin-top:4px}
.link-button{border:0;background:none;padding:0;text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem}
@media(max-width:900px){.weekly-availability-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}

/* v42 compact upcoming recurring schedule */
.upcoming-series { display:block; padding:0; }
.upcoming-series > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; cursor:pointer; list-style:none; }
.upcoming-series > summary::-webkit-details-marker { display:none; }
.upcoming-series > summary div { display:flex; flex-direction:column; gap:3px; }
.upcoming-series[open] > summary { border-bottom:1px solid #ddd; }
.series-dates { padding:4px 12px 10px; }
.series-dates .admin-row.compact { margin:0; padding:7px 0; border-left:0; border-right:0; border-top:0; }


/* v43: This Week schedule first, Future Dates second */
.this-week-schedule{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:10px 0 30px}
.week-day-card{display:flex;flex-direction:column;min-height:175px;border:2px solid #111;border-radius:2px;background:#fff;color:#000;text-decoration:none;overflow:hidden}
.week-day-card.scheduled{border-color:#111;background:#fff}
.week-day-card.available{border-color:#5f875f;background:#eef8ee}
.week-day-card.unavailable{border-color:#b98d8d;background:#fff1f1}
.week-day-card.past{border-color:#ccc;background:#f3f3f3;color:#777}
.week-day-heading{display:flex;justify-content:space-between;align-items:baseline;gap:5px;padding:8px;border-bottom:1px solid #bbb;background:#fff}
.week-day-heading span{font-size:12px;font-weight:800;text-transform:uppercase}.week-day-heading strong{font-size:15px}
.week-day-body{display:flex;flex:1;align-items:center;justify-content:center;text-align:center;padding:10px 7px}
.week-stop,.week-status{display:flex;flex-direction:column;gap:5px}.week-stop strong,.week-status strong{font-size:17px}.week-stop span,.week-status span{font-size:12px}.week-stop small{font-size:10px;line-height:1.25}
.future-schedule-head{border-top:2px solid #111;padding-top:22px;margin-top:2px;margin-bottom:12px}.future-schedule-head h3{margin:2px 0 0;font-size:24px}
.month-day.this-week-placeholder{background:#f7f7f7;color:#888;border-color:#ddd}.this-week-placeholder .month-status{font-size:10px}
@media(max-width:900px){.this-week-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.week-day-card{min-height:130px}}
@media(max-width:520px){.this-week-schedule{grid-template-columns:1fr}.week-day-card{min-height:105px}.week-day-body{padding:8px}.week-day-heading{padding:7px 9px}}


/* v44: reusable This Week location/status graphics */
.week-day-body{padding:8px 6px}
.week-stop,.week-status{width:100%;align-items:center}
.week-card-graphic{width:100%;height:82px;display:flex;align-items:center;justify-content:center;margin-bottom:3px;overflow:hidden;background:#fff}
.week-card-graphic img{display:block;max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain}
.location-graphic{padding:2px}
.status-graphic{position:relative;border:1px solid #bbb}
.status-graphic img{max-height:70px;max-width:88%;opacity:.18}
.status-graphic b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:15px;letter-spacing:.5px;background:rgba(255,255,255,.55)}
.available-graphic b{color:#285d28}
.unavailable-graphic b{color:#8a2929}
@media(max-width:900px){.week-card-graphic{height:72px}.week-card-graphic img{max-height:68px}}


/* v45: square reusable schedule artwork cropped from the approved five-card sheet */
.week-day-card{min-height:0}
.week-day-body{padding:6px}
.week-card-graphic{width:100%;height:auto;aspect-ratio:1/1;margin:0;overflow:hidden;background:#000;border:0}
.week-card-graphic img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;display:block}
.week-stop,.week-status{width:100%;gap:4px}
.week-stop small{margin-top:3px}
@media(max-width:900px){.week-card-graphic{height:auto}.week-card-graphic img{max-height:none}}

/* v50 public header layout */
.site-header.home-header,.site-header.inner-header{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px}
.site-header.home-header .brand{display:flex;width:100%;justify-content:center}
.site-header.home-header .brand img{width:min(680px,88vw);height:auto;max-height:405px;object-fit:contain}
.site-header.inner-header .brand{display:flex;width:100%;justify-content:flex-start}
.site-header.inner-header .brand img{width:120px;height:auto;max-height:72px;object-fit:contain}
.site-header.home-header nav,.site-header.inner-header nav{order:2;width:100%;margin:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0}
.site-header.home-header nav a,.site-header.inner-header nav a{flex:0 0 auto}
.site-header nav a.active-nav{background:#000!important;color:#fff!important}
@media(max-width:760px){
 .site-header.home-header .brand img{width:min(480px,92vw);max-height:285px}
 .site-header.inner-header .brand{justify-content:center}
 .site-header.inner-header .brand img{width:110px;max-height:68px}
 .site-header.home-header nav,.site-header.inner-header nav{justify-content:center}
 .site-header.home-header nav a,.site-header.inner-header nav a{flex:1 1 auto;text-align:center}
}


/* v51: make the landing-page brand the dominant header element */
.site-header.home-header{padding-top:20px;padding-bottom:16px}
.site-header.home-header .brand img{width:min(680px,88vw);max-height:405px}
@media(max-width:760px){.site-header.home-header .brand img{width:min(480px,92vw);max-height:285px}}

/* v52: consistent public branding and content width */
.site-header.home-header,.site-header.inner-header{
  width:100%;margin:0;
  padding:16px max(16px,calc((100vw - 1180px)/2));
}
.site-header.home-header .brand,.site-header.inner-header .brand{
  display:flex;width:100%;justify-content:center;
}
.site-header.home-header .brand img,.site-header.inner-header .brand img{
  width:min(360px,72vw);height:auto;max-height:215px;object-fit:contain;
}
.site-header.home-header nav,.site-header.inner-header nav{
  width:100%;margin:0;justify-content:center;
}
.site-frame,.simple-page,.order-shell{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;
}
.site-frame>.hero,.site-frame>.section,.site-frame>.schedule-wrap,.site-frame>.menu-section,
.site-frame>.split,.site-frame>.catering,.site-frame>.order-shell,
.simple-page>.order-panel{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
@media(max-width:760px){
  .site-header.home-header,.site-header.inner-header{width:100%;margin:0;padding:12px 10px}
  .site-header.home-header .brand img,.site-header.inner-header .brand img{width:min(300px,82vw);max-height:180px}
  .site-frame,.simple-page,.order-shell{width:calc(100% - 20px)!important}
}


/* v53: public visual polish - warmer cards, spaced navigation, interactive buttons */
:root{
  --public-soft:#f7f5f1;
  --public-soft-2:#f1f1ef;
  --public-accent:#8f2f24;
  --public-accent-dark:#692219;
  --public-border:#d8d3cc;
}
.site-header.home-header,.site-header.inner-header{border-bottom:1px solid #dedad4;background:#fff}
.site-header.home-header nav,.site-header.inner-header nav{gap:9px;padding:4px 0 8px}
.site-header.home-header nav a,.site-header.inner-header nav a{
  border:1px solid #222!important;border-radius:5px!important;background:#fff;color:#111;
  padding:10px 18px;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .08s ease;
}
.site-header.home-header nav a:hover,.site-header.inner-header nav a:hover{
  background:var(--public-accent)!important;color:#fff!important;border-color:var(--public-accent)!important;
}
.site-header nav a.active-nav{background:var(--public-accent)!important;color:#fff!important;border-color:var(--public-accent)!important}
.site-header nav a:active{background:var(--public-accent-dark)!important;color:#fff!important;transform:translateY(1px)}

/* Public content gets hierarchy without changing the white page background. */
body:not(.admin-body) .feature-card,
body:not(.admin-body) .contact-card,
body:not(.admin-body) .menu-card,
body:not(.admin-body) .order-panel,
body:not(.admin-body) .pricing-box,
body:not(.admin-body) .delivery-note,
body:not(.admin-body) .catering-summary,
body:not(.admin-body) .notice-box,
body:not(.admin-body) .ice-request-box,
body:not(.admin-body) .tip-box{
  background:var(--public-soft)!important;border:1px solid var(--public-border);border-radius:6px;
}
body:not(.admin-body) .feature-card{padding:26px}
body:not(.admin-body) .feature-card h2,body:not(.admin-body) .feature-card h3{margin-top:0}
body:not(.admin-body) .section{padding-top:38px;padding-bottom:38px}
body:not(.admin-body) .section-head{padding-bottom:12px;border-bottom:1px solid #e4e0da}
body:not(.admin-body) .eyebrow{color:var(--public-accent)}
body:not(.admin-body) .btn,body:not(.admin-body) .wide-btn{
  border:1px solid #222!important;border-radius:5px!important;background:#fff!important;color:#111!important;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .08s ease;
}
body:not(.admin-body) .btn:hover,body:not(.admin-body) .wide-btn:hover{
  background:var(--public-accent)!important;color:#fff!important;border-color:var(--public-accent)!important;
}
body:not(.admin-body) .btn:active,body:not(.admin-body) .wide-btn:active{
  background:var(--public-accent-dark)!important;color:#fff!important;transform:translateY(1px);
}
body:not(.admin-body) .hero{border:1px solid var(--public-border);border-radius:6px;overflow:hidden;background:var(--public-soft)}
body:not(.admin-body) .hero-photo{border-left:1px solid var(--public-border)}
body:not(.admin-body) .order-shell{border:1px solid var(--public-border);border-radius:6px;background:#fff}
body:not(.admin-body) input,body:not(.admin-body) select,body:not(.admin-body) textarea{border:1px solid #aaa;border-radius:5px}
body:not(.admin-body) input:focus,body:not(.admin-body) select:focus,body:not(.admin-body) textarea:focus{outline:2px solid var(--public-accent);outline-offset:1px}
body:not(.admin-body) footer{border-top:1px solid #dedad4;background:var(--public-soft)}
@media(max-width:760px){
  .site-header.home-header nav,.site-header.inner-header nav{gap:6px}
  .site-header.home-header nav a,.site-header.inner-header nav a{flex:1 1 calc(50% - 6px);padding:9px 10px}
}

/* v54: Rib Shack brand palette + homepage hero logo */
:root{
  --public-soft:#f7f7f7;
  --public-soft-2:#eeeeee;
  --public-accent:#ef252b;
  --public-accent-dark:#c71920;
  --public-yellow:#ffc515;
  --public-cream:#fffbea;
  --public-border:#c9c9c9;
}
body:not(.admin-body) .hero-photo{
  background:var(--public-soft-2) url('img/hero-rib-shack-logo.png') center/88% auto no-repeat!important;
  min-height:420px;
}
body:not(.admin-body) .eyebrow{color:var(--public-accent)!important}
body:not(.admin-body) .section-head{border-bottom-color:#dedede}
body:not(.admin-body) .feature-card,
body:not(.admin-body) .contact-card,
body:not(.admin-body) .menu-card,
body:not(.admin-body) .order-panel,
body:not(.admin-body) .pricing-box,
body:not(.admin-body) .delivery-note,
body:not(.admin-body) .catering-summary,
body:not(.admin-body) .notice-box,
body:not(.admin-body) .ice-request-box,
body:not(.admin-body) .tip-box{background:var(--public-soft)!important}
body:not(.admin-body) .btn.primary,
body:not(.admin-body) .wide-btn{border-color:var(--public-accent)!important}
body:not(.admin-body) .btn.primary:hover,
body:not(.admin-body) .wide-btn:hover{background:var(--public-accent)!important;color:#fff!important}
body:not(.admin-body) .chips span{background:var(--public-cream)!important;border-color:#d9d2a5!important}
@media(max-width:760px){body:not(.admin-body) .hero-photo{min-height:280px;background-size:88% auto!important}}

/* v64 unified menu admin */
.usage-tags{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0}.catering-fields{margin-top:8px}.admin-nav{flex-wrap:wrap}

/* v65 admin visual polish - matches current Rib Shack public brand */
body.admin-body{
  --admin-red:#ef252b;
  --admin-red-dark:#c71920;
  --admin-yellow:#ffc515;
  --admin-cream:#fffbea;
  --admin-soft:#f7f7f7;
  --admin-soft-2:#eeeeee;
  --admin-border:#d6d6d6;
  background:#f4f4f4!important;
}
body.admin-body .admin-top{
  position:relative!important;
  width:min(1180px,calc(100% - 32px))!important;
  margin:18px auto 0!important;
  padding:16px 18px!important;
  background:#fff!important;
  border:1px solid var(--admin-border)!important;
  border-top:5px solid var(--admin-red)!important;
  border-radius:6px!important;
  gap:10px!important;
}
body.admin-body .admin-top b{font-size:24px!important;letter-spacing:-.02em;color:#111!important}
body.admin-body .admin-top span{padding:8px 4px;color:#555!important}
body.admin-body .admin-top a{
  padding:9px 14px!important;border:1px solid #222!important;border-radius:5px!important;
  background:#fff!important;color:#111!important;text-decoration:none!important;
}
body.admin-body .admin-top a:hover{background:var(--admin-red)!important;border-color:var(--admin-red)!important;color:#fff!important}
body.admin-body .admin-layout{
  width:min(1180px,calc(100% - 32px))!important;
  margin:14px auto 60px!important;padding:24px!important;
  background:#fff!important;border:1px solid var(--admin-border)!important;border-radius:6px!important;
}
body.admin-body .admin-nav{
  gap:8px!important;margin:0 0 28px!important;padding:0 0 18px!important;
  border-bottom:1px solid #dedede!important;background:#fff!important;
}
body.admin-body .admin-nav a{
  padding:10px 15px!important;border:1px solid #222!important;border-radius:5px!important;
  background:#fff!important;color:#111!important;text-decoration:none!important;font-weight:700!important;
}
body.admin-body .admin-nav a:hover{background:var(--admin-red)!important;border-color:var(--admin-red)!important;color:#fff!important}
body.admin-body .admin-nav a.on{background:var(--admin-red)!important;border-color:var(--admin-red)!important;color:#fff!important}
body.admin-body .admin-main>h1,body.admin-body .admin-main>p{text-align:left!important}
body.admin-body .admin-main h1{font-size:36px!important;line-height:1.1!important;margin-bottom:8px!important}
body.admin-body .admin-main h2{margin-top:0!important}
body.admin-body .admin-main>p,body.admin-body .muted{color:#555!important}
body.admin-body .admin-title{padding-bottom:14px;border-bottom:1px solid #e1e1e1;margin-bottom:18px!important}
body.admin-body .admin-title h1{margin:0 0 5px!important}
body.admin-body .admin-title p{margin:0;color:#555!important}
body.admin-body .admin-section-nav{gap:8px!important;margin:0 0 22px!important;padding:10px!important;background:var(--admin-soft)!important;border:1px solid #e2e2e2!important;border-radius:6px!important}
body.admin-body .admin-card{
  background:var(--admin-soft)!important;border:1px solid var(--admin-border)!important;
  border-radius:6px!important;padding:20px!important;margin-bottom:18px!important;
}
body.admin-body .admin-grid{gap:18px!important;max-width:none!important}
body.admin-body .admin-row{padding:13px 10px!important;border-bottom:1px solid #ddd!important;border-radius:4px!important}
body.admin-body .admin-row:hover{background:#fff!important}
body.admin-body .admin-row b{color:#111!important}
body.admin-body .admin-row span,body.admin-body .admin-row small{color:#555!important}
body.admin-body .catalog-heading,body.admin-body .menu-category>h3{
  color:var(--admin-red-dark)!important;border-bottom:2px solid var(--admin-yellow)!important;padding-bottom:7px!important;
}
body.admin-body label{font-weight:700!important;color:#222!important}
body.admin-body input,body.admin-body select,body.admin-body textarea{
  background:#fff!important;color:#111!important;border:1px solid #aaa!important;border-radius:5px!important;padding:10px!important;
}
body.admin-body input:focus,body.admin-body select:focus,body.admin-body textarea:focus{outline:2px solid var(--admin-red)!important;outline-offset:1px!important;border-color:var(--admin-red)!important}
body.admin-body input[type=checkbox],body.admin-body input[type=radio]{width:auto!important;padding:0!important;accent-color:var(--admin-red)}
body.admin-body .btn,body.admin-body button:not(.link-danger):not(.builder-group-toggle){
  background:#fff!important;color:#111!important;border:1px solid #222!important;border-radius:5px!important;
  padding:9px 14px!important;font-weight:700!important;text-decoration:none!important;
}
body.admin-body .btn:hover,body.admin-body button:not(.link-danger):not(.builder-group-toggle):hover{background:var(--admin-red)!important;border-color:var(--admin-red)!important;color:#fff!important}
body.admin-body .btn.danger,body.admin-body .link-danger{background:#fff!important;color:var(--admin-red-dark)!important;border:1px solid var(--admin-red-dark)!important;border-radius:5px!important}
body.admin-body .btn.danger:hover,body.admin-body .link-danger:hover{background:var(--admin-red-dark)!important;color:#fff!important}
body.admin-body .builder-select-toolbar,body.admin-body .builder-group-head{background:var(--admin-cream)!important;border-color:#e3dba6!important;border-radius:5px!important}
body.admin-body .builder-item{background:#fff!important;border:1px solid #d7d7d7!important;border-radius:5px!important}
body.admin-body .builder-item:hover{border-color:var(--admin-red)!important}
body.admin-body .builder-group-toggle{background:#fff!important;color:#111!important;border:1px solid #999!important;border-radius:4px!important}
body.admin-body .builder-group-toggle:hover{background:var(--admin-red)!important;color:#fff!important;border-color:var(--admin-red)!important}
body.admin-body .usage-tags{background:var(--admin-cream)!important;border:1px solid #e4dda9!important;border-radius:5px!important;padding:10px 12px!important}
body.admin-body .availability-day,body.admin-body .saved-location,body.admin-body .order-print-option{background:#fff!important;border:1px solid #d5d5d5!important;border-radius:5px!important}
body.admin-body .availability-day.enabled{border:2px solid var(--admin-red)!important}
body.admin-body .success-box{border-color:#888!important;background:#fff!important;border-radius:5px!important}
@media(max-width:760px){
  body.admin-body .admin-top,body.admin-body .admin-layout{width:calc(100% - 20px)!important}
  body.admin-body .admin-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-body .admin-nav a{min-width:0!important;text-align:center!important}
  body.admin-body .admin-card{padding:15px!important}
}

/* v67: quick Truck / Catering assignment on Master Menu */
.admin-body .master-menu-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:18px;align-items:center}
.admin-body .master-usage-toggle{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-body .master-usage-toggle label{display:flex;align-items:center;gap:7px;margin:0;padding:8px 11px;border:1px solid #c9c9c9;border-radius:5px;background:#fff;font-weight:700;cursor:pointer}
.admin-body .master-usage-toggle label:hover{border-color:#ef252b;background:#fffbea}
.admin-body .master-usage-toggle input{width:18px;height:18px;margin:0;accent-color:#ef252b}
@media(max-width:800px){.admin-body .master-menu-row{grid-template-columns:1fr}.admin-body .master-usage-toggle{justify-content:flex-start}}

/* v68: category-local Master Menu add controls */
.admin-body .master-catalog-full{display:block}
.admin-body .master-category-block{margin:0 0 28px}
.admin-body .master-category-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid #ffc515;margin:0 0 8px;padding:0 0 7px}
.admin-body .master-category-head .catalog-heading{border:0!important;margin:0!important;padding:0!important}
.admin-body details.master-inline-add{position:relative}
.admin-body details.master-inline-add>summary{list-style:none;cursor:pointer;white-space:nowrap}
.admin-body details.master-inline-add>summary::-webkit-details-marker{display:none}
.admin-body .master-inline-add-form{margin:10px 0 14px;padding:16px;background:#fffbea;border:1px solid #e1d8a9;border-radius:6px;min-width:min(760px,80vw)}
.admin-body .master-inline-add[open]{width:100%}
.admin-body .master-category-head:has(.master-inline-add[open]){align-items:flex-start;flex-wrap:wrap}
.admin-body .master-category-head:has(.master-inline-add[open]) .master-inline-add{flex-basis:100%}
.admin-body .master-empty-category{padding:10px 0 4px}
.admin-body .master-edit-card{margin-bottom:18px}
@media(max-width:760px){.admin-body .master-inline-add-form{min-width:0;width:100%}.admin-body .master-category-head{align-items:flex-start}}

/* v69.1: persistent Master Menu category selection */
.admin-body .master-filters .active-filter{background:#ef252b!important;color:#fff!important;border-color:#ef252b!important}

/* v69.2: persistent selected category, cache-busted */
body.admin-body .master-filters a.master-filter-btn.active-filter,body.admin-body .master-filters a.master-filter-btn[aria-current="page"]{background:#ef252b!important;color:#fff!important;border-color:#ef252b!important}

/* v69.3 - inline Master Menu editing */
body.admin-body .master-inline-edit-row{align-items:flex-end;gap:10px;flex-wrap:wrap}
body.admin-body .master-quick-edit{display:grid;grid-template-columns:minmax(180px,1.2fr) 105px 115px minmax(220px,2fr) auto;gap:8px;align-items:end;flex:1;min-width:0}
body.admin-body .master-quick-edit label{font-size:12px;font-weight:700;margin:0}
body.admin-body .master-quick-edit input,body.admin-body .master-quick-edit textarea{width:100%;margin-top:3px;background:#fff}
body.admin-body .master-quick-edit textarea{min-height:42px;resize:vertical}
body.admin-body .master-quick-edit .quick-save{margin-bottom:1px}
body.admin-body .master-inline-edit-row .master-usage-toggle{align-self:center;white-space:nowrap}
body.admin-body .master-inline-edit-row .row-actions{align-self:center}
@media(max-width:900px){body.admin-body .master-quick-edit{grid-template-columns:1fr 1fr}body.admin-body .master-quick-edit .quick-name,body.admin-body .master-quick-edit .quick-description{grid-column:1/-1}}

/* v69.4 Master Menu direct controls */
.master-inline-edit-row .master-usage-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.master-inline-edit-row .master-usage-buttons form{margin:0}
.usage-toggle-btn{border:1px solid #8f171b;border-radius:5px;padding:7px 12px;font-weight:700;cursor:pointer;min-width:82px}
.usage-toggle-btn.is-on{background:#dff3df;color:#174f22;border-color:#66a56e}
.usage-toggle-btn.is-off{background:#f8dddd;color:#7b161a;border-color:#cf777b}
.usage-toggle-btn:hover{filter:brightness(.96)}
.master-inline-edit-row .row-actions{display:flex;gap:6px;align-items:center;margin-left:auto}
.master-inline-edit-row .quick-save{background:#ef252b;color:#fff;border-color:#111}
@media(max-width:850px){.master-inline-edit-row .row-actions{margin-left:0}}

/* v69.5: Master Menu usage state must override generic admin button rules */
body.admin-body .master-usage-buttons .usage-toggle-btn.is-on{
  background:#dff3df!important;
  color:#174f22!important;
  border-color:#66a56e!important;
}
body.admin-body .master-usage-buttons .usage-toggle-btn.is-off{
  background:#f8dddd!important;
  color:#7b161a!important;
  border-color:#cf777b!important;
}
body.admin-body .master-usage-buttons .usage-toggle-btn.is-on:hover{
  background:#cceacc!important;
  color:#123f1b!important;
  border-color:#4e9158!important;
}
body.admin-body .master-usage-buttons .usage-toggle-btn.is-off:hover{
  background:#f1caca!important;
  color:#681216!important;
  border-color:#bd6267!important;
}

/* v69.6: align Master Menu row controls on one baseline */
body.admin-body .master-inline-edit-row{
  align-items:flex-end!important;
}
body.admin-body .master-inline-edit-row .master-usage-buttons,
body.admin-body .master-inline-edit-row .row-actions{
  align-self:flex-end!important;
  min-height:40px;
}
body.admin-body .master-inline-edit-row .master-usage-buttons form,
body.admin-body .master-inline-edit-row .row-actions form{
  display:flex;
  align-items:stretch;
  margin:0;
}
body.admin-body .master-inline-edit-row .usage-toggle-btn,
body.admin-body .master-inline-edit-row .row-actions .btn,
body.admin-body .master-inline-edit-row .row-actions button{
  box-sizing:border-box;
  height:40px!important;
  min-height:40px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}

/* v70 - public current menu and catering PDF admin tools */
.home-current-menu{background:#fff;border:1px solid #d6d6d6;border-top:5px solid #ef252b;border-radius:6px;padding:22px;margin-top:22px}
.current-menu-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:18px}
.current-menu-head h2{margin:3px 0 4px;font-size:30px}.current-menu-head p{margin:0;color:#444}
.home-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-menu-group{border:1px solid #d6d6d6;border-radius:5px;background:#f7f7f7;padding:12px 14px}
.home-menu-group h3{margin:0 0 8px;color:#c71920;border-bottom:3px solid #ffc515;padding-bottom:5px;font-size:18px}
.home-menu-item{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #e2e2e2;font-size:14px}.home-menu-item:last-child{border-bottom:0}.home-menu-item b{white-space:nowrap}
.admin-body .catering-pdf-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px;background:#fffbea}.admin-body .catering-pdf-tools h2{margin:0 0 4px}.admin-body .catering-pdf-tools p{margin:0;max-width:720px}.admin-body .catering-pdf-tools .actions{margin:0}.admin-body .catering-pdf-tools .success-box{flex-basis:100%;margin:0}
body.admin-body .master-inline-edit-row .master-usage-buttons .usage-toggle-btn{min-width:72px}
@media(max-width:800px){.home-menu-grid{grid-template-columns:1fr 1fr}.current-menu-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.home-menu-grid{grid-template-columns:1fr}}

/* v71 - Master Menu usage views and tighter public current menu */
body.admin-body .master-usage-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;background:#fffbea;border:1px solid #e3d78c;border-radius:6px}
body.admin-body .master-usage-filter>span{font-weight:800;margin-right:2px}
body.admin-body .master-usage-filter .active-filter{background:#ef252b!important;color:#fff!important;border-color:#ef252b!important}
.home-current-menu{padding:18px 20px}
.home-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.home-menu-group{padding:9px 11px}
.home-menu-group h3{font-size:16px;margin-bottom:5px;padding-bottom:4px}
.home-menu-item{padding:3px 0;font-size:13px}
@media(max-width:950px){.home-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.home-menu-grid{grid-template-columns:1fr}}

/* v78: subtle marker for controls visible only while logged in as admin */
.admin-only-control::before{content:"ADMIN";display:inline-block;margin-right:6px;padding:1px 4px;border:1px solid #aaa;border-radius:3px;background:#f3f3f3;color:#666;font-size:8px;font-weight:800;line-height:1.25;letter-spacing:.06em;vertical-align:1px}
.admin-only-note::before{content:"ADMIN";display:inline-block;margin-right:6px;padding:1px 4px;border:1px solid #bbb;border-radius:3px;background:#f5f5f5;color:#777;font-size:8px;font-weight:800;line-height:1.25;letter-spacing:.06em;vertical-align:1px}
@media print{.admin-only-control,.admin-only-note{display:none!important}}

/* v79: explicit admin-only badges */
.admin-only-control::before{content:none!important}
.admin-badge{display:inline-block;margin-right:6px;padding:1px 4px;border:1px solid #999;border-radius:3px;background:#f3f3f3;color:#666;font-size:8px;font-weight:800;line-height:1.25;letter-spacing:.06em;vertical-align:1px}
.admin-only-control:hover .admin-badge{background:#fff;color:#555;border-color:#ddd}
/* v83 - keep Square checkout errors next to the payment button */
.checkout-error{margin:14px 0 10px;padding:12px 14px;scroll-margin-top:24px}
/* v85 catering order management */
.catering-order-row{align-items:flex-start}.catering-order-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.catering-order-actions form{margin:0}.catering-order-actions select{height:36px;min-width:112px;border:1px solid #aaa;border-radius:5px;background:#fff;padding:0 8px;font-weight:700}.catering-order-actions .danger{background:#8e1519;color:#fff;border-color:#8e1519}

/* v87 manual catering orders + installable admin PWA */
.mobile-admin-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-dash-tile{display:grid;gap:5px;padding:20px;border:1px solid #c9c9c9;border-top:5px solid #ef252b;border-radius:6px;background:#fff;color:#111;text-decoration:none}.admin-dash-tile:hover{background:#fffbea}.admin-dash-tile b{font-size:20px}.admin-dash-tile span{color:#555}.admin-dash-tile.primary{background:#fff;color:#111;border-color:#c9c9c9}.admin-dash-tile.primary span{color:#555}.manual-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manual-item-group{border:1px solid #d6d6d6;border-radius:6px;padding:12px;background:#f7f7f7}.manual-item-group h3{margin:0 0 8px;color:#c71920;border-bottom:3px solid #ffc515;padding-bottom:5px}.manual-item-row{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #ddd}.manual-item-row:last-child{border-bottom:0}.manual-item-row input{width:72px!important}.internal-order-note{display:block!important;margin-top:4px;padding:7px 9px;background:#fffbea;border-left:4px solid #ffc515;color:#111!important}.app-install-card{border-top:5px solid #ef252b!important}.app-install-card h2{margin-top:0}@media(max-width:700px){.mobile-admin-dashboard,.manual-items{grid-template-columns:1fr}.admin-dash-tile{padding:17px}.manual-order-form .form-grid{grid-template-columns:1fr}}

.admin-test-order-btn{margin-left:8px}.admin-test-note{display:block;margin-top:8px;font-weight:700;color:#8a1519}

/* v89 - obvious mobile app installation control */
.dashboard-install-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:5px solid #ef252b!important;background:#fffbea!important;margin-bottom:16px}.dashboard-install-card h2{margin:0 0 4px}.dashboard-install-card p{margin:0}.dashboard-install-card .btn{flex:0 0 auto;font-size:17px;padding:12px 18px}.dashboard-install-card.is-installed{background:#f7f7f7!important;border-top-color:#777!important}@media(max-width:700px){.dashboard-install-card{align-items:stretch;flex-direction:column}.dashboard-install-card .btn{width:100%;justify-content:center}}

/* v92 manual catering order entry */
.manual-order-items-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:24px 0 10px}.manual-order-items-head h2{margin:0}.manual-order-items-head p{margin:4px 0 0;color:#555}.manual-running-total{font-size:18px;white-space:nowrap;padding:10px 14px;background:#fffbea;border:1px solid #d6d6d6;border-radius:6px}.manual-item-table{display:grid}.manual-item-row{display:grid!important;grid-template-columns:minmax(180px,1fr) 95px 105px 90px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #ddd}.manual-item-info{display:grid;gap:2px}.manual-item-info small{color:#666}.manual-item-price{text-align:right;font-weight:700}.manual-qty{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;margin:0!important}.manual-qty span{font-size:12px;font-weight:700;text-transform:uppercase}.manual-qty input{width:64px!important;margin:0!important;padding:8px!important;text-align:center;font-size:16px}.manual-line-total{text-align:right;font-weight:700}.manual-market{grid-column:3/5;text-align:right;color:#555}.manual-market small{font-size:11px}@media(max-width:700px){.manual-order-items-head{align-items:stretch;flex-direction:column}.manual-running-total{align-self:stretch}.manual-item-row{grid-template-columns:minmax(0,1fr) 80px 88px}.manual-line-total{grid-column:3}.manual-market{grid-column:2/4}.manual-item-price{text-align:right}.manual-qty{justify-content:flex-end}}

/* v95: Current week is the first visible calendar row; duplicate placeholder week removed. */
.this-week-schedule{gap:6px;margin-bottom:18px}
.week-day-card{border-width:1px;min-height:112px}
.week-day-heading{padding:7px}
@media(max-width:900px){.this-week-schedule{gap:3px}}

.facebook-follow{display:inline-block;margin-top:12px;font-weight:800;color:#111;text-decoration:underline;text-underline-offset:3px}
.menu-head .contact a{color:inherit;text-decoration:underline;text-underline-offset:2px}
