/*
 * Ecosystem Restaurant Suite UI 1.4.2
 * Exclusive visual layer for Restaurant Suite.
 * This file is presentation-only: no access, licensing, calculation or persistence rules.
 */
body.ersu-ui-enabled{
  --ersu-orange:var(--eco-primary,#ff5a0a);--ersu-orange-2:#ff7a13;--ersu-orange-soft:var(--eco-primary-soft,#fff1e8);
  --ersu-green:var(--eco-green,#21a54b);--ersu-green-soft:var(--eco-green-soft,#eef9ef);--ersu-teal:var(--eco-teal,#0d9c8b);--ersu-teal-soft:var(--eco-teal-soft,#e9f8f6);
  --ersu-blue:var(--eco-blue,#3478f6);--ersu-blue-soft:var(--eco-blue-soft,#edf5ff);--ersu-purple:var(--eco-purple,#7654dc);--ersu-purple-soft:var(--eco-purple-soft,#f3efff);
  --ersu-amber:var(--eco-amber,#ef9500);--ersu-amber-soft:var(--eco-amber-soft,#fff6e5);--ersu-rose:var(--eco-rose,#ef5c6c);--ersu-rose-soft:var(--eco-rose-soft,#fff0f2);
  --ersu-ink:var(--eco-text,#111827);--ersu-muted:var(--eco-muted,#667085);--ersu-line:var(--eco-border,#e7eaf0);--ersu-bg:var(--eco-bg,#f6f7fb);--ersu-card:var(--eco-surface,#fff);
  --ersu-sidebar:var(--eco-secondary,#101b28);--ersu-sidebar-2:#0b1621;
  margin:0!important;background:var(--ersu-bg)!important;overflow-x:hidden
}
body.ersu-ui-enabled #wpadminbar,body.ersu-ui-enabled #masthead,body.ersu-ui-enabled .site-header,
body.ersu-ui-enabled #colophon,body.ersu-ui-enabled .site-footer,body.ersu-ui-enabled .entry-header,
body.ersu-ui-enabled .entry-hero,body.ersu-ui-enabled .page-header,body.ersu-ui-enabled .page-title,
body.ersu-ui-enabled .entry-title{display:none!important}
body.ersu-ui-enabled .site-container,body.ersu-ui-enabled .site-content,body.ersu-ui-enabled .content-area,
body.ersu-ui-enabled .content-container,body.ersu-ui-enabled #primary,body.ersu-ui-enabled .site-main,
body.ersu-ui-enabled article,body.ersu-ui-enabled .entry-content,body.ersu-ui-enabled .wp-site-blocks{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important
}

/* App shell */
body.ersu-ui-app .ers-app{min-height:100dvh!important;grid-template-columns:224px minmax(0,1fr)!important;background:var(--ersu-bg)!important}
body.ersu-ui-app .ers-main{grid-column:2!important;min-width:0;min-height:100dvh}
body.ersu-ui-app .ers-content{width:min(100%,1420px)!important;max-width:1420px!important;margin:0 auto!important;padding:12px 15px 36px!important;box-sizing:border-box}
body.ersu-ui-app .ersu-home-content{padding-top:10px!important;padding-bottom:92px!important}

/* Sidebar kept compact: Access still owns content and access states. */
body.ersu-ui-app .ers-sidebar{
  width:224px!important;height:100dvh!important;padding:12px 9px 11px!important;
  background:linear-gradient(180deg,var(--ersu-sidebar),var(--ersu-sidebar-2))!important;
  box-shadow:12px 0 32px rgba(16,24,40,.08)!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent
}
body.ersu-ui-app .ers-sidebar nav{margin:6px 0 10px!important}
body.ersu-ui-app .ers-sidebar nav>a,body.ersu-ui-app .ers-sidebar nav .era-nav-parent{
  min-height:38px!important;margin:2px 0!important;padding:7px 8px!important;border-radius:10px!important;font-size:11px!important;line-height:1.2!important
}
body.ersu-ui-app .ers-sidebar nav .era-nav-submenu{padding:2px 0 3px 7px!important}
body.ersu-ui-app .ers-sidebar nav .era-nav-submenu a{min-height:31px!important;margin:1px 0!important;padding:6px 7px!important;border-radius:9px!important;font-size:9.5px!important}
body.ersu-ui-app .ers-sidebar nav a .dashicons,body.ersu-ui-app .era-nav-parent .dashicons{flex:0 0 16px;width:16px!important;height:16px!important;font-size:15px!important}
body.ersu-ui-app .ers-sidebar nav a em{font-size:6.5px!important;padding:3px 5px!important;max-width:58px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ersu-ui-app .era-nav-section{margin:10px 7px 4px!important;font-size:6.5px!important;letter-spacing:.14em!important}
body.ersu-ui-app .era-sidebar-status{margin:7px 3px 0!important;padding:8px!important;border-radius:10px!important}
body.ersu-ui-app .ers-sidebar-foot a{font-size:8.5px!important}

/* Core owns the portal topbar. Suite UI may style it, but never hides or duplicates it. */
body.ersu-ui-app .ers-topbar{background:rgba(255,255,255,.94)!important;border-bottom:1px solid var(--ersu-line)!important;box-shadow:none!important}

/* Premium dashboard */
.ersu-dashboard{width:100%;color:var(--ersu-ink);font-family:inherit}
.ersu-dashboard *{box-sizing:border-box}
.ersu-app-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto 38px 40px;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;background:#fff;border:1px solid var(--ersu-line);border-radius:16px;box-shadow:0 5px 18px rgba(16,24,40,.05)}
.ersu-icon-button,.ersu-alerts,.ersu-user{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #e4e8ee;border-radius:11px;background:#fff;color:var(--ersu-ink);text-decoration:none;cursor:pointer}
.ersu-icon-button .dashicons,.ersu-alerts .dashicons{width:19px;height:19px;font-size:19px}
.ersu-business{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none;color:var(--ersu-ink)}
.ersu-business>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border-radius:11px;background:#eaf8f4;color:#0d7e71;font-style:normal;font-weight:900}
.ersu-business>i img{width:100%;height:100%;object-fit:cover}
.ersu-business strong,.ersu-business small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ersu-business strong{font-size:12.5px;line-height:1.1}.ersu-business small{margin-top:2px;color:var(--ersu-muted);font-size:7.5px}
.ersu-plan{display:flex;align-items:center;gap:5px;max-width:170px;padding:7px 10px;border:1px solid #ffd8c2;border-radius:999px;background:#fff3eb;color:#ca4b0a;text-decoration:none;font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ersu-plan .dashicons{width:14px;height:14px;font-size:14px}
.ersu-alerts{position:relative}.ersu-alerts b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#e22b2b;color:#fff;font-size:7px;line-height:1}
.ersu-user{position:relative}.ersu-user>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1c2430;color:#fff;font-size:9px;font-weight:900}.ersu-user>i{position:absolute;right:2px;bottom:2px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#20b74b}

.ersu-hero{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(250px,.84fr);min-height:258px;margin-bottom:10px;overflow:hidden;border-radius:19px;background:#1a100c;box-shadow:0 12px 28px rgba(16,24,40,.12);color:#fff}
.ersu-hero-copy{position:relative;z-index:2;padding:23px 25px;background:linear-gradient(90deg,rgba(15,19,25,.98) 0%,rgba(22,17,14,.96) 70%,rgba(22,17,14,.48) 100%)}
.ersu-kicker{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(53,141,117,.25);font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.ersu-kicker .dashicons{width:14px;height:14px;font-size:14px}
.ersu-hero h1{max-width:650px;margin:12px 0 8px;color:#fff;font-size:clamp(30px,3.8vw,50px);line-height:1;letter-spacing:-.045em}.ersu-hero h1 em{color:#ff6a13;font-style:normal}
.ersu-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.83);font-size:11px;line-height:1.45}
.ersu-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ersu-btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:11px;text-decoration:none;color:#fff!important;font-size:9px;font-weight:850}.ersu-btn .dashicons{width:15px;height:15px;font-size:15px}.ersu-btn-primary{background:linear-gradient(135deg,var(--ersu-orange),var(--ersu-orange-2));box-shadow:0 7px 16px rgba(255,90,10,.22)}.ersu-btn-ghost{border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.ersu-hero-media{position:relative;min-height:258px;overflow:hidden;background:#4a2211}.ersu-hero-media img{width:100%;height:100%;min-height:258px;display:block;object-fit:cover;object-position:center 55%;filter:saturate(1.08) contrast(1.06)}.ersu-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,16,12,.56) 0%,rgba(26,16,12,0) 37%);pointer-events:none}.ersu-demo-pill{position:absolute;z-index:2;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(17,24,39,.38);backdrop-filter:blur(10px);color:#fff;font-size:7.5px;font-weight:850}.ersu-demo-pill i{width:7px;height:7px;border-radius:50%;background:#49ce50}

.ersu-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.ersu-metric{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px;min-height:86px;padding:11px;border:1px solid var(--ersu-line);border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(16,24,40,.035)}.ersu-metric>i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px}.ersu-metric .dashicons{width:17px;height:17px;font-size:17px}.ersu-metric span,.ersu-metric strong,.ersu-metric small{display:block}.ersu-metric span{font-size:7.5px;font-weight:800}.ersu-metric strong{margin:5px 0 1px;font-size:19px;line-height:1}.ersu-metric small{color:var(--ersu-muted);font-size:6.5px}.ersu-metric.green>i{background:var(--ersu-green-soft);color:var(--ersu-green)}.ersu-metric.orange>i{background:var(--ersu-orange-soft);color:var(--ersu-orange)}.ersu-metric.teal>i{background:var(--ersu-teal-soft);color:var(--ersu-teal)}.ersu-metric.purple>i{background:var(--ersu-purple-soft);color:var(--ersu-purple)}

.ersu-quick-section{margin-bottom:12px;padding:13px 15px;border:1px solid #ffe0cb;border-radius:17px;background:linear-gradient(105deg,#fff7ed 0%,#ffd9c0 100%)}.ersu-section-heading h2,.ersu-section-title h2{margin:0;font-size:15px;letter-spacing:-.025em}.ersu-section-heading p{margin:2px 0 9px;color:#5f6672;font-size:7.5px}.ersu-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.ersu-quick{position:relative;display:grid;place-items:center;gap:5px;min-height:64px;padding:7px;border:1px solid rgba(255,255,255,.9);border-radius:13px;background:rgba(255,255,255,.72);text-align:center;text-decoration:none;color:var(--ersu-ink);box-shadow:0 3px 9px rgba(16,24,40,.03)}.ersu-quick>i{display:grid;place-items:center;width:31px;height:31px;border-radius:10px}.ersu-quick .dashicons{width:17px;height:17px;font-size:17px}.ersu-quick strong{font-size:7.5px;line-height:1.2}.ersu-quick small{position:absolute;right:5px;top:5px;font-size:7px}.ersu-quick.orange>i{background:var(--ersu-orange-soft);color:var(--ersu-orange)}.ersu-quick.purple>i{background:var(--ersu-purple-soft);color:var(--ersu-purple)}.ersu-quick.green>i{background:var(--ersu-green-soft);color:var(--ersu-green)}.ersu-quick.blue>i{background:var(--ersu-blue-soft);color:var(--ersu-blue)}.ersu-quick.amber>i{background:var(--ersu-amber-soft);color:var(--ersu-amber)}.ersu-quick.teal>i{background:var(--ersu-teal-soft);color:var(--ersu-teal)}.ersu-quick.is-locked{opacity:.68}

.ersu-modules{margin-bottom:10px}.ersu-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px;padding-left:10px;border-left:3px solid var(--ersu-orange)}.ersu-section-title a{color:#da530e;text-decoration:none;font-size:8px;font-weight:850}.ersu-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ersu-module-card{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:75px;padding:9px;border:1px solid var(--ersu-line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ersu-ink);box-shadow:0 4px 13px rgba(16,24,40,.03)}.ersu-module-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px}.ersu-module-icon .dashicons{width:20px;height:20px;font-size:20px}.ersu-module-copy strong{display:block;font-size:10px}.ersu-module-copy p{margin:2px 0 4px;color:var(--ersu-muted);font-size:7px;line-height:1.3}.ersu-status{display:flex;align-items:center;gap:4px;font-size:6.8px;color:#53606f}.ersu-status i{width:6px;height:6px;border-radius:50%;background:#32b64c}.ersu-module-card.is-locked .ersu-status i{background:#aeb5bf}.ersu-module-card>b{font-size:15px}.ersu-module-card.orange .ersu-module-icon{background:var(--ersu-orange-soft);color:var(--ersu-orange)}.ersu-module-card.blue .ersu-module-icon{background:var(--ersu-blue-soft);color:var(--ersu-blue)}.ersu-module-card.green .ersu-module-icon{background:var(--ersu-green-soft);color:var(--ersu-green)}.ersu-module-card.amber .ersu-module-icon{background:var(--ersu-amber-soft);color:var(--ersu-amber)}.ersu-module-card.purple .ersu-module-icon{background:var(--ersu-purple-soft);color:var(--ersu-purple)}.ersu-module-card.rose .ersu-module-icon{background:var(--ersu-rose-soft);color:var(--ersu-rose)}.ersu-module-card.is-locked{opacity:.78}

.ersu-brand-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0 0;padding:8px 12px;border:1px solid #f2e6dc;border-radius:12px;background:#fffaf5}.ersu-brand-strip strong{color:#a66a39;font-size:7.5px;letter-spacing:.18em}.ersu-brand-strip strong span{display:block;margin-top:1px;font-size:5px;letter-spacing:.13em}.ersu-brand-strip p{margin:0;color:#707784;font-size:7px;text-align:right}

.ersu-bottom-nav{display:none}

/* Premium but generic internal screens. */
body.ersu-ui-app:not(:has(.ersu-dashboard)) .ers-content{padding-top:14px!important}
body.ersu-ui-app .era-module-info,body.ersu-ui-app .era-portal-card,body.ersu-ui-app .era-package-block,body.ersu-ui-app .era-business-form,body.ersu-ui-app .era-role-card{border-color:var(--ersu-line)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(16,24,40,.035)!important}
body.ersu-ui-app .era-module-info{max-width:1180px!important;padding:18px!important}
body.ersu-ui-app .era-module-info h1,body.ersu-ui-app .era-section-title h1,body.ersu-ui-app .era-business-profile h1{font-size:25px!important;letter-spacing:-.035em!important}
body.ersu-ui-app input:not([type="checkbox"]):not([type="radio"]),body.ersu-ui-app select,body.ersu-ui-app textarea{border-radius:11px!important;border-color:#dce2ea!important;background:#fff!important;box-shadow:none!important}
body.ersu-ui-app button,body.ersu-ui-app .button,body.ersu-ui-app .era-primary-button,body.ersu-ui-app .era-secondary-button{border-radius:10px!important}

@media(max-width:1050px){
  body.ersu-ui-app .ers-app{grid-template-columns:1fr!important}
  body.ersu-ui-app .ers-main{grid-column:1!important}
  body.ersu-ui-app .ers-sidebar{width:min(84vw,310px)!important;left:calc(-1 * min(84vw,310px))!important;z-index:10020!important;transition:left .22s ease!important}
  body.ersu-ui-app .ers-sidebar.open,body.ersu-ui-app.era-menu-open .ers-sidebar{left:0!important}
  body.ersu-ui-app .era-sidebar-overlay{z-index:10010!important}
}

@media(max-width:760px){
  body.ersu-ui-legacy.ersu-ui-app .ers-topbar{display:none!important}
  body.ersu-ui-app .ers-content,body.ersu-ui-app .ersu-home-content{width:100%!important;max-width:none!important;padding:7px 7px 79px!important}
  .ersu-app-header{position:sticky;top:0;z-index:45;grid-template-columns:36px minmax(0,1fr) auto 32px 33px;gap:5px;padding:7px;border-radius:13px}
  .ersu-icon-button,.ersu-alerts,.ersu-user{width:32px;height:32px;border-radius:9px}.ersu-icon-button .dashicons,.ersu-alerts .dashicons{width:16px;height:16px;font-size:16px}
  .ersu-business>i{flex-basis:30px;width:30px;height:30px;border-radius:9px}.ersu-business strong{font-size:9.5px}.ersu-business small{font-size:6.2px}.ersu-plan{max-width:90px;padding:5px 6px;font-size:6.5px}.ersu-plan .dashicons{display:none}.ersu-user>span{width:26px;height:26px;font-size:8px}.ersu-alerts b{min-width:15px;height:15px;font-size:6px}
  .ersu-hero{grid-template-columns:minmax(0,1.25fr) minmax(116px,.75fr);min-height:202px;border-radius:15px}.ersu-hero-copy{padding:13px 12px}.ersu-kicker{padding:4px 6px;font-size:6px}.ersu-kicker .dashicons{width:11px;height:11px;font-size:11px}.ersu-hero h1{margin:8px 0 6px;font-size:22px}.ersu-hero p{font-size:7.7px;line-height:1.35}.ersu-hero-actions{margin-top:10px;gap:5px}.ersu-btn{min-height:29px;padding:0 7px;border-radius:9px;font-size:6.8px}.ersu-btn .dashicons{width:12px;height:12px;font-size:12px}.ersu-hero-media,.ersu-hero-media img{min-height:202px}.ersu-demo-pill{top:8px;right:7px;padding:4px 6px;font-size:6px}.ersu-demo-pill i{width:5px;height:5px}
  .ersu-metrics{gap:4px}.ersu-metric{grid-template-columns:25px minmax(0,1fr);gap:5px;min-height:70px;padding:7px 6px;border-radius:11px}.ersu-metric>i{width:25px;height:25px;border-radius:8px}.ersu-metric .dashicons{width:13px;height:13px;font-size:13px}.ersu-metric span{font-size:5.8px}.ersu-metric strong{margin:3px 0 1px;font-size:14px}.ersu-metric small{font-size:5.3px}
  .ersu-quick-section{padding:10px;border-radius:14px}.ersu-section-heading h2,.ersu-section-title h2{font-size:12px}.ersu-section-heading p{font-size:6.2px;margin-bottom:7px}.ersu-quick-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.ersu-quick{min-height:52px;padding:5px 2px;border-radius:10px}.ersu-quick>i{width:25px;height:25px;border-radius:8px}.ersu-quick .dashicons{width:14px;height:14px;font-size:14px}.ersu-quick strong{font-size:5.7px}.ersu-quick small{font-size:5px;right:3px;top:3px}
  .ersu-module-grid{gap:5px}.ersu-module-card{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;min-height:65px;padding:6px;border-radius:11px}.ersu-module-icon{width:38px;height:38px;border-radius:10px}.ersu-module-icon .dashicons{width:17px;height:17px;font-size:17px}.ersu-module-copy strong{font-size:8px}.ersu-module-copy p{font-size:5.7px}.ersu-status{font-size:5.5px}.ersu-module-card>b{font-size:11px}
  .ersu-brand-strip{padding:6px 8px}.ersu-brand-strip strong{font-size:6px}.ersu-brand-strip strong span{font-size:4px}.ersu-brand-strip p{font-size:5.4px}
  .ersu-bottom-nav{position:fixed;z-index:9998;left:7px;right:7px;bottom:max(6px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px;border:1px solid #e6eaf0;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(16,24,40,.14);backdrop-filter:blur(13px)}
  .ersu-bottom-nav a,.ersu-bottom-nav button{display:grid;place-items:center;gap:2px;min-height:39px;padding:0;border:0;border-radius:10px;background:transparent;color:#344054;text-decoration:none;cursor:pointer}.ersu-bottom-nav .dashicons{width:16px;height:16px;font-size:16px}.ersu-bottom-nav small{font-size:5.8px;font-weight:800}.ersu-bottom-nav .is-active{background:#fff0e8;color:var(--ersu-orange)}
  body.ersu-ui-app .era-module-info,body.ersu-ui-app .era-portal-card{padding:13px!important;border-radius:13px!important}
}

@media(max-width:430px){
  .ersu-app-header{grid-template-columns:34px minmax(0,1fr) auto 30px 31px}.ersu-alerts{display:none}.ersu-app-header{grid-template-columns:34px minmax(0,1fr) auto 31px}.ersu-plan{max-width:82px}.ersu-hero{grid-template-columns:minmax(0,1.42fr) minmax(94px,.58fr)}.ersu-hero h1{font-size:20px}.ersu-hero p{font-size:7.2px}.ersu-hero-media img{object-position:57% 52%}.ersu-metric{grid-template-columns:1fr}.ersu-metric>i{display:none}.ersu-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ersu-quick{min-height:55px}.ersu-module-grid{grid-template-columns:1fr}.ersu-brand-strip p{display:none}
}

/* Login remains isolated and conservative. */
body.ersu-ui-login{background:#f6f7fb!important}
body.ersu-ui-login .ers-login-card,body.ersu-ui-login .ers-login-visual,body.ersu-ui-login .ers-login-stage{border-radius:20px!important}
body.ersu-ui-login .ers-login-submit,body.ersu-ui-login button[type="submit"]{background:linear-gradient(135deg,#ff4f08,#ff6f00)!important}


/* 1.1.1 — compact hero + persistent mobile app navigation. */
@media(min-width:761px){
  body.ersu-ui-app .ersu-hero{
    height:204px!important;min-height:204px!important;max-height:204px!important;
    grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr)!important;
    border-radius:17px!important
  }
  body.ersu-ui-app .ersu-hero-copy{
    min-height:0!important;padding:16px 19px!important;display:flex;flex-direction:column;justify-content:center
  }
  body.ersu-ui-app .ersu-hero h1{
    max-width:610px!important;margin:8px 0 6px!important;font-size:clamp(27px,3vw,39px)!important;line-height:.98!important
  }
  body.ersu-ui-app .ersu-hero p{max-width:620px!important;font-size:9px!important;line-height:1.34!important}
  body.ersu-ui-app .ersu-hero-actions{margin-top:10px!important}
  body.ersu-ui-app .ersu-btn{min-height:31px!important;padding:0 10px!important;font-size:7.8px!important}
  body.ersu-ui-app .ersu-hero-media,
  body.ersu-ui-app .ersu-hero-media img{
    height:204px!important;min-height:0!important;max-height:204px!important
  }
  body.ersu-ui-app .ersu-hero-media img{object-fit:cover!important;object-position:center 54%!important}
  body.ersu-ui-app .ersu-demo-pill{top:9px!important;right:9px!important;padding:5px 7px!important;font-size:6.8px!important}
}

@media(max-width:760px){
  body.ersu-ui-app .ersu-hero{
    height:158px!important;min-height:158px!important;max-height:158px!important;
    grid-template-columns:minmax(0,1.38fr) minmax(102px,.62fr)!important;
    margin-bottom:7px!important;border-radius:13px!important
  }
  body.ersu-ui-app .ersu-hero-copy{
    min-height:0!important;height:158px!important;padding:9px 9px!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:hidden!important
  }
  body.ersu-ui-app .ersu-kicker{padding:3px 5px!important;font-size:5.2px!important}
  body.ersu-ui-app .ersu-kicker .dashicons{width:9px!important;height:9px!important;font-size:9px!important}
  body.ersu-ui-app .ersu-hero h1{
    margin:5px 0 4px!important;font-size:17.5px!important;line-height:1.01!important;letter-spacing:-.035em!important
  }
  body.ersu-ui-app .ersu-hero p{
    display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;
    overflow:hidden!important;margin:0!important;font-size:6.35px!important;line-height:1.27!important
  }
  body.ersu-ui-app .ersu-hero-actions{margin-top:7px!important;gap:4px!important}
  body.ersu-ui-app .ersu-btn{min-height:24px!important;padding:0 6px!important;border-radius:8px!important;font-size:5.9px!important;gap:4px!important}
  body.ersu-ui-app .ersu-btn .dashicons{width:10px!important;height:10px!important;font-size:10px!important}
  body.ersu-ui-app .ersu-hero-media,
  body.ersu-ui-app .ersu-hero-media img{
    height:158px!important;min-height:0!important;max-height:158px!important
  }
  body.ersu-ui-app .ersu-hero-media img{width:100%!important;object-fit:cover!important;object-position:57% 52%!important}
  body.ersu-ui-app .ersu-demo-pill{top:6px!important;right:6px!important;padding:3px 5px!important;font-size:5.2px!important}
  body.ersu-ui-app .ersu-demo-pill i{width:4px!important;height:4px!important}

  /* Every Restaurant Suite view receives the same fixed app navigation. */
  body.ersu-ui-app .ersu-bottom-nav{
    position:fixed!important;z-index:9998!important;left:7px!important;right:7px!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:5px 4px!important;
    border:1px solid #e6eaf0!important;border-radius:15px!important;background:rgba(255,255,255,.97)!important;
    box-shadow:0 9px 24px rgba(16,24,40,.14)!important;backdrop-filter:blur(13px)!important
  }
  body.ersu-ui-app .ers-content{padding-bottom:82px!important}
}

@media(max-width:430px){
  body.ersu-ui-app .ersu-hero{
    height:148px!important;min-height:148px!important;max-height:148px!important;
    grid-template-columns:minmax(0,1.46fr) minmax(88px,.54fr)!important
  }
  body.ersu-ui-app .ersu-hero-copy{height:148px!important;padding:8px!important}
  body.ersu-ui-app .ersu-hero h1{font-size:16.5px!important}
  body.ersu-ui-app .ersu-hero p{font-size:5.95px!important;-webkit-line-clamp:3!important}
  body.ersu-ui-app .ersu-hero-actions{margin-top:6px!important}
  body.ersu-ui-app .ersu-btn{min-height:23px!important;font-size:5.5px!important;padding:0 5px!important}
  body.ersu-ui-app .ersu-hero-media,
  body.ersu-ui-app .ersu-hero-media img{height:148px!important;max-height:148px!important}
}

/* 1.1.2 — seamless navigation / anti-FOUC. */
body.ersu-ui-enabled.ersu-ui-ready .ers-app{
  opacity:1;visibility:visible;transition:opacity .14s ease
}
body.ersu-ui-enabled.ersu-ui-navigating{cursor:progress}
body.ersu-ui-enabled.ersu-ui-navigating .ersu-bottom-nav,
body.ersu-ui-enabled.ersu-ui-navigating .ers-sidebar{pointer-events:none!important}
@media(prefers-reduced-motion:reduce){
  body.ersu-ui-enabled.ersu-ui-ready .ers-app{transition:none!important}
}

/* 1.2.0 — bilingual Restaurant Suite interface (ES / EN). */
.ersu-language-switcher{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #e3e8ef;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 3px 10px rgba(16,24,40,.05);flex:0 0 auto}
.ersu-language-switcher button{appearance:none;border:0;background:transparent;color:#667085;min-width:28px;height:25px;padding:0 7px;border-radius:999px;font:700 9px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.ersu-language-switcher button.is-active{background:#ff5a0a;color:#fff;box-shadow:0 2px 6px rgba(255,90,10,.22)}
.ersu-language-switcher button:focus-visible{outline:2px solid #ff8b51;outline-offset:2px}
.ersu-app-header .ersu-language-switcher{order:3}.ersu-app-header{grid-template-columns:40px minmax(0,1fr) auto auto 36px 38px!important}
.ersu-language-login{position:fixed;z-index:2147482500;top:max(12px,env(safe-area-inset-top));right:12px}
body.ersu-restaurant-admin .ers-page-head{position:relative}
body.ersu-restaurant-admin .ersu-language-admin{margin-left:auto;align-self:flex-start}
body.ersu-restaurant-admin .ersu-language-switcher{vertical-align:middle}
@media(max-width:760px){
  .ersu-app-header{grid-template-columns:34px minmax(0,1fr) auto 54px 31px!important}
  .ersu-app-header .ersu-alerts{display:none!important}
  .ersu-app-header .ersu-language-switcher{padding:2px}.ersu-app-header .ersu-language-switcher button{min-width:23px;height:22px;padding:0 5px;font-size:7.5px}
  .ersu-language-login{top:max(7px,env(safe-area-inset-top));right:7px}
  body.ersu-restaurant-admin .ers-page-head{display:flex;flex-wrap:wrap;gap:8px}
  body.ersu-restaurant-admin .ersu-language-admin{margin-left:0}
}
@media(max-width:430px){
  .ersu-app-header{grid-template-columns:34px minmax(0,1fr) 49px 31px!important}
  .ersu-app-header .ersu-plan{display:none!important}
}

/* ==========================================================================\n   1.4.0 — Ecosystem Restaurant App UI System / App Shell\n   Presentation-only shell. Existing modules still own navigation data, access,\n   actions, endpoints and business logic.\n   ========================================================================== */
body.ersu-ui-v2.ersu-ui-app{
  --eco-shell-topbar-height:64px;
  --eco-shell-sidebar-width:232px;
  --eco-shell-sidebar-collapsed:78px;
  --eco-shell-content-gutter:clamp(12px,1.7vw,24px);
  --eco-shell-bottom-gap:calc(var(--eco-bottom-nav-height,68px) + var(--eco-safe-bottom,0px) + 18px);
}
body.ersu-ui-v2.ersu-ui-app .ers-app.ersu-shell{
  display:grid!important;
  grid-template-columns:var(--eco-shell-sidebar-width) minmax(0,1fr)!important;
  min-height:100dvh!important;
  background:var(--eco-bg)!important;
  transition:grid-template-columns var(--eco-duration,180ms) var(--eco-ease,ease)!important;
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-main{
  grid-column:2!important;
  display:flex!important;
  min-width:0!important;
  min-height:100dvh!important;
  flex-direction:column!important;
  background:var(--eco-bg)!important;
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-content{
  flex:1 1 auto!important;
  width:min(100%,var(--eco-content-max,1420px))!important;
  max-width:var(--eco-content-max,1420px)!important;
  margin-inline:auto!important;
  padding:var(--eco-shell-content-gutter)!important;
  padding-bottom:max(34px,var(--eco-shell-content-gutter))!important;
  box-sizing:border-box!important;
}
body.ersu-ui-v2.ersu-ui-app .ersu-home-content{
  padding-top:var(--eco-shell-content-gutter)!important;
}

/* Native Header Adapter 1.4.2.
   Core renders .ers-topbar; Access enriches its data; Suite UI only applies
   presentation. There is exactly one global header node. */
body.ersu-ui-v2.ersu-ui-app .ers-topbar.ersu-shell-header{
  position:sticky!important;top:0!important;z-index:120!important;order:-1!important;
  display:flex!important;align-items:center!important;width:100%!important;
  min-height:var(--eco-shell-topbar-height)!important;margin:0!important;
  padding:8px max(14px,var(--eco-shell-content-gutter))!important;gap:9px!important;
  border:0!important;border-bottom:1px solid color-mix(in srgb,var(--eco-border) 90%,transparent)!important;
  border-radius:0!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 1px 0 rgba(16,24,40,.02)!important;
  backdrop-filter:blur(16px) saturate(1.1)!important;-webkit-backdrop-filter:blur(16px) saturate(1.1)!important;
  box-sizing:border-box!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu{
  order:1!important;display:grid!important;place-items:center!important;flex:0 0 40px!important;
  width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;
  border:1px solid var(--eco-border)!important;border-radius:12px!important;background:var(--eco-surface)!important;
  color:var(--eco-text)!important;box-shadow:var(--eco-shadow-xs)!important;cursor:pointer!important;font-size:0!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu .dashicons{width:19px!important;height:19px!important;font-size:19px!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu:hover{background:var(--eco-surface-secondary)!important;border-color:var(--eco-border-strong)!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu:focus-visible{outline:0!important;box-shadow:var(--eco-focus-ring)!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context{
  order:2!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;
  flex:1 1 auto!important;color:var(--eco-text)!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-logo{
  display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;
  overflow:hidden!important;border:1px solid rgba(13,156,139,.12)!important;border-radius:12px!important;
  background:var(--eco-accent-soft)!important;color:var(--eco-accent)!important;font-weight:850!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-logo img{width:100%!important;height:100%!important;object-fit:cover!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{
  max-width:min(34vw,420px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  font-size:14px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.015em!important;color:var(--eco-text)!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy small{
  margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  font-size:10px!important;line-height:1.15!important;color:var(--eco-muted)!important;text-transform:none!important;letter-spacing:0!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-plan{
  order:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 1 auto!important;
  max-width:190px!important;min-height:34px!important;padding:0 11px!important;border:1px solid #fed7c0!important;border-radius:999px!important;
  background:var(--eco-primary-soft)!important;color:#c94d0b!important;font-size:10px!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-plan .era-plan-short{display:none!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-language-switcher{order:4!important;flex:0 0 auto!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user{
  order:5!important;display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;
  min-height:40px!important;padding:4px 8px 4px 4px!important;border:1px solid var(--eco-border)!important;border-radius:12px!important;
  background:var(--eco-surface)!important;color:var(--eco-text)!important;box-shadow:var(--eco-shadow-xs)!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>span{
  position:relative!important;display:grid!important;place-items:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;
  border-radius:50%!important;background:#172033!important;color:#fff!important;font-size:10px!important;font-weight:850!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>span:after{
  content:"";position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--eco-success,#22a447)
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>div{display:flex!important;min-width:0!important;flex-direction:column!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user strong{max-width:150px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10.5px!important;line-height:1.1!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user small{margin-top:2px!important;font-size:8px!important;line-height:1.1!important;color:var(--eco-muted)!important}

/* Sidebar remains owned by Access; App Shell only normalizes its frame/density. */
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar{
  position:sticky!important;
  top:0!important;
  z-index:140!important;
  width:var(--eco-shell-sidebar-width)!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:12px 10px max(14px,var(--eco-safe-bottom,0px))!important;
  box-sizing:border-box!important;
  scrollbar-width:thin!important;
  transition:width var(--eco-duration,180ms) var(--eco-ease,ease),transform var(--eco-duration,180ms) var(--eco-ease,ease)!important;
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar nav>a,
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar nav .era-nav-parent{
  min-height:40px!important;margin:3px 0!important;padding:8px 9px!important;border-radius:11px!important;font-size:11.5px!important
}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar nav .era-nav-submenu{padding-left:9px!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar nav .era-nav-submenu a{min-height:34px!important;padding:7px 8px!important;font-size:10px!important;border-radius:9px!important}
body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar .era-nav-section{margin:12px 8px 5px!important;font-size:7px!important;letter-spacing:.16em!important}

/* Desktop collapsed mode is localStorage-only: no DB, roles or module state changes. */
@media(min-width:1025px){
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ers-app.ersu-shell{grid-template-columns:var(--eco-shell-sidebar-collapsed) minmax(0,1fr)!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar{width:var(--eco-shell-sidebar-collapsed)!important;padding-inline:10px!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar nav>a,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar nav .era-nav-parent{
    justify-content:center!important;gap:0!important;padding-inline:8px!important;font-size:0!important;white-space:nowrap!important
  }
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar nav a .dashicons,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar nav .era-nav-parent .dashicons{
    width:19px!important;height:19px!important;flex:0 0 19px!important;font-size:19px!important;margin:0!important
  }
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar nav a em,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .era-nav-section,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .era-nav-submenu,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .era-sidebar-status{display:none!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar-brand{
    max-width:56px!important;margin-inline:auto!important;overflow:hidden!important
  }
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar-brand span,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar-brand strong,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar-brand p,
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar-brand small{display:none!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .ers-sidebar-foot{overflow:hidden!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .ers-sidebar-foot a{font-size:0!important;justify-content:center!important}
  body.ersu-ui-v2.ersu-ui-app.ersu-sidebar-collapsed .ersu-shell-sidebar .ers-sidebar-foot .dashicons{font-size:18px!important;width:18px!important;height:18px!important}
}

/* App Shell scrim exists only for drawer mode. */
body.ersu-ui-v2.ersu-ui-app .ersu-shell-scrim{
  appearance:none;position:fixed;inset:0;z-index:129;display:none;margin:0;padding:0;border:0;
  background:rgba(15,23,42,.48);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer
}

/* Tablet: drawer sidebar, persistent sticky header, no business-logic changes. */
@media(max-width:1024px){
  body.ersu-ui-v2.ersu-ui-app .ers-app.ersu-shell{grid-template-columns:minmax(0,1fr)!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-main{grid-column:1!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar{
    position:fixed!important;left:0!important;top:0!important;z-index:150!important;
    width:min(88vw,340px)!important;transform:translate3d(-102%,0,0)!important;
    box-shadow:18px 0 50px rgba(15,23,42,.24)!important
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar.open,
  body.ersu-ui-v2.ersu-ui-app.era-menu-open .ersu-shell-sidebar{left:0!important;transform:translate3d(0,0,0)!important}
  body.ersu-ui-v2.ersu-ui-app.era-menu-open{overflow:hidden!important}
  body.ersu-ui-v2.ersu-ui-app.era-menu-open .ersu-shell-scrim{display:block!important}
  body.ersu-ui-v2.ersu-ui-app .era-sidebar-overlay{display:none!important}
  body.ersu-ui-v2.ersu-ui-app .ers-topbar.ersu-shell-header{padding-inline:12px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{max-width:42vw!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>div{display:none!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user{width:40px!important;min-width:40px!important;padding:3px!important;justify-content:center!important}
}

/* Mobile: compact native-app proportions and safe areas. */
@media(max-width:760px){
  body.ersu-ui-v2.ersu-ui-app{
    --eco-shell-topbar-height:58px;
    --eco-shell-content-gutter:10px;
    --eco-bottom-nav-height:66px;
  }
  body.ersu-ui-v2.ersu-ui-app .ers-topbar.ersu-shell-header{
    top:0!important;min-height:calc(var(--eco-shell-topbar-height) + var(--eco-safe-top,0px))!important;
    padding:calc(7px + var(--eco-safe-top,0px)) 9px 7px!important;gap:7px!important
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu{width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-logo{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:10px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{max-width:43vw!important;font-size:13px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy small{max-width:43vw!important;font-size:9px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-plan{display:none!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:3px!important;border-radius:12px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>span{width:30px!important;height:30px!important;flex-basis:30px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-language-switcher{padding:2px!important;box-shadow:none!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-language-switcher button{min-width:25px!important;height:25px!important;padding:0 5px!important;font-size:9px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-content,
  body.ersu-ui-v2.ersu-ui-app .ersu-home-content{padding:9px 9px var(--eco-shell-bottom-gap)!important}

  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav{
    left:8px!important;right:8px!important;bottom:max(7px,var(--eco-safe-bottom,0px))!important;
    min-height:58px!important;padding:5px!important;gap:3px!important;border:1px solid rgba(228,231,236,.92)!important;
    border-radius:18px!important;background:rgba(255,255,255,.96)!important;
    box-shadow:0 12px 34px rgba(16,24,40,.16)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav a,
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav button{
    min-height:48px!important;gap:3px!important;border-radius:13px!important;color:var(--eco-text-secondary)!important
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav .dashicons{width:19px!important;height:19px!important;font-size:19px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav small{font-size:9px!important;line-height:1!important;font-weight:750!important;letter-spacing:0!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav .is-active{background:var(--eco-primary-soft)!important;color:var(--eco-primary)!important}
}

@media(max-width:430px){
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{max-width:38vw!important;font-size:12.5px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy small{max-width:38vw!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user>span{width:28px!important;height:28px!important;flex-basis:28px!important}
}

@media(prefers-reduced-motion:reduce){
  body.ersu-ui-v2.ersu-ui-app .ers-app.ersu-shell,
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-sidebar{transition:none!important}
}


/* ==========================================================================\n   1.5.0 — Capa 3 / Operational Dashboard\n   The Home becomes an operational workspace. No business logic lives here.\n   ========================================================================== */
body.ersu-ui-v2 .ersu-dashboard{display:block;max-width:1440px;margin:0 auto;padding:0 2px 12px}
.ersu-ops-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:18px 20px;border:1px solid var(--eco-border,#e6eaf0);border-radius:var(--eco-radius-lg,18px);background:linear-gradient(120deg,#fff 0%,#fffaf6 68%,#f4fbfa 100%);box-shadow:var(--eco-shadow-sm,0 4px 16px rgba(16,24,40,.04))}
.ersu-ops-eyebrow{display:block;margin-bottom:4px;color:var(--eco-text-secondary,#667085);font-size:10px;font-weight:800;text-transform:capitalize}.ersu-ops-welcome h1{margin:0;color:var(--eco-text,#101828);font-size:24px;line-height:1.15;letter-spacing:-.035em}.ersu-ops-welcome h1 strong{font-weight:900}.ersu-ops-welcome p{margin:5px 0 0;color:var(--eco-text-secondary,#667085);font-size:11px}.ersu-ops-welcome-status{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.ersu-ops-plan,.ersu-ops-state{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}.ersu-ops-plan{border:1px solid #ffd9c5;background:#fff5ee;color:#c84b0b}.ersu-ops-plan .dashicons{width:14px;height:14px;font-size:14px}.ersu-ops-state{border:1px solid #e3e8ef;background:#fff;color:#596273}.ersu-ops-state i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.ersu-ops-state.is-ok i{background:#22b455}
.ersu-ops-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.ersu-ops-action{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:50px;padding:8px 10px;border:1px solid var(--eco-border,#e6eaf0);border-radius:14px;background:#fff;color:var(--eco-text,#101828);text-decoration:none;box-shadow:0 3px 12px rgba(16,24,40,.025)}.ersu-ops-action>.dashicons{display:grid;place-items:center;width:30px;height:30px;padding:6px;border-radius:9px;background:#f2f5f8;color:#344054;font-size:17px}.ersu-ops-action span{font-size:9px;font-weight:850}.ersu-ops-action b{color:#98a2b3;font-size:14px}.ersu-ops-action.is-primary{border-color:#ffd5bd;background:#fff8f3}.ersu-ops-action.is-primary>.dashicons{background:#ffede3;color:#f15a16}
.ersu-ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.ersu-ops-metric{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:78px;padding:11px;border:1px solid var(--eco-border,#e6eaf0);border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.025)}.ersu-ops-metric>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px}.ersu-ops-metric>i .dashicons{width:17px;height:17px;font-size:17px}.ersu-ops-metric span,.ersu-ops-metric strong,.ersu-ops-metric small{display:block}.ersu-ops-metric span{font-size:7.5px;font-weight:800;color:#475467}.ersu-ops-metric strong{margin:4px 0 2px;font-size:20px;line-height:1;color:#101828}.ersu-ops-metric small{font-size:6.7px;color:#98a2b3}.ersu-ops-metric.blue>i{background:#edf4ff;color:#3978d7}.ersu-ops-metric.teal>i{background:#e8f8f5;color:#0d8d7e}.ersu-ops-metric.orange>i{background:#fff0e8;color:#f15a16}.ersu-ops-metric.purple>i{background:#f3efff;color:#7356d8}
.ersu-ops-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);gap:10px}.ersu-ops-layout>div{min-width:0}.ersu-ops-panel{margin-bottom:10px;padding:14px;border:1px solid var(--eco-border,#e6eaf0);border-radius:17px;background:#fff;box-shadow:0 4px 15px rgba(16,24,40,.03)}.ersu-ops-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.ersu-ops-section-head span{display:block;margin-bottom:2px;color:#98a2b3;font-size:6.5px;font-weight:900;letter-spacing:.12em}.ersu-ops-section-head h2{margin:0;font-size:14px;letter-spacing:-.025em;color:#101828}.ersu-ops-section-head a{color:#d65313;text-decoration:none;font-size:7.5px;font-weight:850}.ersu-ops-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ersu-ops-module{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:8px;border:1px solid #edf0f4;border-radius:12px;background:#fbfcfd;color:#101828;text-decoration:none}.ersu-ops-module>i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f2f4f7;color:#475467}.ersu-ops-module .dashicons{width:18px;height:18px;font-size:18px}.ersu-ops-module span strong,.ersu-ops-module span small{display:block;overflow:hidden;text-overflow:ellipsis}.ersu-ops-module span strong{font-size:8.5px;white-space:nowrap}.ersu-ops-module span small{margin-top:2px;color:#98a2b3;font-size:6.2px;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.ersu-ops-module>b{color:#98a2b3;font-size:13px}
.ersu-ops-attention{display:grid;gap:6px}.ersu-ops-alert{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border-radius:12px;background:#f8fafc}.ersu-ops-alert>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff}.ersu-ops-alert .dashicons{width:16px;height:16px;font-size:16px}.ersu-ops-alert span strong,.ersu-ops-alert span small{display:block}.ersu-ops-alert span strong{font-size:8px}.ersu-ops-alert span small{margin-top:2px;color:#667085;font-size:6.5px;line-height:1.3}.ersu-ops-alert.is-success>i{color:#16984a}.ersu-ops-alert.is-warning>i{color:#d98c0a}.ersu-ops-alert.is-danger>i{color:#d63b3b}.ersu-ops-alert.is-info>i{color:#3978d7}.ersu-ops-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ersu-ops-mini-stats>div{padding:10px;border:1px solid #edf0f4;border-radius:11px;background:#fbfcfd}.ersu-ops-mini-stats span,.ersu-ops-mini-stats strong{display:block}.ersu-ops-mini-stats span{color:#667085;font-size:6.8px}.ersu-ops-mini-stats strong{margin-top:4px;color:#101828;font-size:13px}
@media(max-width:1024px){.ersu-ops-layout{grid-template-columns:1fr}.ersu-ops-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.ersu-ui-v2 .ersu-dashboard{padding:0 0 calc(var(--eco-bottom-nav-height,72px) + env(safe-area-inset-bottom,0px) + 12px)}.ersu-ops-welcome{align-items:flex-start;margin-bottom:7px;padding:12px;border-radius:14px}.ersu-ops-welcome h1{font-size:17px}.ersu-ops-welcome p{font-size:8px}.ersu-ops-eyebrow{font-size:7px}.ersu-ops-welcome-status{gap:4px}.ersu-ops-plan,.ersu-ops-state{min-height:24px;padding:0 7px;font-size:6px}.ersu-ops-actions{gap:5px;margin-bottom:7px}.ersu-ops-action{min-height:44px;padding:6px 7px;border-radius:11px}.ersu-ops-action>.dashicons{width:27px;height:27px;padding:5px}.ersu-ops-action span{font-size:7px}.ersu-ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:7px}.ersu-ops-metric{min-height:67px;padding:8px;border-radius:12px}.ersu-ops-metric strong{font-size:17px}.ersu-ops-layout{gap:7px}.ersu-ops-panel{margin-bottom:7px;padding:10px;border-radius:14px}.ersu-ops-module-grid{grid-template-columns:1fr}.ersu-ops-module{min-height:54px}.ersu-ops-section-head h2{font-size:11px}.ersu-ops-mini-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:380px){.ersu-ops-welcome{display:block}.ersu-ops-welcome-status{justify-content:flex-start;margin-top:8px}.ersu-ops-actions{grid-template-columns:1fr 1fr}.ersu-ops-mini-stats{grid-template-columns:1fr}.ersu-ops-module span small{display:none}}


/* ==========================================================================
   1.6.0 — Capa 4 / Global Page Pattern
   Non-destructive visual contract for internal pages. Existing module markup,
   forms, links, permissions and endpoints remain owned by their modules.
   ========================================================================== */
body.ersu-ui-v2 .ers-content.ersu-standard-page{
  width:100%;max-width:1320px!important;margin:0 auto!important;padding-top:18px!important;
}
body.ersu-ui-v2 .ers-content.ersu-standard-page>.ersu-page-root{
  min-width:0;max-width:none;margin-left:0;margin-right:0;
}
body.ersu-ui-v2 .ersu-page-header{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;
  margin:0 0 14px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body.ersu-ui-v2 .ersu-page-heading-copy{min-width:0;max-width:820px}
body.ersu-ui-v2 .ersu-page-eyebrow{
  display:block;margin:0 0 5px!important;color:var(--eco-primary)!important;font:800 10px/1.2 var(--eco-font)!important;
  letter-spacing:.08em;text-transform:uppercase;
}
body.ersu-ui-v2 .ersu-page-title{
  margin:0!important;color:var(--eco-text)!important;font:800 clamp(22px,2vw,29px)/1.08 var(--eco-font)!important;
  letter-spacing:-.035em!important;
}
body.ersu-ui-v2 .ersu-page-description{
  margin:6px 0 0!important;max-width:760px;color:var(--eco-muted)!important;font:500 12px/1.5 var(--eco-font)!important;
}
body.ersu-ui-v2 .ersu-page-action-zone{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.ersu-ui-v2 .ersu-page-header>.era-secondary-button,
body.ersu-ui-v2 .ersu-page-header>.era-primary-button,
body.ersu-ui-v2 .ersu-page-action-zone>a,
body.ersu-ui-v2 .ersu-page-action-zone>button{
  min-height:40px!important;padding:0 13px!important;border-radius:11px!important;font-size:11px!important;font-weight:800!important;white-space:nowrap;
}
body.ersu-ui-v2 .ersu-page-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px!important;padding:8px!important;
  border:1px solid var(--eco-border)!important;border-radius:var(--eco-radius-md)!important;background:var(--eco-surface)!important;box-shadow:var(--eco-shadow-xs)!important;
}
body.ersu-ui-v2 .ers-content.ersu-standard-page>.era-business-profile{
  max-width:none!important;padding:18px!important;border-radius:18px!important;box-shadow:var(--eco-shadow-sm)!important;
}
body.ersu-ui-v2 .ers-content.ersu-standard-page>.era-module-info{
  max-width:980px;margin:0 auto!important;border-radius:18px!important;
}
body.ersu-ui-v2 .ers-content.ersu-standard-page>.era-portal-section{max-width:none!important}
body.ersu-ui-v2 .ers-content.ersu-standard-page .era-portal-card,
body.ersu-ui-v2 .ers-content.ersu-standard-page .era-package-block{border-radius:16px!important;box-shadow:var(--eco-shadow-xs)!important}

@media(max-width:767px){
  body.ersu-ui-v2 .ers-content.ersu-standard-page{padding:12px 11px calc(var(--eco-bottom-nav-height) + var(--eco-safe-bottom) + 18px)!important}
  body.ersu-ui-v2 .ersu-page-header{gap:10px!important;margin-bottom:11px!important}
  body.ersu-ui-v2 .ersu-page-title{font-size:22px!important}
  body.ersu-ui-v2 .ersu-page-description{font-size:11px!important;line-height:1.45!important}
  body.ersu-ui-v2 .ersu-page-action-zone{width:auto;flex:0 0 auto}
  body.ersu-ui-v2 .ersu-page-header>.era-secondary-button,
  body.ersu-ui-v2 .ersu-page-header>.era-primary-button,
  body.ersu-ui-v2 .ersu-page-action-zone>a,
  body.ersu-ui-v2 .ersu-page-action-zone>button{min-height:38px!important;padding:0 11px!important}
  body.ersu-ui-v2 .ers-content.ersu-standard-page>.era-business-profile{padding:14px!important;border-radius:16px!important}
}
@media(max-width:540px){
  body.ersu-ui-v2 .ersu-page-header{flex-direction:column!important;align-items:stretch!important}
  body.ersu-ui-v2 .ersu-page-action-zone{width:100%;justify-content:flex-start}
  body.ersu-ui-v2 .ersu-page-header>.era-secondary-button,
  body.ersu-ui-v2 .ersu-page-header>.era-primary-button{align-self:flex-start}
  body.ersu-ui-v2 .ersu-page-toolbar{align-items:stretch}
}

/* ==========================================================================
   1.7.0 — Capa 5 / App-like Lists
   Existing tables keep their original DOM, forms, links and endpoints.
   Desktop stays dense; mobile presents each row as a readable app card.
   ========================================================================== */
body.ersu-ui-v2 .ersu-data-list-wrap{
  width:100%;overflow:auto;border:1px solid var(--eco-border,#e6eaf0)!important;
  border-radius:16px!important;background:var(--eco-surface,#fff)!important;box-shadow:var(--eco-shadow-xs)!important;
  -webkit-overflow-scrolling:touch;
}
body.ersu-ui-v2 table.ersu-data-list{
  width:100%!important;min-width:680px;border:0!important;border-collapse:separate!important;border-spacing:0!important;
  background:transparent!important;box-shadow:none!important;margin:0!important;
}
body.ersu-ui-v2 table.ersu-data-list thead th{
  height:38px;padding:8px 11px!important;border:0!important;border-bottom:1px solid var(--eco-border,#e6eaf0)!important;
  background:#f8fafc!important;color:var(--eco-muted,#667085)!important;font:800 9px/1.2 var(--eco-font)!important;
  letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;text-align:left!important;
}
body.ersu-ui-v2 table.ersu-data-list tbody td{
  min-height:46px;padding:9px 11px!important;border:0!important;border-bottom:1px solid #eef1f4!important;
  background:#fff!important;color:var(--eco-text,#101828)!important;font:600 10.5px/1.35 var(--eco-font)!important;vertical-align:middle!important;
}
body.ersu-ui-v2 table.ersu-data-list tbody tr:last-child td{border-bottom:0!important}
body.ersu-ui-v2 table.ersu-data-list tbody tr:hover td{background:#fbfcfd!important}
body.ersu-ui-v2 table.ersu-data-list .ersu-data-primary{font-weight:800!important}
body.ersu-ui-v2 table.ersu-data-list .ersu-data-actions{text-align:right!important;white-space:nowrap}
body.ersu-ui-v2 table.ersu-data-list td a:not(.button):not(.era-primary-button):not(.era-secondary-button){font-weight:800;text-decoration:none}
body.ersu-ui-v2 table.ersu-data-list td .button,
body.ersu-ui-v2 table.ersu-data-list td button,
body.ersu-ui-v2 table.ersu-data-list td input[type="submit"]{min-height:32px!important;border-radius:9px!important;font-size:9px!important;font-weight:800!important}
body.ersu-ui-v2 table.ersu-data-list td select,
body.ersu-ui-v2 table.ersu-data-list td input[type="text"],
body.ersu-ui-v2 table.ersu-data-list td input[type="email"]{min-height:34px!important;border-radius:9px!important;font-size:10px!important}

@media(max-width:767px){
  body.ersu-ui-v2 .ersu-data-list-wrap{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
  body.ersu-ui-v2 table.ersu-data-list{display:block!important;min-width:0!important;background:transparent!important}
  body.ersu-ui-v2 table.ersu-data-list thead{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}
  body.ersu-ui-v2 table.ersu-data-list tbody{display:grid!important;gap:8px!important;width:100%!important}
  body.ersu-ui-v2 table.ersu-data-list tbody tr.ersu-data-row{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;width:100%!important;overflow:hidden!important;
    border:1px solid var(--eco-border,#e6eaf0)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 12px rgba(16,24,40,.025)!important;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-cell{
    display:grid!important;grid-template-columns:minmax(82px,34%) minmax(0,1fr)!important;align-items:center!important;gap:9px!important;
    min-height:38px!important;padding:8px 10px!important;border:0!important;border-bottom:1px solid #eef1f4!important;
    background:#fff!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-cell::before{
    content:attr(data-ersu-label);display:block;min-width:0;color:var(--eco-muted,#667085);font:800 7.5px/1.25 var(--eco-font);
    letter-spacing:.025em;text-transform:uppercase;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-primary{
    grid-template-columns:1fr!important;min-height:44px!important;padding:10px!important;background:#fbfcfd!important;font-size:11px!important;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-primary::before{display:none!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important;
    padding:8px 10px!important;text-align:right!important;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-actions::before{margin-right:auto}
  body.ersu-ui-v2 table.ersu-data-list tbody tr.ersu-data-row td:last-child{border-bottom:0!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td[colspan]{display:block!important;text-align:left!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td[colspan]::before{display:none!important}
}


/* ==========================================================================
   1.8.0 — Capa 6 / App-like Forms
   Presentation-only form system. Field names, values, validation, submission,
   AJAX handlers and endpoints remain completely owned by their modules.
   ========================================================================== */
body.ersu-ui-v2 .ersu-app-form{
  --ersu-field-height:42px;
  --ersu-field-radius:11px;
  width:100%;min-width:0;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-group{
  min-width:0;margin-bottom:13px!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-label{
  display:inline-flex;align-items:center;gap:4px;margin:0 0 5px!important;
  color:var(--eco-text,#101828)!important;font:750 10.5px/1.3 var(--eco-font)!important;
  letter-spacing:-.005em;text-transform:none!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-required::after{
  content:"";width:4px;height:4px;border-radius:50%;background:var(--eco-primary,#ff5a0a);flex:0 0 auto;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-control{
  width:100%;max-width:100%;min-height:var(--ersu-field-height)!important;margin:0!important;padding:9px 11px!important;
  border:1px solid #d8dee8!important;border-radius:var(--ersu-field-radius)!important;background:#fff!important;
  color:var(--eco-text,#101828)!important;font:600 11.5px/1.35 var(--eco-font)!important;box-shadow:0 1px 2px rgba(16,24,40,.02)!important;
  outline:none!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-control:hover{border-color:#c5ceda!important}
body.ersu-ui-v2 .ersu-app-form .ersu-field-control:focus{
  border-color:var(--eco-primary,#ff5a0a)!important;box-shadow:0 0 0 3px rgba(255,90,10,.10)!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-control::placeholder{color:#98a2b3!important;font-weight:500!important;opacity:1}
body.ersu-ui-v2 .ersu-app-form textarea.ersu-field-control{
  min-height:98px!important;resize:vertical;padding-top:10px!important;
}
body.ersu-ui-v2 .ersu-app-form select.ersu-field-control{padding-right:32px!important;cursor:pointer}
body.ersu-ui-v2 .ersu-app-form .ersu-field-readonly,
body.ersu-ui-v2 .ersu-app-form .ersu-field-control:disabled{
  border-color:#e7ebf0!important;background:#f7f9fb!important;color:#7d8796!important;cursor:not-allowed;opacity:1!important;
}
body.ersu-ui-v2 .ersu-app-form input[type="file"].ersu-field-control{
  min-height:46px!important;padding:6px 8px!important;background:#fbfcfd!important;
}
body.ersu-ui-v2 .ersu-app-form input[type="file"].ersu-field-control::file-selector-button{
  min-height:31px;margin-right:9px;padding:0 10px;border:1px solid #d8dee8;border-radius:8px;background:#fff;
  color:var(--eco-text,#101828);font:750 9.5px/1 var(--eco-font);cursor:pointer;
}
body.ersu-ui-v2 .ersu-app-form .ersu-field-hint{
  display:block;margin:5px 0 0!important;color:var(--eco-muted,#667085)!important;font:500 9.5px/1.45 var(--eco-font)!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-choice-label{
  display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:30px;margin:0!important;
  color:var(--eco-text,#101828)!important;font:650 10.5px/1.35 var(--eco-font)!important;cursor:pointer;
}
body.ersu-ui-v2 .ersu-app-form input.ersu-choice-control{
  width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;accent-color:var(--eco-primary,#ff5a0a)!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-form-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;
  margin-top:17px!important;padding-top:13px!important;border-top:1px solid var(--eco-border,#e6eaf0)!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-form-submit{
  min-height:40px!important;padding:0 14px!important;border-radius:10px!important;font-size:10.5px!important;font-weight:800!important;
}
body.ersu-ui-v2 .ersu-app-form .ersu-form-secondary{
  min-height:40px!important;padding:0 13px!important;border-radius:10px!important;font-size:10.5px!important;font-weight:750!important;
}
body.ersu-ui-v2 .ersu-app-form :is(.notice,.error,.updated,.message,[role="alert"]){border-radius:10px!important}
body.ersu-ui-v2 .ersu-app-form input[aria-invalid="true"],
body.ersu-ui-v2 .ersu-app-form .ersu-field-control.is-error,
body.ersu-ui-v2 .ersu-app-form .ersu-field-control.error{
  border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.08)!important;
}

@media(min-width:768px){
  body.ersu-ui-v2 .ersu-app-form-long :is(.era-form-grid,.ers-form-grid,.form-grid,[data-form-grid]){
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px!important;align-items:start;
  }
  body.ersu-ui-v2 .ersu-app-form-long :is(.era-form-grid,.ers-form-grid,.form-grid,[data-form-grid])>.ersu-field-group{margin-bottom:0!important}
}
@media(max-width:767px){
  body.ersu-ui-v2 .ersu-app-form{--ersu-field-height:44px;--ersu-field-radius:10px}
  body.ersu-ui-v2 .ersu-app-form .ersu-field-group{margin-bottom:11px!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-field-label{font-size:10px!important;margin-bottom:5px!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-field-control{font-size:12px!important;padding:9px 10px!important}
  body.ersu-ui-v2 .ersu-app-form textarea.ersu-field-control{min-height:92px!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-form-actions{
    position:relative;display:grid!important;grid-template-columns:1fr;gap:7px!important;margin-top:14px!important;padding-top:11px!important;
  }
  body.ersu-ui-v2 .ersu-app-form .ersu-form-actions>*{width:100%!important;justify-content:center!important;text-align:center!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-form-submit,
  body.ersu-ui-v2 .ersu-app-form .ersu-form-secondary{min-height:44px!important;font-size:11px!important}
}


/* ==========================================================================
   1.9.0 — Capa 7 / Overlays & interactive surfaces
   Styles only surfaces already rendered by Core, Access or modules. No open,
   close, confirm, AJAX or business behavior is replaced by this UI layer.
   ========================================================================== */
body.ersu-ui-v2 .ersu-overlay-backdrop{
  position:fixed!important;inset:0!important;z-index:1200!important;display:grid;place-items:center;
  padding:18px!important;background:rgba(15,23,42,.48)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
body.ersu-ui-v2 .ersu-overlay-panel{
  max-width:min(560px,calc(100vw - 32px));max-height:min(84vh,760px);overflow:auto;
  border:1px solid var(--eco-border,#e6eaf0)!important;border-radius:18px!important;background:#fff!important;
  color:var(--eco-text,#101828)!important;box-shadow:0 24px 64px rgba(15,23,42,.18)!important;
}
body.ersu-ui-v2 dialog.ersu-overlay-panel{padding:0!important}
body.ersu-ui-v2 dialog.ersu-overlay-panel::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
body.ersu-ui-v2 .ersu-overlay-header{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;
  padding:17px 18px 12px!important;border-bottom:1px solid var(--eco-border,#e6eaf0)!important;background:#fff!important;
}
body.ersu-ui-v2 .ersu-overlay-title{
  margin:0!important;color:var(--eco-text,#101828)!important;font:800 16px/1.2 var(--eco-font)!important;letter-spacing:-.025em!important;
}
body.ersu-ui-v2 .ersu-overlay-body{padding:16px 18px!important}
body.ersu-ui-v2 .ersu-overlay-footer{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;
  padding:12px 18px 16px!important;border-top:1px solid var(--eco-border,#e6eaf0)!important;background:#fff!important;
}
body.ersu-ui-v2 .ersu-overlay-close{
  display:inline-grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  padding:0!important;border:1px solid var(--eco-border,#e6eaf0)!important;border-radius:10px!important;background:#fff!important;
  color:var(--eco-muted,#667085)!important;box-shadow:none!important;cursor:pointer!important;
}
body.ersu-ui-v2 .ersu-overlay-close:hover{background:#f7f8fa!important;color:var(--eco-text,#101828)!important}
body.ersu-ui-v2 .ersu-overlay-close:focus-visible{outline:3px solid rgba(255,90,10,.16)!important;outline-offset:2px!important;border-color:var(--eco-primary,#ff5a0a)!important}

body.ersu-ui-v2 .ersu-overlay-drawer{
  background:#fff!important;border-color:var(--eco-border,#e6eaf0)!important;box-shadow:0 22px 60px rgba(15,23,42,.16)!important;
}
body.ersu-ui-v2 .ersu-overlay-dropdown{
  min-width:180px!important;padding:6px!important;border:1px solid var(--eco-border,#e6eaf0)!important;border-radius:12px!important;
  background:#fff!important;box-shadow:0 14px 34px rgba(15,23,42,.13)!important;z-index:1150!important;
}
body.ersu-ui-v2 .ersu-overlay-dropdown :is(a,button,[role="menuitem"]){
  display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 9px!important;border-radius:8px!important;
  color:var(--eco-text,#101828)!important;font:650 10.5px/1.3 var(--eco-font)!important;text-decoration:none!important;
}
body.ersu-ui-v2 .ersu-overlay-dropdown :is(a,button,[role="menuitem"]):hover{background:#f5f7f9!important}

body.ersu-ui-v2 .ersu-app-notice{
  position:relative;margin:10px 0!important;padding:11px 13px 11px 36px!important;border:1px solid transparent!important;border-radius:11px!important;
  font:600 10.5px/1.5 var(--eco-font)!important;box-shadow:none!important;
}
body.ersu-ui-v2 .ersu-app-notice::before{
  content:"";position:absolute;left:13px;top:15px;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.82;
}
body.ersu-ui-v2 .ersu-notice-success{background:#ecfdf5!important;border-color:#b7efd8!important;color:#087f5b!important}
body.ersu-ui-v2 .ersu-notice-warning{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}
body.ersu-ui-v2 .ersu-notice-error{background:#fff1f1!important;border-color:#ffd0d0!important;color:#b42318!important}
body.ersu-ui-v2 .ersu-notice-info{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important}
body.ersu-ui-v2 .ersu-app-notice :is(p,ul,ol){margin:0!important;color:inherit!important;font:inherit!important}

body.ersu-ui-v2 .ersu-app-toast{
  max-width:min(360px,calc(100vw - 28px));padding:11px 13px!important;border:1px solid var(--eco-border,#e6eaf0)!important;
  border-radius:12px!important;background:#101828!important;color:#fff!important;box-shadow:0 14px 36px rgba(15,23,42,.20)!important;
  font:650 10.5px/1.45 var(--eco-font)!important;
}

@media(max-width:767px){
  body.ersu-ui-v2 .ersu-overlay-backdrop{align-items:end!important;padding:0!important}
  body.ersu-ui-v2 .ersu-overlay-panel{
    width:100%!important;max-width:none!important;max-height:min(88dvh,760px)!important;border-radius:18px 18px 0 0!important;
    padding-bottom:max(0px,env(safe-area-inset-bottom))!important;
  }
  body.ersu-ui-v2 dialog.ersu-overlay-panel{margin:auto 0 0!important}
  body.ersu-ui-v2 .ersu-overlay-header{padding:15px 14px 11px!important}
  body.ersu-ui-v2 .ersu-overlay-body{padding:14px!important}
  body.ersu-ui-v2 .ersu-overlay-footer{display:grid!important;grid-template-columns:1fr!important;padding:11px 14px 14px!important}
  body.ersu-ui-v2 .ersu-overlay-footer>*{width:100%!important;min-height:44px!important;justify-content:center!important;text-align:center!important}
  body.ersu-ui-v2 .ersu-overlay-close{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  body.ersu-ui-v2 .ersu-overlay-dropdown{max-width:calc(100vw - 24px)!important}
  body.ersu-ui-v2 .ersu-app-toast{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
  body.ersu-ui-v2 .ersu-overlay-panel,body.ersu-ui-v2 .ersu-overlay-drawer,body.ersu-ui-v2 .ersu-overlay-dropdown,body.ersu-ui-v2 .ersu-app-toast{transition:none!important;animation:none!important}
}


/* ==========================================================================
   2.1.0 — Capa 9 / Mobile polish
   Mobile-only presentation hardening: touch targets, iOS form zoom prevention,
   safe areas, readable type, stable app navigation and overflow containment.
   No module markup, forms, endpoints or business behavior are replaced.
   ========================================================================== */
@media(max-width:767px){
  body.ersu-ui-v2.ersu-ui-app{
    --ersu-mobile-gutter:12px;
    --ersu-mobile-touch:44px;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  /* Keep all app content inside the viewport without globally clipping useful scroll areas. */
  body.ersu-ui-v2.ersu-ui-app :is(.ers-main,.ersu-shell-main,.ers-content,.ersu-shell-content,.ersu-standard-page,.ersu-dashboard){
    min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  }
  body.ersu-ui-v2.ersu-ui-app :is(img,video,canvas,svg){max-width:100%}
  body.ersu-ui-v2.ersu-ui-app :is(.ersu-data-list-wrap,.ersu-page-toolbar,.ersu-overlay-panel){overscroll-behavior:contain}

  /* One stable native-app header row. */
  body.ersu-ui-v2.ersu-ui-app .ers-topbar.ersu-shell-header{
    width:100%!important;min-width:0!important;padding-left:var(--ersu-mobile-gutter)!important;padding-right:var(--ersu-mobile-gutter)!important;
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-menu,
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-user{
    min-width:var(--ersu-mobile-touch)!important;min-height:var(--ersu-mobile-touch)!important;
    width:var(--ersu-mobile-touch)!important;height:var(--ersu-mobile-touch)!important;touch-action:manipulation;
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context{min-width:0!important;overflow:hidden!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy{min-width:0!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{font-size:13px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy small{font-size:10px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-language-switcher button{
    min-width:30px!important;height:30px!important;font-size:10px!important;touch-action:manipulation;
  }

  /* Content rhythm: preserve bottom navigation and device safe area. */
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-content,
  body.ersu-ui-v2.ersu-ui-app .ersu-home-content,
  body.ersu-ui-v2 .ers-content.ersu-standard-page{
    padding-left:var(--ersu-mobile-gutter)!important;padding-right:var(--ersu-mobile-gutter)!important;
    padding-bottom:calc(var(--eco-bottom-nav-height,66px) + var(--eco-safe-bottom,0px) + 22px)!important;
  }

  /* Mobile bottom navigation: fixed, tappable and safe-area aware. */
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav{
    left:8px!important;right:8px!important;
    bottom:max(8px,var(--eco-safe-bottom,0px))!important;
    min-height:62px!important;padding:5px 5px max(5px,calc(var(--eco-safe-bottom,0px) * .18))!important;
    contain:layout paint;
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav :is(a,button){
    min-width:0!important;min-height:50px!important;padding:5px 3px!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav small{
    display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
    font-size:10px!important;line-height:1.05!important;
  }

  /* iOS/Safari: 16px controls prevent unwanted viewport zoom while editing. */
  body.ersu-ui-v2.ersu-ui-app :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    font-size:16px!important;
  }
  body.ersu-ui-v2 .ersu-app-form .ersu-field-control{font-size:16px!important;line-height:1.35!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-field-label{font-size:12px!important;line-height:1.3!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-field-help{font-size:11px!important;line-height:1.4!important}
  body.ersu-ui-v2 .ersu-app-form .ersu-form-submit,
  body.ersu-ui-v2 .ersu-app-form .ersu-form-secondary,
  body.ersu-ui-v2 .ersu-page-action-zone>a,
  body.ersu-ui-v2 .ersu-page-action-zone>button{
    min-height:var(--ersu-mobile-touch)!important;touch-action:manipulation;
  }

  /* Lists remain card-like but become easier to scan and tap. */
  body.ersu-ui-v2 table.ersu-data-list tbody{gap:10px!important}
  body.ersu-ui-v2 table.ersu-data-list tbody tr.ersu-data-row{border-radius:15px!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-cell{
    grid-template-columns:minmax(92px,36%) minmax(0,1fr)!important;min-height:42px!important;padding:9px 11px!important;
    font-size:12px!important;line-height:1.4!important;
  }
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-cell::before{font-size:9px!important;line-height:1.25!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-actions :is(a,button,input[type="submit"]){min-height:40px!important}

  /* Dashboard: remove ultra-small type introduced by earlier compact passes. */
  body.ersu-ui-v2 .ersu-ops-welcome h1{font-size:19px!important;line-height:1.08!important}
  body.ersu-ui-v2 .ersu-ops-welcome p{font-size:11px!important;line-height:1.4!important}
  body.ersu-ui-v2 .ersu-ops-eyebrow{font-size:9px!important}
  body.ersu-ui-v2 .ersu-ops-plan,body.ersu-ui-v2 .ersu-ops-state{font-size:9px!important;min-height:28px!important}
  body.ersu-ui-v2 .ersu-ops-action{min-height:52px!important;padding:8px!important}
  body.ersu-ui-v2 .ersu-ops-action span{font-size:10px!important;line-height:1.25!important}
  body.ersu-ui-v2 .ersu-ops-metric{min-height:76px!important;padding:10px!important}
  body.ersu-ui-v2 .ersu-ops-metric strong{font-size:20px!important}
  body.ersu-ui-v2 .ersu-ops-section-head h2{font-size:13px!important}
  body.ersu-ui-v2 .ersu-ops-module{min-height:60px!important}

  /* Legacy dashboard hero is kept compact, but readable if a route still uses it. */
  body.ersu-ui-v2.ersu-ui-app .ersu-hero p{font-size:9.5px!important;line-height:1.35!important;-webkit-line-clamp:3!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-kicker{font-size:8px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-btn{min-height:34px!important;padding:0 9px!important;font-size:9.5px!important}

  /* Overlays and drawers remain operable above the persistent bottom nav. */
  body.ersu-ui-v2 .ersu-overlay-panel{max-height:calc(100dvh - var(--eco-safe-top,0px) - 10px)!important}
  body.ersu-ui-v2 .ersu-overlay-footer>*{min-height:var(--ersu-mobile-touch)!important}
}

@media(max-width:380px){
  body.ersu-ui-v2.ersu-ui-app{--ersu-mobile-gutter:9px}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-logo{display:none!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy strong{max-width:34vw!important;font-size:12px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-shell-header .ersu-shell-context .ers-business-copy small{display:none!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav small{font-size:9px!important}
  body.ersu-ui-v2 table.ersu-data-list tbody td.ersu-data-cell{grid-template-columns:minmax(78px,34%) minmax(0,1fr)!important}
}

@media(max-width:767px) and (orientation:landscape){
  body.ersu-ui-v2.ersu-ui-app{--eco-shell-topbar-height:52px}
  body.ersu-ui-v2.ersu-ui-app .ers-topbar.ersu-shell-header{padding-top:max(4px,var(--eco-safe-top,0px))!important;padding-bottom:4px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav{min-height:56px!important}
  body.ersu-ui-v2.ersu-ui-app .ersu-bottom-nav :is(a,button){min-height:44px!important}
}

@media(max-width:767px) and (pointer:coarse){
  body.ersu-ui-v2.ersu-ui-app :is(a,button,input[type="button"],input[type="submit"],summary,[role="button"]){touch-action:manipulation}
  body.ersu-ui-v2.ersu-ui-app :is(a,button,input,select,textarea){-webkit-tap-highlight-color:rgba(255,90,10,.08)}
}


/* ==========================================================================
   2.2.0 — Capa 10 / Accessibility + performance hardening
   Keeps the app-like visual language while improving keyboard navigation,
   focus visibility, reduced-motion behavior and rendering containment.
   ========================================================================== */
body.ersu-ui-v2 .ersu-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;
}
body.ersu-ui-v2 .ersu-skip-link{
  position:fixed!important;left:12px!important;top:8px!important;z-index:2147483646!important;
  transform:translateY(-160%)!important;padding:10px 14px!important;border-radius:10px!important;
  background:#101828!important;color:#fff!important;font:700 13px/1.2 var(--eco-font)!important;
  box-shadow:0 8px 24px rgba(16,24,40,.18)!important;transition:transform .16s ease!important;
}
body.ersu-ui-v2 .ersu-skip-link:focus{transform:translateY(0)!important;outline:3px solid rgba(255,90,10,.45)!important;outline-offset:2px!important}
body.ersu-ui-v2 :is(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus{outline:none}
body.ersu-ui-v2 :is(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{
  outline:3px solid rgba(255,90,10,.34)!important;outline-offset:2px!important;border-radius:max(6px,var(--eco-radius-sm,8px))!important;
}
body.ersu-ui-v2 :is(input,select,textarea):focus-visible{
  border-color:#ff7a33!important;box-shadow:0 0 0 3px rgba(255,90,10,.12)!important;
}
body.ersu-ui-v2 .ers-content[role="main"]:focus{outline:none!important}
body.ersu-ui-v2 .ersu-shell-sidebar[aria-hidden="true"]{visibility:hidden}
body.ersu-ui-v2 :is(.ersu-dashboard,.ersu-standard-page,.ersu-data-list-wrap,.ersu-overlay-panel){contain:layout style}
body.ersu-ui-v2 img[loading="lazy"]{content-visibility:auto}

@media(prefers-reduced-motion:reduce){
  body.ersu-ui-v2 *,body.ersu-ui-v2 *::before,body.ersu-ui-v2 *::after{
    scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;
  }
}

@media(forced-colors:active){
  body.ersu-ui-v2 :is(a,button,input,select,textarea,summary,[role="button"]):focus-visible{outline:2px solid Highlight!important}
  body.ersu-ui-v2 .ersu-shell-scrim{border:1px solid CanvasText!important}
  body.ersu-ui-v2 :is(.ersu-app-notice,.ersu-overlay-panel,.ersu-data-list tbody tr){border:1px solid CanvasText!important}
}
