:root {
  --orange: #f4512a;
  --orange-dark: #d93d1d;
  --orange-soft: #fff0e9;
  --brown: #5b311e;
  --ink: #2c211b;
  --muted: #7b6d65;
  --line: #eaded7;
  --cream: #fffaf7;
  --white: #ffffff;
  --shadow: 0 20px 50px rgba(91, 49, 30, 0.1);
  --sidebar-width: 258px;
  --radius-lg: 30px;
  --radius-md: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--cream);
  color: var(--ink);
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

.app-shell { min-height: 100vh; display: flex; }
#app:focus { outline: none; }
.sidebar {
  background: var(--white);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 30px 20px 22px;
  position: sticky;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  z-index: 20;
}
.sidebar__top { align-items: center; display: flex; justify-content: space-between; min-height: 82px; }
.brand { display: inline-flex; align-items: center; width: 165px; }
.brand__logo { display: block; height: auto; max-width: 100%; mix-blend-mode: multiply; }
.sidebar__label { color: var(--muted); font-size: 0.67rem; font-weight: 700; letter-spacing: 0.16em; margin: 42px 12px 15px; text-transform: uppercase; }
.nav-list { display: grid; gap: 7px; }
.nav-link { align-items: center; border-radius: 14px; color: var(--muted); display: flex; font-size: 0.9rem; gap: 13px; padding: 13px 12px; transition: background 160ms ease, color 160ms ease, transform 160ms ease; }
.nav-link:hover { background: var(--orange-soft); color: var(--orange-dark); transform: translateX(2px); }
.nav-link.is-active { background: var(--orange); box-shadow: 0 10px 22px rgba(244, 81, 42, 0.18); color: var(--white); font-weight: 700; }
.nav-link__icon { align-items: center; display: inline-flex; font-size: 1.1rem; height: 20px; justify-content: center; line-height: 1; width: 20px; }
.sidebar__footer { margin-top: auto; }
.sidebar-note { align-items: flex-start; background: var(--orange-soft); border-radius: 17px; display: flex; gap: 10px; padding: 14px 12px; }
.sidebar-note__dot { background: var(--orange); border-radius: 50%; box-shadow: 0 0 0 5px rgba(244, 81, 42, 0.12); display: block; flex: 0 0 auto; height: 9px; margin: 5px 2px 0 3px; width: 9px; }
.sidebar-note strong, .sidebar-note span { display: block; }
.sidebar-note strong { color: var(--brown); font-size: 0.78rem; margin-bottom: 4px; }
.sidebar-note span { color: var(--muted); font-size: 0.66rem; line-height: 1.35; }
.sidebar__version { color: #ad9c93; display: block; font-size: 0.63rem; margin: 17px 3px 0; }

.page-layer { flex: 1; min-height: 100vh; min-width: 0; }
.topbar { align-items: center; display: flex; justify-content: space-between; padding: 30px clamp(24px, 5vw, 72px) 16px; }
.topbar__crumbs { align-items: center; color: var(--muted); display: flex; font-size: 0.78rem; gap: 10px; }
.topbar__eyebrow { color: var(--brown); font-weight: 700; }
.topbar__slash { color: #cfbfb7; }
.icon-button { align-items: center; background: transparent; border: 0; color: var(--brown); cursor: pointer; display: inline-flex; justify-content: center; }
.menu-toggle, .sidebar__close { display: none; }
.button { align-items: center; border-radius: 999px; display: inline-flex; font-size: 0.82rem; font-weight: 700; gap: 12px; justify-content: center; transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button--outline { border: 1px solid var(--brown); color: var(--brown); }
.button--outline:hover { background: var(--brown); color: var(--white); }
.button--small { min-height: 42px; padding: 0 17px; }
.button--solid { background: var(--orange); box-shadow: 0 13px 24px rgba(244, 81, 42, 0.2); color: var(--white); min-height: 50px; padding: 0 22px; }
.button--solid:hover { background: var(--orange-dark); box-shadow: 0 16px 30px rgba(244, 81, 42, 0.28); }

.main-content { margin: 0 auto; max-width: 1340px; min-height: calc(100vh - 140px); padding: 24px clamp(24px, 5vw, 72px) 40px; }
.hero { align-items: center; display: grid; gap: clamp(30px, 7vw, 96px); grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr); min-height: 590px; }
.hero__copy { max-width: 610px; }
.kicker { align-items: center; color: var(--orange-dark); display: inline-flex; font-size: 0.7rem; font-weight: 800; gap: 10px; letter-spacing: 0.16em; margin: 0 0 24px; text-transform: uppercase; }
.kicker::before { background: var(--orange); content: ""; height: 2px; width: 25px; }
h1, h2, h3, p { margin-top: 0; }
h1 { color: var(--brown); font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 6.7vw, 6.7rem); font-weight: 400; letter-spacing: -0.065em; line-height: 0.94; margin-bottom: 28px; }
h1 em { color: var(--orange); font-style: normal; }
.hero__lead { color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.72; margin-bottom: 32px; max-width: 510px; }
.hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; }
.text-link { color: var(--brown); display: inline-flex; font-size: 0.82rem; font-weight: 700; gap: 8px; padding: 10px 0; }
.text-link:hover { color: var(--orange-dark); }
.hero__visual { min-height: 475px; position: relative; }
.visual-card { background: #ffede6; border-radius: 48% 52% 46% 54% / 49% 47% 53% 51%; inset: 25px 15px 26px 15px; overflow: hidden; position: absolute; transform: rotate(-6deg); }
.visual-card::before { border: 1px solid rgba(244, 81, 42, 0.25); border-radius: 50%; content: ""; height: 66%; left: 17%; position: absolute; top: 14%; width: 66%; }
.visual-card::after { background: rgba(255, 255, 255, 0.42); border-radius: 50%; content: ""; height: 38%; position: absolute; right: -7%; top: 7%; width: 30%; }
.visual-orbit { border: 1px solid rgba(91, 49, 30, 0.14); border-radius: 50%; height: 74%; left: 12%; position: absolute; top: 14%; transform: rotate(42deg); width: 72%; }
.visual-orbit::after { background: var(--orange); border: 6px solid #fff7f2; border-radius: 50%; content: ""; height: 17px; left: 8%; position: absolute; top: 15%; width: 17px; }
.visual-copy { align-items: center; display: flex; flex-direction: column; inset: 0; justify-content: center; position: absolute; transform: rotate(6deg); z-index: 1; }
.visual-copy__circle { align-items: center; background: var(--orange); border-radius: 50%; box-shadow: 0 24px 40px rgba(244, 81, 42, 0.19); color: var(--white); display: flex; font-family: Georgia, serif; font-size: 4.6rem; height: 130px; justify-content: center; letter-spacing: -0.1em; padding-right: 8px; width: 130px; }
.visual-copy__title { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.2rem, 4.5vw, 4.4rem); line-height: 0.8; margin: 23px 0 0; }
.visual-copy__subtitle { color: var(--orange-dark); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.26em; margin-top: 17px; text-transform: uppercase; }
.float-chip { align-items: center; background: var(--white); border: 1px solid rgba(91, 49, 30, 0.08); border-radius: 15px; box-shadow: var(--shadow); display: flex; gap: 10px; padding: 12px 15px; position: absolute; z-index: 2; }
.float-chip--top { right: -2%; top: 17%; }
.float-chip--bottom { bottom: 13%; left: -4%; }
.float-chip__icon { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; font-size: 1.15rem; height: 34px; justify-content: center; width: 34px; }
.float-chip strong, .float-chip span { display: block; }
.float-chip strong { color: var(--brown); font-size: 0.76rem; margin-bottom: 3px; }
.float-chip span { color: var(--muted); font-size: 0.65rem; }

.stat-strip { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; padding: 25px 0; }
.stat { border-right: 1px solid var(--line); padding-left: clamp(12px, 3vw, 45px); }
.stat:first-child { padding-left: 0; }
.stat:last-child { border-right: 0; }
.stat__number { color: var(--orange); display: block; font-family: Georgia, serif; font-size: 2rem; margin-bottom: 4px; }
.stat__label { color: var(--muted); font-size: 0.73rem; }

.content-page { padding: 50px 0 28px; }
.manah-page { padding: 50px 0 28px; }
.manah-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.manah-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.manah-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 650px; }
.manah-badge { align-items: center; background: var(--orange-soft); border-radius: 16px; color: var(--muted); display: flex; flex: 0 0 auto; font-size: 0.65rem; gap: 9px; line-height: 1.35; padding: 14px 18px; }
.manah-badge strong { color: var(--orange-dark); font-size: 0.85rem; }
.manah-badge__dot { background: var(--orange); border-radius: 50%; height: 9px; width: 9px; }
.manah-menu-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 45px; max-width: 860px; }
.manah-menu-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); min-height: 250px; padding: 27px; position: relative; }
.manah-menu-card--link { color: inherit; text-decoration: none; transition: border-color 160ms ease, transform 160ms ease; }
.manah-menu-card--link:hover { border-color: var(--orange); transform: translateY(-3px); }
.manah-menu-card__icon { align-items: center; background: var(--orange-soft); border-radius: 12px; color: var(--orange-dark); display: flex; font-family: Georgia, serif; font-size: 1.35rem; height: 44px; justify-content: center; margin-bottom: 25px; width: 44px; }
.manah-menu-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; margin: 11px 0 9px; }
.manah-menu-card p { color: var(--muted); font-size: 0.78rem; line-height: 1.55; margin: 0; max-width: 430px; }
.manah-menu-card__status { bottom: 26px; color: var(--orange-dark); font-size: 0.65rem; font-weight: 700; left: 27px; position: absolute; }
.manah-note { margin-top: 24px; max-width: 860px; }
.manah-logout { border: 0; cursor: pointer; margin-top: 20px; }
.dishes-page { padding: 50px 0 28px; }
.dishes-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.dishes-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.dishes-heading > div:first-child > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 650px; }
.dishes-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.dishes-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.dishes-count span { font-size: 0.67rem; line-height: 1.35; }
.dishes-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr); margin-top: 42px; }
.dish-form, .dishes-list-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(23px, 3vw, 35px); }
.dish-form-actions { align-items: center; display: flex; gap: 16px; margin-top: 18px; }
.dish-form-actions .button { border: 0; cursor: pointer; flex: 1; }
.dish-form-error { color: var(--orange-dark); font-size: 0.73rem; min-height: 18px; margin: 14px 0 0; }
.dishes-list-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 23px; }
.dishes-list-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 400; margin: 11px 0 0; }
.dishes-list-heading__count { color: var(--orange); font-family: Georgia, serif; font-size: 2rem; }
.dish-list { display: grid; gap: 8px; }
.dish-row { align-items: center; border: 1px solid var(--line); border-radius: 14px; display: flex; gap: 12px; justify-content: space-between; padding: 12px; }
.dish-row__identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.dish-row__avatar { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-size: 1.2rem; height: 38px; justify-content: center; width: 38px; }
.dish-row__identity strong, .dish-row__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dish-row__identity strong { color: var(--brown); font-size: 0.78rem; margin-bottom: 4px; }
.dish-row__identity small { color: var(--muted); font-size: 0.63rem; }
.dish-row__actions { display: flex; gap: 4px; }
.dish-status { border-radius: 999px; font-size: 0.61rem; font-weight: 700; padding: 5px 8px; }
.dish-status--active { background: #eaf7ee; color: #37804d; }
.dish-status--inactive { background: #f5eeeb; color: #9c857c; }
.dishes-list-card > .local-note { margin-top: 18px; }
@media (max-width: 900px) { .dishes-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .dishes-page { padding: 36px 0 20px; } .dishes-heading { display: block; } .dishes-count { display: inline-flex; margin-top: 18px; } .dish-form-actions { align-items: stretch; flex-direction: column; } .dish-form-actions .button { width: 100%; } .dish-row { align-items: flex-start; flex-wrap: wrap; } .dish-row__actions { margin-left: auto; } .dish-status { margin-left: auto; } }
@media (max-width: 760px) { .manah-page { padding: 36px 0 20px; } .manah-heading { display: block; } .manah-badge { display: inline-flex; margin-top: 18px; } .manah-menu-grid { grid-template-columns: 1fr; margin-top: 30px; } .manah-menu-card { min-height: 210px; } }
.content-page__intro { max-width: 760px; }
.content-page h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.7rem, 6vw, 5.5rem); font-weight: 400; letter-spacing: -0.05em; line-height: 1; margin-bottom: 22px; }
.content-page__intro p { color: var(--muted); font-size: 1.05rem; line-height: 1.75; max-width: 650px; }
.info-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin-top: 52px; }
.info-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-height: 192px; padding: 25px; }
.info-card__number { color: var(--orange); font-family: Georgia, serif; font-size: 1.7rem; }
.info-card h3 { color: var(--brown); font-size: 1rem; margin: 24px 0 8px; }
.info-card p { color: var(--muted); font-size: 0.83rem; line-height: 1.6; margin-bottom: 0; }
.dashboard-preview { align-items: center; background: var(--brown); border-radius: var(--radius-lg); color: var(--white); display: flex; justify-content: space-between; margin-top: 48px; overflow: hidden; padding: 43px clamp(24px, 5vw, 60px); position: relative; }
.dashboard-preview::after { border: 1px solid rgba(255,255,255,0.18); border-radius: 50%; content: ""; height: 260px; position: absolute; right: -30px; top: -90px; width: 260px; }
.dashboard-preview h3 { font-family: Georgia, serif; font-size: clamp(1.8rem, 3.4vw, 3rem); font-weight: 400; margin-bottom: 9px; position: relative; z-index: 1; }
.dashboard-preview p { color: #e9d8ce; font-size: 0.88rem; line-height: 1.6; margin: 0; max-width: 550px; position: relative; z-index: 1; }
.dashboard-preview .button { background: var(--white); color: var(--brown); position: relative; z-index: 1; }
.dashboard-preview .button:hover { background: var(--orange-soft); }
.placeholder { background: var(--orange-soft); border: 1px dashed rgba(244, 81, 42, 0.35); border-radius: var(--radius-lg); margin-top: 50px; padding: 42px; }
.placeholder__tag { color: var(--orange-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.placeholder h3 { color: var(--brown); font-family: Georgia, serif; font-size: 2rem; font-weight: 400; margin: 17px 0 10px; }
.placeholder p { color: var(--muted); line-height: 1.7; margin-bottom: 0; max-width: 620px; }

.site-footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: flex; font-size: 0.7rem; justify-content: space-between; margin: 0 clamp(24px, 5vw, 72px); padding: 20px 0 28px; }
.site-footer__brand { align-items: center; color: var(--brown); display: flex; font-weight: 800; gap: 8px; }
.site-footer__mark { align-items: center; background: var(--orange); border-radius: 50%; color: var(--white); display: inline-flex; font-family: Georgia, serif; font-size: 0.8rem; height: 23px; justify-content: center; width: 23px; }

.scrim { background: rgba(44, 33, 27, 0.35); display: none; inset: 0; position: fixed; z-index: 10; }
@media (max-width: 980px) {
  :root { --sidebar-width: 224px; }
  .hero { gap: 30px; grid-template-columns: minmax(0, 1fr) minmax(250px, 0.8fr); }
  .hero__visual { min-height: 410px; }
  .visual-copy__circle { height: 105px; width: 105px; }
  .float-chip--top { right: -5%; }
  .float-chip--bottom { left: -7%; }
}
@media (max-width: 760px) {
  .sidebar { box-shadow: 15px 0 40px rgba(44, 33, 27, 0.12); height: 100vh; position: fixed; transform: translateX(-105%); transition: transform 220ms ease; }
  .sidebar.is-open { transform: translateX(0); }
  .sidebar__close, .menu-toggle { display: inline-flex; }
  .sidebar__close { font-size: 1.7rem; height: 38px; width: 38px; }
  .menu-toggle { font-size: 1.35rem; margin-right: 13px; }
  .page-layer { width: 100%; }
  .topbar { padding: 19px 20px 12px; }
  .topbar__crumbs { flex: 1; }
  .topbar__eyebrow, .topbar__slash { display: none; }
  .button--small { min-height: 39px; padding: 0 14px; }
  .main-content { min-height: calc(100vh - 112px); padding: 20px 20px 32px; }
  .hero { display: flex; flex-direction: column; min-height: 0; padding: 35px 0 25px; }
  .hero__copy { width: 100%; }
  h1 { font-size: clamp(3.35rem, 16vw, 5.5rem); }
  .hero__lead { font-size: 0.98rem; }
  .hero__visual { min-height: 390px; width: 100%; }
  .visual-card { inset: 24px 12% 23px 12%; }
  .float-chip--top { right: 0; top: 13%; }
  .float-chip--bottom { bottom: 8%; left: 0; }
  .stat-strip { margin-top: 12px; }
  .stat { padding-left: 13px; }
  .stat__number { font-size: 1.55rem; }
  .stat__label { font-size: 0.64rem; line-height: 1.35; }
  .content-page { padding: 38px 0 15px; }
  .info-grid { grid-template-columns: 1fr; margin-top: 34px; }
  .info-card { min-height: auto; }
  .dashboard-preview { align-items: flex-start; flex-direction: column; gap: 24px; margin-top: 30px; }
  .placeholder { margin-top: 30px; padding: 27px; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 12px; margin: 0 20px; }
  .scrim.is-open { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* Etapa 2 — acesso local e painel administrativo */
.login-page { align-items: center; display: grid; gap: clamp(30px, 8vw, 110px); grid-template-columns: minmax(0, 1fr) minmax(320px, 470px); min-height: 620px; padding: 45px 0; }
.login-intro { max-width: 560px; }
.login-intro h2, .admin-heading h2 { color: var(--brown); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5.5vw, 5.6rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 22px; }
.login-intro > p:not(.kicker), .admin-heading > div > p:not(.kicker) { color: var(--muted); font-size: 1.03rem; line-height: 1.75; max-width: 520px; }
.login-signature { align-items: center; color: var(--brown); display: flex; font-size: 0.77rem; font-weight: 700; gap: 10px; margin-top: 52px; }
.login-signature__mark { align-items: center; background: var(--orange); border-radius: 50%; color: var(--white); display: inline-flex; font-family: Georgia, serif; font-size: 1.35rem; height: 42px; justify-content: center; width: 42px; }
.login-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: clamp(25px, 4vw, 42px); }
.login-card__heading { margin-bottom: 28px; }
.login-card__heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 2.15rem; font-weight: 400; margin: 13px 0 7px; }
.login-card__heading p, .login-help { color: var(--muted); font-size: 0.8rem; line-height: 1.55; margin-bottom: 0; }
.field-label { color: var(--brown); display: block; font-size: 0.76rem; font-weight: 700; margin: 18px 0 8px; }
.field-input { background: var(--cream); border: 1px solid var(--line); border-radius: 12px; color: var(--ink); font: inherit; font-size: 0.86rem; min-height: 49px; outline: none; padding: 0 14px; transition: border-color 160ms ease, box-shadow 160ms ease; width: 100%; }
.field-input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(244, 81, 42, 0.11); }
.field-input::placeholder { color: #b9aaa2; }
.login-error { color: var(--orange-dark); font-size: 0.75rem; line-height: 1.45; min-height: 18px; margin: 12px 0 0; }
.login-card.has-error .field-input { border-color: rgba(244, 81, 42, 0.65); }
.login-submit { border: 0; cursor: pointer; margin-top: 9px; width: 100%; }
.login-help { margin-top: 20px; text-align: center; }
.admin-page { padding: 54px 0 26px; }
.admin-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.admin-heading h2 { font-size: clamp(2.65rem, 5vw, 5rem); margin-bottom: 18px; }
.admin-badge { align-items: center; background: var(--orange-soft); border-radius: 999px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-size: 0.72rem; font-weight: 800; gap: 9px; padding: 12px 15px; }
.admin-badge__dot { background: var(--orange); border-radius: 50%; box-shadow: 0 0 0 4px rgba(244, 81, 42, 0.12); height: 8px; width: 8px; }
.admin-summary { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); margin: 45px 0 18px; }
.summary-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-height: 162px; padding: 22px; }
.summary-card--highlight { background: var(--orange); border-color: var(--orange); color: var(--white); }
.summary-card__icon { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; font-size: 1.05rem; height: 34px; justify-content: center; margin-bottom: 21px; width: 34px; }
.summary-card--highlight .summary-card__icon { background: rgba(255,255,255,0.18); color: var(--white); }
.summary-card__label, .summary-card strong, .summary-card small { display: block; }
.summary-card__label { color: var(--muted); font-size: 0.68rem; margin-bottom: 6px; }
.summary-card--highlight .summary-card__label, .summary-card--highlight small { color: rgba(255,255,255,0.75); }
.summary-card strong { color: var(--brown); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; margin-bottom: 8px; }
.summary-card--highlight strong { color: var(--white); }
.summary-card small { color: var(--muted); font-size: 0.68rem; }
.admin-workspace { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.75fr); margin-top: 18px; }
.workspace-card, .profile-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(22px, 3vw, 34px); }
.workspace-card__heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 22px; }
.workspace-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 2rem; font-weight: 400; margin: 10px 0 0; }
.workspace-card__count { color: var(--orange); font-family: Georgia, serif; font-size: 2.1rem; }
.module-list { display: grid; gap: 7px; }
.module-item { align-items: center; border-radius: 13px; display: flex; gap: 12px; min-height: 57px; padding: 8px 11px; }
.module-item--active { background: var(--orange-soft); }
.module-item__icon { align-items: center; background: #faf1ed; border-radius: 9px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-size: 0.95rem; height: 34px; justify-content: center; width: 34px; }
.module-item--active .module-item__icon { background: var(--orange); color: var(--white); }
.module-item strong, .module-item small { display: block; }
.module-item strong { color: var(--brown); font-size: 0.8rem; margin-bottom: 3px; }
.module-item small { color: var(--muted); font-size: 0.67rem; }
.module-item__status { color: #ad9c93; font-size: 0.63rem; margin-left: auto; }
.module-item--active .module-item__status { color: var(--orange-dark); font-weight: 700; }
.profile-card { text-align: center; }
.profile-card .placeholder__tag { display: block; text-align: left; }
.profile-avatar { align-items: center; background: var(--orange); border-radius: 50%; box-shadow: 0 12px 25px rgba(244, 81, 42, 0.2); color: var(--white); display: flex; font-family: Georgia, serif; font-size: 1.7rem; height: 75px; justify-content: center; margin: 20px auto 14px; width: 75px; }
.profile-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; margin: 0 0 5px; }
.profile-card > p { color: var(--muted); font-size: 0.72rem; margin-bottom: 26px; overflow-wrap: anywhere; }
.profile-line { border-top: 1px solid var(--line); display: flex; font-size: 0.69rem; justify-content: space-between; padding: 12px 0; text-align: left; }
.profile-line span { color: var(--muted); }
.profile-line strong { color: var(--brown); font-size: 0.68rem; }
.profile-logout { background: transparent; border: 1px solid var(--brown); cursor: pointer; margin-top: 18px; min-height: 43px; width: 100%; }
.local-note { align-items: flex-start; background: var(--orange-soft); border-radius: 15px; display: flex; gap: 11px; margin-top: 18px; padding: 14px 16px; }
.local-note__icon { align-items: center; background: var(--orange); border-radius: 50%; color: var(--white); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-weight: 700; height: 20px; justify-content: center; width: 20px; }
.local-note p { color: var(--muted); font-size: 0.72rem; line-height: 1.5; margin: 0; }
.local-note strong { color: var(--brown); }
@media (max-width: 900px) {
  .login-page { gap: 35px; grid-template-columns: minmax(0, 1fr) minmax(285px, 0.9fr); }
  .admin-workspace { grid-template-columns: 1fr; }
  .profile-card { max-width: none; }
}
@media (max-width: 760px) {
  .login-page { display: flex; flex-direction: column; min-height: 0; padding: 35px 0 20px; }
  .login-intro { width: 100%; }
  .login-intro h2, .admin-heading h2 { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .login-signature { margin-top: 27px; }
  .login-card { width: 100%; }
  .admin-page { padding: 36px 0 20px; }
  .admin-heading { display: block; }
  .admin-badge { margin-top: 20px; }
  .admin-summary { grid-template-columns: 1fr; margin-top: 32px; }
  .summary-card { min-height: auto; }
  .summary-card__icon { margin-bottom: 12px; }
}
/* Etapa 04 — cadastro local de clientes */
.module-item--link { color: inherit; text-decoration: none; transition: background 160ms ease, transform 160ms ease; }
.module-item--link:hover { background: var(--orange-soft); transform: translateX(2px); }
.module-item--link .module-item__status { color: var(--orange-dark); }
.clients-page { padding: 50px 0 28px; }
.clients-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.clients-heading h2 { color: var(--brown); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.clients-heading > div:first-child > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 620px; }
.clients-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.clients-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.clients-count span { font-size: 0.67rem; line-height: 1.35; }
.clients-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.35fr); margin-top: 42px; }
.client-form, .clients-list-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(23px, 3vw, 35px); }
.form-section-heading { margin-bottom: 22px; }
.form-section-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 400; margin: 11px 0 7px; }
.form-section-heading p { color: var(--muted); font-size: 0.76rem; line-height: 1.55; margin: 0; }
.form-section-heading--address { border-top: 1px solid var(--line); margin: 29px 0 5px; padding-top: 26px; }
.field-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(82px, 0.5fr); }
.field-grid--street { grid-template-columns: minmax(0, 1fr) 90px; }
.field-select { appearance: auto; padding-right: 7px; }
.client-form-error { color: var(--orange-dark); font-size: 0.74rem; line-height: 1.4; min-height: 19px; margin: 14px 0 0; }
.client-form-actions { align-items: center; display: flex; gap: 18px; margin-top: 7px; }
.client-form-actions .button { border: 0; cursor: pointer; }
.client-cancel { background: transparent; border: 0; cursor: pointer; }
.clients-list-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 23px; }
.clients-list-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 400; margin: 11px 0 0; }
.clients-list-heading__count { color: var(--orange); font-family: Georgia, serif; font-size: 2rem; }
.client-list { display: grid; gap: 8px; }
.client-row { align-items: center; border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 15px; grid-template-columns: minmax(190px, 1.2fr) minmax(110px, 0.6fr) minmax(170px, 1.2fr) auto; padding: 12px 13px; }
.client-row__identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.client-row__avatar { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-size: 1.2rem; height: 38px; justify-content: center; width: 38px; }
.client-row__identity strong, .client-row__identity small, .client-row__data span, .client-row__data strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-row__identity strong { color: var(--brown); font-size: 0.78rem; margin-bottom: 4px; }
.client-row__identity small, .client-row__data span { color: var(--muted); font-size: 0.63rem; }
.client-row__data strong { color: var(--brown); font-size: 0.68rem; margin-top: 5px; }
.client-row__actions { display: flex; gap: 4px; }
.icon-action { align-items: center; background: var(--orange-soft); border: 0; border-radius: 8px; color: var(--orange-dark); cursor: pointer; display: inline-flex; height: 31px; justify-content: center; width: 31px; }
.icon-action:hover { background: var(--orange); color: var(--white); }
.icon-action--danger { background: transparent; color: #ad9c93; font-size: 1.1rem; }
.icon-action--danger:hover { background: #fff0ed; color: var(--orange-dark); }
.empty-state { background: var(--orange-soft); border-radius: 15px; padding: 30px 22px; text-align: center; }
.empty-state__icon { align-items: center; background: var(--white); border-radius: 50%; color: var(--orange); display: inline-flex; font-size: 1.25rem; height: 48px; justify-content: center; width: 48px; }
.empty-state h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.4rem; font-weight: 400; margin: 15px 0 7px; }
.empty-state p { color: var(--muted); font-size: 0.75rem; line-height: 1.55; margin: 0 auto; max-width: 290px; }
.clients-list-card > .local-note { margin-top: 18px; }
@media (max-width: 1050px) {
  .clients-layout { grid-template-columns: minmax(285px, 0.8fr) minmax(0, 1.2fr); }
  .client-row { grid-template-columns: minmax(150px, 1fr) minmax(95px, 0.6fr) auto; }
  .client-row__address { display: none; }
}
@media (max-width: 760px) {
  .clients-page { padding: 36px 0 20px; }
  .clients-heading { display: block; }
  .clients-count { display: inline-flex; margin-top: 18px; }
  .clients-layout { display: flex; flex-direction: column; margin-top: 30px; }
  .client-form, .clients-list-card { width: 100%; }
  .client-row { grid-template-columns: minmax(0, 1fr) auto; }
  .client-row__data { display: none; }
  .client-form-actions { align-items: stretch; flex-direction: column; }
  .client-form-actions .button { width: 100%; }
}
/* Etapa 05 — retorno e auditoria local */
.back-link { align-items: center; color: var(--orange-dark); display: inline-flex; font-size: 0.72rem; font-weight: 700; gap: 8px; margin-bottom: 26px; text-decoration: none; }
.back-link:hover { color: var(--brown); }
.history-panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); margin-top: 18px; padding: clamp(23px, 3vw, 35px); }
.history-panel[hidden] { display: none; }
.history-panel__heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 20px; }
.history-panel__heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.8rem; font-weight: 400; margin: 11px 0 0; }
.history-list { display: grid; gap: 9px; }
.history-entry { align-items: flex-start; background: var(--orange-soft); border-radius: 13px; display: flex; gap: 12px; padding: 13px 15px; }
.history-entry__icon { align-items: center; background: var(--white); border-radius: 50%; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-weight: 700; height: 27px; justify-content: center; width: 27px; }
.history-entry strong { color: var(--brown); display: block; font-size: 0.76rem; margin-bottom: 5px; }
.history-entry p, .history-entry small { color: var(--muted); display: block; font-size: 0.67rem; line-height: 1.45; margin: 0; }
.history-entry small { color: var(--brown); margin-top: 6px; }
.history-empty { color: var(--muted); font-size: 0.78rem; margin: 0; }
.unit-access-list { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); display: grid; gap: 8px; margin-top: 30px; max-width: 720px; padding: 25px; }
.unit-access-card { background: var(--orange-soft); border-radius: 12px; padding: 14px; }
.unit-access-card strong, .unit-access-card small { display: block; }
.unit-access-card strong { color: var(--brown); font-size: 0.82rem; }
.unit-access-card small { color: var(--muted); font-size: 0.68rem; margin-top: 5px; }
.unit-access-card--select { color: inherit; display: grid; grid-template-columns: 1fr auto; text-decoration: none; transition: transform 160ms ease, background 160ms ease; }
.unit-access-card--select .placeholder__tag, .unit-access-card--select strong, .unit-access-card--select small { grid-column: 1; }
.unit-access-card--select > span:last-child { align-self: center; color: var(--orange); font-size: 1.3rem; grid-column: 2; grid-row: 1 / span 3; }
.unit-access-card--select:hover { background: #ffe3d9; transform: translateX(3px); }
.client-unit-page { padding: 50px 0 28px; }
.client-unit-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.client-unit-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.client-unit-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 620px; }
.active-unit-badge { align-items: center; background: var(--orange-soft); border-radius: 16px; color: var(--muted); display: flex; flex: 0 0 auto; font-size: 0.65rem; gap: 9px; line-height: 1.35; padding: 14px 18px; }
.active-unit-badge strong { color: var(--orange-dark); font-size: 0.85rem; }
.active-unit-badge__dot { background: var(--orange); border-radius: 50%; height: 9px; width: 9px; }
.client-menu-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 45px; }
.client-menu-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); min-height: 245px; padding: 27px; position: relative; }
.client-menu-card__icon { align-items: center; background: var(--orange-soft); border-radius: 12px; color: var(--orange-dark); display: flex; font-family: Georgia, serif; font-size: 1.35rem; height: 44px; justify-content: center; margin-bottom: 25px; width: 44px; }
.client-menu-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.6rem; font-weight: 400; margin: 11px 0 9px; }
.client-menu-card p { color: var(--muted); font-size: 0.76rem; line-height: 1.55; margin: 0; }
.client-menu-card__status { bottom: 26px; color: var(--orange-dark); font-size: 0.65rem; font-weight: 700; left: 27px; position: absolute; }
.client-menu-card--link { color: inherit; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease; }
.client-menu-card--link:hover { border-color: var(--orange); transform: translateY(-3px); }
.employees-page { padding: 50px 0 28px; }
.employees-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.employees-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.employees-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 620px; }
.employees-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.employees-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.employees-count span { font-size: 0.67rem; line-height: 1.35; }
.employees-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr); margin-top: 42px; }
.employee-form, .employees-list-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(23px, 3vw, 35px); }
.employee-form-actions { align-items: center; display: flex; gap: 16px; margin-top: 18px; }
.employee-form-actions .button { border: 0; cursor: pointer; flex: 1; }
.employee-form-error { color: var(--orange-dark); font-size: 0.73rem; min-height: 18px; margin: 14px 0 0; }
.employees-list-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 23px; }
.employees-list-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 400; margin: 11px 0 0; }
.employees-list-heading__count { color: var(--orange); font-family: Georgia, serif; font-size: 2rem; }
.employee-list { display: grid; gap: 8px; }
.employee-row { align-items: center; border: 1px solid var(--line); border-radius: 14px; display: flex; gap: 12px; justify-content: space-between; padding: 12px; }
.employee-row__identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.employee-row__avatar { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-size: 1.1rem; height: 36px; justify-content: center; width: 36px; }
.employee-row__identity strong { color: var(--brown); font-size: 0.78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-row__actions { display: flex; flex: 0 0 auto; gap: 4px; }
@media (max-width: 760px) { .employees-page { padding: 36px 0 20px; } .employees-heading { display: block; } .employees-count { display: inline-flex; margin-top: 18px; } .employees-layout { display: flex; flex-direction: column; margin-top: 30px; } .employee-form, .employees-list-card { width: 100%; } }
@media (max-width: 760px) { .client-unit-page { padding: 36px 0 20px; } .client-unit-heading { display: block; } .active-unit-badge { display: inline-flex; margin-top: 18px; } .client-menu-grid { grid-template-columns: 1fr; margin-top: 30px; } .client-menu-card { min-height: 190px; } }
/* Etapa 06 — usuários e primeiro acesso */
.users-page, .password-page { padding: 50px 0 28px; }
.users-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.users-heading h2, .password-card h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.users-heading p:not(.kicker), .password-card > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 620px; }
.users-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.users-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.users-count span { font-size: 0.67rem; line-height: 1.35; }
.users-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.35fr); margin-top: 42px; }
.user-form, .users-list-card, .password-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(23px, 3vw, 35px); }
.unit-select { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 23px; }
.unit-select.is-disabled { opacity: 0.5; }
.unit-select__heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 11px; }
.unit-select__heading small { color: var(--muted); font-size: 0.64rem; }
.unit-option { align-items: flex-start; background: var(--orange-soft); border-radius: 10px; cursor: pointer; display: flex; gap: 9px; margin-top: 6px; padding: 10px; }
.unit-option input { accent-color: var(--orange); margin-top: 3px; }
.unit-option strong, .unit-option small { display: block; }
.unit-option strong { color: var(--brown); font-size: 0.7rem; }
.unit-option small { color: var(--muted); font-size: 0.61rem; line-height: 1.4; margin-top: 3px; }
.unit-select__empty { color: var(--muted); font-size: 0.72rem; line-height: 1.5; }
.user-form > .button { border: 0; cursor: pointer; margin-top: 18px; width: 100%; }
.user-form-error { color: var(--orange-dark); font-size: 0.73rem; min-height: 18px; margin: 14px 0 0; }
.temporary-password { background: var(--orange-soft); border-radius: 12px; color: var(--brown); display: grid; gap: 9px; margin-top: 15px; padding: 14px; }
.temporary-password span { font-size: 0.76rem; }
.temporary-password b { color: var(--orange-dark); font-size: 1.3rem; letter-spacing: 0.12em; }
.temporary-password .button { border: 0; cursor: pointer; font-size: 0.68rem; min-height: 36px; }
.users-list-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 23px; }
.users-list-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 400; margin: 11px 0 0; }
.users-list-heading__count { color: var(--orange); font-family: Georgia, serif; font-size: 2rem; }
.user-list { display: grid; gap: 8px; }
.user-row { align-items: center; border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 12px; grid-template-columns: minmax(150px, 1.1fr) minmax(150px, 1fr) minmax(100px, 0.7fr) auto; padding: 12px; }
.user-row__identity { align-items: center; display: flex; gap: 9px; min-width: 0; }
.user-row__avatar { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-size: 1.1rem; height: 36px; justify-content: center; width: 36px; }
.user-row__identity strong, .user-row__identity small, .user-row__role small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-row__identity strong { color: var(--brown); font-size: 0.73rem; }
.user-row__identity small, .user-row__role small { color: var(--muted); font-size: 0.61rem; margin-top: 4px; }
.role-pill { border-radius: 20px; display: inline-block; font-size: 0.59rem; font-weight: 700; letter-spacing: 0.07em; padding: 5px 8px; }
.role-pill--adm { background: #fbe4dc; color: var(--orange-dark); }
.role-pill--cliente { background: var(--orange-soft); color: var(--orange-dark); }
.role-pill--manah { background: #eee5df; color: var(--brown); }
.user-row__status span { color: var(--muted); font-size: 0.61rem; }
.user-row__actions { display: flex; gap: 4px; }
.user-row__actions .icon-action { position: relative; }
.user-row__actions .icon-action[data-tooltip]::after { background: var(--brown); border-radius: 7px; bottom: calc(100% + 8px); color: var(--white); content: attr(data-tooltip); font-size: 0.62rem; font-weight: 600; left: 50%; opacity: 0; padding: 7px 9px; pointer-events: none; position: absolute; transform: translate(-50%, 4px); transition: opacity 150ms ease, transform 150ms ease; white-space: nowrap; z-index: 5; }
.user-row__actions .icon-action[data-tooltip]::before { border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid var(--brown); bottom: calc(100% + 3px); content: ""; left: 50%; opacity: 0; position: absolute; transform: translate(-50%, 4px); transition: opacity 150ms ease, transform 150ms ease; z-index: 5; }
.user-row__actions .icon-action[data-tooltip]:hover::after, .user-row__actions .icon-action[data-tooltip]:hover::before, .user-row__actions .icon-action[data-tooltip]:focus-visible::after, .user-row__actions .icon-action[data-tooltip]:focus-visible::before { opacity: 1; transform: translate(-50%, 0); }
.icon-action[data-tooltip] { position: relative; }
.icon-action[data-tooltip]::after { background: var(--brown); border-radius: 7px; bottom: calc(100% + 8px); color: var(--white); content: attr(data-tooltip); font-size: 0.62rem; font-weight: 600; left: 50%; opacity: 0; padding: 7px 9px; pointer-events: none; position: absolute; transform: translate(-50%, 4px); transition: opacity 150ms ease, transform 150ms ease; white-space: nowrap; z-index: 5; }
.icon-action[data-tooltip]::before { border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid var(--brown); bottom: calc(100% + 3px); content: ""; left: 50%; opacity: 0; position: absolute; transform: translate(-50%, 4px); transition: opacity 150ms ease, transform 150ms ease; z-index: 5; }
.icon-action[data-tooltip]:hover::after, .icon-action[data-tooltip]:hover::before, .icon-action[data-tooltip]:focus-visible::after, .icon-action[data-tooltip]:focus-visible::before { opacity: 1; transform: translate(-50%, 0); }
.password-card { margin: 60px auto; max-width: 620px; }
.password-card form { margin-top: 28px; }
.password-card .button { border: 0; cursor: pointer; margin-top: 16px; width: 100%; }
@media (max-width: 1050px) { .users-layout { grid-template-columns: minmax(285px, 0.8fr) minmax(0, 1.2fr); } .user-row { grid-template-columns: minmax(140px, 1fr) minmax(120px, 0.8fr) auto; } .user-row__status { display: none; } }
@media (max-width: 760px) { .users-page, .password-page { padding: 36px 0 20px; } .users-heading { display: block; } .users-count { display: inline-flex; margin-top: 18px; } .users-layout { display: flex; flex-direction: column; margin-top: 30px; } .user-form, .users-list-card { width: 100%; } .user-row { grid-template-columns: minmax(0, 1fr) auto; } .user-row__role { display: none; } .password-card { margin: 25px 0; } }

/* Cardápios */
.menus-page { padding: 50px 0 28px; }
.menus-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.menus-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.menus-heading > div:first-child > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 680px; }
.menus-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr); margin-top: 42px; }
.menu-form, .menus-list-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(23px, 3vw, 35px); }
.menu-date-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.menu-unit-select { margin-top: 22px; }
.menu-days-heading { align-items: end; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: 28px; padding-top: 25px; }
.menu-days-heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.7rem; font-weight: 400; margin: 10px 0 0; }
.menu-days-heading > small { color: var(--muted); font-size: 0.68rem; }
.menu-days { display: grid; gap: 15px; margin-top: 18px; }
.menu-days-empty { background: var(--orange-soft); border-radius: 14px; color: var(--muted); font-size: 0.76rem; line-height: 1.5; padding: 18px; }
.menu-day-card { border: 1px solid var(--line); border-radius: 18px; padding: 18px; }
.menu-day-card__heading { align-items: flex-start; display: flex; justify-content: space-between; }
.menu-day-card__heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.4rem; font-weight: 400; margin: 8px 0 4px; }
.menu-day-card__heading strong { color: var(--orange-dark); font-size: 0.75rem; }
.menu-day-card__date { color: #b9a69d; font-size: 0.62rem; }
.menu-options-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.menu-option-group { background: #fffaf7; border-radius: 14px; padding: 14px; }
.menu-option-heading { align-items: center; display: flex; gap: 9px; margin-bottom: 12px; }
.menu-option-heading strong, .menu-option-heading small { display: block; }
.menu-option-heading strong { color: var(--brown); font-size: 0.75rem; }
.menu-option-heading small { color: var(--muted); font-size: 0.61rem; margin-top: 3px; }
.menu-option-mark { align-items: center; background: var(--orange-soft); border-radius: 9px; color: var(--orange-dark); display: inline-flex; font-family: Georgia, serif; font-size: 1.1rem; height: 32px; justify-content: center; width: 32px; }
.menu-option-mark--side { background: #f5eee8; color: var(--brown); }
.menu-choice-list { display: grid; gap: 7px; }
.menu-choice-row { align-items: center; display: flex; gap: 5px; }
.menu-choice-row .field-input { min-width: 0; padding-left: 10px; padding-right: 25px; }
.menu-choice-row .icon-action { flex: 0 0 auto; }
.add-choice-button { background: transparent; border: 0; color: var(--orange-dark); cursor: pointer; font-size: 0.65rem; font-weight: 700; margin-top: 10px; padding: 4px 0; }
.add-choice-button:hover { color: var(--brown); }
.menu-form-error { color: var(--orange-dark); font-size: 0.73rem; min-height: 18px; margin: 16px 0 0; }
.menu-form-actions { align-items: center; display: flex; gap: 16px; margin-top: 4px; }
.menu-form-actions .button { border: 0; cursor: pointer; flex: 1; }
.menu-list { display: grid; gap: 8px; }
.menu-list-row { align-items: center; border: 1px solid var(--line); border-radius: 14px; display: flex; gap: 10px; justify-content: space-between; padding: 12px; }
.menu-list-row__identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.menu-list-row__avatar { align-items: center; background: var(--orange-soft); border-radius: 10px; color: var(--orange-dark); display: inline-flex; flex: 0 0 auto; font-family: Georgia, serif; font-size: 1.2rem; height: 38px; justify-content: center; width: 38px; }
.menu-list-row__identity strong, .menu-list-row__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-list-row__identity strong { color: var(--brown); font-size: 0.78rem; margin-bottom: 4px; }
.menu-list-row__identity small { color: var(--muted); font-size: 0.62rem; margin-top: 2px; }
.menu-list-row__actions { display: flex; gap: 3px; }
@media (max-width: 1050px) { .menus-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .menus-page { padding: 36px 0 20px; } .menus-heading { display: block; } .menus-heading .dishes-count { display: inline-flex; margin-top: 18px; } .menu-date-grid, .menu-options-grid { grid-template-columns: 1fr; } .menu-days-heading { align-items: flex-start; display: block; } .menu-days-heading > small { display: block; margin-top: 8px; } .menu-form-actions { align-items: stretch; flex-direction: column; } .menu-form-actions .button { width: 100%; } .menu-list-row { align-items: flex-start; flex-wrap: wrap; } .menu-list-row__actions { margin-left: auto; width: 100%; justify-content: flex-end; } }

/* Etapa 14 — cardápio atual e pedidos do cliente */
.client-cardapio-page, .order-page { padding: 50px 0 28px; }
.client-cardapio-heading, .order-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.client-cardapio-heading h2, .order-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 18px; }
.client-cardapio-heading p:not(.kicker), .order-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 680px; }
.client-cardapio-heading .button { border: 0; cursor: pointer; flex: 0 0 auto; }
.client-menu-document { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); margin-top: 38px; padding: clamp(22px, 3vw, 36px); }
.client-menu-document__header { align-items: flex-start; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 22px; }
.client-menu-document__header h3 { color: var(--brown); font-family: Georgia, serif; font-size: 2rem; font-weight: 400; margin: 10px 0 5px; }
.client-menu-document__header p { color: var(--muted); font-size: .75rem; margin: 0; }
.client-menu-document__badge { background: #eaf7ee; border-radius: 999px; color: #37804d; font-size: .65rem; font-weight: 700; padding: 7px 10px; }
.client-menu-document__days { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 22px; }
.client-menu-document__days article { background: #fffaf7; border-radius: 14px; padding: 15px; }
.client-menu-document__days article > strong, .client-menu-document__days article > span { display: block; }
.client-menu-document__days article > strong { color: var(--orange-dark); font-family: Georgia, serif; font-size: 1.08rem; }
.client-menu-document__days article > span { color: var(--muted); font-size: .65rem; margin: 3px 0 12px; }
.client-menu-document__days article div { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 8px; }
.client-menu-document__days b, .client-menu-document__days em { display: block; }
.client-menu-document__days b { color: var(--brown); font-size: .62rem; margin-bottom: 4px; text-transform: uppercase; }
.client-menu-document__days em { color: var(--muted); font-size: .72rem; font-style: normal; line-height: 1.45; }
.order-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.order-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.order-count span { font-size: .67rem; line-height: 1.35; }
.order-form { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); margin-top: 38px; padding: clamp(22px, 3vw, 35px); }
.order-filters { display: grid; gap: 14px; grid-template-columns: minmax(220px, .75fr) minmax(220px, .6fr); max-width: 690px; }
.order-table-wrap { border: 1px solid var(--line); border-radius: 15px; margin-top: 26px; overflow-x: auto; }
.order-table { border-collapse: collapse; min-width: 980px; width: 100%; }
.order-table th { background: var(--orange-soft); color: var(--brown); font-size: .65rem; letter-spacing: .04em; padding: 12px 10px; text-align: left; white-space: nowrap; }
.order-table td { border-top: 1px solid var(--line); padding: 9px 8px; vertical-align: middle; }
.order-table td:nth-child(1) { min-width: 210px; }
.order-table td:nth-child(2), .order-table td:nth-child(3) { min-width: 190px; }
.order-table td:nth-child(4) { min-width: 135px; }
.order-table td:nth-child(5) { min-width: 190px; }
.order-table .field-input { min-height: 42px; padding-left: 10px; padding-right: 8px; }
.order-table .icon-action { background: transparent; }
.add-order-row { background: transparent; border: 0; color: var(--orange-dark); cursor: pointer; font-size: .72rem; font-weight: 700; margin-top: 15px; padding: 5px 0; }
.add-order-row:hover { color: var(--brown); }
.order-form-error { color: var(--orange-dark); font-size: .74rem; line-height: 1.4; min-height: 19px; margin: 14px 0 0; }
.order-submit-row { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 20px; justify-content: space-between; margin-top: 12px; padding-top: 18px; }
.order-submit-row span { color: var(--muted); font-size: .66rem; line-height: 1.45; }
.order-submit-row .button { border: 0; cursor: pointer; flex: 0 0 auto; }
@media (max-width: 760px) { .client-cardapio-page, .order-page { padding: 36px 0 20px; } .client-cardapio-heading, .order-heading { display: block; } .client-cardapio-heading .button { margin-top: 18px; } .client-menu-document__days { grid-template-columns: 1fr; } .client-menu-document__badge { display: inline-flex; margin-top: 14px; } .order-count { display: inline-flex; margin-top: 18px; } .order-filters { grid-template-columns: 1fr; } .order-submit-row { align-items: stretch; flex-direction: column; } .order-submit-row .button { width: 100%; } }

/* Etapa 15 — conferência e envio de pedidos */
.orders-page { padding: 50px 0 28px; }
.orders-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.orders-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: .98; margin: 0 0 18px; }
.orders-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 680px; }
.orders-count { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 12px; padding: 16px 20px; }
.orders-count strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 400; }
.orders-count span { font-size: .67rem; line-height: 1.35; }
.orders-list { display: grid; gap: 12px; margin-top: 40px; max-width: 980px; }
.order-list-card { align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 18px; display: flex; gap: 20px; justify-content: space-between; padding: 18px 20px; }
.order-list-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.3rem; font-weight: 400; margin: 8px 0 5px; }
.order-list-card p, .order-list-card small { color: var(--muted); display: block; font-size: .7rem; margin: 0; }
.order-list-card small { font-size: .62rem; margin-top: 6px; }
.order-list-card__actions { align-items: center; display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.order-list-card__actions .button { border: 1px solid var(--brown); cursor: pointer; text-decoration: none; }
.order-list-card__actions .button--solid { border-color: var(--orange); }
.order-sent-label { color: #37804d; font-size: .65rem; font-weight: 700; }
@media (max-width: 760px) { .orders-page { padding: 36px 0 20px; } .orders-heading { display: block; } .orders-count { display: inline-flex; margin-top: 18px; } .order-list-card { align-items: flex-start; flex-direction: column; } .order-list-card__actions { justify-content: flex-start; width: 100%; } }
@media (min-width: 1000px) { .client-menu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.production-orders-page { padding: 50px 0 28px; }
.production-orders-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.production-orders-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -.06em; line-height: .98; margin: 0 0 18px; }
.production-orders-heading p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 680px; }
.production-orders-list { display: grid; gap: 15px; margin-top: 40px; }
.production-order-card { background: var(--white); border: 1px solid var(--line); border-radius: 20px; padding: 20px; }
.production-order-card__heading { align-items: flex-start; display: flex; justify-content: space-between; }
.production-order-card__heading h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; margin: 8px 0 5px; }
.production-order-card__heading p, .production-order-card__heading > strong { color: var(--muted); font-size: .7rem; margin: 0; }
.production-order-card__heading > strong { color: var(--orange-dark); font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.production-order-items { border: 1px solid var(--line); border-radius: 13px; margin-top: 18px; overflow-x: auto; }
.production-order-items__head, .production-order-item { display: grid; gap: 10px; grid-template-columns: 1.2fr 1.2fr 1.2fr .35fr .9fr; min-width: 700px; padding: 9px 12px; }
.production-order-items__head { background: var(--orange-soft); color: var(--brown); font-size: .62rem; font-weight: 700; }
.production-order-item { border-top: 1px solid var(--line); color: var(--muted); font-size: .68rem; }
.production-order-item b { color: var(--orange-dark); }
.production-order-card__meta { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .62rem; gap: 14px; justify-content: space-between; margin-top: 15px; }
.production-order-card__meta .button { background: transparent; border: 1px solid var(--brown); cursor: pointer; }
@media (max-width: 760px) { .production-orders-page { padding: 36px 0 20px; } .production-orders-heading { display: block; } .production-orders-heading .dishes-count { display: inline-flex; margin-top: 18px; } .production-order-card__heading { display: block; } .production-order-card__heading > strong { display: block; margin-top: 12px; } .production-order-card__meta { align-items: flex-start; flex-direction: column; } }

/* Etapa 19 — contraste e padrão dos botões */
.order-list-card__actions [data-print-order],
.production-order-card__meta [data-print-order] { background: var(--brown); border-color: var(--brown); color: #fff; }
.order-list-card__actions [data-print-order]:hover,
.order-list-card__actions [data-print-order]:focus-visible,
.production-order-card__meta [data-print-order]:hover,
.production-order-card__meta [data-print-order]:focus-visible { background: #3d2118; border-color: #3d2118; color: #fff; }
.order-list-card__actions [data-print-labels],
.production-order-card__meta [data-print-labels] { background: var(--orange); border-color: var(--orange); color: #fff; }
.order-list-card__actions [data-print-labels]:hover,
.order-list-card__actions [data-print-labels]:focus-visible,
.production-order-card__meta [data-print-labels]:hover,
.production-order-card__meta [data-print-labels]:focus-visible { background: var(--orange-dark); border-color: var(--orange-dark); color: #fff; }
.order-list-card__actions .button--solid:hover,
.order-list-card__actions .button--solid:focus-visible { color: #fff; }

/* Etapa 20 — composição visual do portal MANAH */
@media (min-width: 901px) {
  .manah-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
  .manah-menu-card { min-height: 220px; padding: 23px; }
  .manah-menu-card__icon { margin-bottom: 18px; }
  .manah-menu-card h3 { font-size: 1.45rem; }
  .manah-menu-card__status { bottom: 22px; left: 23px; }
}
.production-order-card__meta { justify-content: flex-start; gap: 8px; }
.production-order-card__meta > span:first-child { margin-right: auto; }
@media (max-width: 760px) {
  .production-order-card__meta > span:first-child { margin-right: 0; }
}

/* Etapa 21 — separar metadados dos botões de pedidos */
.production-order-card__meta > span:first-child { margin-right: 0; }
.production-order-card__meta > span:nth-child(2) { margin-right: auto; }
@media (max-width: 760px) {
  .production-order-card__meta > span:nth-child(2) { margin-right: 0; }
}

/* Perfil Financeiro */
.finance-page { padding: 50px 0 28px; }
.finance-heading { align-items: flex-start; display: flex; gap: 28px; justify-content: space-between; }
.finance-heading h2 { color: var(--brown); font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5rem); font-weight: 400; letter-spacing: -0.06em; line-height: .98; margin: 0 0 18px; }
.finance-heading > div:first-child > p:not(.kicker) { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 650px; }
.finance-badge { align-items: center; background: var(--orange-soft); border-radius: 18px; color: var(--orange-dark); display: flex; flex: 0 0 auto; gap: 10px; padding: 14px 18px; }
.finance-badge strong { color: var(--brown); font-size: .74rem; letter-spacing: .08em; }
.finance-menu-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 45px; }
.finance-menu-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); min-height: 225px; padding: 23px; position: relative; }
.finance-menu-card__icon { align-items: center; background: var(--orange-soft); border-radius: 12px; color: var(--orange-dark); display: flex; font-family: Georgia, serif; font-size: 1.25rem; height: 44px; justify-content: center; margin-bottom: 18px; width: 44px; }
.finance-menu-card h3 { color: var(--brown); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; margin: 11px 0 9px; }
.finance-menu-card p { color: var(--muted); font-size: .78rem; line-height: 1.55; margin: 0; }
.finance-menu-card__status { bottom: 22px; color: var(--orange-dark); font-size: .65rem; font-weight: 700; left: 23px; position: absolute; }
.finance-note { margin-top: 24px; }
.finance-logout { margin-top: 20px; }
@media (max-width: 900px) { .finance-menu-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .finance-page { padding: 36px 0 20px; } .finance-heading { display: block; } .finance-badge { display: inline-flex; margin-top: 18px; } }

/* Versão 24 — regras de fechamento e conferência financeira */
.billing-rule-block { margin-top: 1rem; padding: 1rem; border: 1px solid rgba(91, 53, 37, .12); border-radius: 16px; background: #fffaf6; }
.billing-rule-block[hidden] { display: none; }
.field-help { margin: .35rem 0 .8rem; color: #7c6a60; font-size: .82rem; line-height: 1.5; }
.finance-menu-card--link { display: block; color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.finance-menu-card--link:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(91, 53, 37, .12); }
.finance-closing-layout { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); gap: 1.25rem; align-items: start; }
.finance-closing-form, .finance-summary { padding: 1.5rem; border: 1px solid rgba(91, 53, 37, .1); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(91, 53, 37, .06); }
.finance-summary__heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.finance-summary__heading h3 { margin: .45rem 0 .25rem; color: #5b3525; font-size: 1.45rem; }
.finance-summary__heading p { margin: 0; color: #7c6a60; font-size: .88rem; }
.finance-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 1.25rem 0; }
.finance-totals article { padding: 1rem; border-radius: 16px; background: #fff4ed; }
.finance-totals span { display: block; color: #8c6b5a; font-size: .75rem; }
.finance-totals strong { display: block; margin-top: .35rem; color: #5b3525; font-size: 1.25rem; }
.finance-daily-list { margin: 1rem 0 1.25rem; border-top: 1px solid rgba(91, 53, 37, .12); }
.finance-daily-list__head, .finance-daily-row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(91, 53, 37, .08); }
.finance-daily-list__head { color: #9b5d43; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.finance-daily-row span { color: #6e5b50; font-size: .88rem; }
.finance-daily-row strong { color: #5b3525; }
.finance-form-error { min-height: 1.25rem; color: #b33f2d; font-size: .82rem; }
.finance-empty { min-height: 230px; display: grid; place-content: center; text-align: center; }
@media (max-width: 820px) { .finance-closing-layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .finance-totals { grid-template-columns: 1fr; } .finance-summary__heading { flex-direction: column; } }

/* Versão 25 — identidade amigável e listas sem identificadores técnicos */
.menu-list-row__identity { flex: 1 1 auto; min-width: 0; }
.menu-list-row__units { max-width: 100%; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; line-height: 1.45; }
.menu-list-row__actions { flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 900px) { .menu-list-row { align-items: flex-start; flex-wrap: wrap; } .menu-list-row__actions { margin-left: auto; width: 100%; } }

/* Versão 27 — histórico e impressão de fechamentos financeiros */
.finance-history { margin-top: 1.25rem; padding: 1.5rem; border: 1px solid rgba(91, 53, 37, .1); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(91, 53, 37, .06); }
.finance-history__heading { align-items: center; display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.finance-history__heading h3 { color: #5b3525; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; margin: .45rem 0 0; }
.finance-history__heading > strong { color: #e9522d; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.finance-history__list { display: grid; gap: .75rem; }
.finance-history-row { align-items: center; border: 1px solid rgba(91, 53, 37, .1); border-radius: 16px; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.finance-history-row h4 { color: #5b3525; font-size: .9rem; letter-spacing: .04em; margin: .45rem 0 .25rem; }
.finance-history-row p, .finance-history-row small { color: #7c6a60; display: block; font-size: .78rem; margin: 0; }
.finance-history-row small { margin-top: .35rem; }
.finance-history-row .button { flex: 0 0 auto; }
@media (max-width: 620px) { .finance-history-row { align-items: flex-start; flex-direction: column; } .finance-history-row .button { width: 100%; } }
.finance-history-row__actions { align-items: center; display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .5rem; }
@media (max-width: 620px) { .finance-history-row__actions { width: 100%; } .finance-history-row__actions .button { flex: 1 1 9rem; } }
