:root{--bg:#f5f6f8;--panel:#fff;--text:#18202a;--muted:#687386;--accent:#ef6c32;--border:#dfe3e8;--danger:#b42318;--success:#027a48}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px}.auth-card{width:min(720px,100%);background:var(--panel);padding:36px;border-radius:18px;box-shadow:0 18px 50px rgba(18,28,45,.08)}.auth-card.compact{max-width:460px}.brand{font-weight:800;font-size:24px;letter-spacing:-.5px}.auth-card h1{margin:18px 0 6px;font-size:30px}.muted,.auth-switch{color:var(--muted)}form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-weight:650;font-size:14px}input,select{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;font:inherit;background:#fff}button,.button{border:0;background:var(--accent);color:#fff;padding:13px 18px;border-radius:10px;font-weight:750;text-decoration:none;display:inline-flex;justify-content:center;cursor:pointer}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert{padding:13px 15px;border-radius:10px;margin:16px 0}.alert.error{background:#fef3f2;color:var(--danger)}.alert.success{background:#ecfdf3;color:var(--success)}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2))}.topbar nav{display:flex;gap:22px;align-items:center}.container{width:min(1120px,calc(100% - 32px));margin:34px auto}.hero-panel,.trial-box,.next-step{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px}.hero-panel{display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-panel h1{font-size:38px;max-width:700px;margin:5px 0 10px}.hero-panel p{color:var(--muted);max-width:720px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.2px;font-weight:800;color:var(--accent)!important}.trial-box{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.trial-box p{margin:7px 0 0;color:var(--muted)}.trial-days{font-size:34px;font-weight:800;text-align:center}.trial-days small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}.cards article{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px}.cards span{display:block;color:var(--muted);font-size:14px}.cards strong{font-size:28px;display:block;margin-top:8px}.next-step h2{margin-top:0}@media(max-width:720px){.grid.two,.cards{grid-template-columns:1fr}.hero-panel{align-items:flex-start;flex-direction:column}.hero-panel h1{font-size:30px}.trial-box{align-items:flex-start}.auth-card{padding:24px}}
.panel{background:#fff;border:1px solid #e6e8ec;border-radius:18px;padding:24px;margin:22px 0}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #eceef1;text-align:left;white-space:nowrap}.ingredient-table input,.ingredient-table select{min-width:100px}.ingredient-table td:first-child input{min-width:180px}.button.secondary{background:#eef1f5;color:#1b2430}.icon-button{border:0;background:#f1f3f5;border-radius:8px;font-size:22px;width:36px;height:36px;cursor:pointer}.live-summary{display:flex;justify-content:space-between;align-items:center}.live-summary span,.result-grid span,.minimum-price span{display:block;color:#68707d;margin-bottom:8px}.live-summary strong{font-size:28px}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.result-grid article{background:#fff;border:1px solid #e6e8ec;border-radius:18px;padding:22px}.result-grid strong{font-size:28px}.minimum-price{background:#16202a;color:#fff;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;margin:24px 0}.minimum-price span{color:#d8dde2;margin:0}.minimum-price strong{font-size:38px}@media(max-width:900px){.form-grid,.result-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.form-grid,.result-grid{grid-template-columns:1fr}.minimum-price,.live-summary,.section-head{align-items:flex-start;flex-direction:column}}
.topbar nav a{text-decoration:none;color:var(--text);font-weight:650}.topbar nav a.active{color:var(--accent)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.page-head h1,.narrow h1{margin:4px 0 8px}.usage-bar{display:flex;justify-content:space-between;align-items:center;background:#fff7f1;border:1px solid #ffd9c5;border-radius:12px;padding:14px 18px}.empty-state{text-align:center;padding:40px 20px}.empty-state h2{margin-top:0}.empty-state p{color:var(--muted);margin-bottom:22px}.actions{text-align:right}.text-link{font-weight:750;text-decoration:none}.text-link.danger{color:var(--danger);background:none;border:0;padding:0}.actions form{display:inline;margin:0}.narrow{max-width:760px}.grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.card-link{text-decoration:none;color:inherit}.card-link article{height:100%;transition:.18s ease}.card-link:hover article{transform:translateY(-2px);box-shadow:0 8px 24px rgba(18,28,45,.07)}.cards small{display:block;color:var(--muted);margin-top:6px}@media(max-width:760px){.page-head{align-items:flex-start;flex-direction:column}.grid.three{grid-template-columns:1fr}.topbar{height:auto;padding-top:16px;padding-bottom:16px;align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end}}

/* App shell v0.6 */
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#17202a;color:#fff;padding:24px 18px;display:flex;flex-direction:column;overflow-y:auto;z-index:30}
.sidebar-brand{padding:0 10px 22px;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-brand a{display:block;color:#fff;text-decoration:none;font-size:25px;font-weight:850;letter-spacing:-.6px}
.sidebar-brand span{display:block;margin-top:4px;color:#99a6b4;font-size:12px}
.sidebar-nav{display:grid;gap:8px;padding:20px 0}
.nav-item,.nav-group-title{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 12px;border-radius:10px;color:#d7dde4;text-decoration:none;font-weight:720}
.nav-item.active,.nav-group.active>.nav-group-title{background:rgba(239,108,50,.16);color:#ff9a6c}
.nav-item:not(.disabled):hover,.nav-group-title:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px}.nav-icon svg{width:18px;height:18px}
.nav-group{border-radius:12px}
.nav-children{display:grid;gap:2px;margin:2px 0 8px 43px}
.nav-children a,.nav-disabled{display:flex;justify-content:space-between;gap:8px;padding:8px 8px;color:#bcc6d1;text-decoration:none;font-size:13px;border-radius:8px}
.nav-children a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-disabled,.nav-item.disabled{color:#6f7c89;cursor:default}
.nav-disabled small,.nav-item.disabled small{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.5px}
.sidebar-footer{margin-top:auto;padding:18px 10px 0;border-top:1px solid rgba(255,255,255,.1)}
.sidebar-footer strong{display:block;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-footer a{display:inline-block;margin-top:8px;color:#9ba8b5;font-size:12px;text-decoration:none}
.app-main{min-width:0}
.mobile-bar{display:none}
.app-main>.container{width:auto;max-width:none;margin:34px 32px}
@media(max-width:900px){
  .app-shell{display:block}
  .sidebar{position:fixed;left:0;top:0;width:280px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 30px rgba(0,0,0,.18)}
  .sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(11,17,23,.45);z-index:20}
  .mobile-bar{height:62px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:15}
  .menu-toggle{background:transparent;color:var(--text);font-size:23px;padding:6px 8px}
  .mobile-brand{color:var(--text);font-size:20px;font-weight:850;text-decoration:none}
  .mobile-logout{font-size:13px;text-decoration:none;font-weight:700}
  .app-main>.container{width:min(100% - 28px,1180px);margin:24px auto}
}
textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:10px;font:inherit;background:#fff;resize:vertical}.field-help{font-size:12px;font-weight:500;color:var(--muted)}.field-help a{text-decoration:none}.table-subline{display:block;margin-top:4px;color:var(--muted);font-weight:400}
.checkbox-line{display:flex;align-items:flex-start;gap:9px;font-weight:500;font-size:13px;color:var(--text)}.checkbox-line input{width:auto;margin-top:3px}.legal-card{max-width:760px}.legal-card h2{font-size:17px;margin:26px 0 8px}.legal-card p{color:var(--text);line-height:1.6}
.disclaimer-check{padding:13px;border:1px solid #ffd1ba;border-radius:10px;background:#fff8f3}.legal-consent-card{max-width:760px}.legal-acceptance{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff}.legal-acceptance.emphasized{border-color:#f3ad88;background:#fff8f3}.legal-acceptance input{width:20px;height:20px;margin-top:2px}.legal-acceptance span{display:grid;gap:5px}.legal-acceptance small{color:var(--muted);font-weight:500;line-height:1.5}
.hero-panel.blocked{background:#fff7f1;border-color:#ffd9c5}.billing-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.billing-method{border:1px solid var(--border);border-radius:14px;padding:18px}.billing-method.disabled{opacity:.55}.billing-method form{margin-top:12px;gap:10px}.billing-method textarea{font-size:13px}@media(max-width:760px){.billing-methods{grid-template-columns:1fr}}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form select{padding:7px 9px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px}
.product-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:12px;align-items:stretch}.product-summary>div{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:15px 16px;background:#f8f9fb;border:1px solid var(--border);border-radius:12px}.product-summary span{margin-bottom:6px;font-size:12px;font-weight:700;line-height:1.35}.product-summary strong{font-size:clamp(24px,2.2vw,31px);line-height:1.1;letter-spacing:-.4px;white-space:nowrap}.product-summary>.button{align-items:center;min-width:150px;padding-inline:22px}@media(max-width:1100px){.product-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.product-summary>.button{min-height:72px}}@media(max-width:700px){.product-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.product-summary>.button{min-width:0}}@media(max-width:440px){.product-summary{grid-template-columns:1fr}}
.field-error{color:var(--danger);font-size:12px;font-weight:650}.input-error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)}.metric-status{display:inline-flex;align-self:flex-start;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2}.product-summary>div.status-optimal{border-color:#86c9ad}.status-optimal .metric-status{background:#ecfdf3;color:#027a48}.product-summary>div.status-good{border-color:#9fc5df}.status-good .metric-status{background:#eff8ff;color:#175cd3}.product-summary>div.status-warning{border-color:#f5c56b}.status-warning .metric-status{background:#fffaeb;color:#93370d}.product-summary>div.status-critical{border-color:#f2a7a0}.status-critical .metric-status{background:#fef3f2;color:#b42318}.value-updated{animation:summary-value-update 180ms ease-out}@keyframes summary-value-update{0%{opacity:.65;transform:scale(.985)}100%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.value-updated{animation:none}}

/* Product result and price simulator */
.product-result .metric-card{min-width:0;border-left:4px solid var(--border)}
.product-result .metric-card strong{display:block;overflow-wrap:anywhere}
.product-result .metric-neutral{border-left-color:#344054}
.product-result .metric-positive{border-left-color:var(--success)}
.product-result .metric-warning{border-left-color:#dc6803}
.product-result .metric-critical{border-left-color:var(--danger)}
.product-result .metric-positive>strong{color:var(--success)}
.product-result .metric-warning>strong{color:#b54708}
.product-result .metric-critical>strong{color:var(--danger)}
.product-result .metric-positive .metric-status{background:#ecfdf3;color:#027a48}
.product-result .metric-warning .metric-status{background:#fffaeb;color:#93370d}
.product-result .metric-critical .metric-status{background:#fef3f2;color:#b42318}
.metric-help{display:block;margin-top:9px;color:var(--muted);font-size:12px;line-height:1.45}
.price-simulator{border-color:#ffd5c2;background:linear-gradient(145deg,#fff 55%,#fff7f1)}
.simulator-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.simulator-heading h2{margin:2px 0 0}
.simulator-heading .eyebrow{margin:0 0 5px}
.simulator-heading .metric-help{font-size:13px}
.simulator-controls{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(280px,1fr);align-items:end;gap:24px;margin-top:22px}
.simulator-controls input[type="number"]{font-size:22px;font-weight:750}
.range-field{min-width:0}
.simulator-controls input[type="range"]{height:42px;padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}
.range-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:500}
.minimum-price>span>strong,.minimum-price>span>small{display:block}
.minimum-price>span>strong{margin-bottom:7px;color:#fff;font-size:17px}
.minimum-price>span>small{max-width:620px;line-height:1.45;color:#d8dde2}
.components-panel table{min-width:850px}
.highest-incidence{background:#fff8f4}
.incidence-label{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:#ffeadf;color:#a13d13;font-size:11px;font-weight:750}
.incidence-value{display:grid;grid-template-columns:48px 110px;align-items:center;gap:9px}
.incidence-bar{height:8px;overflow:hidden;border-radius:999px;background:#e9edf1}
.incidence-bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}
@media(max-width:700px){
  .simulator-heading{flex-direction:column}
  .simulator-heading .button{width:100%}
  .simulator-controls{grid-template-columns:1fr;gap:16px}
  .product-result .result-grid{grid-template-columns:1fr}
  .product-result .minimum-price{gap:18px}
  .product-result .minimum-price>strong{font-size:32px;overflow-wrap:anywhere}
}
[hidden]{display:none!important}.status-badge,.component-type-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2}.component-type-badge[data-component-badge]{margin-top:6px}.status-badge.active{background:#ecfdf3;color:#027a48}.status-badge.archived{background:#f2f4f7;color:#475467}.component-type-badge.ingredient{background:#eff8ff;color:#175cd3}.component-type-badge.preparation{background:#fff4ed;color:#b54708}.is-archived{color:var(--muted);background:#f8f9fb}.is-archived strong{color:#667085}.preparations-table{min-width:850px}.preparation-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.components-panel .incidence-label{display:block;width:max-content}@media(max-width:600px){.preparation-result-grid{grid-template-columns:1fr}}

/* Ingredient catalog */
.page-actions,.catalog-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.catalog-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end;margin-top:0}
.catalog-filters button{min-height:44px}
.catalog-summary{display:flex;justify-content:space-between;align-items:center;gap:16px}
.catalog-table{min-width:920px}
.catalog-check{width:18px;height:18px}
.catalog-tags{max-width:260px;white-space:normal;color:var(--muted);font-size:12px}
.status-badge.imported{background:#f2f4f7;color:#344054}
.catalog-note{line-height:1.55}
.catalog-unavailable{border-color:#f5c56b;background:#fffaeb}
@media(max-width:900px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters label:first-child{grid-column:1/-1}}
@media(max-width:600px){.page-actions,.catalog-summary{align-items:stretch;flex-direction:column}.page-actions .button,.catalog-actions button{width:100%}.catalog-filters{grid-template-columns:1fr}.catalog-filters label:first-child{grid-column:auto}}

/* Bulk ingredient prices */
.bulk-prices-page{max-width:1500px}.bulk-price-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));gap:12px;align-items:end}.bulk-price-filters .checkbox-line{align-self:center}.bulk-selection-bar{position:sticky;top:10px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px}.bulk-selection-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bulk-table-panel{padding:0;overflow:hidden}.bulk-price-table{min-width:1500px}.bulk-price-table thead th{position:sticky;top:0;background:#fff;z-index:2}.bulk-price-table input:not([type=checkbox]){min-width:125px;padding:9px}.bulk-price-table output{display:block;font-weight:750}.bulk-price-table [data-change-preview]{display:block;margin-top:4px;white-space:normal}.bulk-price-table [data-direction=up]{color:var(--danger)}.bulk-price-table [data-direction=down]{color:var(--success)}.bulk-price-table [data-direction=same]{color:var(--muted)}.bulk-row-modified{background:#fff8f4}.bulk-row-error{box-shadow:inset 4px 0 var(--danger)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1100px){.bulk-price-filters{grid-template-columns:repeat(3,1fr)}.bulk-price-filters .filter-search{grid-column:span 2}}@media(max-width:700px){.bulk-price-filters{grid-template-columns:1fr}.bulk-price-filters .filter-search{grid-column:auto}.bulk-selection-bar{position:static;align-items:stretch;flex-direction:column}.bulk-selection-bar>div{align-items:stretch;flex-direction:column}.bulk-selection-bar button{width:100%}}

/* Ingredient archive management */
.ingredient-filter-panel{padding:0;overflow:hidden}
.ingredient-filter-panel>summary{padding:18px 22px;font-weight:800;cursor:pointer;list-style-position:inside}
.ingredient-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:13px;margin:0;padding:0 22px 22px}
.ingredient-filters .filter-search{grid-column:span 2}
.filter-checkbox{align-self:end;min-height:44px;padding:11px 0}
.filter-actions{display:flex;align-items:end;justify-content:flex-end;gap:9px;grid-column:span 2}
.result-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 8px}
.ingredient-results{margin-top:0}
.ingredients-management-table{min-width:1180px}
.product-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(140px,1fr)) auto;gap:12px;align-items:end}.product-results{padding:0;overflow:hidden}.product-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);background:#f8f9fb}.product-selection-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.products-management-table{min-width:1280px}.products-management-table .selection-column{width:42px}.table-sort-link{color:inherit;text-decoration:none}.table-sort-link:hover{text-decoration:underline}.button.danger{background:var(--danger);color:#fff}.product-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.product-row-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.product-row-action.primary{background:var(--accent);color:#fff}.product-row-action.secondary{background:#fff;color:var(--text);border-color:var(--border)}.product-row-action.danger{background:#fff;color:var(--danger);border-color:#f5c4bf}.product-row-action.restore{background:#ecfdf3;color:var(--success);border-color:#abefc6}.product-row-action:hover{filter:brightness(.96)}.product-row-action:focus-visible{outline:3px solid rgba(239,108,50,.22);outline-offset:2px}@media(max-width:900px){.product-filters{grid-template-columns:repeat(2,1fr)}.product-filters .filter-search{grid-column:span 2}}@media(max-width:600px){.product-filters{grid-template-columns:1fr}.product-filters .filter-search{grid-column:auto}.product-selection-bar{align-items:stretch;flex-direction:column}.product-selection-bar>div{align-items:stretch;flex-direction:column}.product-selection-bar button{width:100%}.product-row-actions{justify-content:flex-start}}
.status-badge.catalog-origin{background:#fff4ed;color:#b54708}
.status-badge.manual-origin{background:#eff8ff;color:#175cd3}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0 36px}
@media(max-width:950px){.ingredient-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-filters .filter-search{grid-column:1/-1}}
@media(max-width:600px){.ingredient-filter-panel:not([open])>summary{padding-bottom:18px}.ingredient-filters{grid-template-columns:1fr}.ingredient-filters .filter-search,.filter-actions{grid-column:auto}.filter-actions{align-items:stretch;flex-direction:column-reverse}.filter-actions .button,.filter-actions button{width:100%}.pagination{justify-content:space-between;flex-wrap:wrap}.pagination span{order:-1;width:100%;text-align:center}}

/* Reusable dashboard and onboarding components (infrastructure only) */
.ui-kpi-card,.ui-alert-card,.ui-suggestion-card,.ui-progress-step{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}
.ui-kpi-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px}.ui-kpi-card strong{grid-column:2;font-size:28px}.ui-card-icon{display:grid;place-items:center;grid-row:1/3;width:28px;height:28px;color:#344054}.ui-card-icon svg{width:24px;height:24px}
.ui-alert-card,.ui-suggestion-card,.ui-progress-step{display:flex;align-items:center;justify-content:space-between;gap:18px}.ui-alert-card h3,.ui-suggestion-card h3,.ui-progress-step h3{margin:0 0 6px}.ui-alert-card p,.ui-suggestion-card p,.ui-progress-step p{margin:0;color:var(--muted)}
.ui-alert-card.warning{border-left:4px solid #dc6803}.ui-alert-card.critical{border-left:4px solid var(--danger)}.ui-alert-card.info{border-left:4px solid #175cd3}
.ui-step-marker{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#eef1f5;font-weight:850}.ui-progress-step.completed .ui-step-marker{background:#ecfdf3;color:var(--success)}
@media(max-width:600px){.ui-alert-card,.ui-suggestion-card,.ui-progress-step{align-items:flex-start;flex-direction:column}.ui-alert-card .button,.ui-suggestion-card .button{width:100%}}

/* Sales */
.sales-filters,.sales-entry-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end}.sales-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.sales-report-table{min-width:950px}.daily-sales-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.daily-sales-list>div{display:flex;justify-content:space-between;gap:10px;padding:12px;background:#f8f9fb;border-radius:10px}.sales-entry-actions{position:sticky;top:10px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px}.sales-entry-actions>div{display:flex;align-items:center;gap:12px}.sales-entry-table-panel{padding:0;overflow:hidden}.sales-entry-table{min-width:720px}.sales-entry-table thead th{position:sticky;top:0;background:#fff}.sales-entry-table input{max-width:150px}.sales-row-modified{background:#fff8f4}.dashboard-sales-widget{display:grid;grid-template-columns:1.2fr repeat(3,1fr) auto;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:16px}.dashboard-sales-widget h2{margin:3px 0}.dashboard-sales-widget span{display:block;color:var(--muted);font-size:12px}.dashboard-sales-widget strong{display:block;margin-top:5px}@media(max-width:950px){.sales-filters,.sales-entry-filters{grid-template-columns:repeat(2,1fr)}.sales-kpis,.daily-sales-list{grid-template-columns:repeat(2,1fr)}.dashboard-sales-widget{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.sales-filters,.sales-entry-filters,.sales-kpis,.daily-sales-list,.dashboard-sales-widget{grid-template-columns:1fr}.sales-entry-actions{position:static;align-items:stretch;flex-direction:column}.sales-entry-actions>div{align-items:stretch;flex-direction:column}.sales-entry-actions button{width:100%}}

/* Smart dashboard */
.smart-dashboard{display:grid;gap:28px}.dashboard-welcome,.dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.dashboard-welcome h1,.dashboard-section-head h2{margin:3px 0 7px}.dashboard-plan{display:flex;align-items:center;gap:10px;padding:13px 17px;background:#fff7f1;border:1px solid #ffd9c5;border-radius:12px}.dashboard-plan small{margin-left:auto;color:var(--muted)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dashboard-kpi-grid .card-link{min-width:0}.dashboard-kpi-grid .ui-kpi-card{height:100%;transition:transform .18s ease,box-shadow .18s ease}.dashboard-kpi-grid .card-link:hover .ui-kpi-card,.dashboard-kpi-grid .card-link:focus-visible .ui-kpi-card{transform:translateY(-2px);box-shadow:0 8px 24px rgba(18,28,45,.08)}.dashboard-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border-radius:18px;background:#17202a;color:#fff}.dashboard-next h2{margin:3px 0 8px}.dashboard-next p:not(.eyebrow){margin:0;color:#d7dde4}.dashboard-next .empty-state{padding:10px;text-align:left}.dashboard-next .empty-state p{color:#d7dde4}.dashboard-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-stack{display:grid;gap:12px}.dashboard-stack>.empty-state{background:#fff;border:1px solid var(--border);border-radius:16px}.ui-alert-card{display:grid;grid-template-columns:auto 1fr auto}.ui-alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f2f4f7;font-weight:850}.dashboard-bottom-grid{align-items:stretch}.dashboard-bottom-grid>.panel{margin:0}.recent-list{list-style:none;margin:0;padding:0}.recent-list li{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.recent-list li:last-child{border-bottom:0}.recent-type{color:var(--muted);font-size:12px;font-weight:750}.recent-list time{color:var(--muted);font-size:12px}.catalog-status{font-size:12px;font-weight:800}.catalog-status.available{color:var(--success)}.catalog-status.unavailable{color:var(--danger)}.catalog-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalog-metrics div{padding:14px;background:#f8f9fb;border-radius:12px}.catalog-metrics dt{color:var(--muted);font-size:12px}.catalog-metrics dd{margin:6px 0 0;font-weight:800}.dashboard-catalog>.button{margin-top:12px}@media(max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.dashboard-kpi-grid,.dashboard-two-columns{grid-template-columns:1fr}.dashboard-welcome,.dashboard-next{align-items:flex-start;flex-direction:column}.dashboard-kpi-grid .ui-kpi-card{width:100%}.dashboard-plan{align-items:flex-start;flex-direction:column}.dashboard-plan small{margin-left:0}.recent-list li{grid-template-columns:1fr}.catalog-metrics{grid-template-columns:1fr}.ui-alert-card{grid-template-columns:auto 1fr}.ui-alert-card .text-link{grid-column:2}}

/* Welcome wizard */
.dashboard-guided-link{text-align:right}.onboarding-container{max-width:920px}.onboarding-shell{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:clamp(22px,4vw,42px);margin:28px 0}.onboarding-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;margin-bottom:34px}.onboarding-head p{margin:3px 0}.onboarding-progress{height:10px;background:#eef1f5;border-radius:99px;overflow:hidden}.onboarding-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.onboarding-intro{text-align:center;max-width:620px;margin:20px auto}.onboarding-intro form{display:flex;justify-content:center}.onboarding-hero-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#fff4ed;color:var(--accent);font-size:30px}.business-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.business-profile{position:relative;display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--border);border-radius:14px;cursor:pointer}.business-profile input{width:auto}.business-profile:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px rgba(239,108,50,.15)}.business-profile>span{font-size:24px}.wizard-actions,.wizard-final-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.onboarding-options{display:grid;gap:12px}.onboarding-options label{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid var(--border);border-radius:14px}.onboarding-options input{width:20px;height:20px}.onboarding-options small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.setup-summary{line-height:2}.completion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wizard-final-actions{justify-content:center;flex-wrap:wrap}@media(max-width:700px){.onboarding-head{grid-template-columns:1fr;gap:10px}.business-profile-grid,.completion-grid{grid-template-columns:1fr 1fr}.wizard-actions{align-items:stretch;flex-direction:column-reverse}.wizard-actions .button,.wizard-actions button,.wizard-final-actions .button{width:100%}}@media(max-width:440px){.business-profile-grid,.completion-grid{grid-template-columns:1fr}}
.onboarding-intro form{flex-wrap:wrap;gap:10px}.onboarding-first-path{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px 0;color:var(--muted);font-size:12px;font-weight:750}.onboarding-first-path span{display:flex;align-items:center;gap:6px}.onboarding-first-path b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#fff0e9;color:#d9511d}.onboarding-first-path i{font-style:normal;color:#a4acb7}.onboarding-options label:has(input:checked){border-color:#f0a27e;background:#fff9f5;box-shadow:0 0 0 2px rgba(239,108,50,.08)}body.tour-open{overflow:hidden}.product-tour[hidden]{display:none}.product-tour{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.product-tour-backdrop{position:absolute;inset:0;background:rgba(9,15,22,.72);backdrop-filter:blur(5px)}.product-tour-dialog{position:relative;width:min(880px,100%);max-height:min(780px,calc(100vh - 44px));overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.35)}.product-tour-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.product-tour-top>div{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:800}.product-tour-progress{width:130px;height:6px;border-radius:99px;background:#edf0f3;overflow:hidden}.product-tour-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s}.product-tour-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;background:#f1f3f5;color:#344050;font-size:23px}.product-tour-track{display:grid;min-height:560px}.product-tour-slide{display:none;padding:35px clamp(26px,5vw,60px);animation:tour-in .22s ease}.product-tour-slide.is-active{display:block}.product-tour-slide h2{max-width:700px;margin:8px 0 13px;font-size:clamp(29px,4vw,43px);line-height:1.08;letter-spacing:-.035em}.product-tour-slide>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:16px;line-height:1.65}.product-tour-slide ul{display:grid;gap:8px;margin:20px 0;padding-left:20px;color:#4f5b69}.tour-visual{display:flex;align-items:center;justify-content:center;gap:12px;min-height:150px;margin-bottom:28px;padding:24px;border-radius:18px;background:linear-gradient(140deg,#17202a,#26394b);color:#fff}.tour-flow span,.tour-menu span{padding:12px 15px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);font-weight:800}.tour-flow i{color:#ff8e5c;font-size:20px}.tour-metric{display:grid;grid-template-columns:repeat(3,1fr)}.tour-metric span,.tour-product span{display:grid;gap:5px;padding:15px;border-radius:12px;background:rgba(255,255,255,.07);color:#aeb9c4;font-size:12px}.tour-metric strong,.tour-product b{color:#fff;font-size:20px}.tour-metric .accent{background:rgba(239,108,50,.18)}.tour-recipe{flex-wrap:wrap}.tour-recipe span{padding:9px 12px;border-radius:99px;background:rgba(255,255,255,.08)}.tour-recipe strong{width:100%;text-align:center;color:#ff9767;font-size:25px}.tour-product{display:grid;grid-template-columns:repeat(3,1fr)}.tour-product>strong{grid-column:1/-1;text-align:center;color:#65dda5;font-size:25px}.tour-menu{flex-wrap:wrap}.tour-menu strong{width:100%;text-align:center;color:#ff9767;font-size:24px}.tour-ready{display:grid;justify-items:center;text-align:center}.tour-ready>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#eaf9f0;color:#027a48;font-size:25px}.tour-ready strong{font-size:25px}.tour-ready small{color:#aeb9c4}.tour-callout{display:grid;gap:5px;margin-top:20px;padding:15px 17px;border-left:4px solid var(--accent);border-radius:0 11px 11px 0;background:#fff5ef}.tour-callout span{color:#5d6876;font-size:13px;line-height:1.5}.product-tour-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 22px;border-top:1px solid var(--border);background:#fafbfc}.product-tour-actions button{min-width:120px}.product-tour-actions button:disabled{opacity:.4;cursor:default}@keyframes tour-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}@media(max-width:700px){.onboarding-first-path{display:grid;grid-template-columns:1fr 1fr}.onboarding-first-path i{display:none}.product-tour{padding:10px}.product-tour-dialog{max-height:calc(100vh - 20px);overflow-y:auto}.product-tour-track{min-height:0}.product-tour-slide{padding:25px 20px}.tour-visual{min-height:120px;margin-bottom:21px}.tour-flow{display:grid;grid-template-columns:1fr}.tour-flow i{display:none}.tour-metric,.tour-product{grid-template-columns:1fr}.tour-product>strong{grid-column:auto}.product-tour-slide h2{font-size:29px}.product-tour-progress{width:90px}.product-tour-actions{position:sticky;bottom:0}.product-tour-actions button{min-width:0}}

.sidebar-brand {

    padding: 18px 16px;

    text-align: center;

    border-bottom: 1px solid rgba(255,255,255,.08);

}

.sidebar-brand img {

    max-width: 80%;

    max-height: auto;

    width: auto;

    height: auto;

}


/* Sidebar brand refinement */
.sidebar-brand{
    position:relative;
}
.sidebar-brand::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:18px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(239,108,50,.62),
        transparent
    );
}

/* Account e profilo */
.sidebar-account{margin:14px 0 2px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.035)}.sidebar-account summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;cursor:pointer;list-style:none}.sidebar-account summary::-webkit-details-marker{display:none}.sidebar-account summary>span:nth-child(2){display:grid;gap:2px;min-width:0}.sidebar-account summary strong,.sidebar-account summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account summary strong{color:#fff;font-size:13px}.sidebar-account summary small{color:#98a7b7;font-size:11px}.sidebar-account summary i{color:#8e9aa7;font-style:normal;transition:transform .18s}.sidebar-account[open] summary i{transform:rotate(180deg)}.account-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#ff7d43,#e95319);color:#fff;font-size:13px;font-weight:900}.sidebar-account-menu{display:grid;gap:2px;padding:4px 9px 10px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-account-menu a{padding:8px 9px;border-radius:8px;color:#c9d1da;text-decoration:none;font-size:12px;font-weight:650}.sidebar-account-menu a:hover{background:rgba(255,255,255,.07);color:#fff}.account-plan{display:grid;gap:3px;margin:5px 0;padding:9px;border-radius:9px;background:rgba(239,108,50,.12)}.account-plan span,.account-menu-label{color:#9eabb8;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.account-plan strong{color:#ff9a6c;font-size:12px}.sidebar-account-menu .account-menu-label{padding:10px 9px 3px}.sidebar-account-menu .account-logout{margin-top:4px;border-top:1px solid rgba(255,255,255,.08);border-radius:0;color:#ffb295}.sidebar-nav{padding-top:12px}.profile-page{display:grid;gap:20px}.profile-form{max-width:980px;margin:0}.profile-form .panel{margin:0}.profile-form .form-section-heading{margin-bottom:22px}


/* DishCost login */
.auth-login-page{
    display:block;
    min-height:100vh;
    padding:0;
    overflow-x:hidden;
    background:#eef1f4;
}
.auth-login-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(390px,44%) minmax(460px,56%);
}
.auth-login-brand{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(34px,5vw,72px);
    color:#fff;
    background:
        radial-gradient(circle at 82% 14%,rgba(239,108,50,.3),transparent 31%),
        radial-gradient(circle at 12% 88%,rgba(239,108,50,.14),transparent 28%),
        #17202a;
}
.auth-login-brand::before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    right:-180px;
    bottom:-140px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    box-shadow:
        0 0 0 60px rgba(255,255,255,.025),
        0 0 0 125px rgba(255,255,255,.018);
}
.auth-login-brand-inner,
.auth-login-brand-footer{
    position:relative;
    z-index:1;
}
.auth-login-logo{
    display:inline-flex;
    align-items:center;
    width:max-content;
}
.auth-login-logo img{
    display:block;
    width:min(210px,70%);
    height:auto;
}
.auth-login-copy{
    max-width:620px;
    margin-top:clamp(64px,10vh,130px);
}
.auth-login-copy .eyebrow{
    margin:0 0 16px;
    color:#ff9a6c!important;
}
.auth-login-copy h1{
    max-width:570px;
    margin:0;
    color:#fff;
    font-size:clamp(40px,5vw,68px);
    line-height:1.02;
    letter-spacing:-2.2px;
}
.auth-login-copy>p:last-child{
    max-width:560px;
    margin:24px 0 0;
    color:#c6ced7;
    font-size:clamp(16px,1.4vw,19px);
    line-height:1.65;
}
.auth-login-features{
    display:grid;
    gap:12px;
    max-width:560px;
    margin-top:48px;
}
.auth-login-features>div{
    display:grid;
    grid-template-columns:30px 1fr;
    align-items:start;
    gap:12px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.035);
    backdrop-filter:blur(8px);
}
.auth-login-features>div>span{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:rgba(239,108,50,.18);
    color:#ff9a6c;
    font-weight:900;
}
.auth-login-features p{
    margin:0;
}
.auth-login-features strong,
.auth-login-features small{
    display:block;
}
.auth-login-features strong{
    color:#fff;
    font-size:14px;
}
.auth-login-features small{
    margin-top:4px;
    color:#aeb8c3;
    font-size:12px;
    line-height:1.45;
}
.auth-login-brand-footer{
    margin:42px 0 0;
    color:#8f9ba8;
    font-size:12px;
}
.auth-login-form-panel{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:clamp(28px,5vw,76px);
    background:
        linear-gradient(rgba(255,255,255,.76),rgba(255,255,255,.76)),
        linear-gradient(135deg,#f7f8fa,#eceff3);
}
.auth-login-form-wrap{
    width:min(480px,100%);
}
.auth-login-mobile-logo{
    display:none;
}
.auth-login-heading{
    margin-bottom:28px;
}
.auth-login-heading .eyebrow{
    margin:0 0 8px;
}
.auth-login-heading h2{
    margin:0;
    font-size:clamp(31px,3.4vw,44px);
    line-height:1.1;
    letter-spacing:-1.2px;
}
.auth-login-heading>p:last-child{
    margin:12px 0 0;
    color:var(--muted);
    font-size:15px;
}
.auth-login-form{
    gap:18px;
    margin-top:0;
}
.auth-login-form label{
    gap:8px;
}
.auth-login-form input{
    min-height:52px;
    padding:14px 15px;
    border-color:#d7dce2;
    background:rgba(255,255,255,.94);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.auth-login-form input:focus{
    outline:0;
    border-color:var(--accent);
    background:#fff;
    box-shadow:0 0 0 4px rgba(239,108,50,.13);
}
.auth-password-field{
    position:relative;
    display:block;
}
.auth-password-field input{
    padding-right:90px;
}
.auth-password-toggle{
    position:absolute;
    top:50%;
    right:8px;
    min-height:36px;
    transform:translateY(-50%);
    padding:7px 10px;
    background:transparent;
    color:var(--accent);
    font-size:12px;
}
.auth-password-toggle:hover{
    background:#fff4ed;
}
.auth-login-submit{
    width:100%;
    min-height:58px;
    margin-top:4px;
    align-items:center;
    font-size:16px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.01em;
    box-shadow:0 10px 24px rgba(239,108,50,.2);
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.auth-login-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(239,108,50,.27);
}
.auth-login-submit:active{
    transform:translateY(0);
}
.auth-login-form-wrap>.alert{
    margin:0 0 20px;
    border:1px solid #fecdca;
}
.auth-login-form-wrap .auth-switch{
    margin:24px 0 0;
    text-align:center;
    font-size:14px;
}
.auth-login-form-wrap .auth-switch a{
    font-weight:800;
    text-decoration:none;
}
.auth-login-form-wrap .auth-switch a:hover{
    text-decoration:underline;
}
.auth-login-note{
    max-width:390px;
    margin:34px auto 0;
    color:#8a94a3;
    font-size:12px;
    line-height:1.55;
    text-align:center;
}
@media(max-width:980px){
    .auth-login-shell{
        grid-template-columns:minmax(320px,40%) minmax(440px,60%);
    }
    .auth-login-brand{
        padding:38px;
    }
    .auth-login-copy h1{
        font-size:44px;
    }
    .auth-login-features{
        margin-top:34px;
    }
}
@media(max-width:780px){
    .auth-login-shell{
        display:block;
        min-height:100vh;
    }
    .auth-login-brand{
        display:none;
    }
    .auth-login-form-panel{
        min-height:100vh;
        padding:28px 20px 44px;
        background:
            radial-gradient(circle at 50% 0,rgba(239,108,50,.14),transparent 34%),
            #f5f6f8;
    }
    .auth-login-mobile-logo{
        display:flex;
        justify-content:center;
        margin-bottom:34px;
        padding:18px;
        border-radius:16px;
        background:#17202a;
    }
    .auth-login-mobile-logo img{
        width:145px;
        height:auto;
    }
    .auth-login-heading{
        text-align:center;
    }
    .auth-login-heading h2{
        font-size:34px;
    }
}
@media(max-width:440px){
    .auth-login-form-panel{
        padding-inline:16px;
    }
    .auth-login-heading h2{
        font-size:30px;
    }
}
@media(prefers-reduced-motion:reduce){
    .auth-login-submit,
    .auth-login-form input{
        transition:none;
    }
}
.ui-alert-icon svg{width:18px;height:18px}
.language-switcher{position:fixed;z-index:140;right:18px;bottom:18px}.language-switcher summary{display:flex;align-items:center;justify-content:center;gap:6px;min-width:58px;height:42px;padding:0 12px;border:1px solid #d9dee5;border-radius:12px;background:#fff;color:#26313d;font-size:12px;font-weight:850;box-shadow:0 8px 28px rgba(15,23,42,.16);cursor:pointer;list-style:none}.language-switcher summary::-webkit-details-marker{display:none}.language-switcher nav{position:absolute;right:0;bottom:50px;display:grid;min-width:175px;padding:7px;border:1px solid #dfe3e8;border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.2)}.language-switcher nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#26313d;font-size:12px;font-weight:850;text-decoration:none}.language-switcher nav a span{color:#687386;font-weight:650}.language-switcher nav a:hover,.language-switcher nav a.active{background:#fff1e9;color:#d9511d}.language-switcher nav a.active span{color:#d9511d}@media(max-width:700px){.language-switcher{right:12px;bottom:12px}.language-switcher summary{height:40px}}
.kaipix-credit{display:flex;align-items:center;justify-content:center;gap:7px;color:#7a8593;font-size:11px;line-height:1.4}.kaipix-credit a{display:inline-flex;align-items:center;color:inherit;text-decoration:none}.kaipix-credit img{display:block;width:55px;height:auto}.app-credit-footer{margin:42px 24px 18px;padding-top:18px;border-top:1px solid var(--border)}.auth-kaipix-credit{margin-top:30px}.auth-security-card>.auth-kaipix-credit{margin-top:26px}.sidebar-credit{margin-top:auto;padding:18px 12px 20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-credit .kaipix-credit{flex-wrap:wrap;color:#aeb8c4;text-align:center}.sidebar-credit .kaipix-credit a{padding:4px 7px;border-radius:6px;background:#fff}@media(max-width:700px){.app-credit-footer{margin-inline:16px}.kaipix-credit{flex-wrap:wrap;text-align:center}}
.component-search-control{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:6px;align-items:center}.component-search-control input[type="search"]{min-width:190px;color:var(--text);background:#fff;color-scheme:light}.component-search-control datalist,.component-search-control option{color:var(--text);background:#fff;color-scheme:light}.component-quick-add{min-height:36px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.component-quick-add:hover{background:#fff6f1;color:var(--accent)}.quick-ingredient-dialog{width:min(680px,calc(100vw - 32px));padding:0;border:0;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.28)}.quick-ingredient-dialog::backdrop{background:rgba(15,23,42,.58)}.quick-ingredient-dialog form{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-head h2{margin-top:0}.quick-ingredient-dialog .form-actions{margin-bottom:0}@media(max-width:700px){.component-search-control{grid-template-columns:1fr}.component-quick-add{width:100%}.quick-ingredient-dialog .grid.three{grid-template-columns:1fr}}
.component-search-box{position:relative}.component-search-results{position:absolute;z-index:80;top:calc(100% + 5px);left:0;right:0;max-height:280px;overflow-y:auto;padding:5px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 35px rgba(15,23,42,.18)}.component-search-results[hidden]{display:none}.component-search-results button{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:#fff;color:var(--text);text-align:left;font-weight:650}.component-search-results button:hover,.component-search-results button:focus{background:#fff2eb;color:var(--text);outline:0}.component-search-results p{margin:0;padding:10px 12px;color:var(--muted);font-size:13px;white-space:normal}
.component-search-results{position:fixed;z-index:1000;right:auto}
.component-search-results button{padding:12px 14px;font-size:16px;line-height:1.3}
.supplier-form-page{max-width:1180px}.supplier-form{gap:0;margin-top:0}.supplier-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.supplier-form-main{display:grid;gap:16px}.supplier-form-section{display:grid;gap:20px;margin:0;padding:24px}.form-section-heading{display:flex;align-items:flex-start;gap:13px;padding-bottom:17px;border-bottom:1px solid var(--border)}.form-section-heading>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#fff1e9;color:var(--accent);font-weight:850}.form-section-heading h2{margin:1px 0 4px;font-size:19px}.form-section-heading p{margin:0;color:var(--muted);font-size:13px}.supplier-form-section label>small{color:var(--muted);font-weight:500}.supplier-form-help{position:sticky;top:24px;padding:22px;background:#17202a;color:#fff;border-radius:16px}.supplier-form-help strong{font-size:16px}.supplier-form-help ul{padding-left:20px;line-height:1.8;color:#e2e8ef}.supplier-form-help p{margin:18px 0 0;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);color:#cbd3dc;font-size:13px;line-height:1.5}.supplier-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding:18px 0 34px;border-top:1px solid var(--border)}@media(max-width:850px){.supplier-form-layout{grid-template-columns:1fr}.supplier-form-help{position:static}.supplier-form-actions{align-items:stretch;flex-direction:column-reverse}.supplier-form-actions .button,.supplier-form-actions button{width:100%}}
.category-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.category-summary article,.category-summary>a{display:grid;gap:6px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:16px;color:var(--text);text-decoration:none}.category-summary>a{border-color:#ffd4bf;background:#fff8f4}.category-summary span{color:var(--muted);font-size:13px;font-weight:700}.category-summary strong{font-size:28px}.category-summary strong small{font-size:15px;color:var(--muted)}.category-summary small{color:var(--muted)}.category-panel{padding:0;overflow:hidden}.category-panel>.section-head{padding:22px 24px;border-bottom:1px solid var(--border)}.category-panel>.section-head h2{margin:0 0 5px}.categories-management-table td:first-child{white-space:normal}.category-name{color:var(--text);font-size:16px;font-weight:800;text-decoration:none}.category-name:hover{color:var(--accent)}.categories-management-table td:first-child small{display:block;margin-top:4px;color:var(--muted)}.category-count{color:var(--text);text-decoration:none}.category-count:hover{color:var(--accent)}.category-progress{display:inline-block;width:140px;height:8px;margin-right:8px;overflow:hidden;background:#eef1f5;border-radius:20px;vertical-align:middle}.category-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.category-empty{background:#fffaf7}.categories-management-table form{display:inline;margin:0}@media(max-width:700px){.category-summary{grid-template-columns:1fr}.category-panel>.section-head{align-items:stretch}.category-panel>.section-head .button{width:100%}}

/* Suggerimenti contestuali */
.catalog-scope-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.catalog-scope-options label{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:17px;border:1px solid var(--border);border-radius:14px;cursor:pointer}.catalog-scope-options label:has(input:checked){border-color:var(--accent);background:#fff8f4;box-shadow:0 0 0 2px rgba(239,108,50,.1)}.catalog-scope-options input{width:19px;height:19px;margin-top:2px}.catalog-scope-options span,.catalog-scope-options strong,.catalog-scope-options small{display:block}.catalog-scope-options b{display:inline-block;margin-bottom:7px;padding:4px 7px;border-radius:99px;background:var(--accent);color:#fff;font-size:9px;text-transform:uppercase}.catalog-scope-options small{margin-top:5px;color:var(--muted);font-weight:500}.page-head-actions{display:flex;gap:9px;flex-wrap:wrap}.first-product-coach[hidden],.context-nudge[hidden]{display:none}.first-product-coach{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:20px}.first-product-coach-backdrop{position:absolute;inset:0;background:rgba(9,15,22,.7);backdrop-filter:blur(5px)}.first-product-coach>section{position:relative;width:min(720px,100%);padding:35px;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.32)}.first-product-coach>section>.product-tour-close{position:absolute;right:16px;top:16px}.first-product-coach h2{margin:7px 0 12px;font-size:38px;letter-spacing:-.035em}.first-product-coach>section>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.6}.first-product-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:24px 0}.first-product-steps>div{display:grid;gap:5px;padding:15px;border:1px solid var(--border);border-radius:13px}.first-product-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#fff0e9;color:#d9511d;font-size:11px;font-weight:900}.first-product-steps small{color:var(--muted);line-height:1.45}.first-product-coach>section>button:last-child{width:100%;margin-top:20px}.context-nudge{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:13px;margin:16px 0;padding:16px 18px;border:1px solid #b9d8ef;border-radius:14px;background:#f3f9fd}.context-nudge-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dceefa;color:#17659a;font-family:Georgia,serif;font-style:italic;font-weight:900}.context-nudge strong{display:block;margin:1px 0 4px}.context-nudge p{margin:0;color:#536171;font-size:13px;line-height:1.55}.context-nudge>button{width:30px;height:30px;padding:0;border-radius:50%;background:transparent;color:#687386;font-size:20px}@media(max-width:760px){.catalog-scope-options,.first-product-steps{grid-template-columns:1fr}.page-head-actions{width:100%}.page-head-actions>*{flex:1}.first-product-coach>section{padding:28px 20px}.first-product-coach h2{font-size:31px}.context-nudge{grid-template-columns:auto 1fr}.context-nudge>button{grid-column:2;justify-self:end;margin-top:-35px}}
