:root,
:root[data-theme="dark"]{
  --brand:#760128;
  --bg:#0f0f12;
  --bg-gradient-start:#0d0d10;
  --bg-gradient-end:#101018;
  --card:#17171c;
  --surface:rgba(23,23,28,.85);
  --surface-secondary:rgba(12,12,15,.75);
  --surface-subtle:rgba(255,255,255,.035);
  --table-bg:rgba(12,12,15,.45);
  --table-head-bg:rgba(12,12,15,.72);
  --input-bg:rgba(12,12,15,.75);
  --menu-bg:#1b1b21;
  --hover-bg:rgba(255,255,255,.06);
  --active-bg:rgba(118,1,40,.28);
  --muted:#9aa0a6;
  --text:#f2f3f5;
  --text-soft:rgba(242,243,245,.9);
  --text-subtle:rgba(242,243,245,.72);
  --border:#2a2a33;
  --border-soft:rgba(255,255,255,.10);
  --border-strong:rgba(255,255,255,.18);
  --focus:#e38bad;
  --danger-text:#ffb3ad;
  --success-text:#8ce7b1;
  --notice-bg:rgba(255,255,255,.04);
  --ok:#2ecc71;
  --warn:#f39c12;
  --danger:#e74c3c;
}

:root[data-theme="light"]{
  --brand:#760128;
  --bg:#f6f5f2;
  --bg-gradient-start:#f6f5f2;
  --bg-gradient-end:#efede9;
  --card:#ffffff;
  --surface:rgba(255,255,255,.94);
  --surface-secondary:#f1efec;
  --surface-subtle:rgba(118,1,40,.035);
  --table-bg:#ffffff;
  --table-head-bg:#f4f2ef;
  --input-bg:#ffffff;
  --menu-bg:#ffffff;
  --hover-bg:rgba(118,1,40,.06);
  --active-bg:rgba(118,1,40,.10);
  --muted:#6b6f76;
  --text:#202124;
  --text-soft:#34363a;
  --text-subtle:#6b6f76;
  --border:#dddad5;
  --border-soft:rgba(63,54,49,.12);
  --border-strong:rgba(63,54,49,.24);
  --focus:#9f2650;
  --danger-text:#9f1d24;
  --success-text:#176b3a;
  --notice-bg:#f1efec;
  --ok:#237a45;
  --warn:#946000;
  --danger:#b3262e;
}

:root{
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --space-xs:4px;
  --space-sm:8px;
  --space-md:14px;
  --space-lg:20px;
  --control-height:44px;
  --control-height-compact:36px;
  --shadow-popover:0 16px 40px rgba(0,0,0,.42);
  --shadow-dialog:0 24px 70px rgba(0,0,0,.46);
}

*{box-sizing:border-box;}
html,body{height:100%;}
html{color-scheme:dark;}
html[data-theme="light"]{color-scheme:light;}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  background:linear-gradient(180deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);
  color:var(--text);
}

a{color:inherit}
.container{
  max-width:1200px;
  margin:0 auto;
  padding:20px;
}

.topbar{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  backdrop-filter: blur(8px);
}
.topbar img{width:42px;height:42px;}
:root[data-theme="light"] .topbar img{padding:3px;border-radius:50%;background:#202124;}
.topbar h1{font-size:22px;margin:0;font-weight:700;letter-spacing:.2px;}
.topbar .spacer{flex:1}

.card,.ui-card{
  margin-top:14px;
  padding:16px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  backdrop-filter: blur(8px);
}
.ui-card-compact{padding:var(--space-md);}
.ui-card-subtle{background:var(--surface-subtle);backdrop-filter:none;}
.ui-card-danger{border-color:color-mix(in srgb,var(--danger) 48%,var(--border));}

.ui-card-header,.ui-section-header,.ui-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-md);
}
.ui-card-title,.ui-section-title,.ui-page-title{margin:0;color:var(--text);line-height:1.25;}
.ui-page-title{font-size:24px;}
.ui-card-description,.ui-section-description,.ui-page-description{margin:var(--space-xs) 0 0;color:var(--text-subtle);line-height:1.5;}
.ui-card-content{margin-top:var(--space-md);}
.ui-card-footer{margin:var(--space-md) -16px -16px;padding:var(--space-md) 16px;border-top:1px solid var(--border-soft);}
.ui-card-actions,.ui-section-actions,.ui-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;}

.row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-end;
}

.ui-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;}
.ui-actions-start{justify-content:flex-start;}
.ui-actions-end{justify-content:flex-end;}
.ui-actions-between{justify-content:space-between;}

.btn{
  appearance:none;
  border:1px solid var(--border-soft);
  background:var(--brand);
  color:white;
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:650;
  letter-spacing:.2px;
  transition: transform .05s ease, opacity .15s ease;
  text-decoration:none;
  display:inline-flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  min-height:var(--control-height);
}
.btn:hover{opacity:.95}
.btn:active{transform: translateY(1px);}
.btn.secondary:hover{background:var(--hover-bg);}
.btn.danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent);}
.btn:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
a:focus-visible{
  outline:3px solid color-mix(in srgb,var(--focus) 60%,transparent);
  outline-offset:2px;
}
.btn:disabled,.btn[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58;}
.btn.secondary{
  background:transparent;
  border:1px solid var(--border-strong);
  color:var(--text);
}
.btn.danger{
  background:transparent;
  border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);
  color:var(--danger-text);
}
.btn.small{min-height:var(--control-height-compact);padding:7px 10px;border-radius:var(--radius-sm);font-size:12px;}
.btn.icon,.ui-icon-button{width:var(--control-height);height:var(--control-height);padding:0;justify-content:center;}
.btn.full-width{width:100%;}
.btn.ghost{border-color:transparent;background:transparent;color:var(--text);}
.btn.ghost:hover{background:var(--hover-bg);opacity:1;}
.btn.loading{cursor:progress;opacity:.7;pointer-events:none;}
.ui-icon-button{
  appearance:none;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface-secondary);
  color:var(--text);
  cursor:pointer;
}
.ui-icon-button:hover{background:var(--hover-bg);}
.ui-icon-button-small{width:var(--control-height-compact);height:var(--control-height-compact);border-radius:var(--radius-sm);}
.ui-icon-button-danger{border-color:color-mix(in srgb,var(--danger) 48%,var(--border));color:var(--danger-text);}

.ui-form{display:block;}
.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);}
.ui-form-field{min-width:0;}
.ui-form-field-full{grid-column:1 / -1;}
.ui-form-section{padding-top:var(--space-md);border-top:1px solid var(--border-soft);}
.ui-form-section-title{margin:0 0 var(--space-md);}
.ui-form-help,.ui-form-error{display:block;margin-top:var(--space-xs);font-size:12px;line-height:1.4;}
.ui-form-help{color:var(--muted);}
.ui-form-error{color:var(--danger-text);}
.ui-form-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md);}
.ui-inline-check{display:flex;align-items:flex-start;gap:10px;margin:0;}
.ui-inline-check input{flex:0 0 auto;width:auto;margin-top:3px;}

.ui-mt-0{margin-top:0!important;}
.ui-mt-sm{margin-top:var(--space-sm)!important;}
.ui-mt-md{margin-top:var(--space-md)!important;}
.ui-stack-sm{display:grid;gap:var(--space-sm);}
.ui-stack-md{display:grid;gap:var(--space-md);}
.ui-text-muted{color:var(--muted);}
.ui-text-right{text-align:right;}

.kpi{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.kpi .box{
  min-width:240px;
  padding:14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface-secondary);
}
.kpi .label{color:var(--muted); font-size:12px;}
.kpi .value{font-size:24px; font-weight:750; margin-top:4px;}

label{display:block; font-size:12px; color:var(--muted); margin-bottom:6px;}
input, select, textarea{
  width:100%;
  padding:10px 11px;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--input-bg);
  color:var(--text);
  outline:none;
}
textarea{min-height:110px; resize:vertical;}
input[type="file"]{padding:8px;}
input[type="file"]::file-selector-button{
  margin-right:10px;
  padding:7px 10px;
  border:1px solid var(--border-strong);
  border-radius:8px;
  background:var(--surface-secondary);
  color:var(--text);
  cursor:pointer;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand);}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent);}
select option{background:var(--input-bg);color:var(--text);}

.theme-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.theme-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:flex-start;
  min-height:92px;
  margin:0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-secondary);
  color:var(--text);
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.theme-option:hover{background:var(--hover-bg);}
.theme-option:focus-within{outline:3px solid color-mix(in srgb,var(--focus) 60%,transparent);outline-offset:2px;}
.theme-option.selected{border-color:var(--brand);background:var(--active-bg);box-shadow:inset 0 0 0 1px var(--brand);}
.theme-option input{width:auto;margin:3px 0 0;}
.theme-option-copy{display:flex;flex-direction:column;gap:5px;}
.theme-option-copy strong{font-size:15px;}
.theme-option-copy small{color:var(--muted);font-size:12px;line-height:1.4;}
.theme-option-check{color:var(--brand);font-size:17px;font-weight:900;opacity:0;}
.theme-option.selected .theme-option-check{opacity:1;}
@media (max-width:700px){.theme-options{grid-template-columns:1fr;}.theme-option{min-height:0;}}
.business-logo-preview{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:190px;
  min-height:88px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.business-logo-preview img{
  max-width:170px;
  max-height:92px;
  object-fit:contain;
  display:block;
}
.overview-filter-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.overview-summary-card{position:relative;z-index:3;overflow:visible;padding:14px 16px;}
.overview-summary-layout{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.overview-summary-content{min-width:0;flex:1;}
.overview-summary-heading{margin:0 0 9px;color:var(--text);font-size:16px;line-height:1.25;}
.overview-kpi-list{display:flex;align-items:stretch;gap:8px;}
.overview-kpi-item{display:flex;min-width:0;align-items:baseline;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-secondary);}
.overview-kpi-item.is-filtered{border-color:color-mix(in srgb,var(--brand) 38%,var(--border));background:color-mix(in srgb,var(--brand) 6%,var(--surface-secondary));}
.overview-kpi-value{color:var(--text);font-size:18px;font-weight:750;line-height:1.2;white-space:nowrap;}
.overview-kpi-label{color:var(--muted);font-size:12px;line-height:1.2;white-space:nowrap;}
.overview-filter-card{position:relative;z-index:2;overflow:visible;}
.overview-filter-header{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  gap:12px;
  align-items:end;
}
.overview-search-field{min-width:0;}
.overview-search-control{position:relative;}
.overview-search-control input{min-height:44px;padding-left:42px;font-size:15px;}
.overview-search-icon{position:absolute;left:13px;top:50%;z-index:1;width:19px;height:19px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;pointer-events:none;}
.overview-availability-filter{
  position:relative;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-subtle);
  color:var(--text);
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  cursor:pointer;
}
.overview-availability-filter input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.overview-availability-toggle{position:relative;flex:0 0 auto;width:36px;height:20px;border:1px solid var(--border);border-radius:999px;background:var(--surface-secondary);transition:background .15s ease,border-color .15s ease;}
.overview-availability-toggle::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s ease,background .15s ease;}
.overview-availability-filter input[type="checkbox"]:checked + .overview-availability-toggle{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 28%,var(--surface-secondary));}
.overview-availability-filter input[type="checkbox"]:checked + .overview-availability-toggle::after{transform:translateX(16px);background:var(--text);}
.overview-availability-filter input[type="checkbox"]:focus-visible + .overview-availability-toggle{outline:3px solid color-mix(in srgb,var(--focus) 60%,transparent);outline-offset:2px;}
.overview-search-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.overview-search-actions .btn{min-height:44px;justify-content:center;}
.overview-filter-reset{font-size:13px;}
.overview-active-filters{padding-top:1px;}
.overview-filter-chip-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.overview-filter-chip{display:inline-flex;max-width:100%;min-height:38px;align-items:center;gap:7px;padding:5px 6px 5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-secondary);color:var(--text);font-size:12px;line-height:1.25;text-decoration:none;}
.overview-filter-chip:hover{border-color:color-mix(in srgb,var(--brand) 38%,var(--border));background:var(--hover-bg);}
.overview-filter-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.overview-filter-chip-text>span{color:var(--muted);}
.overview-filter-chip-remove{display:grid;flex:0 0 auto;width:27px;height:27px;place-items:center;border-radius:50%;background:var(--hover-bg);font-size:18px;font-weight:500;line-height:1;}
.overview-advanced-filters{
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-subtle);
  overflow:hidden;
}
.overview-advanced-filters summary{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  color:var(--text);
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.overview-advanced-filters summary::-webkit-details-marker{display:none;}
.overview-advanced-filters summary::before{
  content:"+";
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--hover-bg);
  color:var(--muted);
  font-weight:800;
}
.overview-advanced-filters[open] summary::before{content:"-";}
.overview-active-filter-count{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-secondary);color:var(--muted);font-size:11px;font-weight:650;}
.overview-active-filter-count strong{color:var(--text);font-size:12px;}
.overview-filter-groups{display:grid;gap:17px;padding:13px;border-top:1px solid var(--border-soft);}
.overview-filter-group{min-width:0;margin:0;padding:0;border:0;}
.overview-filter-group legend{width:100%;margin:0 0 9px;padding:0;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;}
.overview-filter-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;}
.overview-filter-field{min-width:0;margin:0;}
.overview-filter-field label{margin-bottom:6px;}
.overview-filter-field-quarter{grid-column:span 3;}
.overview-filter-field-third{grid-column:span 4;}
.overview-filter-field-half{grid-column:span 6;}
@media (max-width:900px){
  .overview-filter-header{grid-template-columns:minmax(0,1fr) auto;}
  .overview-search-field{grid-column:1/-1;}
  .overview-filter-field-quarter,.overview-filter-field-third,.overview-filter-field-half{grid-column:span 6;}
}
@media (max-width:600px){
  .overview-filter-header{grid-template-columns:1fr;}
  .overview-search-field{grid-column:auto;}
  .overview-availability-filter{width:100%;white-space:normal;}
  .overview-search-actions{display:grid;grid-template-columns:1fr;}
  .overview-search-actions .btn{width:100%;}
  .overview-filter-field-quarter,.overview-filter-field-third,.overview-filter-field-half{grid-column:span 12;}
  .overview-filter-chip{min-height:44px;}
  .overview-filter-groups{padding:12px 10px;}
}
.autocomplete-field{position:relative;}
.autocomplete-results{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  margin-top:4px;
  max-height:240px;
  overflow:auto;
  border:1px solid rgba(148,163,184,.35);
  border-radius:8px;
  background:#fff;
  color:#172033;
  box-shadow:0 14px 34px rgba(15,23,42,.18);
  padding:4px;
}
.autocomplete-option{
  width:100%;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#172033;
  cursor:pointer;
  padding:8px 10px;
  text-align:left;
  font-weight:600;
}
.autocomplete-option:hover,
.autocomplete-option.is-active{
  background:#eaf2ff;
  color:#0f2f5f;
}
.autocomplete-count{
  white-space:nowrap;
  color:#475569;
  font-size:12px;
  font-weight:700;
}
.inventory-history-table{min-width:920px;}
.inventory-in{color:#4ade80;}
.inventory-out{color:#f87171;}
.inventory-history-filters{align-items:end;}
.inventory-history-filter-field{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.inventory-history-filter-field input,
.inventory-history-filter-field select{
  min-height:42px;
}
.help-content{
  max-width:920px;
  margin:0 auto;
}
.help-content h3{
  margin:30px 0 10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
  font-size:22px;
}
.help-content h3:first-child{margin-top:0;}
.help-content h4{
  margin:22px 0 8px;
  font-size:17px;
}
.help-content p{margin:0 0 14px;}
.help-content ul{
  margin:0 0 18px;
  padding-left:22px;
}
.help-content li{margin:6px 0;}
.sommelier-filters{
  display:grid;
  grid-template-columns:minmax(260px,2fr) repeat(5,minmax(140px,1fr));
  gap:12px;
  align-items:end;
}
.sommelier-filter-search{grid-column:span 2;}
.sommelier-filters input,
.sommelier-filters select{min-height:42px;}
.sommelier-recommended-filter{
  align-self:center;
  margin:0;
  min-height:42px;
}
.sommelier-filter-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.sommelier-results{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sommelier-wine{margin:0;}
.sommelier-wine.is-out{opacity:.78;}
.sommelier-wine-summary{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.sommelier-wine-image{
  width:84px;
  aspect-ratio:3/4;
  flex:0 0 84px;
  border:1px solid var(--border);
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.sommelier-wine-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sommelier-wine-main{min-width:0;flex:1;}
.sommelier-wine h3{
  margin:0 0 3px;
  font-size:18px;
}
.sommelier-meta,
.sommelier-prices{
  display:flex;
  gap:8px 16px;
  flex-wrap:wrap;
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
}
.sommelier-prices{
  color:var(--text);
  padding-top:8px;
  border-top:1px solid var(--border);
}
.sommelier-pairings{
  margin-top:9px;
  color:#b8e0c4;
  font-size:13px;
}
.sommelier-internal-note,
.sommelier-warning{
  margin-top:9px;
  padding:8px 10px;
  border-left:3px solid #60a5fa;
  background:rgba(96,165,250,.08);
  color:var(--text);
  font-size:13px;
  line-height:1.45;
}
.sommelier-warning{
  border-left-color:#f87171;
  background:rgba(248,113,113,.08);
}
.sommelier-recommended{
  background:rgba(250,204,21,.14);
  border-color:rgba(250,204,21,.38);
  color:#fde68a;
}
.sommelier-details{
  margin-top:14px;
  border-top:1px solid var(--border);
  padding-top:12px;
}
.sommelier-details summary{
  cursor:pointer;
  color:var(--text);
  font-weight:700;
}
.sommelier-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr);
  gap:22px;
  margin-top:16px;
}
.sommelier-detail-grid h4{margin:0 0 10px;}
.sommelier-detail-grid p{line-height:1.55;}
.sommelier-profile-form{
  padding-left:20px;
  border-left:1px solid var(--border);
}
.sommelier-profile-form textarea{
  min-height:84px;
  margin-bottom:12px;
}
.sommelier-profile-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  margin-bottom:12px;
}
.sommelier-profile-fields input,
.sommelier-profile-fields select{min-height:42px;}
.pro-inventory-table{
  min-width:1080px;
}
.pro-inventory-table small{
  display:block;
  margin-top:4px;
}
.pro-inventory-count-input{
  max-width:96px;
  min-height:38px;
  text-align:right;
}
.service-manual-order{
  display:grid;
  grid-template-columns:minmax(300px,2fr) minmax(150px,.8fr) minmax(90px,.35fr) minmax(180px,1fr);
  gap:12px;
  align-items:end;
}
.service-manual-option{
  display:grid;
  grid-template-columns:minmax(160px,.8fr) minmax(260px,1.4fr);
  gap:8px;
}
.service-manual-option label{grid-column:1 / -1;}
.service-manual-order input,
.service-manual-order select{min-height:42px;}
.service-manual-actions{
  grid-column:1 / -1;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.service-stock-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:12px;
}
.service-stock-grid .card{margin:0;}
.service-open-stock-table{min-width:560px;}
.service-pour-table{min-width:680px;}
.orderbird-preview-scroll{max-height:520px;}
.orderbird-preview-table{min-width:720px;}
@media (max-width:1100px){
  .sommelier-filters{grid-template-columns:repeat(3,minmax(0,1fr));}
  .sommelier-filter-search{grid-column:span 2;}
  .service-manual-order{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-manual-option{grid-column:1 / -1;}
  .service-stock-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .sommelier-filters{grid-template-columns:1fr;}
  .sommelier-filter-search{grid-column:auto;}
  .sommelier-wine-summary{gap:10px;}
  .sommelier-wine-image{width:64px;flex-basis:64px;}
  .sommelier-detail-grid{grid-template-columns:1fr;}
  .sommelier-profile-form{
    padding-left:0;
    padding-top:16px;
    border-left:0;
    border-top:1px solid var(--border);
  }
  .sommelier-profile-fields{grid-template-columns:1fr;}
  .service-manual-order{grid-template-columns:1fr;}
  .service-manual-option{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .service-manual-option label{grid-column:auto;}
}
.wine-master-picker{
  padding:12px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.wine-master-results{max-height:320px;}
.wine-master-option-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.wine-master-option-main strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wine-master-option-main small{
  color:#64748b;
  font-weight:500;
}

.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:12px;
}
.col-12{grid-column: span 12;}
.col-6{grid-column: span 6;}
.col-4{grid-column: span 4;}
.col-3{grid-column: span 3;}
.col-2{grid-column: span 2;}

@media (max-width: 900px){
  .col-6,.col-4,.col-3,.col-2{grid-column: span 12;}
  .kpi .box{min-width:unset; flex:1}
}

.tablewrap,.ui-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;}
.ui-table-card{padding:0;overflow:hidden;}
.ui-table{width:100%;}
.ui-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;}
.ui-table-empty{padding:var(--space-lg);color:var(--muted);text-align:center;}
.wine-list-card{padding:0;overflow:hidden;}
.wine-list-wrap{
  overflow:auto;
  border:0;
  border-radius:15px;
  background:var(--table-bg);
}
.wine-list-table{
  table-layout:fixed;
}
.wine-list-table th,
.wine-list-table td{
  padding:11px 10px;
}
.wine-list-table th:nth-child(1),
.wine-list-table td:nth-child(1){width:54px;}
.wine-list-table th:nth-child(2),
.wine-list-table td:nth-child(2){width:13%;}
.wine-list-table th:nth-child(3),
.wine-list-table td:nth-child(3){width:24%;}
.wine-list-table th:nth-child(4),
.wine-list-table td:nth-child(4){width:78px;}
.wine-list-table th:nth-child(5),
.wine-list-table td:nth-child(5){width:9%;}
.wine-list-table th:nth-child(6),
.wine-list-table td:nth-child(6){width:12%;}
.wine-list-table th:nth-child(7),
.wine-list-table td:nth-child(7){width:10%;}
.wine-list-table th:nth-child(8),
.wine-list-table td:nth-child(8){width:9%;}
.wine-list-table th:nth-child(9),
.wine-list-table td:nth-child(9){width:70px;}
.wine-list-table th:nth-child(10),
.wine-list-table td:nth-child(10){width:86px;}
.wine-list-table th:nth-child(11),
.wine-list-table td:nth-child(11),
.wine-list-table th:nth-child(12),
.wine-list-table td:nth-child(12){width:58px;}
.wine-list-table th:nth-child(13),
.wine-list-table td:nth-child(13){width:58px;}
.wine-list-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}
.wine-list-table td:not(:nth-child(3)){
  white-space:nowrap;
}
.wine-list-table thead th{
  color:var(--text-subtle);
  font-size:11px;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.wine-list-table tbody tr:last-child td{border-bottom:0;}
.wine-click-row{cursor:pointer;}
.wine-click-row:focus-visible{
  position:relative;
  outline:3px solid color-mix(in srgb,var(--focus) 60%,transparent);
  outline-offset:-3px;
}
.wine-sort-link{display:inline-flex;align-items:center;gap:5px;}
.wine-sort-link.is-active{color:var(--text);font-weight:800;}
.wine-sort-icon{color:var(--focus);font-size:13px;line-height:1;}
.wine-name-cell{display:flex;min-width:0;align-items:center;gap:10px;}
.wine-name-cell strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.35;}
.wine-winemaker-cell{color:var(--text-soft);font-weight:600;}
.wine-list-thumb{display:block;flex:0 0 auto;line-height:0;}
.wine-list-thumb img{width:42px;height:42px;object-fit:cover;border:1px solid var(--border);border-radius:9px;background:var(--surface-secondary);}
.wine-stock-badge{min-width:34px;justify-content:center;}
.wine-list-table .wine-stock-badge.stock-zero{background:color-mix(in srgb,var(--danger) 16%,transparent)!important;color:var(--danger-text)!important;}
.wine-number-col,.wine-vintage-col,.wine-stock-col,.wine-price-col,.wine-crate-col,.wine-shelf-col,
.wine-number-cell,.wine-vintage-cell,.wine-stock-cell,.wine-price-cell,.wine-crate-cell,.wine-shelf-cell{text-align:right;}
.wine-price-cell{font-variant-numeric:tabular-nums;white-space:nowrap!important;}
.wine-action-col{width:58px;}
.wine-action-cell{text-align:center;}
.wine-offer-icon-btn{width:34px;height:34px;justify-content:center;padding:0;border-radius:10px;}
.wine-offer-icon-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.wine-offer-icon-btn text{fill:currentColor;stroke:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:11px;font-weight:800;}
.wine-empty-state{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px;text-align:center;}
.wine-empty-state strong{font-size:17px;}
.wine-empty-state span{max-width:420px;color:var(--muted);font-size:13px;}

@media (max-width: 800px){
  .wine-list-card{overflow:visible;padding:0;background:transparent;border:0;backdrop-filter:none;}
  .wine-list-wrap{overflow:visible;background:transparent;}
  .wine-list-table{display:block;min-width:0;background:transparent;table-layout:auto;}
  .wine-list-table th,
  .wine-list-table td{width:auto!important;}
  .wine-list-table thead{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .wine-list-table tbody{display:grid;gap:10px;}
  .wine-list-table tbody tr.wine-click-row{
    display:grid;
    min-width:0;
    grid-template-columns:minmax(0,1fr) minmax(74px,auto) auto;
    grid-template-areas:
      "name name number"
      "winemaker vintage vintage"
      "type grape grape"
      "drinking bottle bottle"
      "stock price action"
      "crate shelf action";
    column-gap:12px;
    row-gap:0;
    padding:13px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
    backdrop-filter:blur(8px);
  }
  .wine-list-table tbody tr.wine-click-row:hover{background:var(--surface);border-color:var(--border-strong);}
  .wine-list-table tbody tr.wine-click-row:focus-visible{outline-offset:2px;}
  .wine-list-table tbody tr.wine-click-row td{
    display:flex;
    min-width:0;
    align-items:center;
    gap:6px;
    overflow:visible;
    padding:6px 0;
    border:0;
    white-space:normal;
  }
  .wine-list-table tbody tr.wine-click-row td::before{
    flex:0 0 auto;
    color:var(--muted);
    content:attr(data-label);
    font-size:10px;
    font-weight:750;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .wine-list-table .wine-name-table-cell{grid-area:name;padding:0 0 7px;}
  .wine-list-table .wine-name-table-cell::before,
  .wine-list-table .wine-winemaker-cell::before,
  .wine-list-table .wine-vintage-cell::before{display:none;}
  .wine-name-cell{gap:12px;}
  .wine-name-cell strong{overflow:visible;text-overflow:clip;font-size:16px;white-space:normal;}
  .wine-list-thumb img{width:52px;height:52px;border-radius:10px;}
  .wine-list-table .wine-number-cell{grid-area:number;align-self:start;justify-self:end;padding:3px 0 0;}
  .wine-list-table .wine-number-cell::before{display:none;}
  .wine-number-cell .idpair{padding:3px 7px;border:1px solid var(--border-soft);border-radius:999px;color:var(--muted);font-size:11px;}
  .wine-list-table .wine-winemaker-cell{grid-area:winemaker;padding-top:2px;color:var(--text-soft);font-size:13px;}
  .wine-list-table .wine-vintage-cell{grid-area:vintage;justify-self:end;padding-top:2px;font-size:13px;font-weight:750;}
  .wine-list-table .wine-type-cell{grid-area:type;border-top:1px solid var(--border-soft);margin-top:6px;padding-top:10px;}
  .wine-list-table .wine-grape-cell{grid-area:grape;border-top:1px solid var(--border-soft);margin-top:6px;padding-top:10px;}
  .wine-list-table .wine-drinking-cell{grid-area:drinking;}
  .wine-list-table .wine-bottle-cell{grid-area:bottle;}
  .wine-list-table .wine-stock-cell{grid-area:stock;border-top:1px solid var(--border-soft);margin-top:6px;padding-top:10px;}
  .wine-list-table .wine-price-cell{grid-area:price;border-top:1px solid var(--border-soft);margin-top:6px;padding-top:10px;font-weight:750;}
  .wine-list-table .wine-crate-cell{grid-area:crate;}
  .wine-list-table .wine-shelf-cell{grid-area:shelf;}
  .wine-list-table .wine-action-cell{grid-area:action;align-self:end;justify-self:end;justify-content:flex-end;}
  .wine-list-table .wine-action-cell::before{display:none;}
  .wine-list-table .wine-offer-icon-btn{width:44px;height:44px;}
  .wine-empty-row{display:block;}
  .wine-empty-row td{display:block!important;padding:0!important;border:1px solid var(--border)!important;border-radius:14px;background:var(--surface);}
  .wine-empty-state{min-height:210px;}
  .wine-pagination-card{padding:12px;}
  .pagination{align-items:stretch;}
  .pagination .meta{width:100%;text-align:center;}
  .pagination .pages{width:100%;justify-content:center;}
}

@media (max-width: 390px){
  .wine-list-table tbody tr.wine-click-row{grid-template-columns:minmax(0,1fr) minmax(66px,auto) auto;padding:12px;column-gap:9px;}
  .wine-list-table tbody tr.wine-click-row td{font-size:12px;}
  .wine-list-table tbody tr.wine-click-row td::before{font-size:9px;}
  .wine-list-thumb img{width:48px;height:48px;}
}
.tablewrap.token-history-scroll{max-height:230px;}
.tablewrap.token-history-scroll thead th{position:sticky;top:0;z-index:1;}
.tablewrap.user-list-scroll{max-height:620px;}
.tablewrap.user-list-scroll thead th{position:sticky;top:0;z-index:1;}
table{
  width:100%;
  border-collapse:collapse;
  min-width:900px;
  background:var(--table-bg);
}
thead{background:var(--table-head-bg);}
tbody tr{transition:background-color .15s ease;}
tbody tr:hover{background:var(--hover-bg);}
th, td{
  padding:12px 10px;
  border-bottom:1px solid var(--border-soft);
  text-align:left;
  vertical-align:middle;
}
th{font-size:12px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.06em;}
td{font-size:14px;}
.badge,.ui-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid var(--border-strong);
  background:var(--hover-bg);
  font-size:12px;
  color:var(--text-soft);
}
.ui-badge-neutral{background:var(--hover-bg);}
.ui-badge-success{border-color:color-mix(in srgb,var(--ok) 45%,var(--border));background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--success-text);}
.ui-badge-warning{border-color:color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 12%,transparent);color:color-mix(in srgb,var(--warn) 72%,var(--text));}
.ui-badge-danger{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger-text);}
.ui-badge-info{border-color:color-mix(in srgb,var(--focus) 42%,var(--border));background:color-mix(in srgb,var(--focus) 10%,transparent);}
.ui-badge-brand{border-color:color-mix(in srgb,var(--brand) 55%,var(--border));background:var(--active-bg);}
.ui-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0;}
.ui-kpi{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);}
.ui-kpi span{color:var(--muted);font-size:.85rem}.ui-kpi strong{font-size:1.25rem}
.muted{color:var(--muted);}

.ui-empty-state{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:28px;text-align:center;}
.ui-empty-state-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:var(--radius-lg);background:var(--surface-secondary);color:var(--muted);}
.ui-empty-state-title{margin:0;font-size:17px;}
.ui-empty-state-description{max-width:440px;margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.ui-empty-state-actions{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm);}

.pro-module-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;
}
.pro-module{
  min-height:150px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-secondary);
}
.pro-module h3{
  margin:0;
  font-size:16px;
}
.pro-module p{
  margin:10px 0 14px 0;
  color:var(--text-soft);
  line-height:1.45;
}
.pro-module.is-disabled{
  opacity:.72;
}
.pro-module.is-enabled{
  border-color:rgba(46,204,113,.34);
  background:rgba(46,204,113,.055);
}
.pro-feature-checks{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:8px 12px;
  margin-top:12px;
}
.pro-feature-checks label{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:0;
  color:var(--text-soft);
  font-size:13px;
}
.pro-feature-checks input{
  width:auto;
  margin-top:2px;
}
.pro-wine-config-table{
  min-width:1320px;
}
.pro-wine-editor-list{
  display:grid;
  gap:12px;
}
.pro-wine-editor-row{
  display:grid;
  grid-template-columns:minmax(220px,1.35fr) minmax(150px,.75fr) minmax(180px,1fr) minmax(220px,1.1fr) minmax(240px,1.2fr);
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:var(--surface-secondary);
}
.pro-wine-editor-main strong{
  display:block;
  margin-bottom:4px;
  font-size:15px;
}
.pro-wine-editor-field{
  min-width:0;
}
.pro-wine-editor-field label{
  margin-bottom:8px;
}
.pro-wine-editor-actions{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  grid-column:1 / -1;
  padding-top:10px;
  border-top:1px solid var(--border-soft);
}
.inline-check{
  display:flex;
  gap:8px;
  align-items:center;
  margin:0 0 8px 0;
  color:var(--text-soft);
  font-size:13px;
}
.inline-check input{
  width:auto;
}
.pro-card-settings-section{
  margin-top:6px;
  padding:16px 0 4px;
  border-top:1px solid var(--border-soft);
}
.pro-card-settings-heading{
  margin:0 0 12px;
  color:var(--text-soft);
  font-weight:800;
}
.pro-tagline-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,220px);
  gap:10px 12px;
  align-items:end;
}
@media (max-width: 900px){
  .pro-tagline-fields{
    grid-template-columns:1fr;
  }
}
.pro-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(74px,1fr));
  gap:6px;
}
.pro-glass-size-grid{
  display:grid;
  grid-template-columns:auto minmax(82px,1fr);
  gap:6px 8px;
  align-items:center;
}
.pro-btg-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(82px,1fr));
  gap:6px;
}
.pro-price-grid input,
.pro-glass-size-grid input[type="text"],
.pro-btg-grid input{
  padding:8px;
  border-radius:8px;
}
.wine-menu-section{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid var(--border-soft);
}
.wine-menu-section h3{
  margin:0 0 10px 0;
  font-size:20px;
}
.wine-menu-section h4{
  margin:16px 0 8px 0;
  color:var(--muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.wine-menu-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--border-soft);
}
.wine-menu-line strong{
  display:block;
  font-size:16px;
}
.wine-menu-line span{
  color:var(--text-subtle);
}
.wine-menu-prices{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-start;
  font-weight:700;
}
.wine-menu-prices span{
  color:var(--text-soft);
  white-space:nowrap;
}
@media (max-width: 700px){
  .wine-menu-line{grid-template-columns:1fr;}
  .wine-menu-prices{justify-content:flex-start;}
}

.public-wine-card-page{
  min-height:100%;
  background:
    radial-gradient(circle at 8% 0%, rgba(123,29,49,.14), transparent 30rem),
    linear-gradient(135deg,#f7f3ec 0%,#e9e1d7 52%,#f8f7f3 100%);
  color:#211b17;
}
.public-menu{
  width:min(940px,calc(100% - 28px));
  margin:24px auto;
  padding:34px clamp(20px,4vw,52px) 42px;
  background:rgba(255,252,246,.96);
  border:1px solid rgba(76,55,42,.16);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(49,34,24,.14);
}
.public-menu-header{
  position:relative;
  padding:6px 0 30px;
  border-bottom:1px solid rgba(123,29,49,.28);
  text-align:center;
}
.public-menu-header::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:110px;
  height:3px;
  transform:translateX(-50%);
  background:#7b1d31;
  border-radius:999px;
}
.public-menu-logo{
  display:block;
  max-width:180px;
  max-height:110px;
  object-fit:contain;
  margin:0 auto 14px;
}
.public-menu-brand{
  color:#7b1d31;
  font-weight:800;
  letter-spacing:.04em;
  font-size:14px;
}
.public-menu h1{
  margin:8px 0 0;
  font-size:clamp(28px,5vw,46px);
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:500;
  color:#1f1a16;
}
.public-menu-tagline{
  max-width:680px;
  margin:8px auto 0;
  color:#5f544d;
  font-size:15px;
  line-height:1.45;
}
.public-menu-tagline--italic{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:17px;
  font-style:italic;
}
.public-menu-tagline--accent{
  color:#7b1d31;
  font-weight:700;
}
.public-menu-tagline--caps{
  color:#675d56;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.public-menu-tax-note{
  max-width:620px;
  margin:14px auto 0;
  color:#675d56;
  font-size:13px;
  line-height:1.5;
}
.public-menu-search{
  margin:22px 0 4px;
  padding:14px 16px;
  border:1px solid rgba(123,29,49,.18);
  border-radius:12px;
  background:rgba(123,29,49,.045);
}
.public-menu-search label{
  display:block;
  margin:0 0 8px;
  color:#7b1d31;
  font-size:13px;
  font-weight:800;
}
.public-menu-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.public-menu-search input{
  min-height:40px;
  width:100%;
  padding:8px 11px;
  border:1px solid rgba(76,55,42,.22);
  border-radius:8px;
  background:#fff;
  color:#211b17;
  font:inherit;
}
.public-menu-search button{
  min-height:40px;
  padding:8px 12px;
  border:1px solid rgba(123,29,49,.24);
  border-radius:8px;
  background:rgba(255,252,246,.86);
  color:#7b1d31;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.public-menu-search-status{
  margin-top:8px;
  color:#675d56;
  font-size:12px;
}
.public-menu-no-results{
  margin:18px 0 0;
  padding:12px 14px;
  border:1px solid rgba(123,29,49,.16);
  border-radius:10px;
  background:rgba(123,29,49,.04);
  color:#675d56;
  text-align:center;
}
.public-menu-section{
  padding:28px 0 8px;
  border-bottom:1px solid rgba(76,55,42,.14);
}
.public-menu-section h2{
  margin:0 0 16px;
  color:#7b1d31;
  font-size:24px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:600;
}
.public-menu-section h3{
  margin:20px 0 8px;
  color:#726760;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.public-menu-region-description{
  max-width:760px;
  margin:0 0 12px;
  color:#675d56;
  font-size:14px;
  line-height:1.55;
}
.public-menu-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(130px,auto);
  gap:18px;
  padding:13px 0;
  border-top:1px solid rgba(32,27,24,.10);
}
.public-menu-line:hover{
  margin:0 -10px;
  padding-left:10px;
  padding-right:10px;
  background:rgba(123,29,49,.035);
  border-radius:8px;
}
.public-menu-line strong{
  display:block;
  font-size:17px;
  color:#211b17;
}
.public-menu-line span{
  display:block;
  color:#675d56;
  line-height:1.4;
}
.public-menu-line .public-menu-bottle-size{
  color:#7b1d31;
  font-size:13px;
  font-weight:700;
}
.public-menu-line .public-menu-origin{
  color:#5d524c;
  font-size:13px;
}
.public-menu-line .public-menu-grapes{
  color:#4f4540;
  font-size:13px;
  font-weight:600;
}
.public-menu-line .public-menu-pairings{
  margin-top:4px;
  color:#5f544d;
  font-size:13px;
  font-style:italic;
}
.public-menu-prices{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-start;
  font-weight:700;
  color:#201b18;
}
.public-menu-prices span{
  color:#211b17;
  white-space:nowrap;
  padding-bottom:2px;
  border-bottom:1px solid rgba(123,29,49,.28);
}
.public-menu-detail-actions{
  grid-column:1 / -1;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-self:start;
  width:100%;
  max-width:760px;
  margin-top:-8px;
}
.public-menu-description{
  max-width:760px;
  margin:0;
}
.public-menu-description[open]{
  flex-basis:min(760px,100%);
}
.public-menu-description summary,
.public-menu-image-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(123,29,49,.22);
  border-radius:8px;
  color:#7b1d31;
  background:rgba(255,252,246,.72);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  text-decoration:none;
}
.public-menu-description summary::-webkit-details-marker{
  display:none;
}
.public-menu-image-link::after{
  content:"";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:12px;
  border:1px solid rgba(123,29,49,.34);
  border-radius:3px;
  background:
    radial-gradient(circle at 4px 4px, rgba(123,29,49,.52) 0 1.5px, transparent 2px),
    linear-gradient(135deg, transparent 58%, rgba(123,29,49,.16) 59%);
  line-height:0;
}
.public-menu-description summary::after{
  content:"+";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(123,29,49,.12);
  font-size:13px;
  line-height:1;
}
.public-menu-description[open] summary::after{
  content:"-";
}
.public-menu-description p{
  margin:8px 0 0;
  padding:11px 13px;
  border-left:3px solid rgba(123,29,49,.48);
  border-radius:0 8px 8px 0;
  background:rgba(123,29,49,.045);
  color:#3f3630;
  font-size:14px;
  line-height:1.58;
}
.public-menu-order{
  grid-column:1 / -1;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
  margin-top:-4px;
  padding:8px 10px;
  border:1px solid rgba(123,29,49,.14);
  border-radius:10px;
  background:rgba(123,29,49,.045);
}
.public-menu-order-form{
  display:grid;
  grid-template-columns:minmax(82px,.8fr) minmax(100px,.9fr) minmax(64px,.55fr) minmax(150px,1.25fr) auto;
  gap:6px;
  align-items:center;
  width:min(100%,560px);
}
.public-menu-order-size{
  min-height:34px;
  display:flex !important;
  align-items:center;
  padding:6px 8px;
  border:1px solid rgba(76,55,42,.18);
  border-radius:8px;
  background:rgba(255,255,255,.65);
  color:#4f4540 !important;
  font-size:13px;
  font-weight:700;
}
.public-menu-order-form input,
.public-menu-order-form select{
  min-height:34px;
  padding:6px 8px;
  border:1px solid rgba(76,55,42,.22);
  border-radius:8px;
  background:#fff;
  color:#211b17;
  font:inherit;
  font-size:13px;
}
.public-menu-order-form button{
  min-height:34px;
  padding:6px 10px;
  border:1px solid rgba(123,29,49,.30);
  border-radius:8px;
  background:#7b1d31;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.public-menu-hp{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  opacity:0;
}
.public-menu-unavailable{
  display:inline-flex;
  align-items:center;
  color:#7b1d31;
  font-size:13px;
  font-weight:700;
  border-bottom:0!important;
}
.public-menu-message{
  margin:22px 0 0;
  padding:10px 12px;
  border-radius:10px;
  text-align:center;
  font-size:14px;
}
.public-menu-message.ok{
  color:#1f5135;
  background:#e6f3ea;
  border:1px solid #8dc6a0;
}
.public-menu-message.err{
  color:#6d1f24;
  background:#fae8ea;
  border:1px solid #d9969d;
}
.public-menu-footer{
  padding-top:24px;
  color:#80746c;
  font-size:12px;
  text-align:center;
}
@media (max-width: 640px){
  .public-menu{
    width:min(100% - 14px,940px);
    margin:7px auto;
    padding:24px 16px 32px;
    border-radius:12px;
  }
  .public-menu-line{grid-template-columns:1fr;}
  .public-menu-prices{justify-content:flex-start;}
  .public-menu-order{
    justify-content:flex-start;
    margin-top:0;
    padding:8px;
  }
  .public-menu-order-form{grid-template-columns:1fr 1fr;}
  .public-menu-order-size{min-width:0;}
  .public-menu-order-form input[name="guest_note"],
  .public-menu-order-form button{grid-column:1 / -1;}
  .public-menu-search{padding:12px;}
  .public-menu-search-row{grid-template-columns:1fr;}
  .public-menu-search button{width:100%;}
  .public-menu-logo{max-width:150px;max-height:92px;}
}

.notice,.ui-alert{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border-soft);
  background:var(--notice-bg);
  color:var(--text-soft);
}
.notice.ok,.ui-alert-success{border-color:color-mix(in srgb,var(--ok) 42%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent);color:var(--success-text);}
.notice.err,.ui-alert-danger{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger-text);}
.notice.warn,.ui-alert-warning{border-color:color-mix(in srgb,var(--warn) 42%,var(--border));background:color-mix(in srgb,var(--warn) 10%,transparent);}
.ui-alert-info{border-left:4px solid var(--focus);}
:root[data-theme="light"] .notice.ok{color:#176b3a;background:#e7f4eb;border-color:#91c9a2;}
:root[data-theme="light"] .notice.err{color:#8f2027;background:#f9e8e9;border-color:#dda0a4;}

.announcement{
  display:block;
  margin-top:14px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--border-soft);
  border-left-width:5px;
  color:var(--text);
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.announcement h3{margin:0;font-size:16px;line-height:1.35;}
.announcement-body{white-space:normal;line-height:1.5;}
.announcement-meta{display:block;color:var(--text-subtle);font-size:12px;margin-bottom:4px;}
.announcement-compact{margin-top:0;}
.announcement-compact strong{display:block;margin:0;font-size:15px;line-height:1.35;}
.announcement-compact span:last-child{display:block;color:var(--text-soft);line-height:1.45;}
.announcement-green{border-color:rgba(46,204,113,.45);border-left-color:#2ecc71;background:linear-gradient(90deg,rgba(46,204,113,.16),rgba(46,204,113,.065));}
.announcement-yellow{border-color:rgba(243,156,18,.50);border-left-color:#f39c12;background:linear-gradient(90deg,rgba(243,156,18,.18),rgba(243,156,18,.07));}
.announcement-red{border-color:rgba(231,76,60,.50);border-left-color:#e74c3c;background:linear-gradient(90deg,rgba(231,76,60,.17),rgba(231,76,60,.065));}
.announcement-blue{border-color:rgba(52,152,219,.50);border-left-color:#3498db;background:linear-gradient(90deg,rgba(52,152,219,.17),rgba(52,152,219,.065));}
.announcement-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid var(--border-strong);
  font-size:12px;
}
.announcement-pill-green{border-color:rgba(46,204,113,.42);background:rgba(46,204,113,.10);}
.announcement-pill-yellow{border-color:rgba(243,156,18,.45);background:rgba(243,156,18,.11);}
.announcement-pill-red{border-color:rgba(231,76,60,.45);background:rgba(231,76,60,.10);}
.announcement-pill-blue{border-color:rgba(52,152,219,.45);background:rgba(52,152,219,.10);}

.spacer{flex:1 1 auto;}

.supplier-wine-settings{
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-subtle);
}
.supplier-reorder-board-head,
.supplier-reorder-panel-head{
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.supplier-reorder-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.supplier-reorder-grid-compact{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.supplier-reorder-panel{
  min-width:0;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-secondary);
}
.supplier-reorder-panel h3{
  margin:0 0 3px;
  font-size:16px;
}
.supplier-reorder-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.supplier-reorder-item{
  display:block;
  color:var(--text);
  text-decoration:none;
  padding:9px 10px;
  border:1px solid var(--border-soft);
  border-radius:10px;
  background:var(--surface-subtle);
}
.supplier-reorder-item:hover{background:var(--hover-bg);}
.supplier-reorder-item strong{
  display:block;
  font-size:14px;
  line-height:1.35;
}
.supplier-reorder-item small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.supplier-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.supplier-card{
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-secondary);
  overflow:hidden;
}
.supplier-card summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px;
  cursor:pointer;
  list-style:none;
}
.supplier-card summary::-webkit-details-marker{display:none;}
.supplier-card summary small{
  display:block;
  margin-top:4px;
  color:var(--muted);
}
.supplier-card form{
  padding:12px;
  border-top:1px solid var(--border);
}

.footer{
  color:var(--muted);
  font-size:12px;
  margin-top:20px;
  text-align:center;
}

.pagination,.ui-pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
.pagination .pages,.ui-pagination-pages{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
.pagination .meta,.ui-pagination-meta{
  color:var(--muted);
  font-size:12px;
}
.ui-pagination-current,[aria-current="page"].ui-pagination-current{border-color:color-mix(in srgb,var(--brand) 55%,var(--border));background:var(--brand);color:#fff;}
th a{color:inherit; text-decoration:none;}
th a:hover{text-decoration:underline;}
.sort-ind{opacity:.8; margin-left:6px; font-size:11px;}


/* Nr groß + System-ID klein daneben (kein Umbruch) */
.idpair{white-space:nowrap;}
.idpair .muted{margin-left:6px;font-size:.82em;opacity:.65;}

/* -----------------------------
   Responsive Navigation
   ----------------------------- */
.cellario-header{position:relative;z-index:20;}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:inherit;text-decoration:none;}
.brand-text{display:flex;flex-direction:column;gap:2px;}
.brand-name{font-size:21px;font-weight:750;letter-spacing:.2px;}
.nav-shell{display:flex;align-items:center;gap:18px;min-width:0;flex:1;}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;margin-left:auto;}
.nav-item{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text-subtle);
  font:inherit;
  font-size:14px;
  font-weight:650;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.nav-item:hover,.nav-item:focus-visible{background:var(--hover-bg);color:var(--text);}
.nav-item.active{background:var(--active-bg);border-color:color-mix(in srgb,var(--brand) 42%,var(--border));color:var(--text);}
.nav-menu{position:relative;}
.menu-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease;}
.nav-menu.is-open .menu-chevron{transform:rotate(225deg) translate(-2px,-1px);}
.menu-popover,.ui-popover{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:30;
  width:max-content;
  min-width:210px;
  max-width:min(320px,calc(100vw - 28px));
  padding:7px;
  border:1px solid var(--border-strong);
  border-radius:13px;
  background:var(--menu-bg);
  box-shadow:var(--shadow-popover);
}
.more-menu{left:0;right:auto;}
.ui-menu{color:var(--text);}
.menu-popover[hidden],.ui-popover[hidden]{display:none;}
.menu-popover>a,.ui-menu-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 11px;border-radius:9px;color:var(--text);font-size:14px;text-decoration:none;}
.menu-popover>a:hover,.menu-popover>a[aria-current="page"],.ui-menu-item:hover{background:var(--hover-bg);}
.menu-popover>a:focus-visible,.ui-menu-item:focus-visible{background:var(--hover-bg);outline:2px solid var(--focus);outline-offset:-2px;}
.menu-popover>a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--brand);}
.menu-separator,.ui-menu-separator{height:1px;margin:6px 5px;background:var(--border-soft);}
.menu-group-label,.ui-menu-heading{padding:5px 11px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.ui-menu-group{display:grid;gap:2px;}
.menu-value{margin-left:auto;color:var(--muted);font-size:12px;font-weight:600;}
.add-wine-action-row{display:flex;flex:0 0 auto;justify-content:flex-end;align-items:center;}
.add-wine-action{max-width:100%;}
.add-wine-trigger{min-height:44px;justify-content:center;}
.add-wine-trigger .menu-chevron{margin-left:3px;}
.add-wine-action.is-open .add-wine-trigger{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 35%,transparent);}
.add-wine-menu{width:320px;max-width:min(320px,calc(100vw - 28px));}
.menu-popover>a.add-wine-menu-item{align-items:center;min-height:62px;gap:12px;padding:10px 11px;}
.add-wine-menu-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:4px;}
.add-wine-menu-title{color:var(--text);font-weight:700;line-height:1.25;}
.add-wine-menu-description{color:var(--muted);font-size:12px;line-height:1.35;}
.add-wine-menu-item-recommended{background:color-mix(in srgb,var(--brand) 7%,transparent);}
.add-wine-menu-badge{flex:0 0 auto;padding:3px 7px;border:1px solid color-mix(in srgb,var(--brand) 36%,var(--border));border-radius:999px;background:var(--surface-secondary);color:var(--text);font-size:10px;font-weight:750;line-height:1.2;}
.logout-link{color:var(--danger-text)!important;}
.user-nav{flex:0 0 auto;margin-left:auto;}
.user-menu-trigger{appearance:none;display:flex;align-items:center;gap:9px;min-height:44px;padding:4px 8px 4px 5px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer;}
.user-menu-trigger:hover,.user-menu-trigger:focus-visible,.user-menu-trigger.active,.user-nav.is-open .user-menu-trigger{background:var(--hover-bg);border-color:var(--border-soft);}
.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(118,1,40,.72);font-size:14px;font-weight:800;}
.user-menu-label{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:150px;line-height:1.15;}
.user-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;}
.user-role{margin-top:3px;color:var(--muted);font-size:11px;}
.language-switch{display:inline-flex;align-items:center;gap:4px;padding:0 4px;}
.language-switch a{color:var(--text);font-size:12px;font-weight:700;text-decoration:none;opacity:.65;padding:7px;border-radius:8px;}
.language-switch a:hover,.language-switch a:focus-visible,.language-switch a.active{opacity:1;background:var(--hover-bg);}
.user-menu .language-switch{display:flex;padding:2px 7px 4px;}
.user-menu .language-switch a{flex:1;text-align:center;}
.guest-nav{display:flex;align-items:center;gap:8px;margin-left:auto;}
.nav-toggle{display:none;}
.mobile-account-shortcut,.mobile-bottom-nav{display:none;}

/* Screenreader-only text */
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Hamburger icon */
.hamburger{display:inline-block;position:relative;width:18px;height:14px;}
.hamburger::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:currentColor;border-radius:2px;
  box-shadow:0 6px 0 currentColor;
}
.hamburger::after{
  content:'';position:absolute;left:0;right:0;top:12px;height:2px;
  background:currentColor;border-radius:2px;
}

@media (max-width: 900px){
  .container{padding:14px;}
  .topbar{flex-wrap:wrap;padding:10px 12px;}
  .brand{flex:1 1 auto;}
  .brand-name{font-size:19px;}
  .nav-toggle{display:inline-flex;margin-left:auto;padding:10px 12px;}
  .nav-shell{display:none;width:100%;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:10px;padding-top:4px;}
  .nav-shell.open{display:flex;}
  .primary-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;margin:0;padding:5px;border-radius:13px;background:var(--surface-secondary);}
  .nav-item{justify-content:center;min-width:0;padding:9px 5px;font-size:12px;overflow:hidden;text-overflow:ellipsis;}
  .primary-nav>.nav-menu{display:contents;}
  .primary-nav>.nav-menu>.nav-item{width:100%;min-width:0;}
  .menu-popover,.more-menu{position:static;width:100%;max-width:none;margin-top:5px;box-shadow:none;}
  .primary-nav>.nav-menu>.more-menu{grid-column:1/-1;margin-top:0;}
  .user-nav{width:100%;margin:0;}
  .user-menu-trigger{width:100%;padding:7px;background:var(--surface-subtle);border-color:var(--border-soft);}
  .user-menu-label{max-width:none;flex:1;}
  .user-menu{margin-top:5px;}
  .overview-summary-layout{flex-direction:column;align-items:stretch;gap:12px;}
  .overview-kpi-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  .overview-kpi-item{flex-direction:column;gap:3px;}
  .add-wine-action-row{order:-1;}
  .add-wine-action-row,.add-wine-action,.add-wine-trigger{width:100%;}
  .add-wine-menu{width:100%;max-width:none;margin-top:8px;}
}

@media (max-width: 480px){
  .container{padding:9px;}
  .cellario-header:has(.guest-nav){flex-wrap:wrap;}
  .cellario-header:has(.guest-nav) .brand{flex:0 0 100%;}
  .guest-nav{display:grid;flex:0 0 100%;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0;}
  .guest-nav .btn{min-width:0;justify-content:center;padding-right:8px;padding-left:8px;}
  .primary-nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:visible;}
  .nav-item{padding:8px 1px;font-size:10px;letter-spacing:-.1px;}
  .guest-nav .language-switch{display:none;}
  .overview-summary-card{padding:12px;}
  .overview-kpi-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .overview-kpi-item{padding:8px;}
  .overview-kpi-item:last-child{grid-column:1/-1;flex-direction:row;align-items:baseline;}
}

/* -----------------------------
   Mobile Bottom Navigation
   content < header/card menus < bottom navigation < bottom popovers < dialogs/lightbox
   ----------------------------- */
@media (max-width: 800px){
  :root{--mobile-bottom-nav-height:72px;}
  body.has-mobile-bottom-nav{padding-bottom:0;}
  body.has-mobile-bottom-nav>.container{padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 18px);}
  .cellario-header{flex-wrap:nowrap;}
  .cellario-header .nav-toggle,
  .cellario-header .nav-shell{display:none!important;}
  .mobile-account-shortcut{
    display:grid;
    flex:0 0 auto;
    place-items:center;
    margin-left:auto;
    border:1px solid transparent;
    border-radius:12px;
    color:var(--text);
    text-decoration:none;
  }
  .mobile-account-shortcut:hover,
  .mobile-account-shortcut:focus-visible,
  .mobile-account-shortcut.active{border-color:var(--border-soft);background:var(--hover-bg);}
  .mobile-bottom-nav{
    position:fixed;
    z-index:60;
    right:0;
    bottom:0;
    left:0;
    display:block;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    border-top:1px solid var(--border);
    background:var(--surface);
    box-shadow:0 -10px 30px rgba(0,0,0,.2);
    backdrop-filter:blur(14px);
  }
  .mobile-bottom-nav-list{
    display:grid;
    width:100%;
    max-width:620px;
    grid-template-columns:repeat(var(--mobile-nav-count),minmax(0,1fr));
    gap:3px;
    margin:0 auto;
  }
  .mobile-bottom-nav-menu{position:static;min-width:0;}
  .mobile-bottom-nav-item{
    position:relative;
    display:flex;
    width:100%;
    min-width:0;
    min-height:58px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px 2px;
    border:1px solid transparent;
    border-radius:11px;
    background:transparent;
    color:var(--muted);
    font:inherit;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
  }
  .mobile-bottom-nav-item:hover,
  .mobile-bottom-nav-item:focus-visible{background:var(--hover-bg);color:var(--text);}
  .mobile-bottom-nav-item.active,
  .mobile-bottom-nav-menu.is-open>.mobile-bottom-nav-item{border-color:var(--border-soft);background:var(--active-bg);color:var(--text);}
  .mobile-bottom-nav-item.active::before{
    position:absolute;
    top:2px;
    left:50%;
    width:18px;
    height:3px;
    border-radius:999px;
    background:var(--brand);
    content:"";
    transform:translateX(-50%);
  }
  .mobile-bottom-nav-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .mobile-bottom-nav-label{
    display:block;
    max-width:100%;
    color:inherit;
    font-size:10.5px;
    font-weight:700;
    line-height:1.1;
    overflow-wrap:anywhere;
  }
  .mobile-bottom-nav-add{color:var(--text);}
  .mobile-bottom-nav-add-icon{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    margin-top:-16px;
    border:2px solid var(--surface);
    border-radius:50%;
    background:var(--brand);
    color:#fff;
    box-shadow:0 7px 18px rgba(0,0,0,.3);
  }
  .mobile-bottom-nav-add .mobile-bottom-nav-icon{width:23px;height:23px;stroke-width:2.2;}
  .mobile-bottom-popover,
  .menu-popover.mobile-bottom-popover{
    position:fixed;
    z-index:62;
    top:auto;
    right:auto;
    bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 8px);
    left:50%;
    width:min(430px,calc(100vw - 20px));
    max-width:none;
    max-height:calc(100dvh - var(--mobile-bottom-nav-height) - env(safe-area-inset-bottom) - 34px);
    margin:0;
    overflow-x:hidden;
    overflow-y:auto;
    transform:translateX(-50%);
    box-shadow:0 -12px 42px rgba(0,0,0,.4);
  }
  .mobile-bottom-add-popover{padding:8px;}
  .mobile-bottom-more-menu{padding:8px;}
  .mobile-bottom-more-menu>.language-switch{display:flex;padding:2px 7px 4px;}
  .mobile-bottom-more-menu>.language-switch a{flex:1;text-align:center;}
}

@media (max-width: 390px){
  .mobile-bottom-nav{padding-right:5px;padding-left:5px;}
  .mobile-bottom-nav-list{gap:1px;}
  .mobile-bottom-nav-item{padding-right:1px;padding-left:1px;}
  .mobile-bottom-nav-label{font-size:10px;letter-spacing:-.08px;}
}

/* -----------------------------
   Responsive Tables (Card-View)
   - apply to tables with class .table-cards and td[data-label]
   ----------------------------- */
@media (max-width: 900px){
  table.table-cards{min-width:unset;}
  table.table-cards thead{display:none;}
  table.table-cards, table.table-cards tbody, table.table-cards tr, table.table-cards td{display:block;width:100%;}
  table.table-cards tr{
    border:1px solid var(--border-soft);
    border-radius:14px;
    padding:10px 12px;
    margin:10px 0;
    background:var(--surface-secondary);
  }
  table.table-cards td{
    border:0;
    padding:8px 0;
    display:flex;
    justify-content:space-between;
    gap:12px;
  }
  table.table-cards td::before{
    content: attr(data-label);
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    flex:0 0 auto;
  }
  table.table-cards td[data-label="Aktion"]{display:block;}
  table.table-cards td[data-label="Aktion"]::before{display:none;}
  table.table-cards td[data-label="Aktion"] .row{flex-wrap:wrap !important;}
  .pro-wine-editor-row{
    grid-template-columns:1fr;
  }
  .pro-wine-editor-actions{
    display:block;
  }
}
.badge.stock-zero{
  border:0;
  padding:0 6px;
  background:#ffb3ad !important;
  border-color:transparent !important;
  color:#111 !important;
}
input.stock-zero{
  background:#ffb3ad !important;
}

.lightbox-open{overflow:hidden;}
.cellario-lightbox{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.86);
  padding:22px;
}
.cellario-lightbox.open{display:flex;}
.cellario-lightbox-frame{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cellario-lightbox img{
  max-width:calc(100vw - 44px);
  max-height:calc(100vh - 44px);
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);
  background:#fff;
}
.cellario-lightbox button{
  position:absolute;
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,15,18,.72);
  color:#fff;
  cursor:pointer;
  border-radius:999px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  line-height:1;
  backdrop-filter:blur(8px);
}
.cellario-lightbox button:hover{background:rgba(118,1,40,.9);}
.cellario-lightbox-close{top:12px;right:12px;}
.cellario-lightbox-prev{left:12px;top:50%;transform:translateY(-50%);}
.cellario-lightbox-next{right:12px;top:50%;transform:translateY(-50%);}
.cellario-lightbox-count{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  color:rgba(242,243,245,.86);
  background:rgba(15,15,18,.72);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}

/* Administrative merchant directory */
.directory-page-header,
.directory-editor-section,
.directory-filter-panel,
.directory-list-panel{
  margin-top:14px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
}
.directory-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.directory-page-header h2,
.directory-section-heading h3,
.directory-filter-panel h3{
  margin:0;
  letter-spacing:0;
}
.directory-page-header h2{font-size:24px;}
.directory-page-header p,
.directory-section-heading p,
.directory-protection-box p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.5;
}
.directory-filter-panel h3{margin-bottom:14px;font-size:17px;}
.directory-filter-grid{
  display:grid;
  grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));
  gap:12px;
  align-items:end;
}
.directory-filter-search{grid-column:span 2;}
.directory-filter-actions,
.directory-form-actions,
.directory-protection-heading,
.directory-pagination,
.directory-pagination>div{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.directory-check{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  color:var(--text);
  font-size:13px;
}
.directory-check input{width:auto;flex:0 0 auto;}
.directory-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.directory-section-heading h3{font-size:18px;}
.directory-result-count{
  padding:5px 9px;
  border-radius:999px;
  background:var(--hover-bg);
  color:var(--text);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.directory-list-table{min-width:1080px;}
.directory-list-table th{letter-spacing:0;text-transform:none;}
.directory-list-table td{vertical-align:top;}
.directory-company-name{font-size:15px;font-weight:800;text-decoration:none;}
.directory-company-name:hover{text-decoration:underline;}
.directory-company-name+small{display:block;margin-top:5px;color:var(--muted);}
.directory-external-link{overflow-wrap:anywhere;}
.directory-row-action{text-align:right;}
.directory-empty{color:var(--muted);}
.directory-invalid-value{color:#f7b267;font-size:13px;}
.directory-empty-state{padding:24px;color:var(--muted);text-align:center;}
.directory-status{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border:1px solid var(--border-strong);
  border-radius:999px;
  background:var(--hover-bg);
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.directory-status--active,
.directory-status--verified,
.directory-status--public{border-color:rgba(46,204,113,.45);background:rgba(46,204,113,.12);color:#8ce7b1;}
.directory-status--inactive{border-color:rgba(231,76,60,.42);background:rgba(231,76,60,.12);color:#ffaaa2;}
.directory-status--review,
.directory-status--partial,
.directory-status--unclear{border-color:rgba(243,156,18,.44);background:rgba(243,156,18,.12);color:#ffd08a;}
.directory-status--integrated,
.directory-status--registered{border-color:rgba(86,156,214,.45);background:rgba(86,156,214,.12);color:#a9d5fa;}
.directory-pagination{justify-content:space-between;margin-top:14px;color:var(--muted);font-size:13px;}
.directory-company-header{align-items:flex-end;}
.directory-back-link{display:inline-block;margin-bottom:8px;color:#d4a6b6;text-decoration:none;font-size:13px;font-weight:700;}
.directory-uuid-block{width:min(390px,100%);}
.directory-uuid-block input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
.directory-uuid-block small{display:block;margin-top:5px;color:var(--muted);}
.directory-section-nav{
  display:flex;
  gap:8px;
  overflow:auto;
  margin-top:14px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
}
.directory-section-nav a{padding:7px 9px;color:var(--text-soft);text-decoration:none;white-space:nowrap;font-size:13px;font-weight:700;}
.directory-section-nav a:hover{color:var(--text);text-decoration:underline;}
.directory-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.directory-span-2{grid-column:span 2;}
.directory-span-full{grid-column:1 / -1;}
.directory-form-grid textarea{min-height:74px;}
.directory-form-actions{align-self:end;min-height:42px;}
.directory-editor-list{display:grid;gap:12px;}
.directory-editor-item,
.directory-key-editor{
  position:relative;
  padding:14px;
  border:1px solid var(--border-soft);
  border-radius:8px;
  background:var(--surface-secondary);
}
.directory-editor-item--new{border-style:dashed;}
.directory-editor-item h4{margin:0 0 12px;font-size:15px;}
.directory-delete-form{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft);}
.directory-key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 12px;margin-bottom:18px;}
.directory-key-item{padding:10px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-secondary);}
.directory-key-editor{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) auto minmax(120px,.65fr) minmax(190px,1.2fr) auto;
  gap:10px;
  align-items:end;
}
.directory-key-editor>strong{align-self:center;}
.directory-custom-label{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500;}
.directory-key-editor--channel{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.5fr) auto auto;}
.directory-protection-box{
  margin-top:16px;
  padding:12px;
  border-left:3px solid #f39c12;
  background:rgba(243,156,18,.07);
}
.directory-protection-heading{justify-content:space-between;}
.directory-protection-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;}
.directory-protection-list form{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid rgba(243,156,18,.25);border-radius:6px;background:rgba(0,0,0,.12);font-size:12px;}
.directory-text-button{appearance:none;padding:0;border:0;background:transparent;color:#ffd08a;text-decoration:underline;cursor:pointer;font:inherit;}
.directory-range{color:var(--muted);font-weight:500;}
.directory-upload-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;}
.directory-kpis{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin:14px 0;}
.directory-kpis>div{padding:11px;border:1px solid var(--border);border-radius:6px;background:var(--surface-secondary);}
.directory-kpis span{display:block;color:var(--muted);font-size:11px;}
.directory-kpis strong{display:block;margin-top:4px;font-size:21px;}
.directory-message{margin:3px 0;font-size:12px;line-height:1.4;}
.directory-message--warning{color:#ffd08a;}
.directory-message--error{color:#ffaaa2;}
.directory-history-table th,
.directory-import-table th{letter-spacing:0;text-transform:none;}

@media (max-width:1050px){
  .directory-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .directory-filter-search{grid-column:span 2;}
  .directory-key-editor{grid-template-columns:repeat(3,minmax(0,1fr));}
  .directory-key-editor>strong{grid-column:1 / -1;}
  .directory-kpis{grid-template-columns:repeat(3,minmax(90px,1fr));}
}
@media (max-width:760px){
  .directory-page-header,
  .directory-company-header{flex-direction:column;align-items:stretch;}
  .directory-filter-grid,
  .directory-form-grid,
  .directory-upload-form,
  .directory-key-editor,
  .directory-key-editor--channel{grid-template-columns:1fr;}
  .directory-filter-search,
  .directory-span-2{grid-column:auto;}
  .directory-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .directory-list-wrap{border:0;overflow:visible;}
  .directory-list-table{display:block;min-width:0;background:transparent;}
  .directory-list-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .directory-list-table tbody,
  .directory-list-table tr,
  .directory-list-table td{display:block;width:100%;}
  .directory-list-table tr{margin-bottom:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-secondary);overflow:hidden;}
  .directory-list-table td{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr);gap:10px;padding:9px 11px;border-bottom:1px solid var(--border-soft);}
  .directory-list-table td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;}
  .directory-list-table td:first-child{display:block;}
  .directory-list-table td:first-child::before,
  .directory-list-table td:last-child::before{display:none;}
  .directory-row-action{text-align:left;}
  .directory-row-action .btn{width:100%;justify-content:center;}
  .directory-pagination{align-items:flex-start;}
}
@media (max-width: 760px){
  .cellario-lightbox{padding:10px;}
  .cellario-lightbox img{
    max-width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    border-radius:8px;
  }
  .cellario-lightbox button{
    width:44px;
    height:44px;
    font-size:26px;
  }
  .cellario-lightbox-close{top:10px;right:10px;}
  .cellario-lightbox-prev{left:10px;}
  .cellario-lightbox-next{right:10px;}
}

.overview-export-action-row{display:flex;justify-content:flex-end;align-items:center;padding-top:2px;}
.overview-export-action{max-width:100%;}
.overview-export-trigger{min-height:44px;justify-content:center;gap:9px;}
.overview-export-trigger>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.overview-export-trigger .menu-chevron{margin-left:2px;}
.overview-export-action.is-open .overview-export-trigger{border-color:var(--border-strong);background:var(--hover-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 30%,transparent);}
.overview-export-menu{width:390px;max-width:min(390px,calc(100vw - 28px));padding:7px;}
.overview-export-menu-group{display:grid;gap:2px;}
.overview-export-menu-group+.overview-export-menu-group{margin-top:6px;padding-top:7px;border-top:1px solid var(--border-soft);}
.overview-export-menu-group-heading{padding:4px 10px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;}
.menu-popover>.overview-export-menu-group .overview-export-menu-item{appearance:none;display:flex;width:100%;min-height:58px;align-items:center;gap:12px;margin:0;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;}
.menu-popover>.overview-export-menu-group .overview-export-menu-item:hover{background:var(--hover-bg);}
.menu-popover>.overview-export-menu-group .overview-export-menu-item:focus-visible{background:var(--hover-bg);outline:2px solid var(--focus);outline-offset:-2px;}
.overview-export-menu-copy{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:3px;}
.overview-export-menu-title{color:var(--text);font-size:14px;font-weight:700;line-height:1.25;}
.overview-export-menu-description{color:var(--muted);font-size:12px;line-height:1.35;}
.overview-csv-dialog-overlay{position:fixed;inset:0;z-index:80;align-items:flex-start;justify-content:center;padding:24px;background:rgba(0,0,0,.56);overflow:auto;}
.overview-csv-dialog-overlay[hidden]{display:none;}
.overview-csv-dialog-overlay.is-open{display:flex;}
.overview-csv-dialog{width:min(620px,100%);max-height:calc(100vh - 48px);margin:auto 0;border:1px solid var(--border-strong);border-radius:16px;background:var(--menu-bg);color:var(--text);box-shadow:0 22px 70px rgba(0,0,0,.48);overflow:auto;}
.overview-csv-dialog:focus{outline:none;}
.overview-csv-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 18px 15px;border-bottom:1px solid var(--border-soft);}
.overview-csv-dialog-header h2{margin:0;color:var(--text);font-size:19px;line-height:1.25;}
.overview-csv-dialog-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45;}
.overview-csv-dialog-close{appearance:none;display:grid;flex:0 0 auto;width:44px;height:44px;place-items:center;margin:-6px -6px 0 0;padding:0;border:1px solid var(--border);border-radius:11px;background:var(--surface-secondary);color:var(--text);font:inherit;font-size:25px;line-height:1;cursor:pointer;}
.overview-csv-dialog-close:hover{background:var(--hover-bg);}
.overview-csv-dialog-close:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 65%,transparent);outline-offset:2px;}
.overview-csv-dialog-content{display:grid;gap:14px;padding:16px 18px;}
.overview-csv-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0;}
.overview-csv-mode-options label{display:flex;min-height:44px;align-items:center;gap:8px;margin:0;padding:9px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-subtle);color:var(--text);font-size:13px;font-weight:650;cursor:pointer;}
.overview-csv-mode-options label:has(input:checked){border-color:color-mix(in srgb,var(--brand) 48%,var(--border));background:color-mix(in srgb,var(--brand) 9%,var(--surface-secondary));}
.overview-csv-mode-options input{flex:0 0 auto;margin:0;accent-color:var(--brand);}
.overview-csv-custom-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;max-height:310px;padding:10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-subtle);overflow:auto;}
.overview-csv-custom-fields[hidden]{display:none;}
.overview-csv-custom-fields label{display:flex;min-width:0;min-height:40px;align-items:center;gap:8px;margin:0;padding:7px 8px;border-radius:8px;color:var(--text);font-size:13px;cursor:pointer;}
.overview-csv-custom-fields label:hover{background:var(--hover-bg);}
.overview-csv-custom-fields input{flex:0 0 auto;margin:0;accent-color:var(--brand);}
.overview-csv-dialog-tip{margin:0;color:var(--muted);font-size:12px;line-height:1.4;}
.overview-csv-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 18px 18px;border-top:1px solid var(--border-soft);}
.overview-csv-dialog-actions .btn{min-height:44px;justify-content:center;}

.ui-overlay{background:rgba(0,0,0,.58);overflow:auto;overscroll-behavior:contain;}
.ui-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--menu-bg);color:var(--text);box-shadow:var(--shadow-dialog);}
.ui-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);border-bottom:1px solid var(--border-soft);}
.ui-dialog-title{margin:0;color:var(--text);line-height:1.25;}
.ui-dialog-description{margin:var(--space-xs) 0 0;color:var(--muted);font-size:13px;line-height:1.45;}
.ui-dialog-content{min-width:0;}
.ui-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);border-top:1px solid var(--border-soft);}
.ui-dialog-close{width:var(--control-height);height:var(--control-height);}
@media (max-width:900px){
  .overview-export-action-row,.overview-export-action{width:100%;}
  .overview-export-menu{position:static;width:100%;max-width:none;margin-top:6px;box-shadow:none;}
}
.site-link-promo{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px;border:1px solid var(--border);border-radius:12px;
  background:var(--active-bg);color:var(--text);font-weight:600;text-decoration:none;
}
.site-link-promo span:first-child{min-width:0;overflow-wrap:anywhere;}
.site-link-promo:hover{background:var(--hover-bg);text-decoration:underline;}
.site-link-promo:focus-visible{outline:2px solid var(--focus);outline-offset:3px;}

@media (max-width:600px){
  .overview-export-trigger{width:100%;}
  .overview-csv-dialog-overlay{padding:10px;}
  .overview-csv-dialog{max-height:calc(100vh - 20px);border-radius:13px;}
  .overview-csv-dialog-header,.overview-csv-dialog-content{padding-left:14px;padding-right:14px;}
  .overview-csv-mode-options,.overview-csv-custom-fields{grid-template-columns:1fr;}
  .overview-csv-dialog-actions{display:grid;grid-template-columns:1fr;padding:12px 14px 14px;}
  .overview-csv-dialog-actions .btn{width:100%;}
}

@media (max-width:760px){
  .card,.ui-card{padding:var(--space-md);border-radius:var(--radius-md);}
  .ui-card-footer{margin:var(--space-md) calc(-1 * var(--space-md)) calc(-1 * var(--space-md));padding:var(--space-md);}
  .ui-page-header,.ui-card-header,.ui-section-header{flex-direction:column;align-items:stretch;}
  .ui-page-actions,.ui-card-actions,.ui-section-actions{justify-content:flex-start;}
  .ui-actions-stacked-mobile{display:grid;grid-template-columns:1fr;width:100%;}
  .ui-actions-stacked-mobile>.btn{width:100%;}
  .ui-form-grid{grid-template-columns:1fr;}
  .ui-form-field-full{grid-column:auto;}
  .ui-dialog-actions{flex-wrap:wrap;}
}

/* Light theme refinements for status and specialist components. */
:root[data-theme="light"] .inventory-in{color:#176b3a;}
:root[data-theme="light"] .inventory-out{color:#9f1d24;}
:root[data-theme="light"] .autocomplete-results{border-color:var(--border);color:var(--text);box-shadow:0 14px 34px rgba(52,42,35,.14);}
:root[data-theme="light"] .autocomplete-option{color:var(--text);}
:root[data-theme="light"] .autocomplete-option:hover,
:root[data-theme="light"] .autocomplete-option.is-active{background:#f2e8ec;color:#5f001f;}
:root[data-theme="light"] .autocomplete-count,
:root[data-theme="light"] .wine-master-option-main small{color:var(--muted);}
:root[data-theme="light"] .pro-module.is-enabled{border-color:#91c9a2;background:#edf7f0;}
:root[data-theme="light"] .sommelier-pairings{color:#176b3a;}
:root[data-theme="light"] .sommelier-recommended{color:#6f4b00;background:#fff3d9;border-color:#e5c477;}
:root[data-theme="light"] .announcement-green{background:linear-gradient(90deg,#e7f4eb,#f7fbf8);}
:root[data-theme="light"] .announcement-yellow{background:linear-gradient(90deg,#fff3d9,#fffaf0);}
:root[data-theme="light"] .announcement-red{background:linear-gradient(90deg,#f9e8e9,#fff7f7);}
:root[data-theme="light"] .announcement-blue{background:linear-gradient(90deg,#e7f2fa,#f6fbfe);}
:root[data-theme="light"] .directory-status--active,
:root[data-theme="light"] .directory-status--verified,
:root[data-theme="light"] .directory-status--public{color:#176b3a;background:#e7f4eb;border-color:#91c9a2;}
:root[data-theme="light"] .directory-status--inactive{color:#8f2027;background:#f9e8e9;border-color:#dda0a4;}
:root[data-theme="light"] .directory-status--review,
:root[data-theme="light"] .directory-status--partial,
:root[data-theme="light"] .directory-status--unclear{color:#7a5200;background:#fff3d9;border-color:#e5c477;}
:root[data-theme="light"] .directory-status--integrated,
:root[data-theme="light"] .directory-status--registered{color:#18577f;background:#e7f2fa;border-color:#9ec8df;}
:root[data-theme="light"] .directory-invalid-value,
:root[data-theme="light"] .directory-message--warning,
:root[data-theme="light"] .directory-text-button{color:#7a5200;}
:root[data-theme="light"] .directory-message--error{color:#8f2027;}
:root[data-theme="light"] .directory-protection-list form{background:rgba(148,96,0,.06);}
:root[data-theme="light"] .cellario-lightbox{color-scheme:dark;}

.onboarding-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,4vw,32px);
  padding-top:max(clamp(16px,4vw,32px),env(safe-area-inset-top));
  padding-bottom:max(clamp(16px,4vw,32px),env(safe-area-inset-bottom));
  background:rgba(0,0,0,.58);
  overflow:auto;
  overscroll-behavior:contain;
}
.onboarding-overlay[hidden]{display:none;}
.onboarding-dialog{
  width:min(600px,100%);
  max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin:auto;
  border:1px solid var(--border-strong);
  border-radius:18px;
  background:var(--menu-bg);
  color:var(--text);
  box-shadow:0 24px 70px rgba(0,0,0,.46);
  overflow:auto;
}
.onboarding-dialog-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px 14px;
}
.onboarding-eyebrow{display:block;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.onboarding-progress-label{margin:5px 0 0;color:var(--text-subtle);font-size:13px;}
.onboarding-close{
  appearance:none;
  display:grid;
  flex:0 0 auto;
  width:44px;
  height:44px;
  place-items:center;
  margin:-6px -6px 0 0;
  padding:0;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface-secondary);
  color:var(--text);
  font:inherit;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.onboarding-close:hover{background:var(--hover-bg);}
.onboarding-close:focus-visible,
.onboarding-dialog-actions .btn:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 65%,transparent);outline-offset:2px;}
.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 22px;}
.onboarding-progress-dot{height:4px;border-radius:999px;background:var(--border-soft);transition:background-color .16s ease;}
.onboarding-progress-dot.active{background:var(--brand);}
.onboarding-step-content{padding:24px 22px 26px;}
.onboarding-step[hidden]{display:none;}
.onboarding-step-icon{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  margin-bottom:18px;
  border:1px solid color-mix(in srgb,var(--brand) 30%,var(--border));
  border-radius:16px;
  background:color-mix(in srgb,var(--brand) 10%,var(--surface-secondary));
  color:var(--brand);
}
.onboarding-step-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.onboarding-step h2{margin:0;color:var(--text);font-size:clamp(22px,4vw,28px);line-height:1.18;}
.onboarding-step p{max-width:52ch;margin:11px 0 0;color:var(--text-soft);font-size:15px;line-height:1.55;}
.onboarding-dialog-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 22px 20px;
  border-top:1px solid var(--border-soft);
  background:var(--surface-subtle);
}
.onboarding-dialog-actions .btn{min-height:44px;justify-content:center;}
.onboarding-navigation-actions{display:flex;gap:9px;}
.onboarding-previous[hidden],.onboarding-next[hidden],.onboarding-finish[hidden]{display:none;}
html.onboarding-open{overflow:hidden;}

@media (max-width:600px){
  .onboarding-overlay{align-items:flex-end;padding-left:12px;padding-right:12px;}
  .onboarding-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:16px;}
  .onboarding-dialog-header{padding:17px 17px 12px;}
  .onboarding-progress{padding:0 17px;}
  .onboarding-step-content{padding:20px 17px 22px;}
  .onboarding-step-icon{width:52px;height:52px;margin-bottom:15px;}
  .onboarding-step h2{font-size:22px;}
  .onboarding-dialog-actions{display:grid;grid-template-columns:1fr;padding:12px 17px 17px;}
  .onboarding-skip{order:2;width:100%;}
  .onboarding-navigation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .onboarding-navigation-actions:has(.onboarding-previous[hidden]){grid-template-columns:1fr;}
  .onboarding-navigation-actions .btn{width:100%;}
}
