
:root{
  --bg:#0d1117;
  --bg-soft:#111824;
  --ink:#eef3fb;
  --muted:#98a6ba;
  --card:#151d2a;
  --line:#233043;
  --dark:#d6b15f;
  --accent:#1a2230;
  --accent-2:#273247;
  --success:#163323;
  --success-text:#b8f0c7;
  --danger:#351918;
  --danger-text:#ffb9b2;
  --warn:#3a2c11;
  --warn-text:#ffd88a;
  --radius:26px;
  --shadow:0 20px 55px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top right, rgba(214,177,95,.10), transparent 24%),
    linear-gradient(180deg,#0b1017 0%, #0d1117 55%, #111724 100%);
  color:var(--ink);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
input,select,textarea,button{font:inherit}

.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.wrap.wide{width:min(1280px,calc(100% - 32px))}
.wrap.narrow{width:min(760px,calc(100% - 32px))}
.stack-main{display:flex;flex-direction:column;gap:24px;padding:26px 0 52px}
.app-bg{min-height:100vh}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,16,23,.86);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;
}
.brand-shell{display:flex;align-items:center;gap:14px;min-width:0}
.logo-img{height:52px;width:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.06))}
.brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.brand-copy strong{font-size:1.02rem}
.brand-copy span{color:var(--muted);font-size:.92rem}
.main-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted)}
.main-nav a{
  padding:10px 14px;border-radius:999px;transition:.18s ease;
}
.main-nav a:hover{background:rgba(255,255,255,.06);color:var(--ink)}

.card{
  background:rgba(21,29,42,.94);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.pad-lg{padding:24px}
.pad-xl{padding:32px}
.pad-xxl{padding:40px}

.hero-card{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(135deg,#111012 0%, #171517 48%, #231d20 100%);
  color:#fff;
  border-color:rgba(255,255,255,.08);
}
.landing-shell{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:22px;
  align-items:stretch;
}
.landing-copy{
  display:flex;flex-direction:column;justify-content:center;gap:18px;
}
.landing-copy h1,
.hero-copy h1{margin:0;font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.04}
.landing-copy p,
.hero-copy p,
.section-copy p{margin:0;color:rgba(255,255,255,.76);line-height:1.72}
.hero-copy p{color:rgba(255,255,255,.76)}
.eyebrow{
  display:inline-flex;width:max-content;padding:10px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);font-size:.9rem
}
.eyebrow-dark{
  background:#f4efee;border:1px solid var(--line);color:var(--ink)
}
.info-pills,.kpi-inline,.button-row,.portal-links,.footer-links{display:flex;gap:10px;flex-wrap:wrap}
.info-pills span,.kpi-inline span{
  padding:10px 13px;border-radius:999px;font-size:.92rem
}
.info-pills span{
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.82)
}
.kpi-inline span{
  background:#fff;border:1px solid var(--line)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 16px;border-radius:18px;border:1px solid var(--line);
  background:#0f1622;color:var(--ink);cursor:pointer;transition:.18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--dark);border-color:var(--dark);color:#fff}

.showcase-card{
  background:rgba(255,255,255,.06);
  color:var(--ink);
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 50px rgba(0,0,0,.18);
}
.showcase-card.dark{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.1);
}
.showcase-card h3{margin:0 0 14px}
.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.feature-list li{
  padding:12px 14px;border-radius:16px;background:rgba(17,16,18,.05)
}
.showcase-card.dark .feature-list li{
  background:rgba(255,255,255,.08)
}

.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:24px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:18px}
.contact-grid,.feature-grid,.stats-grid,.status-grid,.hours-list{
  display:grid;gap:14px
}
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hours-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.info-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);gap:20px}
.quick-clock-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stack-gap{display:flex;flex-direction:column;gap:16px}
.section-head,.date-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.date-nav-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.reservation-card{
  background:rgba(12,18,28,.96);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;padding:28px;color:var(--ink);
  box-shadow:0 28px 60px rgba(0,0,0,.2)
}
.reservation-card h2{margin:0 0 12px}
.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-form label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.94rem}
.grid-form label.full,.grid-form .full{grid-column:1/-1}
input,select,textarea{
  width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);
  background:#0f1622;color:var(--ink)
}
textarea{resize:vertical;min-height:110px}
.time-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.time-slot-btn{padding:11px 12px;border-radius:15px;border:1px solid var(--line);background:#0f1622;cursor:pointer;color:var(--ink)}
.time-slot-btn.active{background:var(--dark);border-color:var(--dark);color:#fff}

.feature-card,.stat-card,.status-box,.hours-item,.list-item,.policy-card{
  background:rgba(21,29,42,.94);
  border:1px solid var(--line);
  border-radius:22px;
}
.feature-card{padding:20px;display:flex;flex-direction:column;gap:10px}
.feature-card p{margin:0;color:var(--muted);line-height:1.66}
.feature-card strong{font-size:1.06rem}
.stat-card{padding:18px 20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.stat-card span,.muted,.small{color:var(--muted)}
.stat-card strong{font-size:2rem;line-height:1.08}
.hours-item,.status-box{padding:14px 16px}
.policy-card{padding:18px 20px;background:#1b2331}
.policy-card p{color:var(--muted)!important}
.list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:var(--bg-soft)}
.list-item.compact{padding:12px 14px}
.badge,.clock-badge{
  display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;font-size:.83rem
}
.badge{background:#1c2635;color:#c6d2e3}
.badge-green{background:var(--success);color:var(--success-text)}
.badge-amber{background:var(--warn);color:var(--warn-text)}
.badge-red{background:var(--danger);color:var(--danger-text)}
.clock-badge{background:var(--dark);color:#fff}
.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.checkbox-inline,.toggle-line{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.small-input{max-width:90px}
.compact-form{align-items:start}
.portal-card{background:rgba(255,255,255,.97)}
.portal-links{margin-top:14px}

.flash{margin-top:14px;padding:14px 16px;border-radius:18px;border:1px solid var(--line)}
.flash-success{background:var(--success);color:var(--success-text);border-color:#c6e6d1}
.flash-error{background:var(--danger);color:var(--danger-text);border-color:#efc0bd}

.site-footer{padding:0 0 42px;color:var(--muted);font-size:.93rem}
.footer-inner{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
  padding-top:10px
}
.footer-links a{
  padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line)
}
.footer-discreet{opacity:.74}

.print-sheet{background:#fff;color:#000;padding:24px}
.print-sheet th,.print-sheet td{border:1px solid #ccc}

@media print{
  .btn,.site-header,.site-footer,.date-nav,.flash{display:none!important}
  body{background:#fff}
  .card{box-shadow:none;border-color:#ddd}
}

@media (max-width: 1040px){
  .landing-shell,.hero-grid,.feature-grid,.info-grid,.quick-clock-grid,.two-col,.stats-grid,.contact-grid,.hours-list,.status-grid{
    grid-template-columns:1fr
  }
}

@media (max-width: 720px){
  .wrap,.wrap.wide,.wrap.narrow{width:min(100% - 20px,1280px)}
  .header-inner{align-items:flex-start;flex-direction:column}
  .grid-form{grid-template-columns:1fr}
  .time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pad-lg{padding:18px}
  .pad-xl{padding:22px}
  .pad-xxl{padding:24px}
  .reservation-card{padding:20px}
  .list-item{align-items:flex-start;flex-direction:column}
}


.reserve-shell{background:rgba(21,29,42,.94);color:var(--ink)}
.reserve-shell h2{margin:0 0 12px;font-size:clamp(2rem,4vw,3.2rem)}
.reserve-copy{display:flex;flex-direction:column;gap:18px}
.reserve-lead,.info-dark-text{color:var(--muted)!important;line-height:1.72}
.neutral-pills span{background:#111824;border:1px solid var(--line);color:var(--ink)}
.compact-contact{grid-template-columns:1fr;gap:10px}
.mini-card{padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:#111824;display:flex;flex-direction:column;gap:6px}
.policy-soft{padding:18px 20px;border-radius:22px;background:#1b2331;border:1px solid var(--line)}
.policy-soft p{margin:8px 0 0;color:var(--muted);line-height:1.65}
.landing-restaurant{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}
.landing-visual-stack{display:flex;align-items:stretch}
.gallery-grid{display:grid;gap:18px}
.gallery-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-card{overflow:hidden;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:100%}
.gallery-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#151416}
.gallery-card.large-card img{aspect-ratio:4/5}
.gallery-meta{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.gallery-meta span{color:var(--muted);line-height:1.6}
.dark-card{background:linear-gradient(135deg,#111012 0%, #181517 100%);color:#fff;justify-content:center}
.gallery-copy-only{padding:24px;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100%}
.gallery-copy-only p{margin:0;color:rgba(255,255,255,.78);line-height:1.72}
.public-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.visit-grid .hours-list.single-col{grid-template-columns:1fr}
.consent-box{flex-direction:row!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#1b2331;color:var(--ink)!important}
.consent-box input{width:auto;margin-top:3px}
.consent-box a{text-decoration:underline}
.consent-box.optional{background:#fff}
.legal-card h1,.legal-card h3{margin:0}
.legal-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--muted);line-height:1.7}
.footer-note{margin-top:6px}
@media (max-width:1040px){
  .gallery-grid-three,.public-feature-grid,.landing-restaurant{grid-template-columns:1fr}
}


.menu-preview-shell{display:flex;flex-direction:column;gap:18px}
.menu-preview-head{align-items:flex-end}
.menu-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.menu-preview-card{padding:20px;border-radius:22px;border:1px solid var(--line);background:#fff}
.menu-preview-card h3{margin:0 0 14px}
.menu-preview-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.menu-preview-item:first-of-type{border-top:0;padding-top:0}
.menu-preview-item span{color:var(--muted);white-space:nowrap}

.menu-hero-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:20px}
.menu-hero-copy h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.4rem)}
.menu-hero-side{display:grid;gap:14px}
.menu-special-card{padding:20px;border-radius:24px;background:#1b2331;border:1px solid var(--line)}
.menu-special-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.menu-special-top strong{font-size:1.08rem}
.menu-special-top span{white-space:nowrap;font-weight:700}
.menu-special-card p{margin:0 0 10px;color:var(--muted);line-height:1.65}
.menu-special-card ul{margin:0;padding-left:18px;color:var(--muted);display:flex;flex-direction:column;gap:8px;line-height:1.6}
.menu-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.menu-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:22px}
.menu-card h2{margin:0 0 6px}
.menu-card-head p{margin:0;color:var(--muted);line-height:1.6}
.menu-items{display:flex;flex-direction:column;gap:2px;margin-top:18px}
.menu-item-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.menu-item-row:first-child{border-top:0;padding-top:0}
.menu-item-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.menu-item-copy span{color:var(--muted);line-height:1.6}
.menu-price{white-space:nowrap;font-weight:700;font-size:1.02rem}
.menu-note-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.menu-note-copy{max-width:760px}
.menu-note-copy h2{margin:0 0 8px}

@media (max-width:1040px){
  .menu-preview-grid,.menu-section-grid,.menu-hero-shell{grid-template-columns:1fr}
}

/* v1.7 dark horeca refinement */
:root{
  --bg:#0d1117;
  --bg-soft:#111824;
  --ink:#eef3fb;
  --muted:#98a6ba;
  --card:#151d2a;
  --line:#233043;
  --dark:#d6b15f;
  --accent:#1a2230;
  --accent-2:#273247;
  --success:#163323;
  --success-text:#b8f0c7;
  --danger:#351918;
  --danger-text:#ffb9b2;
  --warn:#3a2c11;
  --warn-text:#ffd88a;
  --radius:26px;
  --shadow:0 20px 55px rgba(0,0,0,.28);
}
body{
  background: radial-gradient(circle at top right, rgba(214,177,95,.08), transparent 22%), linear-gradient(180deg,#090b10 0%, #0d1118 45%, #0a0d13 100%);
}
.site-header{background:rgba(10,13,18,.82);border-bottom:1px solid rgba(255,255,255,.06)}
.main-nav a:hover,.main-nav a:focus{background:rgba(255,255,255,.06);color:var(--ink)}
.card,.feature-card,.stat-card,.status-box,.hours-item,.list-item,.policy-card,.menu-card,.menu-preview-card,.menu-special-card,.mini-card,.policy-soft,.reservation-card,.showcase-card,.footer-links a,.feature-card-active{background:var(--card)!important;color:var(--ink);border-color:var(--line)!important}
.showcase-card,.reservation-card,.hero-card,.gallery-card,.menu-card,.stat-card{box-shadow:var(--shadow)}
input,select,textarea{background:#0f131a;color:var(--ink);border-color:var(--line)}
.btn{background:#141922;color:var(--ink);border-color:var(--line)}
.btn-dark{background:var(--accent);border-color:var(--accent);color:#111}
.time-slot-btn{background:#10151d;color:var(--ink);border-color:var(--line)}
.time-slot-btn.active{background:var(--accent);border-color:var(--accent);color:#111}
.consent-box,.consent-box.optional,.policy-soft{background:#11161d!important}
.site-footer{color:var(--muted)}
.mini-card span,.feature-card p,.menu-item-copy span,.menu-card-head p,.menu-special-card p,.menu-special-card ul,.gallery-meta span{color:var(--muted)!important}
.brand-copy span,.muted,.small{color:var(--muted)!important}
.feature-card strong,.stat-card strong,.menu-card h2,.reservation-card h2,.card h1,.card h2,.card h3,.card strong{color:var(--ink)}
.public-feature-grid .feature-card,.planner-actions-grid .feature-card{min-height:100%}
.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-tile{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#10141c}
.portal-tile span{color:var(--muted);line-height:1.6}
.compact-stats .stat-card strong a{color:inherit;text-decoration:underline}
.planner-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.window-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feature-card-active{outline:1px solid rgba(214,177,95,.55)}
.planner-board-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}
.drag-source,.drop-lane{display:flex;flex-direction:column;gap:12px;min-height:120px}
.drag-card{padding:14px 16px;border-radius:18px;background:#10151d;border:1px dashed #394252;cursor:grab;display:flex;flex-direction:column;gap:6px}
.drag-card span,.drag-card small{color:var(--muted)}
.drop-lane{padding:14px;border-radius:20px;background:#0f141b;border:1px dashed #313949}
.drop-lane.drag-over{border-color:var(--accent);background:#151a1f}
.lane-block{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:22px;background:#121720}
.lane-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.lane-times{display:flex;gap:8px;flex-wrap:wrap}
.team-overview-block{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--line)}
.team-overview-block:first-child{padding-top:0;border-top:0}
.section-head h1,.section-head h3{margin:0}
@media (max-width:1040px){
  .planner-actions-grid,.window-day-grid,.planner-board-layout,.portal-grid{grid-template-columns:1fr}
}

.availability-quick-options{display:flex;flex-direction:column;gap:10px;background:#111824}
.availability-quick-options strong{font-size:1rem}
.availability-quick-options .checkbox-inline{font-size:.95rem}


/* v1.8 polish */
.logo-img{height:46px;background:#fff;border-radius:14px;padding:8px}
.eyebrow-dark,.kpi-inline span,.info-pills.neutral-pills span,.consent-box.optional{background:#11161d!important;color:var(--ink)!important;border-color:var(--line)!important}
.gallery-grid{display:none!important}
.compact-hero-shell{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);padding:30px 32px!important}
.compact-landing-copy{gap:14px}
.compact-landing-copy h1{font-size:clamp(2.5rem,4vw,4rem)}
.compact-landing-copy p{max-width:780px}
.hero-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero-stat{padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:6px}
.hero-stat span{color:rgba(255,255,255,.72);line-height:1.55}
.compact-side-panel{background:rgba(14,18,25,.95)!important}
.compact-side-panel h2{margin:0 0 12px}
.hero-info-list{display:grid;gap:14px;margin-bottom:16px}
.hero-info-list div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:18px;background:#10151d;border:1px solid var(--line)}
.hero-info-list span{color:var(--muted);line-height:1.55}
.visit-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:18px;align-items:start}
.visit-summary-cards{display:grid;grid-template-columns:1fr;gap:12px}
.dark-portal-card{max-width:760px;margin:0 auto;background:#121823!important}
.compact-portal-links{justify-content:flex-start}
.week-nav{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center}
.week-nav-label{justify-self:center;color:var(--muted);font-weight:600}
.weekly-day-block{display:flex;flex-direction:column;gap:16px}
.weekly-roster-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}
.availability-pool-card{background:#11161d!important}
.drag-card-muted{opacity:.68}
.admin-clock-form input,.admin-clock-form select{max-width:150px}
.week-ai-day{display:flex;flex-direction:column;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.week-ai-day:first-child{border-top:0;padding-top:0}
.portal-card{background:#121823!important;color:var(--ink)!important}
.portal-card .muted{color:var(--muted)!important}
.portal-card h1{margin-top:14px}
.portal-card .eyebrow{background:rgba(255,255,255,.05);color:rgba(255,255,255,.86);border-color:rgba(255,255,255,.08)}
@media (max-width:1040px){
  .compact-hero-shell,.visit-summary-grid,.weekly-roster-layout{grid-template-columns:1fr}
  .hero-stat-row,.week-nav{grid-template-columns:1fr}
}
