/* ONDAPO Midnight Mineral — central visual theme tokens and component overrides. */
@font-face{font-family:Inter;src:url('/assets/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
:root{
  --onda-type-page:30px;
  --onda-type-page-mobile:26px;
  --onda-type-section:18px;
  --onda-type-section-featured:20px;
  --onda-type-subtitle:13px;
  --onda-type-label:13px;
  --onda-type-control:14px;
  --onda-type-control-compact:13px;
  --onda-type-body:14px;
  --onda-type-secondary:12px;
  --onda-type-button:13px;
  --onda-type-button-compact:12px;
  --onda-type-table-head:15px;
  --onda-type-status:12px;
  --onda-weight-regular:400;
  --onda-weight-medium:500;
  --onda-weight-semibold:600;
  --onda-weight-title:650;
  --onda-leading-page:1.15;
  --onda-leading-heading:1.3;
  --onda-leading-body:1.5;
  --onda-leading-label:1.4;
  --onda-leading-control:1.4;
  --onda-leading-compact:1.35;
  --onda-deep-ink:#17191D;
  --onda-midnight:#20242B;
  --onda-mineral:#4169E1;
  --onda-mineral-hover:#3159C8;
  --onda-mist:#DDE5F5;
  --onda-porcelain:#F8F7F4;
  --onda-white:#FFFFFF;
  --onda-slate:#69707A;
  --onda-border:#E3E6EB;
  --onda-border-strong:#CDD3DC;
  --onda-success:#34C759;
  --onda-danger:#D20202;
  --onda-warning:#F59E0B;
  --color-background:var(--onda-porcelain);
  --color-surface:var(--onda-white);
  --color-text:var(--onda-deep-ink);
  --color-text-muted:var(--onda-slate);
  --color-border:var(--onda-border);
  --color-primary:var(--onda-mineral);
  --color-primary-hover:var(--onda-mineral-hover);
  --color-focus:rgba(65,105,225,.26);
  /* Compatibility aliases keep older component rules on the central tokens. */
  --ondapo-plum:var(--onda-deep-ink);
  --ondapo-coral:var(--onda-mineral);
  --ondapo-peach:var(--onda-mist);
  --ondapo-terracotta:var(--onda-mineral);
  --ondapo-cream:var(--onda-mist);
  --ondapo-warm-white:var(--onda-porcelain);
  --ondapo-ink:var(--onda-deep-ink);
  --ondapo-muted:var(--onda-slate);
  --ui-icon-muted:var(--onda-slate);
  --ui-icon-border:var(--onda-border-strong);
  --ui-danger:var(--onda-danger);
  --ui-success:var(--onda-success);
}
.industry-fields [hidden]{display:none!important}
.industry-fields label{display:block;margin:16px 0;font-weight:700;color:var(--onda-deep-ink)}
.industry-fields select,.industry-fields input{width:100%;margin-top:6px;border:1px solid var(--onda-border-strong);background:var(--onda-white);color:var(--onda-deep-ink);border-radius:12px;padding:12px 14px}
.industry-fields select:focus,.industry-fields input:focus{outline:3px solid var(--color-focus);border-color:var(--onda-mineral)}
.business-switch{margin-bottom:20px;max-width:440px}

body{background:var(--color-background);color:var(--color-text)}
a{color:var(--color-primary)}
.brand-logo{height:auto;max-width:100%;object-fit:contain}
.brand-symbol{display:block;width:56px;height:auto;max-width:100%;object-fit:contain}
.gateway-brand{display:block;line-height:0}
.brand-gateway-intro{position:fixed;z-index:100;width:min(280px,48vw);left:calc(50% - min(140px,24vw));top:calc(50% - min(82px,14vw));pointer-events:none;transform-origin:center;transition:transform 400ms cubic-bezier(.2,.75,.2,1),opacity 180ms ease}
.brand-gateway-intro img{display:block;width:100%;height:auto}
.brand-intro-active #gateway-brand-target{opacity:0}
.brand-gateway-intro--departing{opacity:.9}
.ondapo-loader-indicator{position:fixed;z-index:100;right:20px;bottom:20px;width:46px;height:46px;padding:7px;border:1px solid var(--color-border);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(23,25,29,.14);pointer-events:none}
.ondapo-loader-indicator img{display:block;width:100%;height:100%;object-fit:contain}
.button,button{background:var(--color-primary);color:var(--onda-white)}
.button:hover,button:hover{background:var(--color-primary-hover);filter:none}
.button.secondary{background:var(--onda-white);border-color:var(--color-border-strong);color:var(--color-text)}
.button.secondary:hover{background:var(--onda-mist);border-color:var(--onda-mineral);color:var(--color-text)}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
input,select,textarea{border-color:var(--color-border-strong);background:var(--onda-white);color:var(--color-text)}
input:focus,select:focus,textarea:focus{border-color:var(--onda-mineral);box-shadow:0 0 0 3px var(--color-focus);outline:0}

/* Public landing, authentication and onboarding. */
.topbar nav,.hero h1,h1,label{color:var(--color-text)}
.eyebrow,.coral{color:var(--color-primary)}
.preview{background:var(--onda-midnight)}
.preview-inner{background:var(--onda-white);color:var(--color-text)}
.item,.section{background:var(--onda-mist)}
.preview,.card,.auth-card,.onboarding-card{box-shadow:0 14px 34px rgba(23,25,29,.08)}
.number,.progress>span{background:var(--color-primary)}
.notice.success{background:#E9F8EE;color:#16733A}
.notice.error{background:#FDEBEC;color:#991B1B}
.preview-notice{background:var(--onda-mist)!important;color:var(--color-text)!important}

/* Application shell. */
.app-body{background:var(--color-background);color:var(--color-text);font-family:Inter,"Segoe UI",Arial,sans-serif}
.app-body button,.app-body .button{background:var(--color-primary);border-color:transparent;color:var(--onda-white)}
.app-body button:hover,.app-body .button:hover{background:var(--color-primary-hover);filter:none}
.app-body .secondary{background:var(--onda-white);border-color:var(--color-border-strong);color:var(--color-text)}
.app-body .secondary:hover{background:var(--onda-mist);border-color:var(--onda-mineral);color:var(--color-text)}
.app-body :focus-visible{outline-color:var(--color-focus)}
.app-body input,.app-body select,.app-body textarea{border-color:var(--color-border-strong);background:var(--onda-white);color:var(--color-text)}
.app-body .card{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 5px 18px rgba(23,25,29,.045)}
.app-body h1,.app-body h2{color:var(--color-text)}
.sidebar{background:#012345;color:#EFF2F8;scrollbar-width:none}
.sidebar-brand{padding:10px 4px 30px}
.sidebar-logo{display:flex;justify-content:center;background:transparent;padding:0;border-radius:0}
.sidebar-logo .brand-logo{width:172px;max-width:100%}
.sidebar-brand>span{margin-top:16px;color:#DDE5F5;font-size:11px;font-weight:700;letter-spacing:1.15px}
.nav-caption,.sidebar-bottom p{color:#C8D1E0}
.app-body .nav-close{display:none!important}
.sidebar-bottom strong{color:var(--onda-white);font-size:14px;font-weight:650}
.sidebar nav a{color:#E8ECF3}
.sidebar nav a:hover{background:rgba(255,255,255,.07)}
.sidebar nav a[aria-current]{background:rgba(65,105,225,.25);border-color:rgba(125,154,245,.38);box-shadow:inset 3px 0 0 var(--onda-mineral);color:var(--onda-white)}
.sidebar::-webkit-scrollbar{width:0;height:0}.sidebar{padding:28px 0 18px}.sidebar-brand{margin-inline:17px}.nav-caption{padding-inline:31px}.sidebar nav>a{padding-inline:29px}.sidebar-bottom{padding-left:29px;padding-right:13px}.sidebar-submenu{display:none}.sidebar-submenu.is-active{display:grid;gap:2px;margin:0;padding:5px 17px 6px;background:#173A61}.sidebar nav .sidebar-submenu a{min-width:0;padding:8px 12px 8px 27px;border:0;border-radius:6px;color:#DDE5F5;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.sidebar nav .sidebar-submenu a:hover{background:rgba(255,255,255,.08);color:var(--onda-white)}.sidebar nav .sidebar-submenu a[aria-current]{background:rgba(65,105,225,.42);box-shadow:none;color:var(--onda-white)}.sidebar-flyout{position:fixed;z-index:80;display:grid;gap:3px;min-width:236px;padding:7px;background:#173A61;border:0;border-radius:0 8px 8px 0;box-shadow:8px 10px 24px rgba(1,20,45,.28)}.sidebar-flyout::before{content:'';position:absolute;top:14px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #173A61;pointer-events:none}.sidebar-flyout a{display:block;padding:9px 11px;border-radius:6px;color:#DDE5F5;font-size:12px;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}.sidebar-flyout a:hover,.sidebar-flyout a:focus-visible{background:rgba(255,255,255,.08);color:var(--onda-white)}.sidebar-flyout a[aria-current]{background:rgba(65,105,225,.42);box-shadow:none;color:var(--onda-white)}
@media(max-width:760px){.sidebar-flyout{display:none!important}}
.sidebar .logout-form button{background:transparent;color:#D6DCE7}
.app-header,.mobile-topbar{background:var(--color-background);border-color:var(--color-border)}
.app-body .nav-backdrop{background:rgba(23,25,29,.55)}

/* Common workspace surfaces, dialogs, tables and matrices. */
.app-dialog,.public-info-dialog{background:var(--onda-white);border-color:var(--color-border);color:var(--color-text);box-shadow:0 20px 80px rgba(23,25,29,.24)}
.app-dialog::backdrop,.public-info-dialog::backdrop{background:rgba(23,25,29,.58)}
.dialog-tabs,.product-picker>form,.settings-link,.opening-hours-day,.area-menu-assignment,.assignment-row{border-color:var(--color-border)}
.app-body .dialog-tabs button{color:var(--color-text-muted)}
.app-body .dialog-tabs button[aria-selected=true]{border-bottom-color:var(--color-primary);color:var(--color-primary)}
.manage-row,.taxonomy-root,.workspace-menu,.area-sort-menu,.area-sort-list>article,.catalogue-card,.category-manager-root{background:var(--onda-white);border-color:var(--color-border)}
.product-edit-grid .product-category-picker{background:#F7F9FE;border-color:var(--onda-mist)}
.product-global-status{background:#EAF8EF;border-color:#CBECD7;color:#176B37}
.taxonomy-children>article{background:var(--onda-white);border-color:var(--color-border)}
.area-cards>div,.matrix-cards>div,.row-menu>div{background:var(--onda-white);border-color:var(--color-border-strong);box-shadow:0 10px 30px rgba(23,25,29,.13)}
.area-cards summary,.matrix-cards summary,.inline-edit:hover,.inline-edit:focus-visible,.product-name-link:hover,.product-name-link:focus-visible{color:var(--color-primary)}
.inline-edit,.price-matrix .column-title-actions .inline-sort,.price-matrix .column-title-actions .inline-edit{color:var(--color-text-muted)!important;border-color:var(--color-border-strong)!important;background:var(--onda-white)!important}
.price-matrix .column-title-actions .inline-sort:hover,.price-matrix .column-title-actions .inline-sort:focus-visible,.price-matrix .column-title-actions .inline-edit:hover,.price-matrix .column-title-actions .inline-edit:focus-visible{border-color:var(--onda-mineral)!important;color:var(--color-primary)!important;background:#F4F7FF!important}
.app-body .icon-button{background:var(--onda-white);border-color:var(--color-border-strong);color:var(--color-text-muted)}
.app-body .icon-button:hover,.app-body .icon-button:focus-visible{background:var(--onda-mist);border-color:var(--onda-mineral);color:var(--color-primary)}
.app-body .destructive-action,.app-body .destructive-icon{border:1px solid #F1B9BE;background:#FFF7F7;color:#C52A39;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.app-body .destructive-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border-radius:9px;font-weight:650;text-align:center}
.app-body .destructive-action--small{min-height:32px;padding:6px 11px;font-size:12px}
.app-body .destructive-icon{display:inline-grid;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:8px}
.app-body .destructive-action:hover,.app-body .destructive-action:focus-visible,.app-body .destructive-icon:hover,.app-body .destructive-icon:focus-visible{border-color:#B52D3B;background:#B52D3B;color:#fff}
.app-body .destructive-action:focus-visible,.app-body .destructive-icon:focus-visible{outline:3px solid rgba(197,42,57,.28);outline-offset:3px}
.app-body .destructive-action:disabled,.app-body .destructive-icon:disabled{border-color:#DFE6EF;background:#F8FAFD;color:#9AA8BA;cursor:not-allowed;opacity:.7}
.price-matrix th{background:#F4F6F9!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
.price-matrix td{background:var(--onda-white);border-color:var(--color-border)!important}
.price-matrix tbody tr:hover td{background:#F7F9FE}
.price-matrix .row-actions,.price-matrix .row-actions-heading{box-shadow:-2px 0 0 var(--color-border)}
.row-dirty td{background:#FFF8E7!important}
.row-save-state.error{color:var(--onda-danger)}
.switch-track,.status-switch .switch-track{background:var(--onda-danger)}
.switch input:checked+.switch-track,.status-switch input:checked+.switch-track{background:var(--onda-success)}
.status-switch .switch-word{color:var(--onda-danger)}
.status-switch input:checked~.switch-word{color:#19833B}
.catalogue-card .catalogue-open-button{background:var(--color-primary);color:var(--onda-white)}
.catalogue-card .catalogue-open-button:hover{background:var(--color-primary-hover)}

/* Public catalogue / business page retains warmer imagery but uses the same UI palette. */
.public-business-page{background:var(--onda-porcelain);color:var(--color-text)}
.public-business-frame,.public-business-hero,.public-menu-selection,.public-info-dialog{background:var(--onda-white)}
.public-business-cover{background:linear-gradient(140deg,var(--onda-mist),var(--onda-mineral) 52%,var(--onda-midnight))}
.public-language summary,.public-share,.public-business-brand{color:var(--color-text);background:var(--onda-white);box-shadow:0 5px 14px rgba(23,25,29,.12)}
.public-business-description,.public-menu-card>span:last-child,.public-info-dialog p,.public-hours>div{color:var(--color-text-muted)}
.public-social-links a{color:var(--color-primary);background:var(--onda-mist)}
.public-social-links a:hover,.public-social-links a:focus-visible{background:var(--color-primary);color:var(--onda-white)}
.public-menu-card{border-color:var(--color-border);color:var(--color-text);box-shadow:0 8px 18px rgba(23,25,29,.05)}
.public-menu-card-overline,.public-section-heading .eyebrow{color:var(--color-primary)}
.public-menu-card-number{background:var(--onda-midnight)}
.public-empty-state,.public-vacation{background:var(--onda-mist);color:var(--color-text)}

@media(max-width:760px){
  .brand-symbol{width:46px}
  .brand-gateway-intro{width:min(220px,62vw);left:calc(50% - min(110px,31vw));top:calc(50% - min(64px,18vw))}
  .mobile-topbar{background:var(--onda-white)}
  .app-body.nav-open .nav-close{display:inline-grid!important;background:var(--onda-white);color:var(--color-text)}
}
@media(prefers-reduced-motion:reduce){.brand-gateway-intro{display:none}.ondapo-loader-indicator{display:none}}
