/* ═══════════════════════════════════════
   BURGEROS — Mobile-First PWA Layout
   Arquitetura: App Shell fixo + scroll interno
═══════════════════════════════════════ */

/* 1. Reset absoluto */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

/* 2. Bloquear scroll horizontal no nível raiz */
html {
  overflow-x: clip;
  overflow-y: auto;
  width: 100%;
  height: 100%;
}
body {
  overflow-x: clip;
  overflow-y: auto;
  width: 100%;
  min-height: 100%;
  min-height: 100dvh;
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

/* 3. Variables — Dark (padrão) */
:root {
  --bg: #020817;
  --surface: #060B18;
  --surface2: #0B1220;
  --surface3: #111827;
  --border: #1E293B;
  --border2: #2D3A4F;
  --amber: #FF4F24;
  --amber-dim: rgba(255,79,36,.15);
  --amber-hover: #d94f42;
  --amber-light: #ff6b5e;
  --green: #3ecf6e;
  --green-dim: rgba(62,207,110,.12);
  --red: #e85050;
  --red-dim: rgba(232,80,80,.12);
  --blue: #8aacf0;
  --text: #FFFFFF;
  --text-muted: #8A8F98;
  --text-dim: #2D3A4F;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --shadow: 0 4px 24px rgba(0,0,0,.6);
  --font: 'Inter', sans-serif;
  --font-brand: 'Poppins', sans-serif;
}

/* Light theme */
[data-theme="light"] {
  --bg: #F5F5F5;
  --surface: #FFFFFF;
  --surface2: #F5F5F5;
  --surface3: #EBEBEB;
  --border: #E2E8F0;
  --border2: #CBD5E1;
  --amber: #FF4F24;
  --amber-dim: rgba(255,79,36,.08);
  --amber-hover: #d94f42;
  --amber-light: #ff6b5e;
  --green: #1a8a45;
  --green-dim: rgba(26,138,69,.1);
  --red: #c02828;
  --red-dim: rgba(192,40,40,.1);
  --blue: #2a5db0;
  --text: #020817;
  --text-muted: #8A8F98;
  --text-dim: #CBD5E1;
  --shadow: 0 2px 16px rgba(0,0,0,.08);
}

body { font-family: var(--font); }

/* Force background on html and body for light theme */
[data-theme="light"] html,
[data-theme="light"] body {
  background: var(--bg) !important;
}

/* All surfaces respect the theme */
[data-theme="light"] .header,
[data-theme="light"] .section,
[data-theme="light"] .fin-item,
[data-theme="light"] .fin-card,
[data-theme="light"] .fin-panel,
[data-theme="light"] .modal,
[data-theme="light"] .tarefa-panel,
[data-theme="light"] .cl-editor-panel,
[data-theme="light"] #loginScreen,
[data-theme="light"] .login-card,
[data-theme="light"] #bottomNav,
[data-theme="light"] .card-thumb,
[data-theme="light"] .compra-item,
[data-theme="light"] .evento-card,
[data-theme="light"] .inicio-stat,
[data-theme="light"] .cl-prog,
[data-theme="light"] .ti-item {
  background: var(--surface);
  border-color: var(--border);
}

[data-theme="light"] .section-header:hover,
[data-theme="light"] .item:hover,
[data-theme="light"] .fin-item:hover {
  background: var(--surface2);
}

/* Login screen light */
[data-theme="light"] #loginScreen {
  background: var(--bg);
}
[data-theme="light"] .login-logo {
  color: var(--amber);
}

/* Smooth theme transition on body */
body, .header, .section, .item, .fin-item, #loginScreen, #bottomNav {
  transition: background-color .25s ease, border-color .2s ease, color .2s ease;
}

body {
  background: var(--bg);
  color: var(--text);
  padding-bottom: calc(64px + env(safe-area-inset-bottom));
}

/* 4. Tudo dentro do body não pode vazar */
body > * {
  max-width: 100vw;
  overflow-x: hidden;
}

/* ── LOGIN ── */
#loginScreen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
  overflow-x: hidden;
}
#loginScreen.hidden { display: none; }
.login-wrap { width: 100%; max-width: 400px; margin: auto; }
.login-screen { display: none; flex-direction: column; gap: 20px; }
.login-screen.active { display: flex; }
.login-hero { text-align: center; padding: 16px 0 8px; }
.login-logo { font-family: 'Poppins', sans-serif; font-size: 38px; font-weight: 800; letter-spacing: -1.5px; color: #FFFFFF; line-height: 1; }
.login-tagline { font-size: 13px; color: #FFFFFF; margin-top: 6px; font-family: 'Poppins', sans-serif; font-weight: 400; line-height: 1.5; }
.login-tagline span { color: #FF4F24; font-weight: 600; }
.login-card { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; overflow: hidden; }
.login-card-header { background: var(--surface2); padding: 16px 20px 14px; border-bottom: 1px solid var(--border); }
.login-card-title { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: -0.3px; color: var(--text); }
.login-card-sub { font-size: 12px; color: var(--text-muted); margin-top: 3px; font-family: 'Inter', sans-serif; }
.login-card-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.login-entry-btn { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: var(--surface2); border: 1px solid var(--border); border-radius: 14px; cursor: pointer; transition: all .15s; width: 100%; text-align: left; }
.login-entry-btn:hover { border-color: var(--amber); background: var(--amber-dim); }
.login-entry-icon { font-size: 24px; flex-shrink: 0; width: 42px; height: 42px; background: var(--surface3); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.login-entry-title { font-size: 15px; font-weight: 700; color: var(--text); font-family: 'Poppins', sans-serif; }
.login-entry-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; font-family: 'Inter', sans-serif; }
.login-entry-arrow { margin-left: auto; color: var(--text-muted); font-size: 20px; flex-shrink: 0; }
.btn-google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 12px 16px; background: #fff; border: 1.5px solid #dadce0; border-radius: 10px; cursor: pointer; font-size: 14px; font-weight: 500; color: #3c4043; font-family: 'DM Sans', sans-serif; }
.login-divider { display: flex; align-items: center; gap: 10px; color: var(--text-dim); font-size: 11px; }
.login-divider::before, .login-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.profile-grid { display: flex; flex-direction: column; gap: 7px; }
.profile-btn { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--surface2); border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all .15s; text-align: left; width: 100%; min-height: 52px; }
.profile-btn:hover, .profile-btn.selected { border-color: var(--amber); background: var(--amber-dim); }
.profile-btn.selected .profile-role { color: var(--amber); }
.profile-icon { font-size: 22px; flex-shrink: 0; }
.profile-info { flex: 1; min-width: 0; }
.profile-role { font-size: 13px; font-weight: 600; color: var(--text); }
.profile-desc { font-size: 11px; color: var(--text-muted); margin-top: 1px; }
.profile-check { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--border); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 10px; }
.profile-btn.selected .profile-check { background: var(--amber); border-color: var(--amber); color: #111; }
.login-pass-wrap { display: none; flex-direction: column; gap: 6px; }
.login-pass-wrap.show { display: flex; }
.login-input { background: var(--surface2); border: 1.5px solid var(--border); border-radius: 12px; padding: 14px 16px; font-size: 15px; color: var(--text); font-family: 'Inter', sans-serif; width: 100%; outline: none; transition: border-color .15s; }
.login-input:focus { border-color: var(--amber); }
.login-input::placeholder { color: var(--text-dim); }
.login-error { font-size: 12px; color: var(--red); display: none; }
.login-error.show { display: block; }
.btn-login { background: #FF4F24; border: none; color: #ffffff; padding: 15px; border-radius: 14px; font-size: 15px; font-weight: 700; font-family: 'Poppins', sans-serif; cursor: pointer; width: 100%; letter-spacing: -0.2px; transition: background .15s; }
.btn-login:hover { background: #d94f42; }
.btn-login-sec { background: none; border: 1.5px solid var(--border); color: var(--text-muted); padding: 13px; border-radius: 12px; font-size: 13px; font-family: 'Poppins', sans-serif; cursor: pointer; width: 100%; }
.login-back { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-muted); cursor: pointer; width: fit-content; }
.login-back:hover { color: var(--amber); }
.google-chip { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--surface2); border: 1px solid var(--border); border-radius: 10px; }
.google-chip-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--amber-dim); border: 1.5px solid var(--amber); display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: var(--amber); flex-shrink: 0; }
.google-chip-name { font-size: 13px; font-weight: 500; color: var(--text); }
.google-chip-email { font-size: 11px; color: var(--text-muted); }
.google-chip-change { margin-left: auto; font-size: 11px; color: var(--amber); cursor: pointer; flex-shrink: 0; }

/* ── HEADER (sticky, never causes overflow) ── */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  width: 100%;
  /* Critical: contain layout */
  contain: layout;
}
.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.header h1 { font-family: 'Poppins', sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.5px; color: var(--text); line-height: 1; flex-shrink: 0; }
.header p { font-size: 10px; color: var(--text-dim); margin-top: 1px; }
.date-badge { background: var(--surface2); border: 1px solid var(--border); border-radius: 6px; padding: 4px 8px; font-size: 11px; color: var(--text-muted); white-space: nowrap; flex-shrink: 0; }
.date-badge span { color: var(--text); font-weight: 500; }

.user-badge { display: flex; align-items: center; gap: 6px; background: var(--surface2); border: 1px solid var(--border); border-radius: 99px; padding: 4px 8px 4px 5px; cursor: pointer; flex-shrink: 0; }
.user-badge:hover { border-color: var(--amber); }
.user-badge-avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--amber); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #ffffff; flex-shrink: 0; font-family: 'Inter', sans-serif; }
.user-badge-name { font-size: 11px; font-weight: 600; color: var(--text); }
.user-badge-role { display: none; }
.user-badge-arrow { font-size: 9px; color: var(--text-dim); }

/* ── TABS (scrollable internally, not the page) ── */
#tabsContainer {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  border-bottom: 1px solid var(--border);
  width: 100%;
  /* Contain: tab scroll doesn't affect page */
  -webkit-overflow-scrolling: touch;
}
#tabsContainer::-webkit-scrollbar { display: none; }
.tab {
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  color: var(--text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  user-select: none;
  white-space: nowrap;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: -1px;
}
.tab:hover { color: var(--text); }
.tab.active { color: var(--amber); border-bottom-color: var(--amber); }

/* ── SIDEBAR LATERAL ── */
#appSidebar {
  display: none;
  position: fixed;
  left: 0; top: 0; bottom: 0;
  width: 220px;
  background: var(--surface);
  border-right: 1px solid var(--border);
  flex-direction: column;
  z-index: 200;
  transition: transform .25s ease;
}
#appSidebar.visible { display: flex; }

.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 16px 16px;
  border-bottom: 1px solid var(--border);
}
.sidebar-logo-text {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: var(--text);
}

.sidebar-nav {
  flex: 1;
  overflow-y: auto;
  padding: 10px 8px 18px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sidebar-section-label {
  padding: 14px 12px 6px;
  color: var(--text-muted);
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .9px;
  text-transform: uppercase;
}
.sidebar-section-label:first-child { padding-top: 4px; }
.sidebar-section-label + .sidebar-item { margin-top: 0; }
.sidebar-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: all .15s;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
}
.sidebar-item:hover { background: var(--surface2); color: var(--text); }
.sidebar-item.active {
  background: rgba(255,79,36,.12);
  color: #FF4F24;
  font-weight: 600;
}
.sidebar-item .si-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  background: var(--surface3);
  transition: background .15s;
}
.sidebar-item.active .si-icon { background: rgba(255,79,36,.15); }
.sidebar-badge {
  margin-left: auto;
  background: var(--red);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 99px;
  flex-shrink: 0;
}

.sidebar-footer {
  padding: 12px 8px 16px;
  border-top: 1px solid var(--border);
}
.sidebar-plan {
  background: var(--surface2);
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 8px;
}
.sidebar-plan-label { font-size: 11px; color: var(--text-muted); font-family: 'Inter', sans-serif; }
.sidebar-plan-name { font-size: 14px; font-weight: 700; color: #FF4F24; font-family: 'Poppins', sans-serif; margin: 2px 0 6px; }
.sidebar-plan-date { font-size: 11px; color: var(--text-muted); font-family: 'Inter', sans-serif; }
.sidebar-plan-btn {
  width: 100%; padding: 8px; border-radius: 8px;
  background: none; border: 1.5px solid #FF4F24;
  color: #FF4F24; font-size: 12px; font-weight: 600;
  font-family: 'Poppins', sans-serif; cursor: pointer;
  transition: all .15s; margin-top: 8px;
}
.sidebar-plan-btn:hover { background: rgba(255,79,36,.1); }

.sidebar-group { display: flex; flex-direction: column; }
.sidebar-group-header { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; cursor: pointer; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; color: var(--text-muted); transition: all .15s; }
.sidebar-group-header:hover { background: var(--surface2); color: var(--text); }
.sidebar-group-header.active { color: #FF4F24; font-weight: 600; }
.sidebar-sub { display: flex; flex-direction: column; gap: 2px; padding-left: 20px; overflow: hidden; transition: max-height .25s ease; max-height: 200px; }
.sidebar-sub.collapsed { max-height: 0; }
.sidebar-sub-item { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 8px; cursor: pointer; border: none; background: none; width: 100%; text-align: left; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; color: var(--text-muted); transition: all .15s; }
.sidebar-sub-item:hover { background: var(--surface2); color: var(--text); }
.sidebar-sub-item.active { background: rgba(255,79,36,.12); color: #FF4F24; font-weight: 600; }

/* App layout with sidebar */
@media (min-width: 768px) {
  #appSidebar.visible { display: flex; }
  #appWrapper.with-sidebar {
    margin-left: 220px;
  }
  #bottomNav { display: none !important; }
  .header { margin-left: 0; }
}

@media (max-width: 767px) {
  #appSidebar { display: none !important; }
  #appWrapper.with-sidebar { margin-left: 0 !important; }
}

/* Header becomes top bar when sidebar exists */
@media (min-width: 768px) {
  .header { padding: 0 16px; }
  .header-top { padding: 12px 0; }
}
#appWrapper { transition: margin-left .25s ease; }
/* ═══ CHECKLIST REFATORADO ═══ */
.cl-progress-bar { background: var(--surface); border-bottom: 1px solid var(--border); padding: 12px 20px; display: none; }
.cl-progress-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.cl-progress-title { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; color: var(--text); }
.cl-progress-count { font-size: 13px; font-weight: 700; color: var(--amber); font-family: 'Poppins', sans-serif; }
.cl-progress-track { height: 6px; background: var(--border); border-radius: 99px; overflow: hidden; }
.cl-progress-fill { height: 100%; background: linear-gradient(90deg, #FF4F24, #f59e0b); border-radius: 99px; transition: width .4s ease; }
.cl-done-banner { display: none; margin: 16px 20px; background: rgba(62,207,110,.12); border: 1px solid var(--green); border-radius: 12px; padding: 14px 16px; align-items: center; gap: 10px; }
.cl-done-banner.show { display: flex; }
/* Seções */
.cl-section { margin: 12px 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.cl-section-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; background: var(--surface2); user-select: none; }
.cl-section-icon { font-size: 20px; flex-shrink: 0; }
.cl-section-title { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; color: var(--text); flex: 1; }
.cl-section-badge { font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 99px; background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); }
.cl-section-badge.done { background: rgba(62,207,110,.15); border-color: var(--green); color: var(--green); }
.cl-section-progress { height: 3px; background: var(--border); }
.cl-section-progress-fill { height: 100%; background: #FF4F24; transition: width .3s; }
/* Itens */
.cl-item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-bottom: 1px solid var(--border); transition: background .1s; }
.cl-item:last-child { border-bottom: none; }
.cl-item.done { background: rgba(62,207,110,.04); }
.cl-item.done .cl-item-text { color: var(--text-muted); text-decoration: line-through; opacity: .6; }
.cl-item-check { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; transition: all .15s; background: var(--surface2); }
.cl-item-check.done { background: var(--green); border-color: var(--green); }
.cl-item-check.done svg { opacity: 1; }
.cl-item-check svg { opacity: 0; }
.cl-item-body { flex: 1; min-width: 0; }
.cl-item-text { font-size: 14px; color: var(--text); line-height: 1.4; }
.cl-item-meta { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.cl-item-tag { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.cl-item-by { font-size: 10px; color: var(--green); font-weight: 600; }
.cl-item-time { font-size: 10px; color: var(--text-muted); }
.cl-item-foto-req { font-size: 11px; color: var(--amber); }
/* Botão editar */
.cl-edit-fab { position: fixed; bottom: 80px; right: 16px; background: #FF4F24; border: none; color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 18px; cursor: pointer; display: none; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(255,79,36,.4); z-index: 100; transition: transform .15s; }
.cl-edit-fab.visible { display: flex; }
.cl-edit-fab:hover { transform: scale(1.08); }
/* Editor */
.cl-editor-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 4000; align-items: flex-end; justify-content: center; }
.cl-editor-overlay.open { display: flex; }
.cl-editor-panel { background: var(--surface); border-radius: 20px 20px 0 0; width: 100%; max-width: 600px; height: 92vh; overflow: hidden; display: flex; flex-direction: column; }
.cl-editor-head { flex-shrink: 0; padding: 14px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; background: var(--surface2); }
.cl-editor-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 0 0 8px; }
.cl-editor-foot { flex-shrink: 0; padding: 12px 18px; border-top: 1px solid var(--border); display: flex; gap: 8px; justify-content: flex-end; background: var(--surface); }
.cl-sec-edit { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; margin: 10px 14px; overflow: hidden; }
.cl-sec-edit-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: var(--surface2); border-bottom: 1px solid var(--border); cursor: pointer; }
.cl-sec-edit-icon { width: 34px; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 4px; text-align: center; font-size: 16px; font-family: 'Inter', sans-serif; }
.cl-sec-edit-title { flex: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 6px 8px; font-size: 13px; font-weight: 600; color: var(--text); font-family: 'Inter', sans-serif; }
.cl-item-edit-row { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.cl-item-edit-text { flex: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 7px 10px; font-size: 13px; color: var(--text); font-family: 'Inter', sans-serif; }
.cl-item-edit-del { background: none; border: none; color: var(--red); font-size: 18px; cursor: pointer; flex-shrink: 0; padding: 0 4px; line-height: 1; }
.cl-add-item-btn { display: flex; align-items: center; gap: 6px; margin: 8px 12px; padding: 8px 12px; background: none; border: 1px dashed var(--border); border-radius: 8px; color: var(--amber); font-size: 12px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; width: calc(100% - 24px); }
.cl-add-section-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 10px 14px; padding: 12px; background: none; border: 1px dashed var(--border); border-radius: 10px; color: var(--amber); font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; width: calc(100% - 28px); }
.cl-del-sec-btn { background: none; border: none; color: var(--red); font-size: 16px; cursor: pointer; padding: 0 4px; flex-shrink: 0; }
/* Camera overlay */
.cl-camera-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 6000; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.cl-camera-overlay.open { display: flex; }
.progress-wrap { display: none; }
.progress-track { flex: 1; height: 3px; background: var(--surface3); border-radius: 99px; overflow: hidden; min-width: 0; }
.progress-fill { height: 100%; background: var(--amber); border-radius: 99px; width: 0; transition: width .4s cubic-bezier(.4,0,.2,1); }
.progress-fill.done { background: var(--green); }
.progress-text { font-size: 11px; color: var(--text-muted); white-space: nowrap; flex-shrink: 0; }
.progress-text strong { color: var(--text); }

/* ── DONE BANNER ── */
.done-banner { display: none; margin: 10px 16px 0; background: var(--green-dim); border: 1px solid var(--green); border-radius: 8px; padding: 10px 14px; align-items: center; gap: 8px; color: var(--green); font-size: 13px; font-weight: 500; }
.done-banner.show { display: flex; }

/* ── CHECKLIST SECTIONS ── */
.sections { padding: 12px 16px 0; display: flex; flex-direction: column; gap: 8px; width: 100%; }
.section { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; width: 100%; }
.section-header { display: flex; align-items: center; gap: 10px; padding: 13px 14px; cursor: pointer; user-select: none; transition: background .1s; min-height: 52px; }
.section-header:hover { background: var(--surface2); }
.section-icon { width: 30px; height: 30px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.section-title { font-size: 14px; font-weight: 600; color: var(--text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.section-count { font-size: 10px; font-weight: 600; color: var(--text-muted); background: var(--surface2); border: 1px solid var(--border); border-radius: 99px; padding: 2px 8px; flex-shrink: 0; white-space: nowrap; }
.section-count.all-done { background: var(--green-dim); border-color: var(--green); color: var(--green); }
.section-chevron { color: var(--text-dim); font-size: 10px; transition: transform .2s; flex-shrink: 0; }
.section.open .section-chevron { transform: rotate(180deg); }
.section-body { display: none; border-top: 1px solid var(--border); }
.section.open .section-body { display: block; }

/* ── ITEMS ── */
.item { display: flex; align-items: center; gap: 12px; padding: 13px 14px; cursor: pointer; transition: background .08s; border-bottom: 1px solid var(--border); min-height: 50px; width: 100%; }
.item:last-child { border-bottom: none; }
.item:hover { background: var(--surface2); }
.item:active { background: var(--surface3); }
.item-checkbox { width: 22px; height: 22px; border: 1.5px solid var(--border2); border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.item.checked .item-checkbox { background: var(--green); border-color: var(--green); }
.item-checkbox svg { opacity: 0; transition: opacity .15s; }
.item.checked .item-checkbox svg { opacity: 1; }
.item-text { font-size: 14px; color: var(--text); flex: 1; min-width: 0; line-height: 1.45; }
.item.checked .item-text { color: var(--text-muted); text-decoration: line-through; text-decoration-color: var(--text-dim); }
.item-tag { font-size: 10px; padding: 2px 7px; border-radius: 4px; font-weight: 600; flex-shrink: 0; white-space: nowrap; }
.tag-obrig { background: var(--amber-dim); color: var(--amber); }
.tag-higiene { background: var(--green-dim); color: var(--green); }
.tag-equip { background: rgba(138,172,240,.12); color: var(--blue); }

/* ── BUTTONS ── */
.footer-actions { padding: 12px 16px 0; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.btn-sec { background: none; border: 1px solid var(--border); color: var(--text-muted); padding: 8px 14px; border-radius: var(--radius-sm); font-size: 12px; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all .15s; white-space: nowrap; }
.btn-sec:hover { border-color: var(--border2); color: var(--text); }
.btn-primary { background: var(--amber); border: none; color: #111; padding: 8px 14px; border-radius: var(--radius-sm); font-size: 12px; font-weight: 700; font-family: 'DM Sans', sans-serif; cursor: pointer; white-space: nowrap; }
.btn-primary:hover { opacity: .88; }
.btn-sm { padding: 5px 10px; font-size: 11px; }

/* ── CARDÁPIO GRID ── */
#montagemSection, #porcoesSection { padding: 12px 16px 0; }
.section-hint { font-size: 12px; color: var(--text-muted); margin-bottom: 14px; }
.section-hint strong { color: var(--amber); }
.items-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.card-thumb { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; cursor: pointer; transition: border-color .15s, box-shadow .15s; display: flex; flex-direction: column; user-select: none; position: relative; }
.card-thumb:active { opacity: .85; }
.thumb-preview { height: 110px; display: flex; align-items: center; justify-content: center; padding: 10px; overflow: hidden; background: var(--surface2); }
.thumb-stack { display: flex; flex-direction: column; align-items: center; width: 100%; }
.thumb-layer { width: 88%; display: flex; align-items: center; justify-content: center; margin: -2px 0; }
.thumb-layer svg { width: 100%; height: auto; }
.thumb-emoji { font-size: 48px; }
.thumb-foto { width: 100%; height: 100%; object-fit: contain; background: var(--surface3); }
.thumb-name { font-size: 12px; font-weight: 600; color: var(--text); padding: 8px 10px 6px; text-align: center; line-height: 1.3; }
/* Action bar at bottom of card */
.thumb-actions { display: flex; border-top: 1px solid var(--border); }
.thumb-action-btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 10px 6px; font-size: 12px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; border: none; background: none; color: var(--text-muted); transition: background .1s, color .1s; }
.thumb-action-btn:hover { background: var(--surface2); color: var(--text); }
.thumb-action-btn.edit:hover { color: var(--amber); }
.thumb-action-btn.del:hover { color: var(--red); background: var(--red-dim); }
.thumb-action-btn + .thumb-action-btn { border-left: 1px solid var(--border); }

/* ── EDIT INPUTS (sempre 16px para não dar zoom iOS) ── */
.edit-input { background: var(--surface2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; font-size: 16px; color: var(--text); font-family: 'DM Sans', sans-serif; width: 100%; resize: none; outline: none; transition: border-color .15s; }
.edit-input:focus { border-color: var(--amber); }
.edit-input::placeholder { color: var(--text-dim); }
.edit-label { font-size: 10px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--amber); margin-bottom: 6px; }
.edit-group { display: flex; flex-direction: column; gap: 4px; }

/* ── FINANCIAL ── */
.fin-section { padding: 12px 16px 0; }
.fin-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.fin-toolbar-title { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1.5px; color: var(--text); flex: 1; min-width: 0; }
.fin-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.fin-filter { padding: 6px 14px; border-radius: 99px; font-size: 12px; font-weight: 500; border: 1px solid var(--border); background: var(--surface2); color: var(--text-muted); cursor: pointer; transition: all .15s; white-space: nowrap; }
.fin-filter.active { background: var(--amber-dim); border-color: var(--amber); color: var(--amber); }
.fin-filter.active-green { background: var(--green-dim); border-color: var(--green); color: var(--green); }
.fin-filter.active-red { background: var(--red-dim); border-color: var(--red); color: var(--red); }
.btn-add-fin { background: var(--amber); border: none; color: #111; padding: 8px 14px; border-radius: 8px; font-size: 12px; font-weight: 700; font-family: 'DM Sans', sans-serif; cursor: pointer; white-space: nowrap; }
.fin-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.fin-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 13px; }
.fin-card-label { font-size: 10px; font-weight: 600; color: var(--text-muted); letter-spacing: .5px; text-transform: uppercase; margin-bottom: 4px; }
.fin-card-value { font-size: 20px; font-weight: 700; color: var(--text); }
.fin-card-value.green { color: var(--green); }
.fin-card-value.red { color: var(--red); }
.fin-card-value.amber { color: var(--amber); }
.fin-list { display: flex; flex-direction: column; gap: 6px; }
.fin-item { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; display: flex; align-items: center; gap: 10px; transition: border-color .1s; width: 100%; }
.fin-item:hover { border-color: var(--border2); }
.fin-item-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.dot-pending { background: #f59e0b; }
.dot-paid { background: var(--green); }
.dot-overdue { background: #ff2020; }
.fin-item-info { flex: 1; min-width: 0; overflow: hidden; }
.fin-item-name { font-size: 13px; font-weight: 500; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-item-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.fin-item-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.fin-item-value { font-size: 14px; font-weight: 700; color: var(--text); }
.fin-item-badge { font-size: 10px; padding: 2px 7px; border-radius: 4px; font-weight: 600; }
.badge-pending { background: rgba(245,158,11,.15); color: #f59e0b; font-weight:700; }
.badge-paid { background: var(--green-dim); color: var(--green); font-weight:700; }
.badge-overdue { background: rgba(220,20,20,.2); color: #ff2020; font-weight:700; border:1px solid rgba(220,20,20,.3); }
.fin-item-actions { display: flex; gap: 4px; margin-left: 4px; }
.fin-action-btn { width: 34px; height: 34px; border-radius: var(--radius-xs); border: 1px solid var(--border); background: var(--surface2); color: var(--text-muted); font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .12s; }
.fin-action-btn:hover { border-color: var(--border2); color: var(--text); }
.fin-action-btn.pay { background: var(--green-dim); border-color: var(--green); color: var(--green); }
.fin-action-btn.pay:hover { background: var(--green); color: #111; }
.fin-acts { display: flex; gap: 4px; flex-shrink: 0; }
.fin-act-btn { width: 32px; height: 32px; border-radius: var(--radius-xs); background: var(--surface2); border: 1px solid var(--border); color: var(--text-muted); font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .12s; }
.fin-act-btn:hover { border-color: var(--border2); color: var(--text); }
.fin-empty { text-align: center; padding: 36px 20px; color: var(--text-muted); font-size: 13px; line-height: 1.6; }

/* ── OVERLAYS / MODALS ── */
.fin-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.82); z-index: 3000; align-items: flex-end; justify-content: center; padding: 0; }
.fin-overlay.open { display: flex; }
.fin-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; width: 100%; max-width: 480px; height: 92vh; overflow: hidden; display: flex; flex-direction: column; }
.fin-panel-header { flex-shrink: 0; background: var(--surface); padding: 14px 18px 12px; border-bottom: 1px solid var(--border); border-radius: 20px 20px 0 0; display: flex; align-items: center; justify-content: space-between; }
.fin-panel-title { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 700; color: var(--amber); }
.fin-panel-body { flex: 1; padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; min-height: 0; }
.fin-panel-footer { flex-shrink: 0; padding: 12px 18px; border-top: 1px solid var(--border); display: flex; gap: 8px; justify-content: flex-end; background: var(--surface); }

.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.82); z-index: 4000; align-items: flex-end; justify-content: center; padding: 0; overflow-y: auto; }
.modal-overlay.open { display: flex; }
.modal { background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; width: 100%; max-width: 520px; max-height: 92vh; overflow: hidden; position: relative; display: flex; flex-direction: column; margin-top: auto; }
.modal-body-scroll { flex: 1; overflow-y: auto; overflow-x: hidden; }
.modal-header { position: sticky; top: 0; background: var(--surface); border-bottom: 1px solid var(--border); padding: 14px 16px 12px; display: flex; align-items: flex-start; justify-content: space-between; border-radius: 20px 20px 0 0; gap: 10px; z-index: 2; }
.modal-header-left { flex: 1; min-width: 0; }
.modal-title { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1.5px; color: var(--text); }
.modal-sub { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
.modal-close { width: 36px; height: 36px; border-radius: 50%; background: var(--surface3); border: 1.5px solid var(--border2); color: var(--text-muted); font-size: 15px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-left: 4px; }
.modal-body { flex: 1; overflow-y: auto; overflow-x: hidden; }
.modal-footer { padding: 12px 18px; border-top: 1px solid var(--border); display: flex; gap: 8px; justify-content: flex-end; position: sticky; bottom: 0; background: var(--surface); }

.edit-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 5000; align-items: flex-end; justify-content: center; padding: 0; }
.edit-overlay.open { display: flex; }
.edit-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; width: 100%; max-width: 480px; height: 92vh; overflow: hidden; display: flex; flex-direction: column; }

/* ── CL EDITOR ── */
.cl-edit-btn { display: none; align-items: center; gap: 6px; margin: 10px 16px 0; padding: 8px 14px; background: var(--amber-dim); border: 1px solid var(--amber); border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--amber); cursor: pointer; transition: all .15s; width: fit-content; }
.cl-edit-btn.visible { display: flex; }
.cl-edit-btn:hover { background: var(--amber); color: #111; }
.cl-editor-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 4000; align-items: flex-end; justify-content: center; padding: 0; overflow: hidden; }
.cl-editor-overlay.open { display: flex; }
.cl-editor-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; width: 100%; max-width: 600px; height: 92vh; overflow: hidden; display: flex; flex-direction: column; }
.cl-editor-header { flex: 0 0 auto; flex-shrink: 0; background: var(--surface); padding: 14px 18px 12px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.cl-editor-title { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 700; color: var(--amber); }
.cl-editor-sub { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.cl-editor-body { flex: 1 1 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; padding: 12px 16px 8px; display: block; min-height: 0; }
.cl-editor-footer { flex: 0 0 auto; flex-shrink: 0; padding: 12px 18px; border-top: 1px solid var(--border); display: flex; gap: 8px; justify-content: flex-end; background: var(--surface); }
.cl-sec-block { background: var(--surface2); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-bottom: 10px; }
.cl-sec-header { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--border); background: #111; }
.cl-sec-icon-input { width: 36px; background: var(--surface2); border: 1px solid var(--border); border-radius: 6px; padding: 4px; font-size: 14px; text-align: center; color: var(--text); outline: none; }
.cl-sec-title-input { flex: 1; min-width: 0; background: var(--surface2); border: 1px solid var(--border); border-radius: 6px; padding: 5px 8px; font-size: 13px; font-weight: 600; color: var(--text); font-family: 'DM Sans', sans-serif; outline: none; }
.cl-sec-title-input:focus, .cl-sec-icon-input:focus { border-color: var(--amber); }
.cl-sec-del { width: 24px; height: 24px; border-radius: 6px; background: none; border: 1px solid var(--border); color: var(--text-dim); font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; }
.cl-sec-del:hover { background: var(--red-dim); border-color: var(--red); color: var(--red); }
.cl-items-list { padding: 8px 12px; display: flex; flex-direction: column; gap: 6px; }
.cl-item-row { display: flex; align-items: center; gap: 8px; }
.cl-item-input { flex: 1; min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px; font-size: 14px; color: var(--text); font-family: 'DM Sans', sans-serif; outline: none; transition: border-color .15s; }
.cl-item-input:focus { border-color: var(--amber); }
.cl-item-tag-sel { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 6px; font-size: 12px; color: var(--text-muted); font-family: 'DM Sans', sans-serif; outline: none; cursor: pointer; flex-shrink: 0; }
.cl-item-del { width: 26px; height: 26px; border-radius: 50%; background: none; border: 1px solid var(--border); color: var(--text-dim); font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; }
.cl-item-del:hover { background: var(--red-dim); border-color: var(--red); color: var(--red); }
.cl-add-item-btn { display: flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 6px; background: none; border: 1px dashed var(--border); color: var(--text-muted); font-size: 12px; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all .15s; width: 100%; }
.cl-add-item-btn:hover { border-color: var(--amber); color: var(--amber); }

/* ── TOAST ── */
#saveToast { position: fixed; bottom: 76px; left: 50%; transform: translateX(-50%) translateY(10px); background: var(--surface); border: 1px solid var(--border); color: var(--text); padding: 10px 20px; border-radius: 99px; font-size: 13px; font-weight: 500; box-shadow: var(--shadow); opacity: 0; transition: all .25s; z-index: 9000; white-space: nowrap; pointer-events: none; }
#saveToast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── BOTTOM NAV ── */
#bottomNav { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: var(--surface); border-top: 1px solid var(--border); z-index: 200; padding-bottom: env(safe-area-inset-bottom); }
.bottom-nav-inner { display: flex; align-items: stretch; height: 62px; }
.bottom-nav-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; font-size: 9px; font-weight: 700; color: var(--text-muted); letter-spacing: .3px; text-transform: uppercase; padding: 6px 4px; border: none; background: none; position: relative; transition: color .15s; font-family: 'Poppins', sans-serif; }
.bottom-nav-item.active { color: var(--amber); }
.bottom-nav-item .nav-icon { font-size: 22px; line-height: 1; }
.bottom-nav-item .nav-badge { position: absolute; top: 6px; right: calc(50% - 16px); background: var(--red); color: #fff; font-size: 9px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/* ── FAB ── */
#fabBtn { display: none; position: fixed; bottom: 72px; right: 16px; width: 52px; height: 52px; border-radius: 50%; background: var(--amber); border: none; color: #111; font-size: 24px; box-shadow: 0 4px 18px rgba(232,160,32,.4); cursor: pointer; z-index: 190; align-items: center; justify-content: center; }
#fabBtn:active { transform: scale(.93); }

/* ── INÍCIO ── */
#inicioSection { padding-bottom: 20px; overflow-x: hidden; }
.inicio-hero { padding: 14px 16px; background: var(--surface); border-bottom: 1px solid var(--border); }
.inicio-greeting { font-family: 'Bebas Neue', sans-serif; font-size: 24px; letter-spacing: 1.5px; color: var(--text); line-height: 1.1; }
.inicio-greeting span { color: var(--amber); }
.inicio-date { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
.inicio-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 16px 0; }
.inicio-stat { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 12px; cursor: pointer; transition: border-color .12s; }
.inicio-stat:hover { border-color: var(--amber); }
.inicio-stat-val { font-size: 22px; font-weight: 700; line-height: 1; }
.inicio-stat-lbl { font-size: 10px; color: var(--text-muted); margin-top: 3px; text-transform: uppercase; letter-spacing: .3px; }
.inicio-block { margin: 14px 16px 0; }
.inicio-block-hdr { font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.inicio-block-hdr a { font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--amber); cursor: pointer; text-transform: none; text-decoration: none; flex-shrink: 0; }

/* ── EVENTOS ── */
.evento-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 13px; display: flex; align-items: flex-start; gap: 10px; margin-bottom: 7px; transition: border-color .12s; width: 100%; }
.evento-card:hover { border-color: var(--border2); }
.evento-card.hoje { border-left: 3px solid var(--amber); }
.evento-card.urgente { border-left: 3px solid var(--red); }
.evento-icon { font-size: 22px; flex-shrink: 0; margin-top: 1px; }
.evento-body { flex: 1; min-width: 0; overflow: hidden; }
.evento-titulo { font-size: 13px; font-weight: 600; color: var(--text); line-height: 1.3; }
.evento-desc { font-size: 12px; color: var(--text-muted); margin-top: 3px; line-height: 1.5; }
.evento-meta { display: flex; align-items: center; gap: 6px; margin-top: 5px; flex-wrap: wrap; }
.evento-cat { font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 4px; }
.evento-data { font-size: 11px; color: var(--text-muted); }
.evento-acts { display: flex; gap: 4px; flex-shrink: 0; align-self: flex-start; }

/* ── TAREFAS INÍCIO ── */
.ti-item { display: flex; align-items: center; gap: 10px; padding: 11px 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: 6px; cursor: pointer; transition: border-color .1s; width: 100%; min-height: 48px; }
.ti-item:hover { border-color: var(--border2); }
.ti-item.done { opacity: .5; }
.ti-item.done .ti-txt { text-decoration: line-through; color: var(--text-muted); }
.ti-cb { width: 20px; height: 20px; border: 1.5px solid var(--border2); border-radius: 5px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.ti-item.done .ti-cb { background: var(--green); border-color: var(--green); }
.ti-item.done .ti-cb svg { opacity: 1; }
.ti-cb svg { opacity: 0; }
.ti-txt { font-size: 13px; color: var(--text); flex: 1; min-width: 0; }

/* ── CL PROG (inicio) ── */
.cl-prog { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 13px; display: flex; align-items: center; gap: 12px; margin-bottom: 7px; cursor: pointer; transition: border-color .12s; width: 100%; }
.cl-prog:hover { border-color: var(--amber); }
.cl-prog-icon { font-size: 22px; flex-shrink: 0; }
.cl-prog-info { flex: 1; min-width: 0; }
.cl-prog-label { font-size: 13px; font-weight: 600; color: var(--text); }
.cl-prog-bar { height: 3px; background: var(--surface3); border-radius: 99px; margin-top: 6px; overflow: hidden; }
.cl-prog-fill { height: 100%; border-radius: 99px; transition: width .4s; }
.cl-prog-pct { font-size: 12px; color: var(--text-muted); white-space: nowrap; font-weight: 600; flex-shrink: 0; }

/* ── COMPRAS ── */
.compra-item { display: flex; align-items: center; gap: 10px; padding: 12px 13px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; transition: border-color .1s; margin-bottom: 6px; min-height: 50px; width: 100%; }
.compra-item:hover { border-color: var(--border2); }
.compra-item.comprado .compra-nome { color: var(--text-muted); text-decoration: line-through; }
.compra-item.comprado .compra-cb { background: var(--green); border-color: var(--green); }
.compra-item.comprado .compra-cb svg { opacity: 1; }
.compra-cb { width: 20px; height: 20px; border: 1.5px solid var(--border2); border-radius: 5px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.compra-cb svg { opacity: 0; }
.compra-info { flex: 1; min-width: 0; overflow: hidden; }
.compra-nome { font-size: 13px; font-weight: 500; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compra-meta { font-size: 11px; color: var(--text-muted); margin-top: 1px; }
.compra-actions { display: flex; gap: 4px; flex-shrink: 0; }

/* ── FOTO ── */
.foto-picker { display: flex; flex-direction: column; gap: 8px; }
.foto-preview-wrap { width: 100%; height: 140px; background: var(--surface2); border: 1.5px dashed var(--border); border-radius: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; transition: border-color .15s; }
.foto-preview-wrap:hover { border-color: var(--amber); }
.foto-preview-wrap img { width: 100%; height: 100%; object-fit: contain; background: #111; }
.foto-placeholder { display: flex; flex-direction: column; align-items: center; gap: 5px; color: var(--text-dim); pointer-events: none; }
.foto-placeholder span { font-size: 28px; }
.foto-placeholder p { font-size: 11px; text-align: center; }
.foto-actions { display: flex; gap: 7px; }
.foto-remove { background: none; border: 1px solid var(--border); color: var(--text-muted); padding: 5px 11px; border-radius: 7px; font-size: 11px; font-family: 'DM Sans', sans-serif; cursor: pointer; }
.foto-remove:hover { border-color: var(--red); color: var(--red); }

/* ── ING SEARCH ── */
.ing-search-opt { padding: 12px 14px; font-size: 14px; color: var(--text); cursor: pointer; border-bottom: 1px solid var(--border); transition: background .1s; }
.ing-search-opt:last-child { border-bottom: none; }
.ing-search-opt:hover { background: var(--surface2); }
.ing-search-opt.selected { background: var(--amber-dim); color: var(--amber); font-weight: 600; }

/* ── PROD BADGE ── */
.prod-badge { display: inline-flex; align-items: center; gap: 3px; background: rgba(90,120,200,.15); border: 1px solid rgba(90,120,200,.3); color: var(--blue); font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 4px; }

/* ── TAREFA OVERLAY ── */
.tarefa-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 5000; align-items: flex-end; justify-content: center; padding: 0; }
.tarefa-overlay.open { display: flex; }
.tarefa-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; width: 100%; max-width: 480px; height: 92vh; overflow: hidden; display: flex; flex-direction: column; }
.tarefa-panel-header { flex-shrink: 0; background: var(--surface); padding: 14px 18px 12px; border-bottom: 1px solid var(--border); border-radius: 20px 20px 0 0; display: flex; align-items: center; justify-content: space-between; }
.tarefa-panel-title { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 1.5px; color: var(--amber); }
.tarefa-panel-body { flex: 1; padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; min-height: 0; }
.tarefa-panel-footer { flex-shrink: 0; padding: 12px 18px; border-top: 1px solid var(--border); display: flex; gap: 8px; justify-content: flex-end; background: var(--surface); }

/* ── CLHORA STATUS ── */
#clHorarioStatus { display: none; align-items: center; gap: 8px; padding: 8px 16px; background: var(--surface); border-bottom: 1px solid var(--border); flex-wrap: wrap; }

/* ── MOBILE ── */
@media(max-width:640px){
  #bottomNav { display: block; }
  #fabBtn { display: none; }
  #tabsContainer { display: none; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .items-grid { grid-template-columns: repeat(2, 1fr); }
}

/* iPhone notch */
@supports(padding-bottom: env(safe-area-inset-bottom)){
  @media(max-width:640px){
    #bottomNav { padding-bottom: env(safe-area-inset-bottom); }
  }
}

/* ── KEEP COMPONENT CSS ── */
.prod-body{padding:0 0 8px;}
.prod-section{padding:14px 18px;border-bottom:1px solid var(--border);}
.prod-section:last-child{border-bottom:none;}
.prod-section-title{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--amber);margin-bottom:10px;}

.prod-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.prod-spec{background:var(--surface2);border-radius:8px;padding:9px 11px;position:relative;}
.prod-spec-label{font-size:10px;color:var(--text-muted);margin-bottom:3px;letter-spacing:.4px;}
.prod-spec-value{font-size:13px;font-weight:500;color:var(--text);}
.prod-spec-value.empty{color:var(--text-dim);font-size:11px;font-style:italic;}

.prod-steps{display:flex;flex-direction:column;gap:0;}
.prod-step{display:flex;gap:11px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--border);}
.prod-step:last-child{border-bottom:none;}
.prod-step-num{width:20px;height:20px;border-radius:50%;background:var(--amber-dim);border:1px solid var(--amber);font-size:10px;font-weight:600;color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.prod-step-text{font-size:13px;color:var(--text);line-height:1.5;flex:1;}
.prod-step-text.empty{color:var(--text-dim);font-style:italic;font-size:11px;}

.prod-obs{background:var(--surface2);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--text-muted);line-height:1.6;}
.prod-obs.empty{font-style:italic;color:var(--text-dim);}

.fornecedor-list{display:flex;flex-direction:column;gap:6px;}
.fornecedor-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;}
.fornecedor-item-info{flex:1;min-width:0;}
.fornecedor-nome{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fornecedor-contato{font-size:11px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fornecedor-empty{font-size:12px;color:var(--text-dim);font-style:italic;padding:8px 0;}

/* montagem layers */
.modal-layers{padding:10px 14px 18px;display:flex;flex-direction:column;gap:0;}
.modal-layer{display:flex;align-items:center;gap:11px;padding:5px 6px;border-radius:8px;cursor:pointer;transition:background .1s;}
.modal-layer:hover{background:var(--surface2);}
.modal-layer-num{width:20px;height:20px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);font-size:10px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.modal-layer-img{width:68px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.modal-layer-img svg{width:68px;height:44px;}
.modal-layer-info{flex:1;}
.modal-layer-name{font-size:13px;font-weight:500;color:var(--text);line-height:1.2;}
.modal-layer-sub{font-size:11px;color:var(--text-muted);margin-top:1px;}
.modal-layer-arrow{font-size:12px;color:var(--amber);flex-shrink:0;opacity:0;transition:opacity .15s;}
.modal-layer:hover .modal-layer-arrow{opacity:1;}
.modal-sep{height:1px;background:var(--border);margin:2px 6px;}
.porcao-hero{display:flex;align-items:center;justify-content:center;padding:22px;font-size:60px;border-bottom:1px solid var(--border);}

/* ── EDIT MODE ── */
.edit-header{position:sticky;top:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;align-items:center;justify-content:space-between;z-index:2;}
.edit-header-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--amber);}
.edit-header-sub{font-size:11px;color:var(--text-muted);margin-top:2px;}
.edit-close{width:28px;height:28px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.edit-close:hover{background:var(--border);color:var(--text);}
.edit-body{padding:14px 18px 20px;display:flex;flex-direction:column;gap:16px;}

.edit-group{display:flex;flex-direction:column;gap:6px;}
.edit-label{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--amber);}
.edit-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--text);font-family:'DM Sans',sans-serif;width:100%;resize:none;outline:none;transition:border-color .15s;}
.edit-input:focus{border-color:var(--amber);}
.edit-input::placeholder{color:var(--text-dim);}

.edit-specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.edit-spec-item{display:flex;flex-direction:column;gap:4px;}
.edit-spec-label-sm{font-size:10px;color:var(--text-muted);}

.edit-steps-list{display:flex;flex-direction:column;gap:6px;}
.edit-step-row{display:flex;align-items:flex-start;gap:8px;}
.edit-step-num{width:20px;height:20px;border-radius:50%;background:var(--amber-dim);border:1px solid var(--amber);font-size:10px;font-weight:600;color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:8px;}
.edit-step-input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--text);font-family:'DM Sans',sans-serif;resize:none;outline:none;min-height:36px;transition:border-color .15s;}
.edit-step-input:focus{border-color:var(--amber);}
.edit-step-del{width:22px;height:22px;border-radius:50%;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:7px;transition:all .15s;}
.edit-step-del:hover{background:rgba(232,80,80,.15);border-color:var(--red);color:var(--red);}
.btn-add-step{background:none;border:1px dashed var(--border);color:var(--text-muted);padding:7px 12px;border-radius:8px;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;width:100%;transition:all .15s;margin-top:2px;}
.btn-add-step:hover{border-color:var(--amber);color:var(--amber);}

.edit-fornecedores{display:flex;flex-direction:column;gap:8px;}
.edit-forn-row{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;position:relative;}
.edit-forn-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;}
.edit-forn-title{font-size:11px;font-weight:600;color:var(--text-muted);}
.edit-forn-del{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0;line-height:1;}
.edit-forn-del:hover{color:var(--red);}
.edit-forn-inputs{display:flex;flex-direction:column;gap:5px;}
.btn-add-forn{background:none;border:1px dashed var(--border);color:var(--text-muted);padding:7px 12px;border-radius:8px;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;width:100%;transition:all .15s;}
.btn-add-forn:hover{border-color:var(--green);color:var(--green);}

.edit-footer{position:sticky;bottom:0;background:var(--surface);padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;}
.btn-save{background:var(--green);border:none;color:#111;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .15s;}
.btn-save:hover{opacity:.85;}
.save-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--green);color:#111;padding:8px 18px;border-radius:99px;font-size:13px;font-weight:600;opacity:0;transition:all .3s;z-index:9999;pointer-events:none;}
.save-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════
   MOBILE — design otimizado para toque
   Público principal: celular
══════════════════════════════ */

/* Viewport fix para iOS */
body{-webkit-text-size-adjust:100%;}

/* ── Bottom Navigation Bar (mobile) ── */
#bottomNav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  background:var(--surface);
  border-top:1px solid var(--border);
  z-index:200;
  padding:0 0 env(safe-area-inset-bottom);
}
.bottom-nav-inner{
  display:flex;align-items:stretch;
  height:58px;
}
.bottom-nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;cursor:pointer;
  font-size:10px;font-weight:600;color:var(--text-muted);
  letter-spacing:.3px;text-transform:uppercase;
  padding:6px 4px;
  border:none;background:none;
  position:relative;
  transition:color .15s;
  -webkit-tap-highlight-color:transparent;
}
.bottom-nav-item.active{color:var(--amber);}
.bottom-nav-item .nav-icon{font-size:20px;line-height:1;}
.tab-drawer-sheet{
  background:var(--surface);border-radius:20px 20px 0 0;width:100%;
  padding:12px 12px calc(18px + env(safe-area-inset-bottom));
  border-top:1px solid var(--border);box-shadow:0 -12px 40px rgba(0,0,0,.35);
}
.tab-drawer-handle{width:40px;height:4px;background:var(--border2);border-radius:99px;margin:0 auto 12px;}
.tab-drawer-title{font:700 15px 'Poppins',sans-serif;color:var(--text);padding:4px 4px 12px;}
.tab-drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.tab-drawer-item{min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 6px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font:600 11px 'Inter',sans-serif;cursor:pointer;}
.tab-drawer-item.active{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}
.tab-drawer-icon{font-size:22px;line-height:1;}

.bottom-nav-item .nav-badge{
  position:absolute;top:6px;right:calc(50% - 16px);
  background:var(--red);color:#fff;
  font-size:9px;font-weight:700;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ── FAB — Ação principal (mobile) ── */
#fabBtn{
  display:none;
  position:fixed;bottom:72px;right:18px;
  width:54px;height:54px;border-radius:50%;
  background:var(--amber);border:none;
  color:#111;font-size:24px;
  box-shadow:0 4px 18px rgba(232,160,32,.4);
  cursor:pointer;z-index:190;
  align-items:center;justify-content:center;
  transition:transform .15s,box-shadow .15s;
  -webkit-tap-highlight-color:transparent;
}
#fabBtn:active{transform:scale(.93);}

/* ── TOAST melhorado ── */
#saveToast{
  position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--surface);border:1px solid var(--border);
  color:var(--text);padding:10px 20px;border-radius:99px;
  font-size:13px;font-weight:500;
  box-shadow:var(--shadow);
  opacity:0;transition:all .25s;z-index:9000;
  white-space:nowrap;pointer-events:none;
}
#saveToast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:640px){

  /* ── Overflow fix total ── */
  *{max-width:100%;word-break:break-word;}
  img,svg{max-width:100%;height:auto;}

  /* ── Mostrar bottom nav, esconder tabs ── */
  #bottomNav{display:block;}
  #fabBtn{display:none;}
  .header{padding:10px 14px 0;}
  .header-top{padding-bottom:10px;}
  .header h1{font-size:22px;}
  #tabsContainer{display:none;}
  body{padding:0 0 80px;}

  /* Progress */
  .progress-wrap{padding:10px 14px 0;}

  /* Checklist */
  .sections{padding:10px 14px 0;gap:8px;}
  .section-header{padding:13px 14px;min-height:52px;}
  .section-icon{width:32px;height:32px;font-size:15px;}
  .section-title{font-size:14px;}
  .item{padding:12px 14px;min-height:48px;gap:12px;}
  .item-checkbox{width:22px;height:22px;border-radius:6px;flex-shrink:0;}
  .item-text{font-size:14px;line-height:1.4;}

  /* Financeiro */
  .fin-section{padding:12px 14px 0;}
  .fin-summary{gap:7px;margin-bottom:14px;}
  .fin-card{padding:11px 12px;}
  .fin-card-value{font-size:18px;}
  .fin-item{padding:12px 13px;border-radius:10px;}
  .fin-item-name{font-size:14px;}
  .fin-item-value{font-size:15px;}
  .fin-action-btn{width:34px;height:34px;}
  .fin-act-btn{width:32px;height:32px;}

  /* Início */
  .inicio-hero,.inicio-block{padding-left:14px;padding-right:14px;}
  .inicio-hero{padding-top:12px;padding-bottom:12px;}
  .inicio-greeting{font-size:22px;}
  .inicio-stats{padding:12px 14px 0;gap:7px;}
  .inicio-stat{padding:11px 12px;}
  .inicio-stat-val{font-size:22px;}
  .inicio-block{margin-top:14px;}
  .evento-titulo{font-size:14px;}
  .ti-txt{font-size:14px;}

  /* Cardápio */
  .items-grid{grid-template-columns:repeat(2,1fr);gap:9px;}
  #montagemSection,#porcoesSection{padding:12px 14px 0;}

  /* Inputs — 16px evita zoom iOS */
  .edit-input{font-size:16px !important;padding:12px 14px;}
  select.edit-input,textarea.edit-input{font-size:16px;}

  /* Histórico — esconde grid e usa cards */
  .hist-row.header{display:none;}
  .hist-row{
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto auto;
    gap:3px 8px;padding:12px 14px;
  }
  .hist-cell:nth-child(1){grid-column:1;grid-row:1;font-weight:600;font-size:13px;}
  .hist-cell:nth-child(2){grid-column:1;grid-row:2;font-size:11px;color:var(--text-muted);}
  .hist-cell:nth-child(3){grid-column:2;grid-row:1;font-size:12px;color:var(--amber);text-align:right;}
  .hist-cell:nth-child(4){grid-column:2;grid-row:2;font-size:11px;color:var(--text-muted);text-align:right;}
  .hist-cell:nth-child(5){grid-column:1/-1;grid-row:3;}

  /* Modais como bottom sheets */
  .fin-panel,.modal,.edit-panel{
    border-radius:20px 20px 0 0;max-width:100%;margin:0;
    position:fixed;bottom:0;left:0;right:0;
    height:92vh;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;
  }
  .fin-panel-body,.edit-panel .edit-body{
    overflow-y:auto !important;-webkit-overflow-scrolling:touch;flex:1;min-height:0;
  }
  .fin-overlay,.cl-editor-overlay,.modal-overlay,.edit-overlay{
    align-items:flex-end;padding:0;
  }
  .fin-panel-header,.cl-editor-header{border-radius:20px 20px 0 0;}

  /* Outros */
  #custosSection,#tarefasSection,#producaoSection{padding:12px 14px 0;}
  #cadastrosSection,#comprasSection,#historicoSection{padding-bottom:20px;}
  .done-banner,.cl-edit-btn{margin-left:14px;margin-right:14px;}
  .foto-preview-wrap{height:140px;}
  #saveToast{bottom:72px;}
}


/* iPhone safe area */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  @media(max-width:640px){
    #bottomNav{padding-bottom:env(safe-area-inset-bottom);}
    body{padding-bottom:calc(80px + env(safe-area-inset-bottom));}
  }
}

/* ══ FIADO & CONTAS A PAGAR ══ */
.fin-section{padding:16px 20px 0;}
.fin-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.fin-toolbar-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1.5px;color:var(--text);flex:1;}
.fin-filters{display:flex;gap:6px;}
.fin-filter{padding:5px 14px;border-radius:99px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;}
.fin-filter.active{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}
.fin-filter.active-green{background:var(--green-dim);border-color:var(--green);color:var(--green);}
.fin-filter.active-red{background:rgba(232,80,80,.15);border-color:var(--red);color:var(--red);}
.btn-add-fin{background:var(--amber);border:none;color:#111;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;}
.btn-add-fin:hover{opacity:.85;}

/* summary cards */
.fin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.fin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;}
.fin-card-label{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px;}
.fin-card-value{font-size:20px;font-weight:700;color:var(--text);}
.fin-card-value.green{color:var(--green);}.fin-card-value.red{color:var(--red);}.fin-card-value.amber{color:var(--amber);}
.fin-list{display:flex;flex-direction:column;gap:6px;}
.fin-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:center;gap:10px;transition:border-color .1s;}
.fin-item:hover{border-color:var(--border2);}
.fin-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-pending{background:#f59e0b;}.dot-paid{background:var(--green);}.dot-overdue{background:#ff2020;}
.fin-item-info{flex:1;min-width:0;}
.fin-item-name{font-size:13px;font-weight:500;color:var(--text);}
.fin-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px;}
.fin-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;}
.fin-item-value{font-size:14px;font-weight:700;color:var(--text);}
.fin-item-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600;}
.badge-pending{background:rgba(245,158,11,.15);color:#f59e0b;font-weight:700;}
.badge-paid{background:var(--green-dim);color:var(--green);font-weight:700;}
.badge-overdue{background:rgba(220,20,20,.2);color:#ff2020;font-weight:700;border:1px solid rgba(220,20,20,.3);}
.fin-item-actions{display:flex;gap:4px;margin-left:4px;}
.fin-action-btn{width:28px;height:28px;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;}
.fin-action-btn:hover{border-color:var(--border2);color:var(--text);}
.fin-action-btn.pay{background:var(--green-dim);border-color:var(--green);color:var(--green);}
.fin-action-btn.pay:hover{background:var(--green);color:#111;}
.fin-acts{display:flex;gap:4px;flex-shrink:0;}
.fin-act-btn{width:26px;height:26px;border-radius:var(--radius-xs);background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;}
.fin-act-btn:hover{border-color:var(--border2);color:var(--text);}
.fin-empty{text-align:center;padding:36px 20px;color:var(--text-muted);font-size:13px;line-height:1.6;}
.fin-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:3000;align-items:center;justify-content:center;padding:14px;}
.fin-overlay.open{display:flex;}
.fin-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:480px;height:92vh;overflow:hidden;display:flex;flex-direction:column;}
.fin-panel-header{position:sticky;top:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;display:flex;align-items:center;justify-content:space-between;}
.fin-panel-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--amber);}
.fin-panel-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:12px;}
.fin-panel-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:var(--surface);}
@media(max-width:600px){.fin-section{padding-left:14px;padding-right:14px;}.fin-summary{grid-template-columns:repeat(3,1fr);}.fin-card-value{font-size:16px;}}

}

/* ══ CHECKLIST EDITOR ══ */
.cl-edit-btn{
  display:none;align-items:center;gap:6px;
  margin:0 28px 0;padding:8px 14px;
  background:var(--amber-dim);border:1px solid var(--amber);
  border-radius:8px;font-size:12px;font-weight:600;color:var(--amber);
  cursor:pointer;transition:all .15s;width:fit-content;
}
.cl-edit-btn.visible{display:flex;}
.cl-edit-btn:hover{background:var(--amber);color:#111;}

/* cl-editor desktop styles merged into base */

.cl-sec-block{background:var(--surface2);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:10px;}
.cl-sec-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface);}
.cl-sec-icon-input{width:36px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px;font-size:14px;text-align:center;color:var(--text);outline:none;}
.cl-sec-title-input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px;font-weight:600;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;}
.cl-sec-title-input:focus,.cl-sec-icon-input:focus{border-color:var(--amber);}
.cl-sec-del{width:24px;height:24px;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.cl-sec-del:hover{background:rgba(232,80,80,.15);border-color:var(--red);color:var(--red);}

.cl-items-list{padding:8px 12px;display:flex;flex-direction:column;gap:6px;}
.cl-item-row{display:flex;align-items:center;gap:8px;}
.cl-item-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;}
.cl-item-input:focus{border-color:var(--amber);}
.cl-item-tag-sel{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 6px;font-size:11px;color:var(--text-muted);font-family:'DM Sans',sans-serif;outline:none;cursor:pointer;}
.cl-item-del{width:22px;height:22px;border-radius:50%;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.cl-item-del:hover{background:rgba(232,80,80,.15);border-color:var(--red);color:var(--red);}
.cl-add-item{background:none;border:1px dashed var(--border);color:var(--text-muted);padding:5px 10px;border-radius:6px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;width:100%;margin-top:2px;transition:all .15s;}
.cl-add-item:hover{border-color:var(--green);color:var(--green);}
.cl-add-section{background:none;border:1px dashed var(--border);color:var(--text-muted);padding:8px;border-radius:10px;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;width:100%;transition:all .15s;margin-top:2px;}
.cl-add-section:hover{border-color:var(--amber);color:var(--amber);}

/* ══ RELATÓRIO ══ */
.report-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:5000;align-items:center;justify-content:center;padding:14px;}
.report-overlay.open{display:flex;}
.report-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:480px;max-height:94vh;overflow-y:auto;display:flex;flex-direction:column;}
.report-header{position:sticky;top:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;align-items:flex-start;justify-content:space-between;z-index:2;}
.report-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--amber);}
.report-sub{font-size:11px;color:var(--text-muted);margin-top:3px;}
.report-body{padding:0 0 8px;}

.report-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 18px;border-bottom:1px solid var(--border);}
.report-hero-card{background:var(--surface2);border-radius:8px;padding:10px 12px;text-align:center;}
.report-hero-val{font-size:22px;font-weight:600;}
.report-hero-val.green{color:var(--green);}
.report-hero-val.amber{color:var(--amber);}
.report-hero-val.blue{color:#8aacf0;}
.report-hero-label{font-size:10px;color:var(--text-muted);margin-top:3px;letter-spacing:.5px;text-transform:uppercase;}

.report-section{padding:14px 18px;border-bottom:1px solid var(--border);}
.report-section:last-child{border-bottom:none;}
.report-section-title{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--amber);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;}
.report-section-count{font-size:10px;color:var(--text-muted);font-weight:400;letter-spacing:0;}

.report-item{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border);}
.report-item:last-child{border-bottom:none;}
.report-item-check{width:16px;height:16px;border-radius:4px;background:var(--green-dim);border:1px solid var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;color:var(--green);}
.report-item-text{font-size:12px;color:var(--text);flex:1;line-height:1.4;}
.report-item-tag{font-size:10px;padding:1px 6px;border-radius:4px;flex-shrink:0;}

.report-meta{padding:14px 18px;background:var(--surface2);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.report-meta-info{font-size:11px;color:var(--text-muted);line-height:1.6;}
.report-meta-badge{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;}
.report-meta-icon{font-size:18px;}
.report-meta-name{font-size:12px;font-weight:600;color:var(--text);}
.report-meta-role{font-size:10px;color:var(--text-muted);}

@media(max-width:600px){
  .cl-edit-btn{margin:0 18px 0;}
  .report-hero{grid-template-columns:repeat(3,1fr);}
}
#historicoSection{padding:16px 20px 0;}
.hist-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.hist-toolbar-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1.5px;color:var(--text);flex:1;}
.hist-filters{display:flex;gap:6px;flex-wrap:wrap;}
.hist-filter{padding:5px 12px;border-radius:99px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;}
.hist-filter.active{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}
.hist-clear{background:none;border:1px solid var(--border);color:var(--text-muted);padding:5px 12px;border-radius:99px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap;}
.hist-clear:hover{border-color:var(--red);color:var(--red);}

.hist-date-filters{display:flex;gap:8px;margin-bottom:16px;align-items:center;flex-wrap:wrap;}
.hist-date-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;}
.hist-date-input:focus{border-color:var(--amber);}
.hist-date-sep{font-size:11px;color:var(--text-muted);}

.hist-table{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.hist-row{display:grid;grid-template-columns:80px 1fr 90px 70px 50px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);gap:8px;transition:background .1s;}
.hist-row:last-child{border-bottom:none;}
.hist-row:hover{background:var(--surface2);}
.hist-row.header{background:var(--surface2);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:8px 14px;}
.hist-cell{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hist-cell.muted{color:var(--text-muted);font-size:11px;}
.hist-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:99px;font-weight:600;}
.hist-badge-checklist{background:rgba(232,160,32,.15);color:var(--amber);}
.hist-badge-abertura{background:rgba(232,160,32,.15);color:var(--amber);}
.hist-profile-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;background:var(--surface2);border:1px solid var(--border);border-radius:99px;padding:2px 8px;color:var(--text-muted);}
.hist-expand-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:11px;padding:2px 8px;cursor:pointer;transition:all .15s;}
.hist-expand-btn:hover{border-color:var(--amber);color:var(--amber);}
.hist-detail-row{display:none;padding:0 14px 12px;background:var(--surface);border-bottom:1px solid var(--border);}
.hist-detail-row.open{display:block;}
.hist-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-top:4px;}
.hist-detail-item{background:var(--surface2);border-radius:6px;padding:6px 10px;font-size:11px;}
.hist-detail-section{font-weight:600;color:var(--amber);margin-bottom:2px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;}
.hist-detail-tasks{display:flex;flex-direction:column;gap:2px;margin-top:4px;}
.hist-detail-task{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:5px;}
.hist-detail-task::before{content:'✓';color:var(--green);font-size:10px;}
.hist-empty{text-align:center;padding:40px 20px;color:var(--text-dim);font-size:13px;}
.hist-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}

/* ══ CUSTOS ══ */
#custosSection{padding:16px 20px 0;}
.custos-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.custos-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px;}
.custos-table-header{display:grid;grid-template-columns:1fr 90px 90px 90px 36px;gap:0;background:var(--surface2);padding:9px 14px;border-bottom:1px solid var(--border);}
.custos-table-row{display:grid;grid-template-columns:1fr 90px 90px 90px 36px;gap:0;padding:9px 14px;border-bottom:1px solid var(--border);align-items:center;transition:background .1s;}
.custos-table-row:last-child{border-bottom:none;}
.custos-table-row:hover{background:var(--surface2);}
.custos-th{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);}
.custos-td{font-size:13px;color:var(--text);}
.custos-td.muted{color:var(--text-muted);font-size:12px;}
.custos-td.green{color:var(--green);font-weight:600;}
.custos-td.amber{color:var(--amber);font-weight:500;}
.custos-svg{width:36px;height:24px;flex-shrink:0;}
.custos-edit-btn{width:28px;height:28px;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.custos-edit-btn:hover{border-color:var(--amber);color:var(--amber);}
.custos-lanche-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:10px;}
.custos-lanche-header{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;user-select:none;background:var(--surface2);border-bottom:1px solid var(--border);}
.custos-lanche-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1px;color:var(--text);flex:1;}
.custos-lanche-total{font-size:13px;font-weight:600;color:var(--green);}
.custos-lanche-body{display:none;padding:8px 0;}
.custos-lanche-block.open .custos-lanche-body{display:block;}
.custos-lanche-chevron{font-size:11px;color:var(--text-dim);transition:transform .2s;}
.custos-lanche-block.open .custos-lanche-chevron{transform:rotate(180deg);}
.custos-row-item{display:flex;align-items:center;gap:12px;padding:7px 16px;border-bottom:1px solid var(--border);}
.custos-row-item:last-child{border-bottom:none;}
.custos-row-svg{width:56px;height:36px;flex-shrink:0;}
.custos-row-name{flex:1;font-size:13px;color:var(--text);}
.custos-row-qty{font-size:11px;color:var(--text-muted);white-space:nowrap;}
.custos-row-val{font-size:13px;font-weight:500;color:var(--amber);white-space:nowrap;min-width:60px;text-align:right;}
.custos-row-val.zero{color:var(--text-dim);font-weight:400;}

/* custo edit overlay */
.custos-edit-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:4000;align-items:center;justify-content:center;padding:14px;}
.custos-edit-overlay.open{display:flex;}
.custos-edit-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:380px;max-height:90vh;overflow-y:auto;}
.custos-edit-header{position:sticky;top:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;align-items:center;justify-content:space-between;}
.custos-edit-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--amber);}
.custos-edit-body{padding:16px 18px 8px;display:flex;flex-direction:column;gap:14px;}
.custos-edit-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;}
.custos-ing-preview{display:flex;align-items:center;gap:10px;background:var(--surface2);border-radius:8px;padding:8px 12px;margin-bottom:4px;}

/* ── Ficha Técnica ── */
.custos-ft-header{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--surface2);border-bottom:1px solid var(--border);}
.custos-ft-row{display:flex;align-items:center;gap:10px;padding:7px 14px;border-bottom:1px solid var(--border);transition:background .1s;}
.custos-ft-row:last-child{border-bottom:none;}
.custos-ft-row:hover{background:var(--surface2);}
.custos-ft-row.unused{opacity:.45;}
.custos-ft-svg{width:46px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.custos-ft-svg svg{width:46px;height:28px;}
.custos-ft-info{flex:1;min-width:0;}
.custos-ft-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.custos-ft-qty{font-size:11px;color:var(--text-muted);}
.custos-ft-val{font-size:13px;font-weight:600;color:var(--amber);white-space:nowrap;min-width:70px;text-align:right;}
.custos-ft-val.zero{color:var(--text-dim);font-weight:400;font-size:12px;}

@media(max-width:600px){
  #custosSection{padding-left:0;padding-right:0;}
  .custos-ft-row{padding:6px 12px;}
}

/* ══ CARDÁPIO ══ */
#cardapioSection{display:none;padding:0;}
.cardapio-layout{display:flex;min-height:calc(100vh - 180px);}

/* sidebar */
.cardapio-sidebar{
  width:54px;min-width:54px;flex-shrink:0;
  background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  padding:8px 0 80px;
  transition:width .2s ease;
  overflow:hidden;
}
.cardapio-sidebar.expanded{
  width:200px;min-width:200px;
}
.cardapio-sidebar-title{
  font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text-muted);padding:0 16px 10px;
  display:none;
}
.cardapio-sidebar.expanded .cardapio-sidebar-title{display:block;}
.cardapio-toggle-btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;padding:10px 0 12px;
  border:none;background:none;cursor:pointer;
  color:var(--text-muted);font-size:18px;
  border-bottom:1px solid var(--border);
  margin-bottom:4px;
  transition:color .15s;
  flex-shrink:0;
}
.cardapio-toggle-btn:hover{color:var(--amber);}
.cardapio-cat-btn{
  display:flex;align-items:center;gap:10px;
  padding:11px 0;cursor:pointer;transition:background .15s;
  border:none;background:none;width:100%;text-align:left;
  position:relative;
  justify-content:center;
}
.cardapio-sidebar.expanded .cardapio-cat-btn{
  padding:11px 16px;
  justify-content:flex-start;
}
.cardapio-cat-btn:hover{background:var(--surface2);}
.cardapio-cat-btn.active{background:var(--amber-dim);}
.cardapio-cat-btn.active::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--amber);border-radius:0 2px 2px 0;
}
.cardapio-cat-emoji{font-size:20px;flex-shrink:0;}
.cardapio-cat-label{
  font-size:13px;font-weight:500;color:var(--text);
  line-height:1.2;flex:1;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
  display:none;
}
.cardapio-sidebar.expanded .cardapio-cat-label{display:block;}
.cardapio-cat-btn.active .cardapio-cat-label{color:var(--amber);}
.cardapio-cat-edit{width:20px;height:20px;border-radius:4px;background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;}
.cardapio-cat-btn:hover .cardapio-cat-edit{opacity:1;}
.cardapio-cat-edit:hover{color:var(--amber);}
.cardapio-cat-row{display:flex;align-items:center;}
.cardapio-cat-row .cardapio-cat-btn{flex:1;min-width:0;}
.cat-row-actions{display:none;align-items:center;gap:2px;padding-right:7px;flex-shrink:0;}
.cardapio-sidebar.expanded .cardapio-cat-row:hover .cat-row-actions{display:flex;}
.cat-row-btn{width:20px;height:20px;border-radius:4px;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;padding:0;}
.cat-row-btn:hover{border-color:var(--amber);color:var(--amber);}
.cat-row-btn[disabled]{opacity:.2;cursor:default;pointer-events:none;}
.cat-row-del:hover{border-color:var(--red)!important;color:var(--red)!important;}

.cardapio-add-cat{
  margin:8px 12px 0;padding:8px;
  background:none;border:1px dashed var(--border);
  color:var(--text-muted);border-radius:8px;font-size:12px;
  font-family:'DM Sans',sans-serif;cursor:pointer;
  transition:all .15s;
}
.cardapio-add-cat:hover{border-color:var(--amber);color:var(--amber);}

/* content area */
.cardapio-content{flex:1;padding:16px 20px;overflow-y:auto;}
.cardapio-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;}
.cardapio-content-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:var(--text);}
.cardapio-content-emoji{font-size:28px;}

/* cat editor overlay */
.cat-editor-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:5000;align-items:center;justify-content:center;padding:16px;}
.cat-editor-overlay.open{display:flex;}
.cat-editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:360px;}
.cat-editor-header{padding:14px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cat-editor-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1.5px;color:var(--amber);}
.cat-editor-body{padding:16px 18px;display:flex;flex-direction:column;gap:14px;}
.cat-editor-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;}

.emoji-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.emoji-opt{width:34px;height:34px;border-radius:8px;background:var(--surface2);border:1.5px solid var(--border);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;}
.emoji-opt:hover{border-color:var(--amber);}
.emoji-opt.sel{border-color:var(--amber);background:var(--amber-dim);}

@media(max-width:600px){
  .cardapio-sidebar{width:54px;min-width:54px;padding:12px 0 60px;}
  .cardapio-sidebar-title{display:none;}
  .cardapio-cat-label{display:none;}
  .cardapio-cat-edit{display:none;}
  .cardapio-add-cat{margin:6px 6px 0;font-size:16px;padding:6px;}
  .cardapio-content{padding:14px 16px;}
  .cardapio-cat-btn{padding:10px;justify-content:center;}
  .cardapio-cat-btn::before{display:none;}
  .cardapio-cat-btn.active{background:var(--amber-dim);}
}
.burger-builder-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:4500;align-items:flex-start;justify-content:center;padding:14px;overflow-y:auto;}
.burger-builder-overlay.open{display:flex;}
.bb-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:500px;margin:auto;display:flex;flex-direction:column;}
.bb-header{position:sticky;top:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;align-items:flex-start;justify-content:space-between;z-index:2;}
.bb-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--amber);}
.bb-sub{font-size:11px;color:var(--text-muted);margin-top:2px;}
.bb-body{padding:16px 18px;display:flex;flex-direction:column;gap:16px;}
.bb-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface);border-radius:0 0 18px 18px;}
.bb-section-label{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--amber);margin-bottom:8px;}
.bb-ing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;}
.bb-ing-card{background:var(--surface2);border:1.5px solid var(--border);border-radius:10px;padding:7px 5px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:all .15s;user-select:none;}
.bb-ing-card:hover{border-color:var(--amber);}
.bb-ing-card.sel{border-color:var(--amber);background:var(--amber-dim);}
.bb-ing-card svg{width:60px;height:38px;}
.bb-ing-label{font-size:10px;color:var(--text-muted);text-align:center;line-height:1.3;}
.bb-ing-card.sel .bb-ing-label{color:var(--amber);}
.bb-layers{display:flex;flex-direction:column;gap:6px;}
.bb-layer-row{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;}
.bb-layer-num{width:20px;height:20px;border-radius:50%;background:var(--amber-dim);border:1px solid var(--amber);font-size:10px;font-weight:600;color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bb-layer-img{width:54px;height:34px;flex-shrink:0;}
.bb-layer-img svg{width:54px;height:34px;}
.bb-layer-info{flex:1;min-width:0;}
.bb-layer-name{font-size:12px;font-weight:500;color:var(--text);}
.bb-layer-desc{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:'DM Sans',sans-serif;outline:none;padding:2px 0;margin-top:3px;}
.bb-layer-desc:focus{border-bottom-color:var(--amber);}
.bb-layer-desc::placeholder{color:var(--text-dim);}
.bb-layer-del{width:22px;height:22px;border-radius:50%;background:none;border:1px solid var(--border);color:var(--text-dim);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.bb-layer-del:hover{background:rgba(232,80,80,.15);border-color:var(--red);color:var(--red);}
.bb-move{display:flex;flex-direction:column;gap:2px;flex-shrink:0;}
.bb-mv{width:18px;height:14px;background:none;border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.bb-mv:hover{border-color:var(--amber);color:var(--amber);}
.bb-empty{text-align:center;padding:20px;color:var(--text-dim);font-size:12px;font-style:italic;border:1px dashed var(--border);border-radius:8px;}
.thumb-custom{position:relative;}
.thumb-custom-tag{position:absolute;top:6px;right:6px;background:var(--amber);color:#111;font-size:9px;font-weight:700;padding:2px 6px;border-radius:99px;}
@media(max-width:600px){.bb-ing-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));}}

/* ══ TAREFAS DO DIA ══ */
#tarefasSection{padding:16px 20px 0;}
.tarefas-hoje{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;}
.tarefas-hoje-header{padding:14px 18px;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.tarefas-hoje-dia{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--amber);}
.tarefas-hoje-sub{font-size:12px;color:var(--text-muted);}
.tarefas-progress-wrap{display:flex;align-items:center;gap:10px;}
.tarefas-pct{font-size:12px;color:var(--text-muted);white-space:nowrap;}
.tarefas-pct strong{color:var(--green);}
.tarefa-resp-sel{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;cursor:pointer;max-width:140px;}
.tarefa-resp-sel:focus{border-color:var(--amber);}
.tarefa-qty-in{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;width:64px;text-align:center;}
.tarefa-qty-in:focus{border-color:var(--amber);}

/* produção badge on tarefa */
.prod-badge{display:inline-flex;align-items:center;gap:3px;background:rgba(90,120,200,.15);border:1px solid rgba(90,120,200,.3);color:#8aacf0;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;}
.ing-search-opt{padding:9px 12px;font-size:13px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;}
.ing-search-opt:last-child{border-bottom:none;}
.ing-search-opt:hover{background:var(--surface2);}
.ing-search-opt.selected{background:var(--amber-dim);color:var(--amber);font-weight:600;}

/* ── Início ── */
#inicioSection{padding:0 0 40px;}
.inicio-hero{padding:16px 20px 16px;background:var(--surface);border-bottom:1px solid var(--border);}
.inicio-greeting{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:2px;color:var(--text);line-height:1.1;}
.inicio-greeting span{color:var(--amber);}
.inicio-date{font-size:12px;color:var(--text-muted);margin-top:3px;}
.inicio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 24px 0;}
.inicio-stat{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:11px 13px;cursor:pointer;transition:border-color .15s;}
.inicio-stat:hover{border-color:var(--amber);}
.inicio-stat-val{font-size:20px;font-weight:700;line-height:1;}
.inicio-stat-lbl{font-size:10px;color:var(--text-muted);margin-top:3px;letter-spacing:.5px;text-transform:uppercase;}
.inicio-block{margin:16px 24px 0;}
.inicio-block-hdr{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;}
.inicio-block-hdr a{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:0;color:var(--amber);cursor:pointer;text-transform:none;text-decoration:none;}
.inicio-block-hdr a:hover{text-decoration:underline;}
.evento-card{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:12px 15px;display:flex;align-items:flex-start;gap:11px;margin-bottom:8px;transition:border-color .15s;}
.evento-card:hover{border-color:var(--amber);}
.evento-card.hoje{border-left:3px solid var(--amber);}
.evento-card.urgente{border-left:3px solid var(--red);}
.evento-icon{font-size:24px;flex-shrink:0;margin-top:1px;}
.evento-body{flex:1;min-width:0;}
.evento-titulo{font-size:13px;font-weight:600;color:var(--text);line-height:1.3;}
.evento-desc{font-size:12px;color:var(--text-muted);margin-top:3px;line-height:1.5;}
.evento-meta{display:flex;align-items:center;gap:7px;margin-top:5px;flex-wrap:wrap;}
.evento-cat{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;}
.evento-data{font-size:11px;color:var(--text-muted);}
.evento-acts{display:flex;gap:4px;flex-shrink:0;align-self:flex-start;}
.ti-item{display:flex;align-items:center;gap:10px;padding:9px 13px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:7px;cursor:pointer;transition:background .1s;}
.ti-item:hover{background:var(--surface2);}
.ti-item.done{opacity:.5;}
.ti-item.done .ti-txt{text-decoration:line-through;color:var(--text-dim);}
.ti-cb{width:17px;height:17px;border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.ti-item.done .ti-cb{background:var(--green);border-color:var(--green);}
.ti-item.done .ti-cb svg{opacity:1;}
.ti-cb svg{opacity:0;}
.ti-txt{font-size:13px;color:var(--text);flex:1;}
.cl-prog{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:13px 15px;display:flex;align-items:center;gap:13px;margin-bottom:8px;cursor:pointer;transition:border-color .15s;}
.cl-prog:hover{border-color:var(--amber);}
.cl-prog-icon{font-size:24px;flex-shrink:0;}
.cl-prog-info{flex:1;}
.cl-prog-label{font-size:13px;font-weight:600;color:var(--text);}
.cl-prog-bar{height:4px;background:var(--surface2);border-radius:99px;margin-top:6px;overflow:hidden;}
.cl-prog-fill{height:100%;border-radius:99px;transition:width .4s;}
.cl-prog-pct{font-size:12px;color:var(--text-muted);white-space:nowrap;}
@media(max-width:600px){
  .inicio-hero,.inicio-block{padding-left:18px;padding-right:18px;}
  .inicio-stats{padding-left:18px;padding-right:18px;}
}

/* ── Lista de Compras ── */
.compra-item{display:flex;align-items:center;gap:11px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:background .1s;margin-bottom:6px;}
.compra-item:hover{background:var(--surface2);}
.compra-item.comprado .compra-nome{color:var(--text-dim);text-decoration:line-through;}
.compra-item.comprado .compra-cb{background:var(--green);border-color:var(--green);}
.compra-item.comprado .compra-cb svg{opacity:1;}
.compra-cb{width:18px;height:18px;border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.compra-cb svg{opacity:0;}
.compra-info{flex:1;min-width:0;}
.compra-nome{font-size:13px;font-weight:500;color:var(--text);}
.compra-meta{font-size:11px;color:var(--text-muted);margin-top:1px;}

/* produção section */
#producaoSection{padding:16px 20px 0;}
.prod-report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.prod-report-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1.5px;color:var(--text);}
.prod-date-filter{display:flex;align-items:center;gap:6px;}
.prod-date-in{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:5px 9px;font-size:12px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;}
.prod-date-in:focus{border-color:var(--amber);}
.prod-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px;}
.prod-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.prod-table-row{display:grid;grid-template-columns:1fr 110px 90px 80px 90px;align-items:center;padding:9px 13px;border-bottom:1px solid var(--border);gap:8px;}
.prod-table-row:last-child{border-bottom:none;}
.prod-table-row:hover{background:var(--surface2);}
.prod-table-row.hdr{background:var(--surface2);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);}
.prod-cell{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.prod-cell.muted{color:var(--text-muted);font-size:11px;}
.prod-item-badge{display:inline-block;background:var(--amber-dim);border:1px solid var(--amber);color:var(--amber);font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600;}

/* toggle checkbox style */
.prod-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;user-select:none;transition:all .15s;}
.prod-toggle:hover{border-color:var(--amber);}
.prod-toggle.active{background:rgba(90,120,200,.1);border-color:#8aacf0;}
.prod-toggle-box{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;}
.prod-toggle.active .prod-toggle-box{background:#8aacf0;border-color:#8aacf0;}
.prod-toggle-lbl{font-size:13px;color:var(--text);}

@media(max-width:600px){
  #producaoSection{padding-left:18px;padding-right:18px;}
  .prod-table-row{grid-template-columns:1fr 90px 70px 0 70px;}
  .prod-table-row .prod-cell:nth-child(4){display:none;}
}

.tarefas-empty{text-align:center;padding:32px 20px;color:var(--text-dim);font-size:13px;}
.tarefas-empty span{font-size:28px;display:block;margin-bottom:8px;}

.tarefa-item{display:flex;align-items:center;gap:12px;padding:11px 18px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;}
.tarefa-item:last-child{border-bottom:none;}
.tarefa-item:hover{background:var(--surface2);}
.tarefa-item.done .tarefa-text{color:var(--text-dim);text-decoration:line-through;}
.tarefa-item.done .tarefa-checkbox{background:var(--green);border-color:var(--green);}
.tarefa-item.done .tarefa-checkbox svg{opacity:1;}
.tarefa-item.nao-feita{background:rgba(232,80,80,.07);border-left:3px solid var(--red);}
.tarefa-item.nao-feita .tarefa-text{color:var(--red);opacity:.85;}
.tarefa-item.nao-feita .tarefa-checkbox{background:rgba(232,80,80,.2);border-color:var(--red);}
.tarefa-checkbox{width:19px;height:19px;border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.tarefa-checkbox svg{opacity:0;transition:opacity .15s;}
.tarefa-text{flex:1;font-size:13px;color:var(--text);line-height:1.4;}
.tarefa-cat{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600;flex-shrink:0;}
.cat-limpeza{background:rgba(62,207,110,.12);color:var(--green);}
.cat-preparo{background:rgba(232,160,32,.15);color:var(--amber);}
.cat-operacao{background:rgba(90,120,200,.15);color:#8aacf0;}
.cat-outro{background:var(--surface2);color:var(--text-muted);}

/* gestor de tarefas */
.tarefa-gestor{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.tarefa-gestor-header{padding:12px 18px;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.tarefa-gestor-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:1px;color:var(--text);}
.tarefa-gestor-list{display:flex;flex-direction:column;}
.tarefa-gestor-item{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border);}
.tarefa-gestor-item:last-child{border-bottom:none;}
.tarefa-gestor-name{flex:1;font-size:13px;color:var(--text);}
.tarefa-gestor-dias{display:flex;gap:4px;}
.dia-chip{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface2);font-size:9px;font-weight:700;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:default;}
.dia-chip.on{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}

/* tarefa form overlay */
.tarefa-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:5000;align-items:flex-end;justify-content:center;padding:0;}
.tarefa-overlay.open{display:flex;}
.tarefa-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:480px;height:92vh;overflow:hidden;display:flex;flex-direction:column;}
.tarefa-panel-header{flex-shrink:0;background:var(--surface);padding:14px 18px 12px;border-bottom:1px solid var(--border);border-radius:20px 20px 0 0;display:flex;align-items:center;justify-content:space-between;}
.tarefa-panel-title{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;color:var(--amber);}
.tarefa-panel-body{flex:1;padding:16px 18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0;}
.tarefa-panel-footer{flex-shrink:0;padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--surface);}

.dias-selector{display:flex;gap:6px;flex-wrap:wrap;}
.dia-sel-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface2);font-size:11px;font-weight:700;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.dia-sel-btn:hover{border-color:var(--amber);}
.dia-sel-btn.sel{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}

@media(max-width:600px){#tarefasSection{padding-left:18px;padding-right:18px;}}

/* ── App Footer ── */
.app-footer{text-align:center;padding:28px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.app-footer-logo{font-family:'Poppins',sans-serif;font-size:18px;font-weight:800;letter-spacing:-0.5px;color:var(--text);display:flex;align-items:center;gap:8px;}
.app-footer-version{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);background:var(--surface2);border:1px solid var(--border);padding:2px 10px;border-radius:99px;}
.app-footer-dev{font-size:12px;color:var(--text-muted);margin-top:2px;}
.app-footer-dev strong{color:var(--text);}
.app-footer-contact{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center;}
.app-footer-contact a{font-size:12px;color:var(--amber);text-decoration:none;display:flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid rgba(232,160,32,.25);border-radius:99px;transition:all .15s;background:rgba(232,160,32,.06);}
.app-footer-contact a:hover{background:var(--amber-dim);border-color:var(--amber);}
.app-footer-copy{font-size:10px;color:var(--text-dim);margin-top:6px;}


/* MOBILE 2026 — leitura, espaço e toque */
@media (max-width:767px){
  html{font-size:16px}
  body{line-height:1.5;padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .header{padding:0 16px!important}
  .header-top{min-height:64px;padding:12px 0!important;gap:12px}
  .header h1{font-size:23px!important}.header p{font-size:12px!important;line-height:1.4}
  .user-badge{min-height:42px;padding:6px 10px 6px 7px}.user-badge-avatar{width:30px;height:30px}

  #inicioSection{padding:0 14px 30px!important}
  #inicioSection>div{max-width:100%!important}
  #inicioOperacionalGrid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;margin-bottom:18px!important}
  #inicioOperacionalGrid>div{width:100%!important;margin-bottom:0!important;border-radius:16px!important}
  .inicio-hero{margin:0 -14px 4px;padding:18px 16px!important}
  .inicio-greeting{font-size:25px!important;line-height:1.25}.inicio-date{font-size:13px!important;margin-top:5px}
  .inicio-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:14px 0 0!important}
  .inicio-stat{min-height:92px;padding:16px!important;border-radius:14px!important}
  .inicio-stat-val{font-size:26px!important}.inicio-stat-label{font-size:11px!important;line-height:1.35}

  #agendaSection,#receitasSection,#ingredientesSection,#producaoSection,#cadastrosSection,#historicoSection,#custosSection{padding-left:16px!important;padding-right:16px!important}
  #tarefasSection{padding:0!important}#tarefasHoje>div{padding:6px 16px 30px!important}
  #comprasSection>div{padding-left:16px!important;padding-right:16px!important;max-width:100%!important}
  .fin-section{padding:18px 16px 28px!important}

  #agendaSection>div:first-child,.fin-toolbar,.tarefa-gestor-header{align-items:flex-start!important;row-gap:12px!important}
  .fin-toolbar-title{flex-basis:100%;font-size:20px!important}
  .fin-filters{max-width:100%;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .fin-filter{min-height:38px;padding:9px 14px}

  .section,.cl-section,.fin-item,.compra-item,.ti-item,.evento-card,.tarefa-panel,.fin-card{border-radius:14px!important}
  .cl-section{margin:14px 16px!important}.cl-section-header{min-height:62px;padding:15px 16px!important}
  .cl-item{min-height:64px;padding:16px!important}.cl-item-text{font-size:15px!important;line-height:1.5}
  .cl-item-check{width:30px;height:30px}

  .fin-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .fin-card{min-height:92px;padding:15px!important}.fin-card-value{font-size:20px!important;margin-top:5px}
  .fin-item,.compra-item{min-height:66px;padding:15px!important;gap:12px!important}
  .fin-item-name,.compra-nome{font-size:15px!important;line-height:1.4}
  .compra-meta,.fin-item-meta{font-size:12px!important;line-height:1.45}

  input,select,textarea{font-size:16px!important}
  .edit-input{min-height:48px;padding:13px 14px!important}textarea.edit-input{min-height:96px}
  .btn-primary,.btn-save,.btn-sec,.btn-add-fin{min-height:44px;padding:11px 15px!important;font-size:13px!important}
  .fin-act-btn,.fin-action-btn{width:40px!important;height:40px!important}

  .fin-overlay,.tarefa-overlay,.edit-overlay,.modal-overlay,.cl-editor-overlay{align-items:flex-end!important;padding:0!important}
  .fin-panel,.tarefa-panel,.edit-panel,.modal,.cl-editor-panel{width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important}
  .fin-panel-body,.tarefa-panel-body,.edit-panel-body,.cl-editor-body{padding:18px 16px 24px!important}
  .fin-panel-footer,.tarefa-panel-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important}

  .bottom-nav-inner{height:70px!important}.bottom-nav-item{min-height:70px;padding:8px 4px!important;font-size:10px!important;gap:5px!important}
  .bottom-nav-item .nav-icon{font-size:24px!important}
  #saveToast,.save-toast{width:calc(100% - 28px);white-space:normal!important;text-align:center;bottom:calc(78px + env(safe-area-inset-bottom))!important}
}
@media (max-width:380px){
  .inicio-stats,.fin-summary{grid-template-columns:1fr!important}
  #agendaSection>div:first-child{flex-wrap:wrap!important}
}


/* LANDING PÚBLICA MONTA */
#marketingScreen{position:fixed;inset:0;z-index:12000;overflow:auto;background:#050914;color:#fff;font-family:Inter,sans-serif;scroll-behavior:smooth}#marketingScreen.mk-hidden{display:none}.mk-shell{width:min(1160px,calc(100% - 40px));margin:auto}.mk-nav{position:sticky;top:0;z-index:4;background:#050914e8;border-bottom:1px solid #ffffff15;backdrop-filter:blur(15px)}.mk-navin{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.mk-brand{font:800 24px Poppins;display:flex;align-items:center;gap:10px}.mk-logo{width:30px;height:30px;border:4px solid #ff4f24;border-top-color:transparent;border-radius:9px;transform:rotate(45deg)}.mk-links,.mk-actions{display:flex;align-items:center;gap:20px}.mk-links a{color:#aab4c8;text-decoration:none;font:600 13px Inter}.mk-btn{border:0;border-radius:12px;padding:13px 18px;font:700 14px Inter;cursor:pointer;display:inline-flex;justify-content:center;transition:.2s}.mk-btn:hover{transform:translateY(-2px)}.mk-primary{background:#ff4f24;color:#080b13;box-shadow:0 12px 30px #ff4f2435}.mk-ghost{background:#ffffff0d;color:#fff;border:1px solid #ffffff20}.mk-hero{min-height:690px;padding:78px 0 62px;display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center}.mk-tag{display:inline-block;color:#ff8b80;background:#ff4f2415;border:1px solid #ff4f2455;border-radius:30px;padding:8px 12px;font:800 11px Inter;letter-spacing:.08em;text-transform:uppercase}.mk-hero h1{font:800 clamp(40px,5vw,66px)/1.05 Poppins;letter-spacing:-.045em;margin:21px 0}.mk-red{color:#ff4f24}.mk-hero p,.mk-title p{color:#9ca8bb;font-size:17px;line-height:1.7}.mk-ctas{display:flex;gap:12px;margin:29px 0 20px}.mk-ctas .mk-btn{padding:16px 21px}.mk-trust{display:flex;flex-wrap:wrap;gap:16px;color:#7e8ca3;font-size:12px}.mk-trust span:before{content:'✓';color:#48d093;margin-right:6px}.mk-dashboard{padding:18px;border:1px solid #ffffff1c;border-radius:24px;background:linear-gradient(145deg,#111a29,#080e1a);box-shadow:0 35px 90px #0009}.mk-dtop,.mk-cardhead{display:flex;justify-content:space-between;align-items:center}.mk-live{color:#48d093;background:#48d09315;padding:6px 9px;border-radius:20px;font-size:10px}.mk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0 11px}.mk-stat,.mk-card{background:#ffffff09;border:1px solid #ffffff12;border-radius:14px;padding:14px}.mk-stat small{color:#7d8aa0;font-size:9px;text-transform:uppercase}.mk-stat b{display:block;font:700 21px Poppins;margin-top:5px}.mk-card{margin-top:10px}.mk-cardhead{font-size:11px;margin-bottom:9px}.mk-cardhead span{color:#ff4f24}.mk-task{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #ffffff0d;color:#c7cfdd;font-size:10px}.mk-check{width:17px;height:17px;border:2px solid #ff4f24;border-radius:5px}.mk-task.done{color:#69758a;text-decoration:line-through}.mk-task.done .mk-check{background:#28a76d;border-color:#28a76d}.mk-task em{margin-left:auto;color:#718096;font-style:normal;font-size:9px}.mk-section{padding:90px 0}.mk-alt{background:#090f1c;border-block:1px solid #ffffff0d}.mk-title{max-width:760px;margin-bottom:42px}.mk-title.center{text-align:center;margin-inline:auto}.mk-title h2{font:800 clamp(30px,4vw,47px)/1.13 Poppins;letter-spacing:-.035em;margin:0 0 14px}.mk-pains{display:grid;grid-template-columns:1fr 1fr;gap:15px}.mk-pain,.mk-feature{background:#ffffff06;border:1px solid #ffffff13;border-radius:19px;padding:23px}.mk-pain{display:flex;gap:14px}.mk-pain i{font-style:normal;font-size:22px}.mk-pain b,.mk-feature h3{font:700 16px Poppins}.mk-pain p,.mk-feature p{color:#8b98ad;font-size:13px;line-height:1.6;margin:6px 0 0}.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mk-feature{min-height:225px}.mk-feature:hover{border-color:#ff4f2470;transform:translateY(-3px);transition:.2s}.mk-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#ff4f2418;font-size:22px;margin-bottom:18px}.mk-feature ul{list-style:none;padding:0;color:#b3bdcd;font-size:12px}.mk-feature li{margin:7px 0}.mk-feature li:before{content:'•';color:#ff4f24;margin-right:8px}.mk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:n}.mk-step{counter-increment:n}.mk-step:before{content:'0' counter(n);color:#ff4f24;font:800 36px Poppins}.mk-step h3{font:700 18px Poppins}.mk-step p{color:#8c99ae;font-size:14px;line-height:1.6}.mk-wa{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}.mk-phone{max-width:410px;margin:auto;background:#0b1419;border:8px solid #1c2934;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px #000}.mk-phone-top{background:#202c33;padding:14px;font-size:13px;font-weight:700}.mk-chat{padding:18px;min-height:350px}.mk-bubble{width:83%;padding:10px 12px;border-radius:10px;margin:10px 0;background:#202c33;font-size:12px;line-height:1.5}.mk-bubble.me{margin-left:auto;background:#005c4b}.mk-wa-list{display:grid;gap:15px;margin-top:25px}.mk-wa-item{display:flex;gap:12px;color:#9da9ba;font-size:12px}.mk-wa-item b{display:block;color:#fff;font-size:14px;margin-bottom:4px}.mk-final{padding:90px 0}.mk-finalbox{text-align:center;padding:62px 28px;border:1px solid #ff4f2455;border-radius:28px;background:radial-gradient(circle at 50% 0,#ff4f2435,transparent 58%),#0a101d}.mk-finalbox h2{font:800 clamp(31px,4vw,49px) Poppins;margin:0}.mk-finalbox p{color:#9da9bb;margin:12px auto 27px;max-width:610px}.mk-finalbox .mk-actions{justify-content:center}.mk-footer{padding:27px 0 38px;border-top:1px solid #ffffff12;color:#707d91;font-size:12px}.mk-footerin{display:flex;justify-content:space-between;gap:18px}
@media(max-width:850px){.mk-links{display:none}.mk-shell{width:min(100% - 28px,1160px)}.mk-hero{grid-template-columns:1fr;min-height:0;padding:55px 0}.mk-grid{grid-template-columns:1fr 1fr}.mk-wa{grid-template-columns:1fr}.mk-steps{grid-template-columns:1fr}.mk-step{padding:8px 0}}
@media(max-width:560px){.mk-navin{height:64px}.mk-brand{font-size:20px}.mk-nav .mk-ghost{display:none}.mk-nav .mk-btn{font-size:12px;padding:10px 12px}.mk-hero h1{font-size:36px}.mk-hero p{font-size:16px}.mk-ctas{flex-direction:column}.mk-ctas .mk-btn{width:100%}.mk-trust{display:grid;gap:8px}.mk-stats,.mk-pains,.mk-grid{grid-template-columns:1fr}.mk-section{padding:66px 0}.mk-title h2{font-size:31px}.mk-feature{min-height:0}.mk-finalbox .mk-actions{flex-direction:column}.mk-footerin{flex-direction:column}}


/* Identidade oficial Monta — símbolo único e laranja usado como destaque */
:root {
  --brand-orange: #FF4F24;
  --brand-orange-deep: #FF382E;
  --brand-orange-soft: rgba(255,79,36,.14);
}
.brand-mark { display:block; object-fit:contain; flex:0 0 auto; }
.brand-mark-login { width:56px; height:56px; }
.brand-mark-sidebar { width:32px; height:32px; }
.mk-brand { text-transform:lowercase; letter-spacing:-.04em; }
.mk-brand .mk-logo { width:36px; height:36px; object-fit:contain; border:0; border-radius:0; transform:none; }
.mk-brand span,.login-logo,.sidebar-logo-text { letter-spacing:-.045em; }
.mk-primary { color:#fff; background:linear-gradient(135deg,var(--brand-orange),var(--brand-orange-deep)); }
.mk-red { color:var(--brand-orange); }
.mk-tag { color:#ff9a7e; background:var(--brand-orange-soft); border-color:rgba(255,79,36,.38); }
.mk-footer-brand { display:inline-flex; align-items:center; gap:8px; font:800 18px Poppins,sans-serif; text-transform:lowercase; }
.mk-footer-brand img { width:27px; height:27px; }
@media(max-width:720px){
  .mk-brand .mk-logo{width:32px;height:32px}
  .brand-mark-login{width:48px;height:48px}
}


/* Suporte Monta — atalho flutuante do WhatsApp */
.monta-support-float{
  position:fixed;right:20px;bottom:20px;z-index:10040;
  display:flex;align-items:center;gap:8px;
  min-height:52px;padding:0 17px 0 14px;border:0;border-radius:999px;
  background:#25D366;color:#fff;box-shadow:0 8px 26px rgba(0,0,0,.32);
  font:700 13px 'Poppins',sans-serif;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.monta-support-float svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.monta-support-float:hover{transform:translateY(-2px);background:#20bd5a;box-shadow:0 11px 30px rgba(37,211,102,.3)}
.monta-support-float:focus-visible{outline:3px solid rgba(37,211,102,.35);outline-offset:3px}
@media(max-width:768px){
  .monta-support-float{right:14px;bottom:calc(78px + env(safe-area-inset-bottom));width:52px;padding:0;justify-content:center}
  .monta-support-float span{display:none}
}


/* Tarefas unificadas — estados claros e grupos separados */
.tasks-organized{padding:0 20px 32px;display:flex;flex-direction:column;gap:18px}
.task-group{background:var(--surface);border:1px solid var(--border);border-radius:15px;overflow:hidden}
.task-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:var(--surface2);border-bottom:1px solid var(--border)}
.task-group-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.task-group-head strong{font:700 14px 'Poppins',sans-serif;color:var(--text)}
.task-group-head span{font-size:11px;color:var(--text-muted)}
.task-group-head b{min-width:26px;height:26px;padding:0 8px;border-radius:99px;display:flex;align-items:center;justify-content:center;background:var(--surface3);color:var(--text);font-size:11px}
.task-group.pending{border-color:rgba(241,92,78,.32)}
.task-group.pending .task-group-head b{background:rgba(241,92,78,.13);color:#F15C4E}
.task-group.events .task-group-head b{background:rgba(138,172,240,.14);color:#8aacf0}
.task-group.completed .task-group-head b{background:rgba(62,207,110,.13);color:var(--green)}
.task-group-list{display:flex;flex-direction:column}
.task-unified-card{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface);transition:background .15s}
.task-unified-card:last-child{border-bottom:0}
.task-unified-card:hover{background:var(--surface2)}
.task-unified-card.is-event{cursor:pointer}
.task-unified-card.is-done{opacity:.68}
.task-unified-card.is-done .task-unified-title-row strong{text-decoration:line-through;color:var(--text-muted)}
.task-status-icon{width:27px;height:27px;border-radius:50%;flex:0 0 27px;display:flex;align-items:center;justify-content:center}
button.task-status-icon{padding:0;font:800 15px 'Inter',sans-serif;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.task-status-icon.pending{border:2px solid #F15C4E;background:transparent;color:transparent}
.task-status-icon.pending:hover{transform:scale(1.08);background:rgba(241,92,78,.14)}
.task-status-icon.done{border:2px solid var(--green);background:var(--green);color:#fff;cursor:default}
.task-status-icon.event{background:rgba(138,172,240,.14);font-size:15px}
.task-unified-body{flex:1;min-width:0}
.task-unified-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.task-unified-title-row strong{font-size:13px;color:var(--text);line-height:1.35}
.task-kind,.task-state,.task-urgent{font-size:8px;font-weight:800;padding:3px 6px;border-radius:99px;letter-spacing:.25px}
.task-state.pending{color:#F15C4E;background:rgba(241,92,78,.12)}
.task-state.done{color:var(--green);background:rgba(62,207,110,.12)}
.task-urgent{color:var(--red);background:rgba(232,80,80,.12)}
.task-unified-meta{font-size:10px;color:var(--text-muted);margin-top:6px;display:flex;gap:11px;flex-wrap:wrap}
.task-edit-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);padding:7px 10px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer}
.task-edit-btn:hover{border-color:var(--amber);color:var(--text)}
.task-open-arrow{font-size:24px;color:var(--text-muted);line-height:1}
@media(max-width:600px){
  .tasks-organized{padding:0 14px 28px;gap:14px}
  .task-group-head>div{display:block}
  .task-group-head span{display:block;margin-top:2px}
  .task-unified-card{align-items:flex-start;padding:13px 12px;gap:10px}
  .task-edit-btn{padding:6px 8px}
  .task-unified-meta{gap:7px}
}


/* Biblioteca de tarefas reutilizáveis */
.task-library-intro{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid rgba(241,92,78,.3);border-radius:14px;background:rgba(241,92,78,.07)}
.task-library-icon{width:39px;height:39px;border-radius:11px;background:rgba(241,92,78,.14);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.task-library-intro strong{display:block;font:700 14px 'Poppins',sans-serif;color:var(--text)}
.task-library-intro span{display:block;margin-top:3px;font-size:11px;line-height:1.45;color:var(--text-muted)}
.task-library-intro b{color:#F15C4E}
.task-group.library{border-color:rgba(241,92,78,.25)}
.task-group.library .task-group-head b{background:rgba(241,92,78,.13);color:#F15C4E}
.task-template-card{cursor:default}
.task-template-icon{width:29px;height:29px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 29px;background:rgba(241,92,78,.12);font-size:15px}
.task-template-hint{font-size:10px;color:var(--text-dim);margin-top:5px}
.task-schedule-btn{background:#F15C4E;border:0;color:#fff;padding:9px 13px;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px rgba(241,92,78,.18)}
.task-schedule-btn:hover{background:#d94f43;transform:translateY(-1px)}
.task-schedule-overlay{position:fixed;inset:0;z-index:10100;background:rgba(0,0,0,.84);display:flex;align-items:center;justify-content:center;padding:18px}
.task-schedule-panel{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:23px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.task-schedule-icon{width:48px;height:48px;border-radius:14px;background:rgba(241,92,78,.13);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:13px}
.task-schedule-title{font:800 18px 'Poppins',sans-serif;color:var(--text)}
.task-schedule-name{font-size:14px;font-weight:700;color:#F15C4E;margin-top:5px}
.task-schedule-help{font-size:12px;line-height:1.55;color:var(--text-muted);margin:10px 0 17px}
.task-schedule-label{display:block;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.task-schedule-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}
@media(max-width:600px){
  .task-template-card{flex-wrap:wrap}
  .task-template-card .task-unified-body{min-width:calc(100% - 42px)}
  .task-template-card .task-edit-btn{margin-left:42px}
  .task-template-card .task-schedule-btn{flex:1}
  .task-schedule-overlay{align-items:flex-end;padding:0}
  .task-schedule-panel{max-width:none;border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}
}


/* Dashboard financeiro — quatro estados de vencimento */
.payment-status-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;cursor:pointer;transition:border-color .15s,transform .15s}
.payment-status-card:hover{border-color:#F15C4E;transform:translateY(-1px)}
.payment-status-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.payment-status-head>span{font-size:12px;font-weight:600;color:var(--text-muted)}
.payment-status-icon{width:34px;height:34px;background:rgba(241,92,78,.15);border-radius:8px;display:flex;align-items:center;justify-content:center}
.payment-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.payment-status-item{min-width:0;border-radius:9px;padding:8px 9px;border:1px solid transparent}
.payment-status-item b{display:block;font:800 18px 'Poppins',sans-serif;line-height:1}
.payment-status-item span{display:block;font-size:9px;font-weight:700;margin-top:4px;white-space:nowrap}
.payment-status-item.overdue{color:#ef4444;background:rgba(239,68,68,.11);border-color:rgba(239,68,68,.23)}
.payment-status-item.paid{color:#22c55e;background:rgba(34,197,94,.11);border-color:rgba(34,197,94,.23)}
.payment-status-item.current{color:#facc15;background:rgba(250,204,21,.11);border-color:rgba(250,204,21,.23)}
.payment-status-item.upcoming{color:#f97316;background:rgba(249,115,22,.11);border-color:rgba(249,115,22,.23)}

.payment-status-loading{min-height:66px;border:1px dashed var(--border);border-radius:9px;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;color:var(--text-muted);font-size:10px;line-height:1.4}


/* Dashboard — checklist + calendário semanal */
.inicio-operacional-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px;align-items:stretch}
.inicio-checklists-card{display:flex;flex-direction:column;min-width:0}
.inicio-checklists-body{padding:12px;flex:1;display:flex;flex-direction:column}
.inicio-checklists-empty{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-muted);font-size:13px}
.inicio-week-calendar{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;min-width:0}
.inicio-week-head{padding:13px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.inicio-week-head strong{display:block;font:700 14px 'Poppins',sans-serif;color:var(--text)}
.inicio-week-head span{display:block;font-size:10px;color:var(--text-muted);margin-top:2px}
.inicio-week-head button{background:none;border:0;color:#F15C4E;font-size:11px;font-weight:700;cursor:pointer}
.inicio-week-days{display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));min-height:174px}
.inicio-week-day{min-width:0;border-right:1px solid var(--border);padding:8px 5px;background:var(--surface)}
.inicio-week-day:last-child{border-right:0}
.inicio-week-day.today{background:rgba(241,92,78,.07);box-shadow:inset 0 3px #F15C4E}
.inicio-week-date{text-align:center;margin-bottom:8px}
.inicio-week-date span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}
.inicio-week-date b{display:flex;width:27px;height:27px;margin:3px auto 0;border-radius:50%;align-items:center;justify-content:center;font:800 12px 'Poppins',sans-serif;color:var(--text)}
.inicio-week-day.today .inicio-week-date b{background:#F15C4E;color:#fff}
.inicio-week-events{display:flex;flex-direction:column;gap:5px}
.inicio-week-events button{width:100%;min-width:0;border:0;border-left:3px solid var(--event-color);border-radius:5px;background:var(--surface2);color:var(--text);padding:5px 4px;display:flex;align-items:center;gap:3px;text-align:left;cursor:pointer}
.inicio-week-events button:hover{filter:brightness(1.12)}
.inicio-week-events button i{font-style:normal;font-size:10px;flex-shrink:0}
.inicio-week-events button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700}
.inicio-week-events small{font-size:8px;text-align:center;color:var(--text-muted)}
.inicio-week-empty{display:block;text-align:center;color:var(--text-dim);font-size:11px;padding-top:8px}
.inicio-week-legend{border-top:1px solid var(--border);padding:8px 12px;display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:9px}
.inicio-week-legend span{display:flex;align-items:center;gap:4px}
.inicio-week-legend i{width:7px;height:7px;border-radius:50%;background:#8aacf0}
.inicio-week-legend i.notice{background:#F15C4E}
.inicio-week-legend button{margin-left:auto;background:rgba(241,92,78,.12);border:1px solid rgba(241,92,78,.25);color:#F15C4E;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:800;cursor:pointer}
@media(max-width:900px){
  .inicio-operacional-grid{grid-template-columns:1fr}
  .inicio-week-days{overflow-x:auto;grid-template-columns:repeat(7,minmax(78px,1fr))}
  .inicio-checklists-card,.inicio-week-calendar,#inicioQuadroAvisos{grid-column:1}
}


.inicio-week-legend i.task{background:#c084fc}
.inicio-week-legend i.event{background:#8aacf0}

/* Calendário mensal integrado ao atalho "Ver todos" */
.agenda-mensal-overlay{position:fixed;inset:0;z-index:10120;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:18px}
.agenda-mensal-panel{width:min(1120px,100%);max-height:94vh;background:var(--bg);border:1px solid var(--border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px rgba(0,0,0,.55)}
.agenda-mensal-head{padding:16px 19px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:12px}
.agenda-mensal-head strong{display:block;font:800 17px 'Poppins',sans-serif;color:var(--text)}
.agenda-mensal-head span{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}
.agenda-mensal-head>button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer}
.agenda-mensal-nav{padding:11px 18px;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:16px}
.agenda-mensal-nav b{min-width:180px;text-align:center;font:700 14px 'Poppins',sans-serif;color:var(--text);text-transform:capitalize}
.agenda-mensal-nav button{width:31px;height:31px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:20px;cursor:pointer}
.agenda-mensal-body{padding:15px;overflow:auto}
.agenda-mensal-grade{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));margin-top:14px}
.agenda-mensal-lista{display:flex;flex-direction:column;gap:7px;margin-top:18px;padding-bottom:8px}
@media(max-width:760px){
  .agenda-mensal-overlay{align-items:flex-end;padding:0}
  .agenda-mensal-panel{width:100%;max-height:94dvh;border-radius:22px 22px 0 0}
  .agenda-mensal-body{padding:12px;overflow-x:auto}
  .agenda-mensal-grade{min-width:760px}
  .agenda-mensal-head span{display:none}
}


/* Financeiro — situação de vencimento com as mesmas cores do dashboard */
.fin-due-card{background:color-mix(in srgb,var(--due-color) 10%,var(--surface));border:1px solid var(--due-color);border-left:5px solid var(--due-color);border-radius:14px;padding:16px;margin-bottom:10px;box-shadow:inset 0 0 28px color-mix(in srgb,var(--due-color) 7%,transparent)}
.fin-due-card [style*="background:var(--surface2)"]{background:color-mix(in srgb,var(--due-color) 6%,var(--surface2))!important;border-color:color-mix(in srgb,var(--due-color) 24%,var(--border))!important}
.fin-due-badge{font-size:10px;font-weight:800;padding:5px 9px;border-radius:99px;white-space:nowrap}
.fin-due-badge.overdue{color:#ef4444;background:rgba(239,68,68,.13)}
.fin-due-badge.paid{color:#22c55e;background:rgba(34,197,94,.13)}
.fin-due-badge.current{color:#facc15;background:rgba(250,204,21,.13)}
.fin-due-badge.upcoming{color:#f97316;background:rgba(249,115,22,.13)}


/* Leitura direta de tarefas futuras pelo calendário */
.task-calendar-detail-overlay{position:fixed;inset:0;z-index:12000;background:rgba(2,6,16,.82);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(5px)}
.task-calendar-detail{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.task-calendar-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--border)}
.task-calendar-detail-head small{display:block;color:#c084fc;font-size:11px;font-weight:800;margin-bottom:5px}
.task-calendar-detail-head h2{margin:0;color:var(--text);font:700 19px/1.3 Poppins,sans-serif}
.task-calendar-detail-head button{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;background:var(--surface2);color:var(--text);font-size:22px;cursor:pointer}
.task-calendar-detail-body{display:grid;gap:10px;padding:20px}
.task-calendar-info{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:10px}
.task-calendar-info span{color:var(--text-muted);font-size:12px}.task-calendar-info strong{color:var(--text);font-size:13px;text-align:right}
.task-calendar-instructions{padding:14px;border:1px solid rgba(192,132,252,.35);background:rgba(192,132,252,.08);border-radius:12px}
.task-calendar-instructions span{display:block;color:#c084fc;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.task-calendar-instructions p{margin:7px 0 0;color:var(--text);font-size:14px;line-height:1.55;white-space:pre-wrap}
.task-calendar-alert,.task-calendar-photo{padding:11px 13px;border-radius:10px;font-size:12px;font-weight:700}.task-calendar-alert{color:#ff6b6b;background:rgba(232,80,80,.12);border:1px solid rgba(232,80,80,.35)}.task-calendar-photo{color:#f0b13b;background:rgba(232,160,32,.1);border:1px solid rgba(232,160,32,.32)}
.task-calendar-detail-foot{padding:14px 20px 20px}.task-calendar-detail-foot button{width:100%;padding:12px;border:0;border-radius:10px;background:#F15C4E;color:#fff;font:700 13px Poppins,sans-serif;cursor:pointer}
/* Impede a antiga marca do restaurante de reaparecer duplicada no topo. */
#inicioSection>img,#appHeader>.restaurant-logo,#appHeader>.restaurante-logo,#appHeader>[data-restaurant-logo],.header-restaurant-logo{display:none!important}
