:root {
    /* --- CORES SEMÂNTICAS (NOVO PADRÃO) --- */
    --color-primary: #00f2ea;
    --color-primary-dark: #00c4bd;
    --color-primary-light: #00fff4;
    --color-secondary: #fceb9a;
    --color-accent-purple: #af52de;
    --color-success: #34c759;
    --color-warning: #ffcc00;
    --color-danger: #ff3b30;
    --color-danger-dark: #ff0055;
    
    /* --- FUNDOS (NOVO PADRÃO) --- */
    --bg-primary: #000000;
    --bg-secondary: #121212;
    --bg-card: #1e1f22;
    --bg-card-hover: #2b2d31;
    --bg-input: #000000;
    
    /* --- BORDAS (NOVO PADRÃO) --- */
    --border-color: rgba(255, 255, 255, 0.12);
    --border-color-hover: var(--color-primary);
    --border-color-input: rgba(255, 255, 255, 0.3);
    
    /* --- TEXTOS (NOVO PADRÃO) --- */
    --text-primary: #ffffff;
    --text-secondary: #a1a1a1;
    --text-tertiary: #69f0ae;

    /* --- SOMBRAS (NOVO PADRÃO) --- */
    --shadow-card: 0 4px 6px rgba(0, 0, 0, 0.3);
    --shadow-card-hover: 0 8px 16px rgba(0, 242, 234, 0.15);

    /* --- ESPAÇAMENTOS (NOVO PADRÃO) --- */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;

    /* --- TIPOGRAFIA (NOVO PADRÃO) --- */
    --font-family: 'Exo 2', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'Roboto Mono', monospace;
    --font-body: 'Roboto', -apple-system, sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;

    /* --- BORDAS ARREDONDADAS (NOVO PADRÃO) --- */
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
    --radius-full: 9999px;

    /* --- TRANSIÇÕES (NOVO PADRÃO) --- */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

    /* ========================================================= */
    /* --- LEGADO (MANTIDO TEMPORARIAMENTE PARA NÃO QUEBRAR O APP) --- */
    --primary-color: var(--color-primary);
    --primary-color-light: var(--color-primary-light);
    --primary-color-dark: var(--color-primary-dark);
    --primary-color-rgb: 0, 242, 234;
    --accent-yellow: var(--color-secondary);
    --accent-purple: var(--color-accent-purple);
    --red: var(--color-danger);
    --green: var(--color-success);
    --danger-color: var(--color-danger-dark);
    --glass-dark-bg: #1A1C1E;
    --glass-color: rgba(35, 38, 41, 0.75);
    --glass-border: var(--border-color);
    --glass-blur: 15px;
    --glass-text-primary: var(--text-primary);
    --glass-text-secondary: var(--text-secondary);
    --glass-on-color: var(--color-primary);
    --glass-on-glow: 0 0 12px rgba(0, 242, 234, 0.6);
    --glass-on-text: #000;
    --header-height: 64px;
    --footer-height: 64px;
    --input-height: 48px;
    --sidebar-width-desktop: 260px;
    --card-shadow-legacy: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0,0,0,0.2);
    --card-hover-shadow-legacy: 0 8px 24px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0,242,234,0.15);
    --standard-transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
    --font-display: var(--font-family);
    --card-border-radius: 12px;
    --soft-bezier: cubic-bezier(0.25, 0.8, 0.25, 1);
    --validity-green: var(--color-success);
    --validity-yellow: var(--color-warning);
    --validity-red: var(--color-danger);
    --highlight: var(--color-primary);
    --highlight-glow: var(--glass-on-glow);
}

/* ========================================================= */
/* --- COMPONENTE UNIVERSAL DE CARD (NOVO DESIGN SYSTEM) --- */
/* ========================================================= */
.card {
  background-color: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  transition: all var(--transition-base);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
}

.card--clickable {
  cursor: pointer;
}

/* Efeito de Hover protegido: só ativa se o dispositivo tiver mouse, evitando que o card fique preso após o toque */
@media (hover: hover) {
  .card--clickable:hover {
    background-color: var(--bg-card-hover);
    border-color: var(--border-color-hover);
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-2px);
    z-index: 2;
  }
}

/* Feedback tátil rápido para o momento do clique (funciona perfeito no celular e desktop) */
.card--clickable:active {
  transform: translateY(0) scale(0.98);
  border-color: var(--border-color-hover);
}

.card--clickable:active {
  transform: translateY(0) scale(0.98);
}

.card__header {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);
}

.card__drag-handle {
  color: var(--text-secondary);
  cursor: grab;
  font-size: var(--font-size-md);
  opacity: 0.5;
  transition: opacity var(--transition-fast);
}

.card:hover .card__drag-handle {
  opacity: 1;
}

.card__title {
  font-weight: 600;
  color: var(--text-primary);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.05rem;
  letter-spacing: 0.3px;
}

.card__badge {
  font-size: var(--font-size-xs);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-full);
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
}

.card__content {
  padding: var(--spacing-md);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.card__details {
  display: flex;
  gap: 15px;
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
  padding-left: 28px;
}

.card__details span {
  color: #ccc;
  font-weight: 600;
}

.card__footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-sm);
  padding: 0 var(--spacing-md) var(--spacing-md) var(--spacing-md);
  border-top: 1px solid var(--border-color);
  padding-top: var(--spacing-md);
  margin-top: auto;
}

.card__action {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: var(--font-size-md);
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.card__action:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
}

.card__action--danger:hover {
  background-color: rgba(255, 59, 48, 0.1);
  color: var(--color-danger);
}

.card__action:active {
  transform: scale(0.95);
}

/* Checkbox (Listas) */
.card__checkbox input[type="checkbox"] {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px;
  border: 2px solid #555 !important;
  border-radius: 6px !important;
  background-color: transparent !important;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
  padding: 0 !important;
}

.card__checkbox input[type="checkbox"]:checked {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.card__checkbox input[type="checkbox"]:checked::after {
  content: '✔'; font-size: 14px; color: #000; font-weight: 800;
}

.card--checked .card__title {
  color: #555; text-decoration: line-through;
}
.card--checked .card__details {
  opacity: 0.4; text-decoration: line-through;
}

/* Elementos do Card - Extras */
.card__validade { font-family: var(--font-mono); font-size: var(--font-size-xs); color: #666; margin-left: auto; }
.card__validade--expired { color: var(--color-danger); font-weight: bold; background: rgba(255, 59, 48, 0.1); padding: 2px 6px; border-radius: 4px; }

.card__stock { display: flex; gap: 3px; cursor: pointer; }
.card__stock-bar { width: 8px; height: 16px; background: #333; border-radius: 2px; }
.card__stock-bar.active { background: var(--color-success); }

.card__checked-actions.hidden { display: none; }
.card__checked-actions.visible {
  display: flex; margin-top: 10px; background: rgba(0,0,0,0.3);
  padding: 10px; border-radius: 8px; align-items: center;
  justify-content: space-between; gap: 10px;
}
.card__confirm-group { display: flex; gap: 10px; }
.card__confirm-group .card__action { font-size: 1.4rem; width: 40px; height: 40px; }

body.lua-mode {
    --highlight: var(--primary-color);
    --highlight-glow: var(--glass-on-glow);
    --glass-dark-bg: #25282b !important;
    --glass-color: rgba(50, 50, 50, 0.6) !important;
    --glass-border: rgba(255, 255, 255, 0.25) !important;
    --glass-text-primary: #EAEAEA;
    --glass-on-color: var(--primary-color);
    --glass-on-text: #000;
}

body.lua-mode .glass-card,
body.lua-mode .modal-box,
body.lua-mode .dashboard-card {
    background: rgba(50, 50, 50, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

body.lua-mode .page-subtitle,
body.lua-mode .glass-text-secondary {
    color: #ccc !important;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    background: var(--glass-dark-bg);
    color: var(--glass-text-primary);
    font-family: var(--font-display);
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color 0.5s ease, backdrop-filter 0.5s ease;
}

/* Scrollbar Bonita */
*::-webkit-scrollbar { width: 6px; height: 6px; }
*::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.1); border-radius: 4px; }
*::-webkit-scrollbar-thumb { background-color: rgba(255, 255, 255, 0.15); border-radius: 10px; border: 2px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background-color: var(--primary-color); border: 0; }
* { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.2) transparent; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

/* Scrollbars internas */
.app-panel-container-standalone .modules-area::-webkit-scrollbar-track,
.app-panel-container-standalone .modal-body::-webkit-scrollbar-track,
.app-panel-container-standalone .card-content::-webkit-scrollbar-track,
.app-panel-container-standalone textarea::-webkit-scrollbar-track,
#recipe-ingredients-list::-webkit-scrollbar-track,
#essentials-list-container::-webkit-scrollbar-track,
#autocomplete-suggestions::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); border-radius: 4px; }

.app-panel-container-standalone .modules-area::-webkit-scrollbar-thumb,
.app-panel-container-standalone .modal-body::-webkit-scrollbar-thumb,
.app-panel-container-standalone .card-content::-webkit-scrollbar-thumb { background-color: var(--glass-text-secondary); border-radius: 4px; border: 2px solid rgba(0,0,0,0.3); }

.app-panel-container-standalone .modules-area::-webkit-scrollbar-thumb:hover,
.app-panel-container-standalone .modal-body::-webkit-scrollbar-thumb:hover,
.app-panel-container-standalone .card-content::-webkit-scrollbar-thumb:hover { background-color: var(--glass-text-primary); }

/* Focus States */
.btn:focus-visible, .icon-button:focus-visible, .portal-btn.landing:focus-visible, .ai-cta-button:focus-visible, .nav-item:focus-visible, .node-wrapper:focus-visible, .footer-links a:focus-visible, .hamburger-menu-wrapper:focus-visible, .header-budget:focus-visible, .power-btn:focus-visible, .af-chatbot-toggle:focus-visible, .af-close:focus-visible, .close-modal-btn:focus-visible, .toggle-switch input:focus-visible + .toggle-slider, .placeholder-item.is-clickable:focus-visible, .saved-list-item:focus-visible, .recipe-list-item:focus-visible, .home-calc-item:focus-visible, .mobile-tab-btn:focus-visible, .clear-link:focus-visible, .auth-toggle-link:focus-visible, .stepper-btn:focus-visible { outline: 3px solid var(--glass-on-color); outline-offset: 2px; box-shadow: 0 0 10px var(--glass-on-glow); }
.btn:focus:not(:focus-visible), .icon-button:focus:not(:focus-visible), .portal-btn.landing:focus:not(:focus-visible), .ai-cta-button:focus:not(:focus-visible), .nav-item:focus:not(:focus-visible), .node-wrapper:focus:not(:focus-visible), .hamburger-menu-wrapper:focus:not(:focus-visible), .header-budget:focus:not(:focus-visible), .power-btn:focus:not(:focus-visible), .af-chatbot-toggle:focus:not(:focus-visible), .af-close:focus:not(:focus-visible), .close-modal-btn:focus:not(:focus-visible), .placeholder-item.is-clickable:focus:not(:focus-visible), .saved-list-item:focus:not(:focus-visible), .recipe-list-item:focus:not(:focus-visible), .home-calc-item:focus:not(:focus-visible), .clear-link:focus:not(:focus-visible), .auth-toggle-link:focus:not(:focus-visible), .stepper-btn:focus:not(:focus-visible) { outline: none; }

/* Animações */
@keyframes blink { 50% { opacity: 0; } }
@keyframes cta-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cta-fade-out { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-10px); } }
@keyframes breathe { 0%, 100% { text-shadow: 0 0 12px var(--highlight-glow), 0 0 3px var(--highlight); } 50% { text-shadow: 0 0 25px var(--highlight-glow), 0 0 8px var(--highlight); } }
@keyframes scroll-indicator-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(10px); } }
@keyframes dot-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes scroll-desktop { 0% { transform: translateX(0); } 100% { transform: translateX(calc( -1 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)) * var(--original-item-count) )); } }
@keyframes path { 0%, 34%, 71%, 100% { transform: scale(1); } 17% { transform: scale(var(--scale_path_1, 1)); } 49% { transform: scale(var(--scale_path_2, 1)); } 83% { transform: scale(var(--scale_path_3, 1)); } }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes growChart { from { opacity: 0; } to { opacity: 1; } }
@keyframes af-pop-in { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes fade-in-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes af-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.7); } 70% { box-shadow: 0 0 0 6px rgba(255, 59, 48, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); } }
@keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes glowPulse { 0% { transform: translateX(-50%) scale(1); opacity: 0.5; } 100% { transform: translateX(-50%) scale(1.1); opacity: 0.8; } }
@keyframes particleFloat { 0% { transform: translate(0, 0) scale(0); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translate(0px, -20px) scale(1); opacity: 0; } }
@keyframes scroll-mobile { 0% { transform: translateX(0); } 100% { transform: translateX(calc( -1 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)) * var(--original-item-count) )); } }

.video-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; background: #000; transition: opacity 0.5s ease; }
#panel-video-container { display: none; }
.video-container::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: linear-gradient(to bottom, rgba(0,0,0, 0.1), transparent 40%); }
.video-container::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E"), linear-gradient(to top, rgba(1, 2, 10, 0.98), transparent 60%), linear-gradient(to left, rgba(1, 2, 10, 0.7), transparent 60%), linear-gradient(rgba(20, 20, 30, 0.1), rgba(20, 20, 30, 0.1)); }
.background-video { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; object-fit: cover; transform: translate(-50%, -50%); opacity: 0; transition: opacity 3s ease-in-out, filter 0.5s ease; filter: brightness(0.95); }
.background-video.active { opacity: 1; }

.main-container { width: 100%; position: relative; isolation: isolate; }
.page-section { width: 100vw; min-height: 100vh; padding: 8rem 2rem 4rem 2rem; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; }
#inicio { height: 100vh; min-height: 700px; align-items: center; padding-top: 2rem; padding-bottom: 2rem; justify-content: center; position: sticky; top: 0; z-index: 1; background-color: transparent; }
.page-section:not(#inicio) { background: rgba(26, 28, 30, 0.7); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); color: var(--glass-text-primary); z-index: 2; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.top-header { position: absolute; top: 0; left: 0; padding: 1.5rem 2rem; display: flex; justify-content: space-between; align-items: center; width: 100%; font-family: var(--font-mono); font-size: 0.8rem; color: var(--glass-text-primary); opacity: 0.9; z-index: 5; }
.verse-info { text-align: left; }
.dynamic-info { text-align: right; font-family: var(--font-mono); }
.dynamic-info strong { color: var(--accent-yellow); }

.identity-container { width: 100%; max-width: 1200px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-left: 10vw; text-align: left; }
/* === HERO REBRANDING (MARCA) === */
.hero-brand {
    font-size: clamp(3.5rem, 9vw, 6.5rem);
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 0.5rem;
    letter-spacing: -2px; /* Visual moderno "tight" */
    text-shadow: 0 4px 30px rgba(0,0,0,0.5);
}

.hero-brand .highlight {
    color: var(--primary-color);
    text-shadow: 0 0 20px var(--glass-on-glow);
}

.hero-tagline {
    font-size: clamp(0.9rem, 2.5vw, 1.2rem);
    font-weight: 400;
    color: var(--primary-color);
    letter-spacing: 6px; /* Espaçado para contraste */
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    text-shadow: 0 0 10px rgba(0, 242, 234, 0.4);
}

.simple-subtitle { 
    font-family: var(--font-body); 
    font-weight: 400; 
    font-size: clamp(1rem, 2.5vw, 1.2rem); 
    color: #ccc; 
    line-height: 1.6; 
    max-width: 550px; 
    margin-top: 1.5rem; 
    opacity: 0.9; 
}

.scroll-down-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); color: var(--glass-text-secondary); font-family: var(--font-mono); font-size: 0.8rem; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; opacity: 0.7; animation: scroll-indicator-bob 2s ease-in-out infinite; z-index: 3; }
.scroll-down-indicator i { font-size: 1.2rem; }

/* ================= MENU HAMBURGUER PREMIUM (DROPDOWN) ================= */

/* Esconde elementos antigos se ainda existirem */
.hamburger-menu-wrapper, .node-cluster { display: none !important; }

/* 1. O Botão Hambúrguer (Quadrado Moderno) */
.hamburger-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001; /* Acima de tudo */
    display: none; /* Desktop esconde */
}

@media (max-width: 991px) {
    .hamburger-container { display: block; }
}

.hamburger-minimal {
    width: 45px;
    height: 45px;
    background: rgba(20, 20, 20, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.hamburger-line {
    width: 20px;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* Animação do ícone ao abrir */
.hamburger-minimal.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary-color);
}

.hamburger-minimal.active .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); width: 22px; }
.hamburger-minimal.active .hamburger-line:nth-child(2) { opacity: 0; }
.hamburger-minimal.active .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); width: 22px; }


/* 2. O Container do Menu (Dropdown Vertical) */
.menu-dropdown {
    position: fixed;
    top: 80px; /* Logo abaixo do header */
    left: 20px;
    right: 20px;
    z-index: 10000;
    
    /* Estado Fechado */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px) scale(0.95);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

/* Estado Aberto */
.menu-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: all;
}

/* Fundo de Vidro do Menu */
.menu-dropdown .menu-blur-bg {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.95); /* Quase preto sólido para leitura */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    z-index: -1;
}

/* Conteúdo do Menu */
.menu-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Links do Menu */
.menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.2rem;
    text-decoration: none;
    color: #ccc;
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 500;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.menu-link:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    transform: translateX(5px);
}

.menu-link .badge-mini {
    font-size: 0.7rem;
    padding: 2px 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Separador */
.menu-separator {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 0.5rem 0;
}

/* CTA Destaque (Botão Final) */
.menu-cta-highlight {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark));
    padding: 1rem;
    border-radius: 12px;
    text-decoration: none;
    color: #000;
    font-weight: 700;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 0.5rem;
    box-shadow: 0 4px 15px rgba(0, 242, 234, 0.3);
    transition: transform 0.2s;
}

.menu-cta-highlight:active {
    transform: scale(0.98);
}

.section-content { width: 100%; max-width: 1200px; text-align: center; padding: 0 1rem; display: flex; flex-direction: column; align-items: center; position: relative;}
.page-title { font-size: clamp(2.5rem, 6vw, 3rem); font-weight: 300; letter-spacing: 2px; color: var(--highlight); text-shadow: 0 0 10px var(--highlight-glow); }
.page-subtitle { font-size: 1rem; color: var(--glass-text-secondary); margin-top: 0.5rem; margin-bottom: 4rem; max-width: 600px; }
#dicas-valiosas .section-content, #receitas-landing .section-content, #calculadora .section-content { padding: 2.5rem; max-width: 1400px; }

.mobile-tab-nav { display: none; width: 100%; border-bottom: 1px solid var(--glass-border); margin-bottom: 1.5rem; }
.mobile-tab-btn { flex: 1; background: none; border: none; color: var(--glass-text-secondary); padding: 1rem 0.2rem; font-size: 1rem; font-family: inherit; font-weight: 500; cursor: pointer; border-bottom: 3px solid transparent; transition: color 0.3s ease, border-bottom-color 0.3s ease; white-space: nowrap; }
.mobile-tab-btn i { display: none; }
.mobile-tab-btn.active { color: var(--highlight); border-bottom-color: var(--highlight); }

.glass-card { background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: none; border-radius: 8px; color: var(--glass-text-primary); transition: background-color 0.3s ease, border-color 0.3s ease; }

.carousel-slider { width: 100%; margin: auto; overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); }
.carousel-track { --card-width-desktop: 300px; --card-margin-desktop: 1.5rem; --card-width-mobile: 80vw; --card-margin-mobile: 1rem; display: flex; width: calc( (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)) * var(--original-item-count) * 2 ); animation: scroll-desktop 40s linear infinite; }
.carousel-slider:hover .carousel-track { animation-play-state: paused; }
.carousel-track .content-card { width: var(--card-width-desktop); margin: 0 var(--card-margin-desktop); flex-shrink: 0; background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: none; border-radius: 8px; overflow: hidden; color: var(--glass-text-primary); display: flex; flex-direction: column; height: 450px; transition: transform 0.3s var(--soft-bezier), box-shadow 0.3s var(--soft-bezier), border-color 0.3s var(--soft-bezier), background-color 0.3s ease; }
.carousel-track .content-card:hover { transform: translateY(-10px); border-color: var(--glass-on-color); box-shadow: 0 5px 20px rgba(0,0,0,0.3), 0 0 15px var(--glass-on-glow); }
.content-card img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; display: block; filter: grayscale(0.1) contrast(0.95) brightness(0.95); transition: filter 0.3s var(--soft-bezier); }
.content-card:hover img { filter: grayscale(0) contrast(1) brightness(1); }
.content-card-content { padding: 1rem 1.2rem; flex-grow: 1; display: flex; flex-direction: column; }
.content-card-content h3 { font-size: 1.2rem; font-family: 'Kalam', cursive; font-weight: 700; color: var(--glass-text-primary); margin-bottom: 0.5rem; }
.content-card-content p { font-size: 0.9rem; line-height: 1.5; color: var(--glass-text-secondary); flex-grow: 1; opacity: 1; }

.ai-cta-button { --border_radius: 9999px; --transtion: 0.3s ease-in-out; cursor: pointer; position: relative; display: flex; align-items: center; gap: 0.5rem; transform-origin: center; padding: 0.8rem 1.5rem; background-color: transparent; border: none; border-radius: var(--border_radius); transform: scale(calc(1 + (var(--active, 0) * 0.05))); transition: transform var(--transtion); margin-top: 2rem; outline-offset: 4px; }
.ai-cta-button::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background-color: var(--glass-color); border: 1px solid var(--glass-border); border-radius: var(--border_radius); box-shadow: none; transition: background-color var(--transtion), border-color var(--transtion), box-shadow var(--transtion); z-index: 0; }
.ai-cta-button:active::before { background-color: rgba(0,0,0,0.2); }
.ai-cta-button::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background-color: rgba(var(--primary-color-rgb), 0.1); background-image: radial-gradient(at 50% 90%, hsla(178, 100%, 70%, 0.3) 0px, transparent 50%); opacity: var(--active, 0); border-radius: var(--border_radius); transition: opacity var(--transtion); z-index: 2; }
.ai-cta-button:is(:hover, :focus-visible) { --active: 1; }
.ai-cta-button:is(:hover, :focus-visible)::before { border-color: var(--glass-on-color); }
.ai-cta-button:active { transform: scale(0.98); }
.ai-cta-button .dots_border { display: none; }
.ai-cta-button .sparkle { position: relative; z-index: 10; width: 1.25rem; }
.ai-cta-button .sparkle .path { fill: var(--glass-text-secondary); transition: fill var(--transtion); }
.ai-cta-button:is(:hover, :focus) .sparkle .path { fill: var(--highlight); animation: path 1.5s linear 0.5s infinite; }
.ai-cta-button .sparkle .path:nth-child(1) { --scale_path_1: 1.2; } .ai-cta-button .sparkle .path:nth-child(2) { --scale_path_2: 1.2; } .ai-cta-button .sparkle .path:nth-child(3) { --scale_path_3: 1.2; }
.ai-cta-button .text_button { position: relative; z-index: 10; font-size: 0.9rem; font-family: var(--font-mono); color: var(--glass-text-secondary); transition: color var(--transtion), background-image var(--transtion); }
.ai-cta-button:is(:hover, :focus) .text_button { background-image: linear-gradient(90deg, var(--glass-text-primary) 0%, var(--highlight) 120%); background-clip: text; -webkit-background-clip: text; color: transparent; }

#sobre { min-height: auto; padding-bottom: 6rem;}
.about-contact-container { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; width: 100%; max-width: 1100px; align-items: stretch; }
.about-card, .contact-card { padding: 2.5rem; }
.about-card h2, .contact-card h2 { font-size: 1.8rem; color: var(--highlight); margin-bottom: 1rem; }
.about-card p { line-height: 1.8; color: var(--glass-text-primary); opacity: 0.9; }

.contact-form .form-group { margin-bottom: 1rem; }
.contact-form input, .contact-form textarea { width: 100%; padding: 1rem 1.2rem; background-color: rgba(20, 20, 20, 0.6) !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; box-shadow: inset 0 2px 5px rgba(0,0,0,0.2) !important; color: #EAEAEA !important; border-radius: 12px !important; font-family: inherit; font-size: 1rem; transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: var(--glass-text-secondary); opacity: 0.8; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--glass-on-color) !important; background-color: rgba(20, 20, 20, 0.9) !important; box-shadow: 0 0 0 4px rgba(0, 242, 234, 0.15) !important; }
.contact-form textarea { resize: vertical; }

/* === BOTÃO MODERNO UI/UX === */
.modern-start-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 20px;
    padding: 14px 35px;
    background: rgba(255, 255, 255, 0.05); /* Vidro */
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px; /* Pílula */
    text-decoration: none;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.modern-start-btn .btn-text {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s;
}

.modern-start-btn .btn-icon-wrapper {
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 0.9rem;
    transition: all 0.4s ease;
}

/* --- ESTADO HOVER (AO PASSAR O MOUSE - LARANJA) --- */
.modern-start-btn:hover {
    background: #FF7B00; /* Laranja Sunset Vibrante */
    border-color: #FF7B00;
    
    /* Glow Laranja Intenso */
    box-shadow: 0 0 40px rgba(255, 123, 0, 0.6); 
    
    transform: translateY(-5px) scale(1.02);
    padding-right: 35px;
}

.modern-start-btn:hover .btn-text {
    color: #000; /* Texto preto para leitura perfeita no laranja */
}

.modern-start-btn:hover .btn-icon-wrapper {
    background: #000; /* Bolinha preta */
    color: #FF7B00; /* Seta Laranja combinando */
    transform: translateX(5px) rotate(-45deg);
}

.modern-start-btn:active {
    transform: scale(0.95);
    box-shadow: 0 0 15px rgba(255, 123, 0, 0.4);
}

@media (max-width: 600px) {
    .modern-start-btn { width: 100%; justify-content: space-between; }
    .hero-brand { font-size: 3.5rem; line-height: 1; }
    .hero-tagline { font-size: 0.85rem; letter-spacing: 3px; }
}

.page-footer { padding: 4rem 2rem 2rem 2rem; background: var(--glass-dark-bg); color: var(--glass-text-secondary); text-align: center; font-family: var(--font-mono); font-size: 0.9rem; position: relative; z-index: 2; border-top: 1px solid var(--glass-border); }
.footer-content { max-width: 1200px; margin: auto; }
.footer-links { margin-bottom: 1.5rem; }
.footer-links a { color: var(--glass-text-secondary); margin: 0 1rem; text-decoration: none; transition: color 0.3s; border-radius: 3px; }
.footer-links a:hover { color: var(--highlight); }

.calculator-info-container { display: grid; grid-template-columns: 1fr 0.9fr; gap: 2rem; width: 100%; max-width: 1100px; align-items: stretch; }
#home-calculator { position: relative; padding: 0; border-radius: 12px; display: flex; flex-direction: column; height: 560px; overflow: hidden; background: #222528; border: 1px solid rgba(0,0,0,0.5); box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.15), inset -1px -1px 1px rgba(0, 0, 0, 0.5), 0 10px 30px rgba(0,0,0,0.3); }
.widget-header { padding: 1rem 1.5rem; border-bottom: 1px solid var(--glass-border); cursor: grab; display: none; align-items: center; gap: 0.7rem; background-color: rgba(0,0,0,0.1); }
.widget-header h3 { font-size: 1.1rem; color: var(--glass-text-primary); margin: 0; }
.widget-header i { color: var(--highlight); }
#home-calculator:active { cursor: grabbing; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2); z-index: 10; }
.info-card { padding: 2.5rem; border-radius: 12px; display: flex; flex-direction: column; height: 520px; overflow-y: auto; color: var(--glass-text-primary); }
#info-card-calculator.info-card { height: 560px; }
.info-card h2 { font-size: 1.8rem; color: var(--highlight); margin-bottom: 1rem; }
.info-card p, .info-card ul { font-size: 0.9rem; line-height: 1.6; color: var(--glass-text-primary); opacity: 0.9; }
.info-card ul { padding-left: 1.5rem; margin-top: 0.75rem; margin-bottom: 0.75rem; }
.calculator-display-section { display: flex; flex-direction: column; gap: 0.5rem; align-items: center; margin-bottom: 0.5rem; padding: 1rem 1.5rem 0 1.5rem; background: rgba(0,0,0,0.2); border-bottom: 1px solid var(--glass-border); box-shadow: inset 0 2px 4px rgba(0,0,0,0.2); }
.calculator-result-area { text-align: left; width: 100%; position: relative; }
.calculator-result-area p { font-size: 0.75rem; color: var(--glass-text-secondary); margin: 0; }
#home-calculator-result { font-size: 1.8rem; color: var(--highlight); margin: 0.2rem 0; font-family: var(--font-mono); text-shadow: 0 0 15px var(--highlight-glow); line-height: 1.1; word-break: break-all; }
#calculator-context-sentence { font-size: 0.7rem; line-height: 1.5; color: var(--glass-text-secondary); min-height: 0; }
#calculator-context-sentence strong { color: var(--accent-yellow); }
#home-calculator-clear.clear-link { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 0.5rem; right: 0.5rem; background: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); border-radius: 50%; width: 32px; height: 32px; font-size: 0; color: var(--glass-text-secondary); text-decoration: none; z-index: 2; transition: color 0.3s, border-color 0.3s, background-color 0.3s; }
#home-calculator-clear.clear-link i { font-size: 0.9rem; margin-right: 0; }
#home-calculator-clear.clear-link:hover { color: var(--highlight); border-color: var(--highlight); background: rgba(var(--primary-color-rgb), 0.1); }
.calculator-items-section { border-top: 1px solid rgba(255, 255, 255, 0.1); padding: 1.5rem 1.5rem 1.5rem 1.5rem; display: flex; flex-direction: column; overflow: hidden; flex-grow: 1; padding-right: 2px; }
.calculator-items-section h3 { color: var(--highlight); font-weight: 400; margin-bottom: 1rem; font-size: 1.1rem; display: none; }
.sustainability-score-container { margin-top: 0.5rem; }
.sustainability-score { font-size: 0.9rem; font-weight: 600; padding: 0.4rem 0.8rem; border-radius: 20px; display: inline-flex; align-items: center; gap: 0.5rem; border: 1px solid; }
.sustainability-score.green { color: var(--validity-green); border-color: var(--validity-green); background-color: rgba(40, 167, 69, 0.1); }
.sustainability-score.yellow { color: var(--validity-yellow); border-color: var(--validity-yellow); background-color: rgba(255, 193, 7, 0.1); }
.sustainability-score.red { color: var(--validity-red); border-color: var(--validity-red); background-color: rgba(220, 53, 69, 0.1); }
#home-calculator-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(55px, 1fr)); gap: 2rem 1rem; overflow-y: auto; overflow-x: hidden; flex-grow: 1; padding: 0 0.5rem 1.5rem 0; margin-top: 1rem; padding-right: 2px; }
#home-calculator-grid::-webkit-scrollbar { width: 4px; }
#home-calculator-grid::-webkit-scrollbar-track { background: transparent; }
#home-calculator-grid::-webkit-scrollbar-thumb { background-color: var(--glass-text-secondary); opacity: 0.5; border-radius: 4px; border: none; }
.home-calc-item { background: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); box-shadow: none; aspect-ratio: 1/1; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; transition: transform 0.2s var(--soft-bezier), border-color 0.2s var(--soft-bezier), background-color 0.2s var(--soft-bezier); position: relative; border-radius: 12px; padding: 5px; text-align: center; overflow: visible; }
.home-calc-item:hover { transform: scale(1.05); border-color: var(--glass-on-color); background: rgba(var(--primary-color-rgb), 0.1); z-index: 1; }
.home-calc-item:active { transform: scale(0.95); background: rgba(0,0,0,0.4); transition-duration: 0.1s; }
.calc-item-name { position: absolute; bottom: -1.6em; left: 50%; transform: translateX(-50%); font-size: 0.6em; font-family: var(--font-mono); color: var(--glass-text-secondary); line-height: 1.1; font-weight: 500; width: max-content; max-width: 70px; text-align: center; transition: color 0.3s var(--soft-bezier), background-color 0.3s var(--soft-bezier), padding 0.3s var(--soft-bezier), bottom 0.3s var(--soft-bezier), transform 0.3s var(--soft-bezier), font-size 0.3s var(--soft-bezier); opacity: 1; pointer-events: none; }
.home-calc-item:hover .calc-item-name { bottom: -1.7em; transform: translateX(-50%); color: var(--glass-text-primary); background: transparent; padding: 0; font-size: 0.65em; max-width: 70px; width: max-content; }
.home-calc-item .calc-count { position: absolute; top: 4px; right: 4px; background: var(--highlight); color: #000; font-size: 0.7rem; border-radius: 50%; width: 18px; height: 18px; display: flex; justify-content: center; align-items: center; font-weight: bold; transform: scale(0); transition: transform 0.3s ease; border: 1px solid var(--glass-border); z-index: 2; }
.home-calc-item.has-count .calc-count { transform: scale(1); }
.home-calc-item .calc-item-icon { width: 120%; height: 120%; object-fit: contain; pointer-events: none; transition: opacity 0.3s var(--soft-bezier), transform 0.3s var(--soft-bezier); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 1; }
.home-calc-item:hover .calc-item-icon { opacity: 1; transform: translate(-50%, -50%) scale(1.15); }

#card-viewer-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); display: flex; justify-content: center; align-items: center; z-index: 3000; perspective: 1500px; padding: 1rem; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s; }
#card-viewer-modal-overlay.active { opacity: 1; visibility: visible; }
.card-viewer-content { position: relative; width: 100%; max-width: 500px; height: auto; max-height: 85vh; transform-style: preserve-3d; transform: scale(0.8) rotateY(30deg); opacity: 0; transition: transform 0.5s var(--soft-bezier), opacity 0.5s var(--soft-bezier); background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); color: var(--glass-text-primary); border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,0.5); padding: 2rem; overflow: auto; }
#card-viewer-modal-overlay.active .card-viewer-content { transform: scale(1) rotateY(0deg); opacity: 1; }
#card-viewer-inner h4 { color: var(--highlight); margin-bottom: 1rem; font-size: 1.4rem; }
#card-viewer-inner p, #card-viewer-inner ul { line-height: 1.7; font-size: 1.1rem; color: var(--glass-text-primary); }
#card-viewer-inner ul { padding-left: 1.5rem; margin-top: 1rem; }
.close-modal-btn { position: absolute; top: 1rem; right: 1rem; background: none; border: none; font-size: 1.5rem; color: var(--glass-text-secondary); cursor: pointer; transition: color 0.3s ease, transform 0.3s ease; z-index: 10; width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; }
.close-modal-btn:hover { color: var(--glass-text-primary); transform: rotate(90deg); }

.app-panel-container-standalone { display: none; width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 100; font-family: var(--font-body); font-size: 14px; background: var(--glass-dark-bg); color: var(--glass-text-primary); }
.app-sidebar { position: fixed; left: 0; top: 0; transform: translateX(-100%); width: var(--sidebar-width-desktop); height: 100%; background-color: var(--glass-color); border-right: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); box-shadow: none; padding: 1rem; display: flex; flex-direction: column; z-index: 1100; transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
.app-sidebar.is-open { transform: translateX(0); }
.sidebar-header { margin: 0.5rem 0 2rem 0; padding: 0; }
.sidebar-header-logo { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.sidebar-header-logo span:first-child { font-family: 'Exo 2', sans-serif; font-weight: 200; font-size: 1.8rem; letter-spacing: 1px; color: var(--glass-text-primary); }
.sidebar-header-logo span:last-child { font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 1.8rem; color: var(--glass-on-color); text-shadow: var(--glass-on-glow); margin-top: -8px; }
.main-nav { display: flex; flex-direction: column; gap: 0.5rem; flex-grow: 1; }
.nav-item { background: transparent; border: 1px solid transparent; color: var(--glass-text-secondary); padding: 0.9rem 1rem; text-align: left; cursor: pointer; border-radius: 8px; display: flex; align-items: center; gap: 1rem; font-size: 0.95rem; width: 100%; transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.1s ease; font-weight: 600; font-family: inherit; box-shadow: none; }
.nav-item i { width: 22px; text-align: center; font-size: 1.1rem; color: var(--glass-text-secondary); transition: color 0.25s ease; }
.nav-item:hover { color: var(--glass-on-color); background: rgba(255, 255, 255, 0.1); border-color: var(--glass-border); }
.nav-item:active { background: rgba(0,0,0,0.2); transform: scale(0.98); }
.nav-item.active { background: var(--glass-color); color: var(--glass-on-color); border: 1px solid var(--glass-on-color); box-shadow: 0 0 10px var(--glass-on-glow); }
.nav-item.active i, .nav-item:hover i { color: var(--glass-on-color); }
.sidebar-footer { border-top: 1px solid var(--glass-border); padding-top: 1rem; display: flex; justify-content: center; align-items: center; }
.app-panel-container-standalone .icon-button { background: var(--glass-color); border: 1px solid var(--glass-border); color: var(--glass-text-secondary); font-size: 1.1rem; cursor: pointer; width: 38px; height: 38px; border-radius: 50%; transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, transform 0.1s ease; box-shadow: none; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.app-panel-container-standalone .icon-button:hover { color: var(--glass-on-color); border-color: var(--glass-on-color); background: rgba(255,255,255,0.2); }
.app-panel-container-standalone .icon-button:active { background: rgba(0,0,0,0.2); transform: scale(0.95); }
.sidebar-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); backdrop-filter: blur(5px); z-index: 1099; opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s; }
.sidebar-overlay.is-visible { opacity: 1; visibility: visible; }

.main-header { height: var(--header-height); background: var(--glass-color); border-bottom: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); box-shadow: none; display: flex; justify-content: space-between; align-items: center; padding: 0 1rem; flex-shrink: 0; z-index: 100; }
.header-left { display: flex; align-items: center; gap: 0.8rem; }
#menu-toggle-btn { display: block; }
.header-budget { display: flex; align-items: center; gap: 0.7rem; font-size: 0.8rem; color: var(--glass-text-secondary); background: var(--glass-color); padding: 5px 10px; border-radius: 8px; border: 1px solid var(--glass-border); box-shadow: none; cursor: pointer; transition: color 0.25s ease, border-color 0.2s ease, background-color 0.2s ease; }
.header-budget:hover { color: var(--glass-text-primary); border-color: var(--glass-border); }
.header-budget:active { background: rgba(0,0,0,0.2); }
.header-budget i { font-size: 0.9rem; color: var(--green); margin-right: 2px;}
.header-budget-bar { width: 70px; height: 5px; background-color: rgba(0,0,0,0.2); border-radius: 3px; overflow: hidden; border: 1px solid var(--glass-border); }
.header-budget-bar-fill { height: 100%; width: 40%; background-color: var(--green); border-radius: 3px; transition: width 0.3s ease;}
.header-budget-values { display: flex; gap: 5px; font-family: 'Roboto Mono', monospace; font-size: 0.85rem; }
.header-actions { display: flex; align-items: center; gap: 0.8rem; }
.header-utility-cluster { display: flex; align-items: center; gap: 8px; background: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); border-radius: 50px; padding: 4px 6px; box-shadow: none; }
.header-utility-cluster .icon-button { font-size: 1.05rem; width: 32px; height: 32px; background: transparent; border: none; box-shadow: none; }
.header-utility-cluster .icon-button:hover { color: var(--glass-on-color); background: rgba(255,255,255,0.2); }
.header-utility-cluster .icon-button:active { background: rgba(0,0,0,0.2); }

.app-main-content { width: 100%; flex-grow: 1; display: flex; flex-direction: column; }
.modules-area { flex-grow: 1; overflow-y: auto; background-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.module-container { display: none; flex-direction: column; width: 100%; height: 100%; overflow-y: auto; padding: 1rem; }
.module-container.active { display: flex; animation: fadeIn 0.4s ease-out; }
#module-inicio.module-container { padding: 1rem; }
#module-inicio .dashboard-grid-desktop { display: flex; flex-direction: column; gap: 1rem; width: 100%; height: 100%; }
.dashboard-module { display: flex; flex-direction: column; min-height: 400px; width: 100%; }

.dashboard-card { background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); box-shadow: none; border-radius: var(--card-border-radius); display: flex; flex-direction: column; overflow: hidden; width: 100%; flex-grow: 1; color: var(--glass-text-primary); }
.card-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem; /* Mais espaçamento */ border-bottom: 1px solid var(--glass-border); flex-shrink: 0; background-color: rgba(0,0,0,0.1); cursor: move; }
.card-header h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 0.7rem; font-weight: 600; flex: 1; min-width: 0; }
.card-header h3 i { font-size: 1.1em; color: var(--glass-on-color); text-shadow: 0 0 5px var(--glass-on-glow); }
.card-header .card-actions { display: flex; gap: 0.6rem; flex-shrink: 0; margin-top: 2px; } /* Ajuste fino */
.card-header .card-actions .icon-button { font-size: 1rem; width: 32px; height: 32px; }
.card-content { flex-grow: 1; overflow-y: auto; padding: 1.2rem; padding-right: 2px; }
.card-content.no-padding-top { padding-top: 0; }
.mobile-back-btn { display: none; }

/* Tela cheia de edição de lista (desktop e mobile) */
.list-management-layout.view-active-list .saved-lists-column { display: none; }
.list-management-layout.view-active-list .active-list-column { display: flex; flex: 1; }
.list-management-layout.view-active-list .mobile-back-btn { display: block; }

.empty-list-message { text-align: center; color: var(--glass-text-secondary); padding: 2rem; font-style: italic; }
.empty-list-message.error { color: var(--red); font-style: normal; font-weight: 500; }

.add-item-form-container { overflow-x: auto; padding: 0.8rem 1rem; border-bottom: 1px solid var(--glass-border); background: rgba(0,0,0,0.1); }
.add-item-form { display: flex; flex-wrap: nowrap; gap: 0.5rem; align-items: flex-end; }
.add-item-form .form-group { margin-bottom: 0; }
.add-item-form label { display: block; margin-bottom: 0.3rem; font-size: 0.7rem; color: var(--glass-text-secondary); font-weight: bold; }

/* ================= SYSTEMA DE INPUTS & FORMULÁRIOS (PREMIUM) ================= */
input, select, textarea, .modal-box input {
    height: var(--input-height);
    background: rgba(10, 10, 10, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--radius-md) !important;
    padding: 0 16px !important;
    color: #fff !important; font-family: var(--font-body) !important;
    font-size: 1rem !important; width: 100%; outline: none !important;
    transition: all 0.2s ease !important;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 2px rgba(0, 242, 234, 0.15) !important;
    background: rgba(0, 0, 0, 0.9) !important;
}
input:-webkit-autofill { -webkit-box-shadow: 0 0 0 30px #1A1C1E inset !important; -webkit-text-fill-color: #fff !important; }
textarea { height: auto; padding-top: 12px !important; resize: vertical; }

/* Input Grande (Para Edição de Títulos) */
.input-large {
    font-size: 1.3rem !important;
    font-weight: 600;
    height: 55px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Customização do Select */
select {
    appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 1em !important; padding-right: 30px !important;
    background-color: rgba(30, 30, 30, 0.95) !important;
}
option { background-color: #222 !important; color: #fff !important; }

/* Stepper Control (+ / -) */
.stepper-control {
    display: flex; align-items: center; gap: 5px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-md); padding: 4px;
}
.stepper-btn {
    width: 45px; height: 45px; border-radius: 8px;
    background: rgba(255, 255, 255, 0.05); color: #fff;
    border: none; cursor: pointer; font-size: 1.2rem;
    display: flex; align-items: center; justify-content: center;
    transition: 0.2s;
}
.stepper-btn:hover { background: var(--primary-color); color: #000; }
#pantry-edit-qtd {
    text-align: center; border: none !important; background: transparent !important;
    font-size: 1.4rem !important; font-weight: bold; width: 60px !important;
    box-shadow: none !important;
}

/* Range Slider (Visual de Estoque) */
input[type=range].stock-range {
    height: 6px; -webkit-appearance: none; width: 100%;
    background: rgba(255, 255, 255, 0.1); border-radius: 5px; border: none !important;
    padding: 0 !important; margin: 15px 0;
}
input[type=range].stock-range::-webkit-slider-thumb {
    -webkit-appearance: none; height: 24px; width: 24px;
    border-radius: 50%; background: var(--primary-color);
    box-shadow: 0 0 15px var(--primary-glow); cursor: pointer; margin-top: -9px;
    border: 2px solid #fff;
}
input[type=range].stock-range::-webkit-slider-runnable-track {
    width: 100%; height: 6px; cursor: pointer;
    background: linear-gradient(90deg, #ff3b30 0%, #ffcc00 50%, #34c759 100%);
    border-radius: 5px;
}
.stock-labels { display: flex; justify-content: space-between; font-size: 0.75rem; color: #888; margin-top: -5px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }


/* SELECT VISÍVEL (CORREÇÃO PEDIDA) */
select {
    background-color: rgba(30, 30, 30, 0.95) !important; /* Fundo escuro sólido */
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important; /* Seta Branca */
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 1em !important;
    padding-right: 30px !important;
}
option {
    background-color: #222 !important;
    color: #fff !important;
}

.modal-box input::placeholder, .modal-box textarea::placeholder, .auth-modal-content input::placeholder, .contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255, 255, 255, 0.4) !important; opacity: 1; }

.add-item-form .form-group-flex { flex: 1 1 100px; min-width: 100px; }
.add-item-form .form-group-small { flex: 0 0 55px; }
.add-item-form .form-group-medium { flex: 0 0 70px; }

.btn-add-item { background: var(--glass-color); color: var(--glass-text-primary); border: 1px solid var(--glass-border); border-radius: 6px; width: 36px; height: 36px; font-size: 1rem; cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.1s ease; flex-shrink: 0; padding: 0; line-height: 36px; box-shadow: none; }
.btn-add-item:hover { color: var(--glass-on-color); border-color: var(--glass-on-color); background: rgba(255,255,255,0.2); }
.btn-add-item:active { box-shadow: none; background: rgba(0,0,0,0.2); transform: scale(0.95); }

/* ================= ITENS DE LISTA & DESPENSA (CLEAN & PREMIUM) ================= */
.placeholder-item {
    background: #181818 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 14px 16px; /* Mais espaçamento interno */
    margin-bottom: 10px; /* Mais espaçamento entre itens */
    display: flex; flex-direction: column; gap: 8px;
    transition: transform 0.2s ease, border-color 0.2s ease;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
.placeholder-item:hover {
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.4);
    z-index: 2;
}
.placeholder-item.is-clickable { cursor: pointer; }

.item-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.item-main-info { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.item-main-info input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border: 2px solid #555; border-radius: 6px; background-color: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
.item-main-info input[type="checkbox"]:checked { background-color: var(--primary-color); border-color: var(--primary-color); }
.item-main-info input[type="checkbox"]:checked::after { content: '✔'; font-size: 14px; color: #000; font-weight: 800; }

.item-name { font-size: 1.05rem; font-weight: 600; color: #fff; letter-spacing: 0.3px; }

.drag-handle { font-size: 1.1rem; color: #555; cursor: grab; opacity: 0; transition: opacity 0.2s; }
.placeholder-item:hover .drag-handle { opacity: 1; }

.item-details-grid {
    display: flex; gap: 15px; font-size: 0.85rem; color: #888;
    padding-left: 36px; /* Alinhado com o texto */
}
.item-details-grid span { color: #ccc; font-weight: 600; margin-left: 4px; }

.item-validade { font-family: var(--font-mono); font-size: 0.8rem; color: #666; margin-left: auto; display: inline-block; }
.item-validade.expiring { color: var(--red); font-weight: bold; background: rgba(255, 59, 48, 0.1); padding: 2px 6px; border-radius: 4px; }

/* Botões de Ação do Item (Discretos) */
.item-actions { display: flex; gap: 5px; }
.item-actions .icon-button {
    background: transparent; border: none; color: #555; width: 32px; height: 32px;
}
.item-actions .icon-button:hover { background: rgba(255,255,255,0.1); color: #fff; }
.item-actions .delete-btn:hover { background: rgba(255, 59, 48, 0.1); color: var(--red); }

/* Item Checado (Comprado) */
.placeholder-item.is-checked .item-name { color: #555; text-decoration: line-through; }
.placeholder-item.is-checked .item-details-grid { opacity: 0.4; text-decoration: line-through; }
.placeholder-item.is-checked .item-actions { display: none; }

/* Ações ao Marcar (Enviar p/ Despensa) */
.item-checked-actions { display: none; margin-top: 10px; background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; align-items: center; justify-content: space-between; gap: 10px; }
.placeholder-item.is-checked .item-checked-actions { display: flex; }
.confirm-buttons { display: flex; gap: 10px; }
.confirm-buttons .icon-button { font-size: 1.4rem; width: 40px; height: 40px; }

/* Estoque Visual */
.item-stock-level { display: flex; gap: 3px; cursor: pointer; }
.stock-bar { width: 8px; height: 16px; background: #333; border-radius: 2px; }
.stock-bar.active { background: var(--green); }
.stock-level-label { display: none; }


.sortable-ghost { background: rgba(0, 242, 234, 0.1); border: 1px dashed var(--glass-on-color); opacity: 0.7; }
.sortable-chosen { cursor: grabbing !important; background: rgba(0, 242, 234, 0.05); }

.dashboard-col-planner { overflow: hidden; background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); box-shadow: none; border-radius: var(--card-border-radius); display: flex; flex-direction: column; height: 100%; }
.planner-header { cursor: move; border-bottom: 1px solid var(--glass-border); padding: 0.8rem 1.5rem; margin-bottom: 0.8rem; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; }
.planner-content { padding: 0 1rem 1rem 1rem; overflow-y: auto; flex-grow: 1; }
.planner-day-row { display: flex; justify-content: space-between; align-items: center; background-color: rgba(0,0,0,0.1); padding: 0.8rem 1rem; border-radius: 8px; margin-bottom: 0.6rem; border: 1px solid var(--glass-border); transition: background-color 0.2s ease, border-color 0.2s ease; }
.planner-day-row:hover { background-color: rgba(255,255,255,0.1); border-color: var(--glass-on-color); }
.planner-day-row strong { color: var(--glass-on-color); flex-basis: 40px; font-size: 0.9rem; font-family: 'Roboto Mono', monospace; text-shadow: 0 0 3px var(--glass-on-glow); }
.planner-meals { display: flex; flex-direction: column; gap: 4px; font-size: 0.8rem; color: var(--glass-text-secondary); flex-grow: 1; font-family: inherit; }
.planner-meals span { display: block; }
.planner-meals strong { color: var(--glass-text-primary); font-weight: 600; cursor: pointer; }
.planner-meals strong:hover { color: var(--glass-on-color); }
.planner-day-actions .icon-button { font-size: 0.8rem; }

.list-management-layout { display: flex; flex-direction: column; gap: 1.5rem; height: 100%; }
.saved-lists-column { display: flex; flex-direction: column; gap: 1rem; }
.saved-lists-column .dashboard-card { height: auto; }
.btn-create-list { display: flex; align-items: center; justify-content: center; gap: 0.7rem; background: var(--glass-color); color: var(--glass-text-primary); border: 1px solid var(--glass-border); border-radius: 8px; width: 100%; padding: 0.8rem; font-size: 1rem; font-weight: 600; cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease; box-shadow: none; text-shadow: none; }
.btn-create-list:hover { color: var(--glass-on-color); border-color: var(--glass-on-color); background: rgba(var(--primary-color-rgb), 0.1); box-shadow: 0 0 10px var(--glass-on-glow); }
.btn-create-list:active { box-shadow: none; transform: scale(0.98); background: rgba(0,0,0,0.2); }
.saved-list-item { background-color: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); border-radius: 8px; padding: 0.8rem 1rem; display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; margin-bottom: 0.5rem; box-shadow: none; }
.saved-list-item:hover { background-color: rgba(255,255,255,0.1); }
.saved-list-item.active { background-color: var(--glass-color); border: 1px solid var(--glass-on-color); box-shadow: 0 0 8px var(--glass-on-glow); }
.saved-list-item span { font-weight: 600; }
.saved-list-item .saved-list-name { flex-grow: 1; padding-right: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; cursor: pointer; }
.saved-list-item .saved-list-name:hover { color: var(--glass-on-color); }
.saved-list-item .saved-list-actions { display: flex; gap: 0.2rem; flex-shrink: 0; }
.saved-list-item .saved-list-actions .icon-button { font-size: 1rem; width: 30px; height: 30px; }
.saved-list-item i.fa-chevron-right { display: none; }

/* Quando Lista/Receita reutiliza o card padrão (.placeholder-item), zeramos os estilos antigos */
.saved-list-item.placeholder-item,
.recipe-list-item.placeholder-item {
    display: block;
    padding: 0;
    background: transparent;
    border: none;
    margin-bottom: 0.75rem;
}
.saved-list-item.placeholder-item:hover,
.recipe-list-item.placeholder-item:hover { background: transparent; }
.recipe-list-item.placeholder-item .item-details-grid { grid-template-columns: 1fr; }
.recipe-list-item.placeholder-item .item-details-grid div { white-space: normal; overflow: hidden; text-overflow: ellipsis; }
.active-list-column { display: flex; flex-direction: column; }
.active-list-column .card-header { background-color: transparent; }
#active-list-title input { font: inherit; color: var(--glass-text-primary); background: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); outline: none; flex-grow: 1; min-width: 100px; padding: 5px 8px; border-radius: 6px; box-shadow: none; }
#active-list-title input:focus { border-color: var(--glass-on-color); box-shadow: 0 0 5px var(--glass-on-glow); }

#module-receitas.module-container { padding: 0; }
.recipe-layout { display: flex; flex-direction: column; height: 100%; }
.recipe-list-column { flex: 1; background-color: var(--glass-dark-bg); overflow-y: auto; }
.recipe-list-column .dashboard-card { border-radius: 0; box-shadow: none; border: 0; background: transparent; }
.recipe-list-column .card-content { padding: 1rem; }
.recipe-list { display: flex; flex-direction: column; gap: 0.5rem; padding-top: 1rem;}
.recipe-list-item { display: flex; justify-content: space-between; align-items: center; padding: 1rem; background: var(--glass-color); border: 1px solid var(--glass-border); box-shadow: none; border-radius: 8px; transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; cursor: pointer; }
.recipe-list-item:hover { background-color: rgba(255,255,255,0.2); }
.recipe-list-item.active { background-color: var(--glass-color); border-color: var(--glass-on-color); box-shadow: 0 0 10px var(--glass-on-glow); }
.recipe-list-info h4 { margin: 0 0 0.25rem 0; font-size: 1.05rem; }
.recipe-list-info p { margin: 0; font-size: 0.9rem; color: var(--glass-text-secondary); }
.recipe-list-actions { display: flex; gap: 0.5rem; }
.recipe-list-actions .icon-button { font-size: 1.1rem; width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: #888; }
.recipe-list-actions .icon-button:hover { color: #FFF; border-color: var(--glass-on-color); background: rgba(255,255,255,0.15); }
.recipe-list-actions .view-recipe-btn.desktop-only { display: none; }
.recipe-detail-column { display: none; flex: 1; background: var(--glass-color); border-left: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); box-shadow: none; flex-direction: column; height: 100%; }
.recipe-detail-header { padding: 0.9rem 1.2rem; border-bottom: 1px solid var(--glass-border); display: flex; justify-content: space-between; align-items: center; }
.recipe-detail-header h3 { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--glass-on-color); }
.recipe-detail-content { padding: 1.5rem; overflow-y: auto; flex-grow: 1; }
.recipe-detail-content h4 { color: var(--glass-on-color); margin-top: 1rem; margin-bottom: 0.5rem; }
.recipe-detail-content p, .recipe-detail-content ul { font-size: 0.95rem; line-height: 1.6; color: var(--glass-text-primary); }
.recipe-detail-content ul { padding-left: 1.2rem; margin-bottom: 1rem; }
.recipe-detail-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: var(--glass-text-secondary); text-align: center; }
.recipe-detail-placeholder i { font-size: 3rem; margin-bottom: 1rem; }
.recipe-detail-footer { padding: 1rem 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); background-color: rgba(0,0,0,0.3); display: flex; gap: 1.5rem; justify-content: center; }
#recipe-detail-modal .modal-footer .icon-button { width: 50px; height: 50px; font-size: 1.2rem; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 12px; color: var(--glass-text-secondary); display: flex; align-items: center; justify-content: center; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
#recipe-detail-modal .modal-footer .icon-button:hover { transform: translateY(-3px); background: rgba(255, 255, 255, 0.15); border-color: var(--primary-color); color: var(--primary-color); box-shadow: 0 8px 15px rgba(0, 242, 234, 0.15); }
#recipe-detail-modal .modal-footer .delete-recipe-btn:hover { border-color: var(--red); color: var(--red); box-shadow: 0 8px 15px rgba(255, 59, 48, 0.15); }

/* ================= PLANEJADOR PREMIUM (VISIBILIDADE TOTAL) ================= */
.planner-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem;
}
.planner-day-card {
    background: #181818 !important; /* Fundo sólido escuro */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px; overflow: hidden; display: flex; flex-direction: column;
}
.planner-day-header {
    background: rgba(255, 255, 255, 0.05);
    padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 700; color: var(--primary-color); letter-spacing: 1px;
    display: flex; justify-content: space-between; align-items: center;
}
.planner-meal-slots { padding: 12px; display: flex; flex-direction: column; gap: 12px; }

.planner-meal-slot {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 8px; padding: 10px;
}
.planner-meal-slot strong {
    display: block; font-size: 0.75rem; color: #888;
    text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px;
}

/* O ITEM DA REFEIÇÃO (Correção Crítica de Legibilidade) */
.planner-meal-item {
    background: rgba(255, 255, 255, 0.08); /* Fundo claro sobre escuro */
    border-left: 4px solid var(--primary-color); /* Indicador visual */
    padding: 10px 12px; border-radius: 6px;
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 6px; transition: all 0.2s ease;
}
.planner-meal-item:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateX(2px);
}
.meal-item-name {
    font-size: 0.95rem; font-weight: 600; color: #fff; /* Branco Puro */
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1;
}
.planner-meal-item.completed { opacity: 0.6; }
.planner-meal-item.completed .meal-item-name { text-decoration: line-through; color: #888; }

/* Ações do Planejador (Só aparecem no hover) */
.meal-item-actions {
    display: flex; gap: 5px; opacity: 0.3; transition: opacity 0.2s;
}
.planner-meal-item:hover .meal-item-actions { opacity: 1; }
.meal-item-actions .icon-button {
    width: 28px; height: 28px; font-size: 0.8rem; background: rgba(0,0,0,0.5);
}

.add-meal-slot-btn {
    width: 100%; padding: 8px; font-size: 0.85rem;
    background: transparent; border: 1px dashed rgba(255, 255, 255, 0.2);
    color: #888; border-radius: 6px; cursor: pointer; transition: 0.2s;
}
.add-meal-slot-btn:hover {
    border-color: var(--primary-color); color: var(--primary-color); background: rgba(0, 242, 234, 0.05);
}

.analysis-dashboard { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.chart-widget { background: var(--glass-color); border: 1px solid var(--glass-border); box-shadow: none; border-radius: 8px; padding: 1.5rem; }
.chart-widget h4 { margin-top: 0; }
.chart-container { width: 100%; height: 300px; display: flex; align-items: flex-end; justify-content: space-around; gap: 1rem; }
.chart-canvas-container { position: relative; width: 100%; height: 350px; }
.chart-widget canvas { max-width: 100% !important; max-height: 100% !important; }
.chart-bar { display: none; }
.analysis-config-panel { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem; background-color: rgba(0,0,0,0.2); border-radius: 8px; margin-bottom: 1.5rem; border: 1px solid var(--glass-border); }
.analysis-config-panel .form-group { flex: 1 1 200px; margin-bottom: 0; }
.analysis-config-panel .form-group label { font-size: 0.8rem; color: var(--glass-text-secondary); margin-bottom: 0.3rem; }
.analysis-config-panel select { width: 100%; padding: 0.6rem 0.8rem; background-color: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); box-shadow: none; border-radius: 6px; color: var(--glass-text-primary); font-size: 0.9rem; font-family: inherit; }
.analysis-config-panel select option { color: #000; background: #fff; }

.config-section { margin-bottom: 2rem; }
.config-section h4 { margin-bottom: 1rem; color: var(--glass-on-color); border-bottom: 1px solid var(--glass-border); padding-bottom: 0.5rem; }
.form-group.inline { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
.form-group.inline label { margin-bottom: 0; }
.toggle-switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.2); border: 1px solid var(--glass-border); transition: .4s; border-radius: 24px; }
.toggle-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; box-shadow: 0 1px 3px rgba(0,0,0,0.3); transition: .4s; border-radius: 50%; }
input:checked + .toggle-slider { background-color: var(--glass-on-color); box-shadow: 0 0 5px var(--glass-on-glow); border-color: var(--glass-on-color); }
input:checked + .toggle-slider:before { background-color: #fff; transform: translateX(20px); }

/* ================= SYSTEMA DE MODAIS FIXOS ================= */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(8px);
    z-index: 2000; display: none; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s ease; padding: 1rem;
}
.modal-overlay.active, .modal-overlay.is-visible { display: flex; opacity: 1; visibility: visible; }

/* A CAIXA (Estrutura Flex Vertical) */
.modal-box {
    width: 100%; max-width: 500px; max-height: 90vh;
    background: #1e1e1e; border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 50px rgba(0,0,0,0.8);
    display: flex; flex-direction: column; /* Isso segura o footer embaixo */
    overflow: hidden; transform: translateY(20px);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.modal-overlay.active .modal-box, .modal-overlay.is-visible .modal-box { transform: translateY(0); }

/* HEADER (Fixo no Topo) */
.modal-header, .card-header {
    height: var(--header-height); min-height: var(--header-height);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 20px; border-bottom: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.03) !important; flex-shrink: 0;
}
.modal-header h3, .card-header h3 {
    margin: 0; font-size: 1.1rem; color: #fff; font-weight: 700;
    display: flex; align-items: center; gap: 10px; flex-grow: 1;
}

/* BODY (Conteúdo com Scroll) */
.modal-body, .card-content {
    flex: 1; overflow-y: auto; padding: 20px; background: transparent;
}

/* FOOTER (Ações Fixas Embaixo) */
.modal-footer, .card-footer {
    height: var(--footer-height); min-height: var(--footer-height);
    padding: 0 20px; background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid var(--glass-border);
    display: flex; align-items: center; justify-content: flex-end;
    gap: 12px; flex-shrink: 0;
}

/* Footer padronizado (ícones: compartilhar / imprimir / pdf) */
.card-footer.module-actions-footer{
    justify-content: flex-end;
}
.card-footer.module-actions-footer .icon-button{
    width: 46px;
    height: 46px;
    font-size: 1.05rem;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
@media (max-width: 600px){
    .card-footer.module-actions-footer{ padding: 0 12px; gap: 10px; }
    .card-footer.module-actions-footer .icon-button{ width: 44px; height: 44px; }
}

/* Listas Fullscreen no Mobile */
.list-fullscreen-box {
    max-width: 100% !important; width: 100vw !important;
    height: 100vh !important; max-height: 100vh !important;
    border-radius: 0 !important; margin: 0 !important;
    background: #000 !important;
}

/* ================= SYSTEMA GLOBAL DE BOTÕES ================= */
.btn {
    height: var(--input-height); padding: 0 24px;
    border-radius: var(--radius-md); border: none;
    font-family: var(--font-display); font-weight: 600; font-size: 0.95rem;
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-transform: uppercase; letter-spacing: 0.5px; position: relative;
    overflow: hidden; box-shadow: none; text-decoration: none;
}
.btn:active { transform: scale(0.96); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; filter: grayscale(1); background: rgba(255,255,255,0.05); }

/* PRIMÁRIO (Salvar) */
.btn-primary, .btn.primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-dark) 100%);
    color: #000; box-shadow: 0 4px 15px var(--primary-glow);
}
.btn-primary:hover, .btn.primary:hover {
    box-shadow: 0 6px 20px var(--primary-glow); filter: brightness(1.1); transform: translateY(-1px);
}

/* SECUNDÁRIO (Cancelar) */
.btn-secondary, .btn.secondary {
    background: rgba(255, 255, 255, 0.05); border: 1px solid var(--glass-border); color: var(--glass-text-primary);
}
.btn-secondary:hover, .btn.secondary:hover {
    background: rgba(255, 255, 255, 0.1); border-color: #fff; color: #fff;
}

/* PERIGO (Excluir) */
.btn-danger, .btn.danger {
    background: rgba(255, 0, 85, 0.1); border: 1px solid rgba(255, 0, 85, 0.3); color: #ff4d7d;
}
.btn-danger:hover, .btn.danger:hover {
    background: rgba(255, 0, 85, 0.2); box-shadow: 0 0 15px rgba(255, 0, 85, 0.2); color: #fff;
}

/* TERCIÁRIO (Links) */
.btn-tertiary { background: transparent; color: var(--primary-color); padding: 0 16px; height: auto; }
.btn-tertiary:hover { text-decoration: underline; }

/* ICON BUTTON (Redondos) */
.icon-button {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05);
    color: var(--glass-text-primary); display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 1.1rem; transition: all 0.2s ease; padding: 0;
}
.icon-button:hover {
    background: rgba(255, 255, 255, 0.15); border-color: #fff; color: #fff; transform: translateY(-2px);
}

.form-group { margin-bottom: 1rem; }
.form-group label { display: block; font-size: 0.9rem; font-weight: 600; color: var(--glass-text-secondary); margin-bottom: 0.5rem; }
.form-row, .form-row-trio { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1rem; }
.detail-item strong { color: var(--glass-text-secondary); font-weight: 600; }
.detail-item span { color: var(--glass-text-primary); font-weight: 600; font-family: 'Roboto Mono', monospace; }
hr.divider { border: 0; border-top: 1px solid var(--glass-border); margin: 1.5rem 0; }
.form-footer-text { text-align: center; margin-top: 1.5rem; font-size: 0.9rem; color: var(--glass-text-secondary); }
.auth-toggle-link { color: var(--glass-on-color); text-decoration: none; cursor: pointer; font-weight: 600; }
.auth-toggle-link:hover { text-decoration: underline; }
.auth-form-container { display: none; }
.auth-form-container.active { display: block; }
.auth-modal-content { padding: 2rem; }

/* === BOTÃO FECHAR CORRIGIDO PARA CADASTRO === */
.auth-modal-content .close-btn { 
    position: absolute; 
    top: 15px; 
    right: 15px; 
    width: 35px; 
    height: 35px; 
    background: rgba(255,255,255,0.1); /* Fundo visível */
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    border: 1px solid rgba(255,255,255,0.1); 
    color: #ddd; 
    cursor: pointer;
}
.auth-modal-content .close-btn:hover { background: rgba(255,255,255,0.2); color: var(--red); }

.auth-form-container .form-group { margin-bottom: 15px; }

#recipe-detail-modal .modal-box { position: fixed; top: 0; left: 0; width: 100%; max-width: 100%; height: 100vh; max-height: 100vh; border-radius: 0; transform: translateY(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
#recipe-detail-modal.is-visible .modal-box { transform: translateY(0); }
#recipe-detail-modal .modal-body { flex-grow: 1; max-height: none; }
#recipe-detail-modal .modal-footer { justify-content: space-around; }

#recipe-ingredients-list { max-height: 150px; overflow-y: auto; background: rgba(0,0,0,0.2); border-radius: 8px; border: 1px solid var(--glass-border); box-shadow: none; }
.recipe-ing-item { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 1rem; font-size: 0.9rem; border-bottom: 1px solid var(--glass-border); background: rgba(255, 255, 255, 0.03); margin-bottom: 6px; border-radius: 6px; }
.recipe-ing-item:last-child { border-bottom: none; }
.recipe-ing-item span strong { color: var(--glass-on-color); font-family: 'Roboto Mono', monospace; }
.recipe-ing-actions { display: flex; gap: 0.2rem; }
.recipe-ing-actions .icon-button { width: 32px; height: 32px; font-size: 0.8rem; background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; color: #aaa; transition: all 0.2s ease; }
#recipe-ingredients-list .recipe-ing-actions .icon-button:hover { background: var(--primary-color); color: #000; border-color: var(--primary-color); }
#recipe-add-ing-btn { background: var(--glass-color); border: 1px solid var(--glass-border); border-radius: 8px; width: 42px; transition: all 0.2s; }
#recipe-add-ing-btn:hover { background: var(--primary-color); color: #000; box-shadow: 0 0 10px var(--glass-on-glow); }

#ai-chat-modal .modal-box { max-width: 600px; }
#ai-chat-modal .modal-body { padding: 0; display: flex; flex-direction: column; height: 60vh; }
.ai-chat-messages { flex-grow: 1; padding: 1.5rem; overflow-y: auto; display: flex; flex-direction: column; gap: 0.8rem; }
.ai-chat-footer { padding: 1rem; border-top: 1px solid var(--glass-border); background: rgba(0,0,0,0.2); }
.ai-chat-footer .form-group { margin: 0; display: flex; gap: 0.5rem; }
.ai-chat-footer input { flex-grow: 1; }
.chat-message { padding: 0.6rem 1rem; border-radius: 18px; max-width: 85%; line-height: 1.5; }
.chat-message.user { background: var(--glass-on-color); color: var(--glass-on-text); border-bottom-right-radius: 4px; align-self: flex-end; margin-left: auto; text-shadow: 0 1px 1px rgba(255,255,255,0.2); }
.chat-message.ia { background-color: rgba(255,255,255,0.1); border: 1px solid var(--glass-border); color: var(--glass-text-primary); border-bottom-left-radius: 4px; align-self: flex-start; margin-right: auto; }
.chat-message .ia-actions { margin-top: 0.8rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }

#plans-modal .modal-box { max-width: 950px; }
.plans-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; width: 100%; }
.plan-card { background: var(--glass-color); border: 1px solid var(--glass-border); padding: 2rem; border-radius: 10px; text-align: center; transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; }
.plan-card:hover { transform: translateY(-5px); background: rgba(255,255,255,0.2); }
.plan-card.recommended { border-color: var(--glass-on-color); box-shadow: 0 0 15px var(--glass-on-glow); }
.plan-card h4 { font-size: 1.5rem; color: var(--glass-text-primary); margin-bottom: 0.5rem; }
.plan-card .plan-price { font-size: 2rem; font-family: var(--font-mono); color: var(--glass-on-color); margin-bottom: 1.5rem; }
.plan-card .plan-price span { font-size: 1rem; color: var(--glass-text-secondary); }
.plan-card ul { list-style: none; margin-bottom: 2rem; text-align: left; padding-left: 0; flex-grow: 1; }
.plan-card ul li { margin-bottom: 0.75rem; color: var(--glass-text-secondary); display: flex; align-items: center; }
.plan-card ul li i { width: 1.2em; text-align: center; margin-right: 0.5rem; }
.plan-card ul li .fa-check { color: var(--green); }
.plan-card ul li .fa-times { color: var(--red); }
.plan-card ul li .fa-rectangle-ad { color: var(--glass-text-secondary); }
.plan-actions { margin-top: auto; }
.cancel-link { display: none; margin-top: 0.5rem; font-size: 0.8rem; color: var(--glass-text-secondary); text-decoration: underline; cursor: pointer; }
.cancel-link:hover { color: var(--glass-text-primary); }

#chef-ia-fab-placeholder { display: none; position: fixed; bottom: 1rem; right: 1rem; width: 55px; height: 55px; background: var(--glass-on-color); color: var(--glass-on-text); border-radius: 50%; align-items: center; justify-content: center; font-size: 1.6rem; box-shadow: 0 0 15px var(--glass-on-glow); cursor: pointer; z-index: 1000; transition: transform 0.3s ease, box-shadow 0.3s ease; border: none; animation: pulse 2.5s infinite cubic-bezier(0.66, 0, 0, 1); }
#chef-ia-fab-placeholder:hover { animation-play-state: paused; transform: scale(1.15); box-shadow: 0 8px 30px rgba(var(--primary-color-rgb), 0.5); }

.af-chatbot { position: fixed; bottom: 90px; right: 20px; width: 360px; height: 550px; max-height: 80vh; background-color: #151719; border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8); border-radius: 16px; display: none; flex-direction: column; z-index: 1600; overflow: hidden; font-family: 'Roboto', sans-serif; color: #EAEAEA; transform-origin: bottom right; }
.af-chatbot.af-open { display: flex; animation: af-pop-in 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.af-chatbot-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: linear-gradient(180deg, #1f2225 0%, #151719 100%); border-bottom: 1px solid rgba(255,255,255,0.1); flex-shrink: 0; }
.af-header-info { display: flex; align-items: center; gap: 12px; }
.af-avatar { width: 36px; height: 36px; background: var(--primary-color, #00f2ea); color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; box-shadow: 0 0 10px rgba(0, 242, 234, 0.3); }
.af-title-group { display: flex; flex-direction: column; line-height: 1.2; }
.af-bot-name { font-size: 0.95rem; font-weight: 700; color: #fff; letter-spacing: 0.5px; }
.af-bot-status { font-size: 0.7rem; color: #34c759; display: flex; align-items: center; gap: 5px; font-weight: 500; }
.af-bot-status::before { content: ''; width: 6px; height: 6px; background: #34c759; border-radius: 50%; box-shadow: 0 0 5px #34c759; }
.af-header-actions { display: flex; gap: 5px; }
.af-header-btn { background: transparent; border: none; color: #888; cursor: pointer; width: 32px; height: 32px; border-radius: 4px; transition: all 0.2s; display: flex; align-items: center; justify-content: center; }
.af-header-btn:hover { color: var(--primary-color, #00f2ea); background: rgba(255,255,255,0.05); }
.af-chatbot-body { flex: 1; padding: 16px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; background-color: #151719; scroll-behavior: smooth; }
.af-chatbot-body::-webkit-scrollbar { width: 5px; }
.af-chatbot-body::-webkit-scrollbar-track { background: transparent; }
.af-chatbot-body::-webkit-scrollbar-thumb { background: #333; border-radius: 10px; }
.af-msg { max-width: 85%; padding: 12px 16px; border-radius: 12px; font-size: 0.92rem; line-height: 1.5; position: relative; animation: fade-in-up 0.3s ease; word-wrap: break-word; }
.af-msg.bot { background: #2a2c2e; color: #e0e0e0; border-bottom-left-radius: 2px; border: 1px solid rgba(255,255,255,0.05); margin-right: auto; }
.af-msg.user { background: var(--primary-color, #00f2ea); color: #000; align-self: flex-end; border-bottom-right-radius: 2px; font-weight: 600; margin-left: auto; box-shadow: 0 4px 15px rgba(0, 242, 234, 0.2); }
.af-options-container { display: flex; flex-direction: column; gap: 8px; margin-top: 5px; width: 85%; animation: fade-in-up 0.4s ease; }
.af-option-btn { background: transparent; border: 1px solid rgba(0, 242, 234, 0.3); color: var(--primary-color, #00f2ea); padding: 10px 14px; border-radius: 8px; cursor: pointer; font-family: inherit; font-size: 0.9rem; font-weight: 500; text-align: left; transition: all 0.2s ease; display: flex; align-items: center; gap: 10px; }
.af-option-btn i { font-size: 1rem; width: 20px; text-align: center; }
.af-option-btn:hover { background: rgba(0, 242, 234, 0.1); border-color: var(--primary-color, #00f2ea); transform: translateX(4px); box-shadow: -2px 2px 10px rgba(0,0,0,0.2); }
.af-option-btn:active { background: rgba(0, 242, 234, 0.2); transform: scale(0.98); }
.af-chatbot-footer { padding: 10px; border-top: 1px solid rgba(255,255,255,0.08); background: #1a1c1e; text-align: center; flex-shrink: 0; }
.af-footer-hint { font-size: 0.75rem; color: #666; font-style: italic; }
.af-chatbot-toggle { position: fixed; bottom: 20px; right: 20px; width: 55px; height: 55px; border-radius: 20px; background: rgba(20, 20, 20, 0.6); backdrop-filter: blur(15px); border: 1px solid rgba(0, 242, 234, 0.3); color: var(--primary-color); box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 0 1px rgba(0, 242, 234, 0.1) inset; transition: all 0.3s ease; cursor: pointer; font-size: 1.6rem; z-index: 1599; display: flex; align-items: center; justify-content: center; }
.af-chatbot-toggle:hover { transform: translateY(-5px); background: var(--primary-color); color: #000; box-shadow: 0 15px 35px rgba(0, 242, 234, 0.4); }
.af-notification-dot { position: absolute; top: -2px; right: -2px; width: 14px; height: 14px; background: #ff3b30; border-radius: 50%; border: 2px solid #1a1a1a; animation: af-pulse 2s infinite; }
.af-chatbot-toggle.af-hidden { transform: scale(0); pointer-events: none; }

body.app-mode .main-container, body.app-mode .node-cluster, body.app-mode .hamburger-menu-wrapper, body.app-mode .page-footer, body.app-mode #landing-video-container, body.app-mode .af-chatbot, body.app-mode .af-chatbot-toggle { display: none !important; }
body.app-mode .app-panel-container-standalone { display: flex; }
body.app-mode #chef-ia-fab-placeholder { display: flex; align-items: center; justify-content: center; }
body:not(.app-mode) #chef-ia-fab-placeholder { display: none; }
body.app-mode { font-family: var(--font-body); background: var(--glass-dark-bg); }
body.app-mode #panel-video-container { display: block; }
body.app-mode .power-container .status { color: var(--glass-on-color); text-shadow: 0 0 5px var(--glass-on-glow); }
body.app-mode .power-container .power-btn { background: radial-gradient(circle at 30% 30%, rgba(0, 242, 234, 0.15) 0%, transparent 50%), linear-gradient(145deg, #2a2a2a, #1a1a1a); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), inset 0 2px 5px rgba(255, 255, 255, 0.1), inset 0 -2px 5px rgba(0, 0, 0, 0.5), 0 0 20px var(--glass-on-glow); border-color: var(--glass-on-color); animation: none; }
body.app-mode .power-container .power-btn .dot { background: var(--glass-on-color); animation: none; }
body.app-mode .power-container .power-btn:active { background: linear-gradient(145deg, #1a1a1a, #0c0c0c); box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.5), 0 0 15px var(--glass-on-glow); }

/* === AUTOCOMPLETE CORRIGIDO (Z-INDEX) === */
#autocomplete-suggestions { position: absolute; background: var(--glass-color); border: 1px solid var(--glass-border); backdrop-filter: blur(5px); border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); z-index: 99999 !important; /* Brutal z-index para aparecer acima do modal */ max-height: 200px; overflow-y: auto; display: none; }
.autocomplete-item { padding: 0.7rem 1rem; font-size: 0.9rem; color: var(--glass-text-primary); cursor: pointer; border-bottom: 1px solid var(--glass-border); }
.autocomplete-item:last-child { border-bottom: none; }
.autocomplete-item:hover { background: rgba(255,255,255,0.1); }
.autocomplete-item strong { color: var(--glass-on-color); }
.editable-list-title-container { flex: 1; min-width: 0; }
#widget-list-name-input { font: inherit; color: var(--glass-text-primary) !important; background: rgba(0,0,0,0.2) !important; border: 1px solid var(--glass-border) !important; outline: none !important; width: 100%; padding: 5px 8px; font-size: 1.05rem; font-weight: 600; box-shadow: none !important; -webkit-appearance: none; border-radius: 6px; }
#widget-list-name-input::placeholder { color: var(--glass-text-secondary); opacity: 1; }
#widget-list-name-input:focus { border-color: var(--glass-on-color) !important; box-shadow: 0 0 5px var(--glass-on-glow) !important; }

#panel-access-link, #home-btn-panel { display: none !important; }
.power-container { position: fixed; z-index: 1999; text-align: center; cursor: grab; bottom: 1.5rem; left: 50%; transform: translateX(-50%); top: auto; right: auto; }
.power-container.is-dragging { cursor: grabbing; transition: none !important; }
.power-container.is-dragging .power-btn { transition: none !important; }
.status { font-size: 12px; font-weight: 500; color: #888; margin-bottom: 15px; letter-spacing: 0.5px; text-shadow: none; transition: color 0.4s ease, text-shadow 0.4s ease; pointer-events: none; text-transform: uppercase; width: 140px; position: relative; left: 50%; transform: translateX(-50%); }
.power-btn { position: relative; width: 100px; height: 100px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.1) 0%, transparent 50%), linear-gradient(145deg, #1a1a1a, #0c0c0c); display: flex; justify-content: center; align-items: center; cursor: pointer; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), inset 0 2px 5px rgba(255, 255, 255, 0.1), inset 0 -2px 5px rgba(0, 0, 0, 0.5); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; border: 1px solid rgba(0, 242, 234, 0.3); }
.power-btn::before { content: ''; position: absolute; width: 100%; height: 100%; border-radius: 50%; background: linear-gradient(145deg, #2a2a2a, #1a1a1a); opacity: 0; transition: opacity 0.4s ease; }
.power-btn:hover { transform: scale(1.05); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6), inset 0 2px 8px rgba(255, 255, 255, 0.15), inset 0 -2px 8px rgba(0, 0, 0, 0.6); }
.power-btn:hover::before { opacity: 1; }
.power-btn.active { background: radial-gradient(circle at 30% 30%, rgba(255,215,0,0.15) 0%, transparent 50%), linear-gradient(145deg, #2a2a2a, #1a1a1a); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), inset 0 2px 5px rgba(255, 255, 255, 0.1), inset 0 -2px 5px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 215, 0, 0.3); }
.power-btn.active .power-icon { color: #FFD700; text-shadow: 0 0 15px rgba(255, 215, 0, 0.7); }
.power-container.is-active .status { color: #FFD700; text-shadow: 0 0 10px rgba(255, 215, 0, 0.7); }
.power-btn.active::after { content: ''; position: absolute; width: 110%; height: 110%; border-radius: 50%; background: conic-gradient( from 0deg, transparent, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.1), transparent ); animation: rotate 3s linear infinite; z-index: -1; }
.power-icon { position: relative; color: #888; font-size: 42px; transition: color 0.4s ease, text-shadow 0.4s ease, filter 0.4s ease; z-index: 1; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.5)); }
.power-btn:hover .power-icon { color: #ccc; }
.particles { position: absolute; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.particle { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #FFD700; opacity: 0; }
.glow { position: absolute; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(255,215,0,0.1) 0%, transparent 70%); filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; z-index: -2; left: 50%; top: 5px; }
.power-container.is-active .glow { opacity: 1; animation: glowPulse 2s infinite alternate; }

.glass-dock-container { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 2000; width: auto; }
.glass-dock { position: relative; display: flex; align-items: center; background: rgba(15, 15, 15, 0.65); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; padding: 6px 8px; box-shadow: 0 20px 40px rgba(0,0,0,0.4); gap: 5px; cursor: grab; }
.glass-dock:active { cursor: grabbing; transform: scale(0.98); }
.dock-item { position: relative; background: transparent; border: none; color: var(--glass-text-secondary); padding: 10px 20px; font-family: var(--font-display); font-size: 0.9rem; font-weight: 500; cursor: pointer; display: flex; align-items: center; gap: 8px; z-index: 2; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); outline: none; border-radius: 20px; }
.dock-item i { font-size: 1.1rem; }
.dock-item.active { color: #000; font-weight: 700; }
.dock-indicator { position: absolute; top: 6px; left: 6px; height: calc(100% - 12px); background: linear-gradient(135deg, var(--primary-color), #00c2ba); border-radius: 18px; z-index: 1; box-shadow: 0 0 15px rgba(0, 242, 234, 0.4); transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); width: 0; }

@media (min-width: 992px) {
    .app-sidebar { position: static; transform: translateX(0); flex-shrink: 0; }
    #menu-toggle-btn { display: none; }
    .sidebar-overlay { display: none; }
    .modules-area { overflow: hidden; }
    .module-container { padding: 1.5rem; }
    .module-container:not(#module-inicio) .dashboard-card, .module-container:not(#module-inicio) .list-management-layout, .module-container:not(#module-inicio) .recipe-layout { height: calc(100vh - var(--header-height) - 3rem); }
    #module-receitas.module-container { padding: 1.5rem; }
    #module-inicio.module-container { padding: 1.5rem; overflow: hidden; }
    #module-inicio .dashboard-grid-desktop { flex-direction: row; align-items: stretch; gap: 1.5rem; height: 100%; }
    .dashboard-module { height: 100%; min-height: 0; }
    #module-lista-widget { flex: 1; } #module-despensa-widget { flex: 1; } #module-planner-widget { flex: 0 0 320px; }
    .list-management-layout { flex-direction: row; } .saved-lists-column { flex: 0 0 300px; } .active-list-column { flex: 1; }
    .recipe-layout { flex-direction: row; gap: 1.5rem; } .recipe-list-column { flex: 1; min-width: 300px; }
    .recipe-list-column .dashboard-card { border-radius: var(--card-border-radius); border: 1px solid var(--glass-border); background: var(--glass-color); box-shadow: none; }
    .recipe-list-column .card-content { padding: 1rem; }
    .recipe-detail-column { display: flex; flex: 1; height: 100%; border-radius: var(--card-border-radius); }
    #module-receitas.detail-is-visible .recipe-list-column { flex: 0 1 40%; }
    #module-receitas.detail-is-visible .recipe-detail-column { flex: 1 1 60%; }
    .planner-grid { grid-template-columns: repeat(3, 1fr); }
    .analysis-dashboard { grid-template-columns: 1fr 1fr; }
    .form-row { grid-template-columns: 1fr 1fr; }
    .form-row-trio { grid-template-columns: 1fr 80px 80px; }
    .detail-grid { grid-template-columns: 1fr 1fr 1fr; }
    #chef-ia-fab-placeholder { bottom: 2rem; right: 2rem; }
    .add-item-form-container { padding: 1.2rem; }
    .add-item-form label { font-size: 0.75rem; }
    .add-item-form input, .add-item-form select { padding: 0.6rem 0.8rem; font-size: 0.9rem; height: 40px; }
    .add-item-form .form-group-flex { flex: 1 1 150px; min-width: 150px; }
    .add-item-form .form-group-small { flex: 0 0 70px; }
    .add-item-form .form-group-medium { flex: 0 0 90px; }
    .add-item-form .btn-add-item { width: 40px; height: 40px; font-size: 1.1rem; }
    .power-container { top: 1.5rem; bottom: auto; }
}

@media (max-width: 991px) {
    #module-lista.module-container { padding: 0; }
    .list-management-layout { gap: 0; } .saved-lists-column { padding: 1rem; }
    .active-list-column { display: none; }
    .active-list-column .dashboard-card { border-radius: 0; border: 1px solid var(--glass-border); box-shadow: none; height: calc(100vh - var(--header-height)); }
    .mobile-back-btn { display: block; }
    .list-management-layout.view-active-list .saved-lists-column { display: none; }
    .list-management-layout.view-active-list .active-list-column { display: flex; }
    .active-list-column .card-header { border-radius: 0; padding: 0.7rem 1rem; }
    .recipe-layout { gap: 0; }
    .recipe-list-column .dashboard-card { border: 0; background: transparent; box-shadow: none; }
    .recipe-list-column .card-content { padding: 1rem; }
    #module-planejador.module-container { padding: 1rem; }
    .planner-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .page-section, #inicio { padding: 1rem; padding-top: 5rem; }
    #inicio { text-align: left; align-items: center; justify-content: flex-start; }
    .identity-container { padding: 0 5vw; text-align: left; align-items: flex-start;}
    .simple-subtitle { font-size: 1rem; }
    .top-header { flex-direction: row; align-items: center; gap: 1rem; padding: 1rem; font-size: 0.7rem; }
    .hamburger-menu-wrapper { top: 4rem; right: 1rem; width: 44px; height: 44px; }
    .hamburger-menu { width: 22px; }
    .hamburger-menu::before { transform: translateY(-6px); }
    .hamburger-menu::after { transform: translateY(6px); }
    .node-cluster { top: 4.5rem; right: 1rem; width: 250px; }
    .node-wrapper { height: 50px; }
    .about-contact-container { grid-template-columns: 1fr; }
    #dicas-valiosas .section-content, #receitas-landing .section-content, #calculadora .section-content { padding: 1.5rem 1rem; width: 100%; }
    .mobile-tab-nav { display: flex; }
    .calculator-info-container { display: block; grid-template-columns: 1fr; }
    .mobile-tab-content { display: none; }
    .mobile-tab-content.active { display: flex; }
    #home-calculator, #info-card-calculator.info-card { height: 72vh !important; min-height: 500px !important; max-height: 850px !important; }
    #info-card-calculator.info-card { overflow-y: auto; }
    #home-calculator-grid { padding-bottom: 3rem; }
    #card-viewer-modal-overlay .card-viewer-content { width: 90%; height: auto; max-height: 70vh; border-radius: 15px; transform: scale(1) rotateY(0deg); }
    #card-viewer-modal-overlay.active .card-viewer-content { transform: scale(1) rotateY(0deg); }
    .carousel-track { width: calc( (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)) * var(--original-item-count) * 2 ); animation-name: scroll-mobile; animation-duration: 35s; }
    .carousel-track .content-card { width: var(--card-width-mobile); margin: 0 var(--card-margin-mobile); }
    .modal-box { width: 95%; }
    #plans-modal .modal-box { max-width: 95%; }
    .af-chatbot { right: 12px; left: 12px; width: auto; bottom: 80px; max-height: 70vh; }
    .af-chatbot-toggle { right: 12px; bottom: 14px; }
    #calculadora.page-section { padding-top: 1rem !important; justify-content: flex-start !important; padding-bottom: 8rem !important; }
    #calculadora .page-title { margin-top: 1rem; font-size: 2.2rem; }
    #calculadora .page-subtitle { margin-bottom: 1.5rem !important; }
}

.add-item-form-container {
    overflow-x: auto;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid var(--glass-border);
    background: transparent !important;
    margin-bottom: 0;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 1.2rem;
    border-bottom: 1px solid var(--glass-border);
    flex-shrink: 0;
    background-color: transparent !important;
    cursor: move;
}

@media (max-width: 600px) {
    body:not(.app-mode) { padding: 0; }

    .add-item-form-container {
        padding: 1rem;
        overflow: visible !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        background: transparent !important;
    }

    .card-header {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        background: transparent !important;
    }

    .add-item-form {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr auto;
        grid-template-areas: "nome nome nome nome" "qtd unid valor btn";
        gap: 0.8rem 0.5rem;
        width: 100%;
    }

    .add-item-form .form-group-flex { grid-area: nome; min-width: 0; flex: none !important; }
    .add-item-form .form-group-small:nth-of-type(2) { grid-area: qtd; }
    .add-item-form .form-group-small:nth-of-type(3) { grid-area: unid; }
    .add-item-form .form-group-medium { grid-area: valor; }
    .add-item-form .form-group { margin: 0; flex: none !important; }

    .add-item-form input, .add-item-form select {
        height: 42px !important;
        padding: 0 8px !important;
        font-size: 0.9rem !important;
        width: 100% !important;
    }

    .add-item-form .btn-add-item {
        grid-area: btn;
        height: 42px !important;
        width: 42px !important;
        margin: 0 !important;
        align-self: end;
    }

    .add-item-form label {
        font-size: 0.75rem;
        margin-bottom: 4px;
        white-space: nowrap;
    }

    .content-card-content { padding: 0.8rem; }
    .content-card-content h3 { font-size: 1rem; }
    .content-card-content p { font-size: 0.8rem; line-height: 1.4; }
    .module-container { padding: 1rem; }
    #module-inicio.module-container { padding: 1rem; }
    #module-inicio .dashboard-grid-desktop { gap: 1rem; }
    .card-content { padding: 1.2rem; }
    .placeholder-item { padding: 12px !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; background: rgba(20, 20, 20, 0.4) !important; margin-bottom: 12px !important; gap: 10px; }
    .main-header { padding: 0 0.75rem; }
    .header-actions { gap: 0.25rem; }
    .header-budget { padding: 5px 8px; gap: 0.5rem; }
    .header-budget-values { font-size: 0.75rem; }
    .header-budget-bar { display: none; }
    .header-utility-cluster { gap: 2px; padding: 2px; }
    .header-utility-cluster .icon-button { width: 30px; height: 30px; font-size: 1rem; }
    .item-row { gap: 4px 8px; }
    .item-actions .icon-button, .recipe-list-actions .icon-button { width: 34px !important; height: 34px !important; font-size: 0.9rem !important; background: rgba(255, 255, 255, 0.05) !important; border: 1px solid rgba(255, 255, 255, 0.05) !important; }
.modal-header { padding: 0.8rem 1rem; }
    /* Ajuste crítico para o footer não cortar botões no mobile */
    .modal-footer { 
        padding: 0.8rem 0.5rem !important; 
        gap: 5px !important;
        flex-wrap: nowrap !important;
    }
    /* Reduz botões no mobile para caberem lado a lado */
    .modal-footer .btn {
        padding: 0 10px !important;
        font-size: 0.8rem !important;
        height: 40px !important;
    }
    .modal-body { padding: 1rem; }
    .recipe-list-item { border: 1px solid rgba(255, 255, 255, 0.1) !important; background: rgba(20, 20, 20, 0.4) !important; margin-bottom: 12px !important; padding: 12px !important; gap: 10px; }
    .recipe-list-info h4, .item-name { font-size: 0.95rem !important; margin-bottom: 4px !important; padding-right: 5px; }
    .recipe-list-info p, .item-details-grid { font-size: 0.8rem !important; opacity: 0.7; }
    .btn-create-list { padding: 0.8rem !important; font-size: 0.95rem !important; margin-bottom: 1.5rem !important; }
    #home-calculator-grid { gap: 1rem 0.5rem; grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
    .calc-item-name { bottom: -1.4em; font-size: 0.55em;}
}
/* Correção do Vermelho "Vencido" para ficar legível no fundo escuro */
.item-validade.expiring {
    color: #ff6b6b !important; /* Um vermelho salmão muito mais legível */
    font-weight: 700;
    text-shadow: 0 0 5px rgba(255, 59, 48, 0.3); /* Leve brilho para destacar */
}

/* Garante que o grid do planejador não corte os dias */
.planner-grid { 
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); /* Reduzi de 200px para 160px para caber melhor */
    gap: 0.8rem; 
}
/* Estilo para o Modo Lua da Landing Page */
body.landing-lua-mode #landing-video-container::after {
    background: rgba(0, 0, 0, 0.6) !important; /* Escurece consideravelmente o vídeo */
    transition: background 0.5s ease;
}

/* Garante que o texto continue legível e brilhante */
body.landing-lua-mode .page-section {
    background: rgba(0, 0, 0, 0.4); /* Fundo das seções um pouco mais escuro */
}
.app-panel-container-standalone {
    background-color: #050505 !important; /* Muito escuro */
    background-image: radial-gradient(circle at 50% 0%, #1a1a2e 0%, #050505 60%); /* Um leve brilho azulado no topo */
}

/* 2. Cartões com cor mais sólida e borda definida */
.dashboard-card, 
.saved-list-item,
.planner-day-card,
.recipe-list-item {
    background-color: #1e1f22 !important; /* Cinza chumbo, distinto do fundo preto */
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important; /* Sombra para "flutuar" */
}

/* 3. Cabeçalho dos cartões mais escuro/distinto para separar do conteúdo */
.card-header, 
.planner-day-header,
.modal-header {
    background-color: rgba(255, 255, 255, 0.03) !important; /* Levemente mais claro que o cartão ou mais escuro */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 4. Itens de lista (Placeholders) com mais contraste */
.placeholder-item, 
.recipe-list-item {
    background-color: #2b2d31 !important; /* Mais claro que o cartão */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.placeholder-item:hover,
.recipe-list-item:hover {
    background-color: #35373c !important;
    border-color: var(--primary-color) !important;
}

/* 5. Menu Lateral (Sidebar) com contraste */
.app-sidebar {
    background-color: #111214 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.nav-item.active {
    background-color: rgba(0, 242, 234, 0.15) !important; /* Destaque maior no item ativo */
    border: 1px solid var(--primary-color) !important;
    color: #fff !important;
}
#landing-video-container {
    transition: filter 0.5s ease;
    filter: brightness(1); /* Brilho normal (Sol) */
}

/* Quando a classe 'landing-lua-mode' estiver no corpo, escurece o vídeo */
body.landing-lua-mode #landing-video-container {
    filter: brightness(0.5) !important; /* 50% mais escuro (Lua) */
}

/* Garante que o ícone do botão mude de cor se precisar */
body.landing-lua-mode #landing-theme-toggle {
    color: #fff;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}
/* --- AJUSTE FINAL DE CONTRASTE (V4 - Ícones Brancos e Bordas Definidas) --- */

/* 1. Fundo Geral: PRETO ABSOLUTO */
.app-panel-container-standalone {
    background-color: #000000 !important;
    background-image: none !important;
}

/* 2. Menu Lateral */
.app-sidebar {
    background-color: #121212 !important; 
    border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* --- PADRONIZAÇÃO ABSOLUTA DE CARDS E ITENS --- */
.dashboard-card,
.saved-list-item,
.planner-day-card,
.recipe-list-item, 
.chart-widget,
.placeholder-item, 
.planner-meal-slot,
.action-card {
    background-color: #1e1f22 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important; 
    border-radius: var(--radius-md) !important;
    box-shadow: var(--card-shadow) !important;
    transition: var(--standard-transition) !important;
    margin-bottom: var(--spacing-sm);
    box-sizing: border-box;
}

/* Removendo padding duplo para respeitar o grid interno */
.dashboard-card, .modal-box { padding: 0 !important; margin-bottom: 0 !important; display: flex; flex-direction: column; overflow: hidden; }
.dashboard-card .card-content, .modal-box .modal-body { padding: var(--spacing-lg) !important; flex: 1; overflow-y: auto; }

/* Cabeçalhos padronizados */
.card-header, .planner-day-header, .modal-header {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

/* Footer padronizado */
.card-footer, .modal-footer {
    background-color: rgba(0, 0, 0, 0.2) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
    min-height: var(--footer-height);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-shrink: 0;
}

/* Efeito Hover Consistente */
.placeholder-item:hover, 
.recipe-list-item:hover, 
.saved-list-item:hover,
.action-card:hover {
    background-color: #2b2d31 !important;
    border-color: var(--primary-color) !important; 
    transform: translateY(-2px) !important;
    box-shadow: var(--card-hover-shadow) !important;
}

/* --- FEEDBACK VISUAL: BOTÕES E FOCUS --- */
.btn, .icon-button {
    transition: var(--standard-transition) !important;
}

.btn:active, .icon-button:active {
    transform: scale(0.95) !important;
}

.btn:focus-visible, .icon-button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--primary-color) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(0, 242, 234, 0.2) !important;
}

/* Loader IA Elegante */
.typing-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
}

.typing-indicator span {
    width: 6px;
    height: 6px;
    background-color: var(--primary-color);
    border-radius: 50%;
    animation: typing 1.4s infinite ease-in-out both;
}

.typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.16s; }

@keyframes typing {
    0%, 80%, 100% { transform: scale(0); opacity: 0.5; }
    40% { transform: scale(1); opacity: 1; box-shadow: 0 0 8px var(--primary-color); }
}

/* 5. Cabeçalhos */
.card-header, .planner-day-header, .modal-header, .widget-header {
    background-color: rgba(255, 255, 255, 0.03) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* 6. Títulos em Branco Puro */
.card-header h3, .planner-day-header, .modal-header h3, .item-name, strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* 7. BOTÕES E ÍCONES: BRANCOS */
.icon-button {
    color: #ffffff !important; /* Ícone Branco Puro */
    background-color: rgba(255, 255, 255, 0.08) !important; /* Fundo levemente mais claro para destacar do card */
    border: 1px solid rgba(255, 255, 255, 0.2) !important; /* Borda fininha no botão também */
}

/* Hover nos botões */
.icon-button:hover {
    color: #000 !important; /* Ícone fica preto */
    background-color: #ffffff !important; /* Fundo fica branco */
    border-color: #ffffff !important;
}

/* 8. Inputs */
.app-panel-container-standalone input,
.app-panel-container-standalone select, 
.app-panel-container-standalone textarea,
.add-item-form-container input {
    background-color: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important; /* Borda do input um pouco mais forte */
    color: #fff !important;
}

/* 9. Textos Secundários em VERDE */
.glass-text-secondary, 
.item-details-grid, 
.item-details-grid span, 
.recipe-list-info p,
.planner-meals span,
.add-item-form label {
    color: #69f0ae !important;
    font-weight: 500 !important;
}
/* --- CORREÇÃO DE LUXO PARA O BOTÃO SOL/LUA --- */

#landing-theme-toggle {
    /* Remove aquele fundo branco feio e coloca vidro */
    background: rgba(255, 255, 255, 0.05) !important; 
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    
    /* Tamanho e forma perfeitos */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    
    /* Centraliza o ícone */
    display: flex;
    justify-content: center;
    align-items: center;
    
    /* Cores e Texto */
    color: #ffffff !important;
    font-size: 1.2rem !important;
    
    /* Efeitos de profundidade */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    
    /* Garante que fique acima de tudo */
    z-index: 100;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Efeito ao passar o mouse (Hover) */
#landing-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: var(--primary-color) !important; /* Brilha com a cor do seu tema */
    color: var(--primary-color) !important;
    transform: scale(1.1) rotate(15deg); /* Leve crescimento e giro */
    box-shadow: 0 0 20px rgba(0, 242, 234, 0.4) !important; /* Glow neon */
}

/* Efeito ao clicar */
#landing-theme-toggle:active {
    transform: scale(0.95);
}

/* Sombra no ícone para leitura perfeita sobre qualquer vídeo */
#landing-theme-toggle i {
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.8));
}
/* --- ESTILIZAÇÃO REFINADA DOS BOTÕES DO CABEÇALHO (V2) --- */

.header-utility-cluster {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    gap: 6px !important; /* Bem mais juntinhos */
    display: flex;
    align-items: center;
}

.header-utility-cluster .icon-button {
    /* Tamanho Menor e mais delicado */
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    font-size: 0.9rem !important; /* Ícone levemente menor */
    
    /* Cores Sutis (Sem chamar muita atenção quando parado) */
    background-color: rgba(255, 255, 255, 0.03) !important; 
    border: 1px solid rgba(255, 255, 255, 0.08) !important; /* Borda quase invisível */
    color: #a1a1aa !important; /* Cinza claro elegante (não branco estourado) */
    
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

/* Hover: Acende com classe */
.header-utility-cluster .icon-button:hover {
    background-color: rgba(0, 242, 234, 0.1) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important; /* Fica branco brilhante ao passar o mouse */
    box-shadow: 0 0 12px rgba(0, 242, 234, 0.2) !important;
    transform: translateY(-1px);
}

/* Botão de Sair (se estiver ali) */
#home-btn-panel:hover {
    background-color: rgba(255, 59, 48, 0.1) !important;
    border-color: #ff3b30 !important;
    color: #ff3b30 !important;
    box-shadow: 0 0 12px rgba(255, 59, 48, 0.2) !important;
}
/* --- ESTILO DA NOVA HOME (HUB DE AÇÕES) --- */

/* Área de Boas Vindas */
.welcome-section {
    margin-bottom: 2rem;
}

.welcome-header h2 {
    font-size: 1.8rem;
    color: #fff;
    margin-bottom: 0.5rem;
    font-weight: 300;
}

.welcome-header h2 strong {
    font-weight: 700;
    color: var(--primary-color); /* Verde Água */
}

.welcome-subtitle {
    color: var(--glass-text-secondary);
    font-size: 0.95rem;
}

/* Grid de Ações Rápidas */
.quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.action-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden;
}
/* --- BOTÃO POWER (LIGA/DESLIGA) --- */
#landing-auth-btn {
    /* Estrutura */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    padding: 0;
    
    /* Vidro e Cores Padrão (Estado "Desligado" -> Pronto para Ligar) */
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(0, 242, 234, 0.3) !important; /* Borda levemente Ciano */
    color: var(--primary-color) !important; /* Ícone Ciano Neon */
    
    /* Centralizar Ícone */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem !important;
    
    /* Efeitos */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0 10px rgba(0, 242, 234, 0.1) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    z-index: 100;
}

/* --- BOTÃO POWER (Login/Logout) - CORRIGIDO --- */

/* 1. Estado Normal (Hover) - Quando vai fazer login */
#landing-auth-btn:hover {
    background: rgba(0, 242, 234, 0.15) !important; /* Fundo Ciano Transparente */
    border-color: #00f2ea !important;               /* Borda Ciano */
    color: #00f2ea !important;                      /* Ícone Ciano (Remove o preto) */
    box-shadow: 0 0 20px rgba(0, 242, 234, 0.6) !important;
    transform: scale(1.1);
}

/* 2. Estado Logado (Fixo) - Indica que está conectado */
#landing-auth-btn.power-on {
    color: #00f2ea !important;                      /* Ícone Ciano em vez de Vermelho */
    border-color: rgba(0, 242, 234, 0.5) !important;
    box-shadow: 0 0 10px rgba(0, 242, 234, 0.2) !important;
    background: transparent !important;
}

/* 3. Estado Logado (Hover) - Quando vai sair */
#landing-auth-btn.power-on:hover {
    background: rgba(0, 242, 234, 0.25) !important; /* Fundo Ciano mais forte */
    border-color: #00f2ea !important;
    color: #00f2ea !important;                      /* Garante que não fique preto */
    box-shadow: 0 0 25px rgba(0, 242, 234, 0.8) !important;
    transform: scale(1.1);
}

#landing-auth-btn:active {
    transform: scale(0.95);
}

/* Gradientes sutis para cada botão */
.action-card.ai { background: linear-gradient(135deg, rgba(0, 242, 234, 0.1), rgba(0,0,0,0)); border-color: rgba(0, 242, 234, 0.3); }
.action-card.list { background: linear-gradient(135deg, rgba(252, 235, 154, 0.05), rgba(0,0,0,0)); }
.action-card.recipe { background: linear-gradient(135deg, rgba(175, 82, 222, 0.05), rgba(0,0,0,0)); }
.action-card.pantry { background: linear-gradient(135deg, rgba(52, 199, 89, 0.05), rgba(0,0,0,0)); }

.action-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.5);
    background-color: rgba(255, 255, 255, 0.08);
}

.action-card i {
    font-size: 1.8rem;
    margin-bottom: 5px;
}

.action-card.ai i { color: var(--primary-color); }
.action-card.list i { color: var(--accent-yellow); }
.action-card.recipe i { color: var(--accent-purple); }
.action-card.pantry i { color: var(--green); }

.action-card span {
    font-weight: 600;
    font-size: 1rem;
    color: #fff;
}

.action-card small {
    font-size: 0.8rem;
    color: var(--glass-text-secondary);
    line-height: 1.3;
}

/* Área de "Arraste seus atalhos" (Visual por enquanto) */
.shortcuts-hint {
    border: 2px dashed rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    color: var(--glass-text-secondary);
    font-size: 0.85rem;
    margin-bottom: 2rem;
    cursor: default;
    transition: border-color 0.3s;
}

.shortcuts-hint:hover {
    border-color: var(--glass-text-secondary);
    color: #fff;
}

/* Ajuste no Grid dos Widgets antigos para caberem embaixo */
.dashboard-grid-desktop.compact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

@media (max-width: 600px) {
    .quick-actions-grid {
        grid-template-columns: 1fr 1fr; /* 2 colunas no celular */
    }
}
/* --- LAYOUT COMPACTO MOBILE (V2) --- */

/* Ajuste do Título para ocupar menos espaço */
.welcome-section {
    margin-bottom: 1rem !important; /* Menos margem */
    padding: 0 0.5rem;
}
.welcome-header h2 {
    font-size: 1.4rem !important; /* Fonte menor */
}
.welcome-subtitle {
    font-size: 0.85rem !important;
    opacity: 0.8;
}

/* Grid Super Compacto */
.quick-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr !important; /* Sempre 2 colunas */
    gap: 0.6rem !important; /* Espaço entre cards bem pequeno */
    padding-bottom: 80px; /* Espaço para o menu flutuante não tapar o último */
}

/* Cards Compactos */
.action-card {
    padding: 0.8rem !important; /* "Emagrece" o card */
    min-height: 90px; /* Altura fixa menor */
    gap: 5px !important;
    border-radius: 12px !important;
}

.action-card i {
    font-size: 1.4rem !important; /* Ícone menor */
    margin-bottom: 0 !important;
}

.action-card span {
    font-size: 0.9rem !important; /* Título menor */
    line-height: 1.1;
}

.action-card small {
    font-size: 0.7rem !important; /* Descrição bem pequena */
    line-height: 1.1;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limita a 2 linhas de texto */
    -webkit-box-orient: vertical;
    overflow: hidden;
    opacity: 0.7;
}

/* Cor do novo 8º Card (Dicas & Eco) - Gradiente Natureza */
.action-card.tips { 
    background: linear-gradient(135deg, rgba(52, 199, 89, 0.1), rgba(0,0,0,0)); 
    border-color: rgba(52, 199, 89, 0.3);
}
.action-card.tips i { color: #32d74b; }

/* --- MODAL DE LISTA EM TELA CHEIA (CORRIGIDO V2) --- */

/* Garante que o container ocupe tudo */
#list-view-modal.modal-overlay {
    padding: 0 !important; /* Remove preenchimento do overlay */
    align-items: flex-start !important; /* Alinha no topo */
}

/* Força a caixa a ocupar 100% da tela */
#list-view-modal .modal-box.list-fullscreen-box {
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important; /* Remove limite de largura */
    max-height: none !important; /* Remove limite de altura */
    border-radius: 0 !important; /* Tira bordas arredondadas */
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important; /* Remove centralização automática */
    background-color: #000000 !important;
    display: flex;
    flex-direction: column;
}

/* Header do Modal com espaço para botões */
#list-view-modal .modal-header {
    padding: 0.8rem 1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    background-color: #121212;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Título e Botões */
#list-view-modal-title {
    font-size: 1.1rem !important;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-grow: 1; /* Empurra os botões para a direita */
}

/* Área de botões no topo */
#list-view-modal .header-actions {
    display: flex;
    gap: 8px;
}
/* --- VISUAL DE CARTÃO PARA AS LISTAS SALVAS (IGUAL RECEITAS) --- */

.saved-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem !important; /* Mais gordinho igual receita */
    margin-bottom: 1rem !important; /* Espaço entre eles */
    
    /* Estilo do Cartão (Cópia da Receita) */
    background-color: #222327 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
    border-radius: 12px !important;
    
    transition: transform 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.saved-list-item:hover {
    transform: translateY(-2px);
    border-color: var(--primary-color) !important;
}

/* Texto do Nome da Lista */
.saved-list-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.saved-list-name {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
}

.saved-list-meta {
    font-size: 0.85rem !important;
    color: #69f0ae !important; /* Verde igual seus detalhes */
    font-family: 'Roboto Mono', monospace;
}

/* Ações (Botões) */
.saved-list-actions {
    display: flex;
    gap: 8px;
}

/* --- FIX DE Z-INDEX PARA MODAL DE EDIÇÃO --- */
/* Isso resolve o problema de o modal de edição abrir atrás da lista */
#item-edit-modal {
    z-index: 3001 !important; /* Superior ao modal de lista que é 2000 */
}

/* --- NOVO: ESTILOS PARA STEPPER (+/-) E CABEÇALHOS DE MODAL (PEDIDO DO USUÁRIO) --- */

/* 1. Botões de Quantidade (Stepper) */
.stepper-control { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    width: 100%; 
}

.stepper-btn { 
    width: 45px; 
    height: 45px; 
    border-radius: 12px; /* Mais arredondado */
    border: 1px solid var(--glass-border); 
    background: rgba(255,255,255,0.08); 
    color: #fff; 
    font-size: 1.2rem; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); 
}

.stepper-btn:hover { 
    background: rgba(255,255,255,0.2); 
    border-color: var(--primary-color); 
    color: var(--primary-color); 
    transform: scale(1.05); /* Efeito de clique */
}

.stepper-btn:active {
    transform: scale(0.95);
}

/* Estiliza o input no meio */
#pantry-edit-qtd { 
    width: 70px !important; 
    text-align: center; 
    font-size: 1.3rem !important;
    font-weight: bold;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 2. Ícones do Cabeçalho dos Modais (Back, Trash, Share) */
.modal-header .icon-button {
    width: 40px; 
    height: 40px; 
    border-radius: 10px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    transition: background 0.3s, transform 0.2s;
    background: rgba(255, 255, 255, 0.05); /* Fundo sutil */
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.modal-header .icon-button:hover { 
    background: rgba(255,255,255,0.15); 
    transform: translateY(-2px);
    border-color: #fff;
}

/* Espaçamento melhor para o grupo de ações */
.header-actions {
    display: flex;
    gap: 12px !important; /* Mais espaço entre os ícones */
}

/* 3. Planejador: Efeito Zebra (Tons Diferentes) */
/* Dias Pares */
.planner-day-card:nth-child(even) { 
    background-color: rgba(255, 255, 255, 0.03) !important; 
    border-color: rgba(255, 255, 255, 0.15) !important;
}
/* Dias Ímpares (Mais escurinho) */
.planner-day-card:nth-child(odd) { 
    background-color: rgba(0, 0, 0, 0.3) !important; 
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- BOTÃO POWER (CORRIGIDO FINAL) --- */

#landing-auth-btn {
    /* Estrutura Base */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    padding: 0;
    
    /* Vidro e Cores (Estado Inicial) */
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(0, 242, 234, 0.3) !important; /* Borda Ciano Suave */
    color: #00f2ea !important; /* Ícone Ciano/Verde Neon */
    
    /* Centralizar Ícone */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem !important;
    
    /* Efeitos */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0 15px rgba(0, 242, 234, 0.2) !important; /* Glow Ciano */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    z-index: 100;
}

/* 1. HOVER (Passar o mouse) - Efeito Verde/Ciano Intenso */
#landing-auth-btn:hover {
    background: rgba(0, 242, 234, 0.15) !important; /* Fundo esverdeado transparente */
    border-color: #00f2ea !important;               /* Borda Verde Neon */
    color: #00f2ea !important;                      /* Ícone Verde Neon */
    transform: scale(1.1);
    box-shadow: 0 0 25px rgba(0, 242, 234, 0.6) !important; /* Brilho forte */
}

/* Garante que o ícone dentro dele também fique verde e não preto */
#landing-auth-btn:hover i {
    color: #00f2ea !important;
}

/* 2. ESTADO LOGADO (Se estiver ativo) */
#landing-auth-btn.power-on {
    color: #00f2ea !important;
    border-color: rgba(0, 242, 234, 0.5) !important;
    box-shadow: 0 0 10px rgba(0, 242, 234, 0.2) !important;
}

#landing-auth-btn:active {
    transform: scale(0.95);
}

/* Animação com Pausas para Desktop */
@keyframes scroll-with-pause-desktop {
    0%, 15% { transform: translateX(0); } /* Parado no primeiro */
    20%, 35% { transform: translateX(calc(-1 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)))); } /* Parado no segundo */
    40%, 55% { transform: translateX(calc(-2 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)))); } /* Parado no terceiro */
    60%, 75% { transform: translateX(calc(-3 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)))); } /* ...e assim por diante */
    80%, 95% { transform: translateX(calc(-4 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)))); }
    100% { transform: translateX(calc(-5 * (var(--card-width-desktop) + (var(--card-margin-desktop) * 2)))); }
}

/* Aplicando a nova animação nos carrosséis */
.carousel-track {
    animation: scroll-with-pause-desktop 25s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite !important;
}

/* Para o mobile, fazemos o mesmo ajuste */
@keyframes scroll-with-pause-mobile {
    0%, 15% { transform: translateX(0); }
    20%, 35% { transform: translateX(calc(-1 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)))); }
    40%, 55% { transform: translateX(calc(-2 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)))); }
    60%, 75% { transform: translateX(calc(-3 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)))); }
    80%, 95% { transform: translateX(calc(-4 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)))); }
    100% { transform: translateX(calc(-5 * (var(--card-width-mobile) + (var(--card-margin-mobile) * 2)))); }
}

@media (max-width: 900px) {
    .carousel-track {
        animation: scroll-with-pause-mobile 20s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite !important;
    }
}
/* ================= HEADER ULTRA-MINIMAL (V4 - TOQUE DE SOMBRA) ================= */
.header {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 10000;
  /* Escurecido de leve (15% de preto) para dar contraste sobre o vídeo */
  background: rgba(0, 0, 0, 0.15); 
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.3s ease;
}

body.app-mode .header { display: none !important; }

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 30px; 
}

.brand {
  font-size: 11px;
  font-weight: 700;
  color: #fff; /* Aumentado o brilho para destacar sobre o leve fundo */
  letter-spacing: 3px;
  font-family: var(--font-display);
  text-transform: uppercase;
  text-shadow: 0 2px 4px rgba(0,0,0,0.9);
}

.actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.icon-btn, .menu-btn {
  width: 40px !important; 
  height: 40px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.3s ease;
  padding: 0;
}

.icon-btn svg { width: 16px; height: 16px; fill: rgba(255,255,255,0.8); }

.icon-btn:hover {
  border-color: var(--primary-color);
  background: rgba(0, 242, 234, 0.1);
  transform: translateY(-2px);
}
.icon-btn:hover svg { fill: var(--primary-color); }

.icon-btn.power.active svg { fill: #69f0ae; }
.icon-btn.power.active { border-color: rgba(105, 240, 174, 0.4); }

.menu-btn { border-radius: 8px; flex-direction: column; gap: 4px; padding: 0; }
.menu-btn span { height: 1px; width: 16px; background: #fff; transition: 0.3s; }
.menu-btn.active span:nth-child(1) { transform: translateY(2.5px) rotate(45deg); width: 18px; }
.menu-btn.active span:nth-child(2) { transform: translateY(-2.5px) rotate(-45deg); width: 18px; }

/* LINHA DIVISORA - Ajustada para destacar mais no fundo levemente escuro */
.divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(255,255,255,0.15) 50%, 
    transparent 100%);
}

.header:hover .divider {
  background: linear-gradient(90deg, 
    transparent 0%, 
    var(--primary-color) 50%, 
    transparent 100%);
}

.menu-panel {
  position: fixed;
  top: 65px; right: 30px;
  width: 240px;
  background: rgba(15, 17, 20, 0.98);
  backdrop-filter: blur(25px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 8px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.8);
  opacity: 0; visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.menu-panel.active { opacity: 1; visibility: visible; transform: translateY(0); }

.menu-item { padding: 12px 14px; border-radius: 10px; font-size: 13px; color: #eee; cursor: pointer; transition: 0.2s; }
.menu-item a { text-decoration: none; color: inherit; display: block; width: 100%; }
.menu-item:hover { background: rgba(255,255,255,0.08); color: #fff; }
.menu-item.cta { color: var(--primary-color); font-weight: 600; margin-top: 5px; }
.menu-sep { height: 1px; background: rgba(255,255,255,0.08); margin: 5px 10px; }

@media (max-width: 600px) {
  .header-inner { padding: 10px 15px; }
  .menu-panel { right: 15px; width: calc(100% - 30px); }
}
/* === Ajuste de margens: Listas/Receitas igual Despensa === */
#module-lista.module-container,
#module-receitas.module-container {
  padding: 1rem !important; /* mesmo padding padrão da .module-container (Despensa) */
}
/* ==========================================================================
   LAYOUT MASTER-DETAIL (DESKTOP ONLY ≥ 992px)
   ========================================================================== */
@media (min-width: 992px) {
    /* Ativa o Grid de 2 Colunas */
    .master-detail-layout {
        display: grid;
        grid-template-columns: 350px 1fr; /* Coluna Esquerda fixa, Direita flexível */
        gap: 1.5rem;
        height: 100%;
        width: 100%;
        overflow: hidden;
    }

    /* Coluna Esquerda (Listas) - Scrollável */
    .md-list-column {
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .md-list-column .card-content {
        overflow-y: auto;
    }

    /* Coluna Direita (Detalhes) - Scrollável */
    .md-detail-column {
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid var(--glass-border);
        background: rgba(255, 255, 255, 0.02) !important; /* Levemente diferente para contraste */
    }

    /* Esconde elementos mobile na versão desktop */
    .mobile-only {
        display: none !important;
    }

    /* Ajuste para o formulário da Despensa na direita */
    #pantry-desktop-form {
        max-width: 600px;
        margin: 0 auto;
    }

    /* Placeholder quando nada está selecionado */
    .empty-state-placeholder {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        color: var(--glass-text-secondary);
        text-align: center;
        opacity: 0.7;
    }
    
    /* Garante que o card da direita tenha header/content/footer fixos */
    .md-detail-column .card-content {
        flex: 1;
        overflow-y: auto;
    }
}

@media (max-width: 991px) {
    /* No Mobile, removemos o grid e mostramos apenas a coluna da esquerda */
    .master-detail-layout {
        display: block;
    }
    .md-detail-column {
        display: none !important; /* Esconde a coluna de detalhe no mobile */
    }
    .md-list-column {
        height: auto;
        min-height: 100%;
    }
    /* === MODO EDIÇÃO (MOBILE): quando abre uma lista, mostra a coluna da direita === */
    #list-manager.view-active-list .md-detail-column {
        display: flex !important;
    }
    #list-manager.view-active-list .md-list-column {
        display: none !important;
    }

}

/* === Mobile safety: mesmo em "modo desktop", força layout de 1 coluna em telas touch === */
@media (hover: none) and (pointer: coarse) {
  .master-detail-layout { display: block !important; }
  .md-detail-column { display: none !important; }
}



/* === UI/UX BUGFIX PATCH (SAFE) === */

/* Evita scroll horizontal e cortes (muito comum com 100vw + scrollbar) */
html, body { width: 100%; max-width: 100%; }
body { overflow-x: hidden; }

/* Dock não pode bloquear cliques fora dele */
.glass-dock-container { pointer-events: none; }
.glass-dock-container .glass-dock,
.glass-dock-container .dock-item { pointer-events: auto; }

/* Camadas previsíveis: dock abaixo de modais/sidebars */
.glass-dock-container { z-index: 900; }

/* Dá espaço real no conteúdo para o dock não cobrir inputs/botões */
:root{
  --dock-height: 74px;
  --dock-safe-bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
}
body.app-mode .modules-area{
  padding-bottom: calc(var(--dock-height) + var(--dock-safe-bottom) + 18px) !important;
}

/* Respeita quem prefere menos animação */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .background-video{ display:none !important; }
  .video-container{ background: #000 !important; }
}

/* Receitas: segunda linha para igualar altura com Despensa */
.recipe-list-item .item-details-grid{
    padding-left: 56px; /* alinha com ícone da receita */
    opacity: 0.85;
}
.recipe-list-item.placeholder-item{
    min-height: 96px;
}



/* =========================
   Chef IA Hub (Landing)
   ========================= */
.chef-hub-section { padding: 5rem 2rem; }
.chef-hub-section .section-container { max-width: 1100px; margin: 0 auto; }
.chef-hub { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 2rem; align-items: stretch; }
.section-eyebrow { font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; opacity: .8; margin-bottom: .75rem; }
.section-title { font-size: clamp(1.6rem, 2.5vw, 2.2rem); margin: 0 0 .75rem; }
.section-subtitle { opacity: .85; line-height: 1.6; margin: 0 0 1.25rem; }

.chef-chips { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0 1.5rem; }
.chef-chip {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.chef-chip:hover { transform: translateY(-1px); background: rgba(255,255,255,.085); border-color: rgba(255,255,255,.2); }
.chef-chip i { opacity: .9; }

.chef-cta-row { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; margin-top: .5rem; }
.chef-primary-cta {
  display: inline-flex; align-items: center; gap: .65rem;
  padding: .95rem 1.1rem;
  border-radius: 14px;
  text-decoration: none;
  color: #111;
  background: rgba(255,215,0,.95);
  border: 1px solid rgba(255,215,0,.45);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  transition: transform .15s ease, filter .15s ease;
}
.chef-primary-cta:hover { transform: translateY(-1px); filter: brightness(1.03); }
.chef-secondary-cta { text-decoration: none; opacity: .85; }
.chef-secondary-cta:hover { opacity: 1; text-decoration: underline; }

.chef-demo-card {
  height: 100%;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
  padding: 1.1rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.chef-demo-header { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.chef-demo-avatar {
  width: 42px; height: 42px; border-radius: 14px;
  display: grid; place-items: center;
  background: rgba(255,215,0,.14);
  border: 1px solid rgba(255,215,0,.28);
}
.chef-demo-title { font-weight: 700; }
.chef-demo-sub { font-size: .85rem; opacity: .75; margin-top: .1rem; }

.chef-demo-chat { display: flex; flex-direction: column; gap: .7rem; flex: 1; }
.chef-demo-bubble {
  padding: .75rem .85rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.28);
  line-height: 1.35;
  font-size: .95rem;
}
.chef-demo-bubble.me {
  margin-left: auto;
  background: rgba(255,215,0,.12);
  border-color: rgba(255,215,0,.22);
}
.chef-demo-footer { margin-top: 1rem; display: flex; justify-content: flex-end; }
.chef-demo-pill {
  font-size: .85rem;
  padding: .55rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  opacity: .9;
}

/* Hero secondary actions */
.hero-secondary-actions { display: flex; gap: 1.25rem; justify-content: center; margin-top: 1.1rem; flex-wrap: wrap; }
.hero-link { text-decoration: none; opacity: .85; display: inline-flex; align-items: center; gap: .5rem; }
.hero-link:hover { opacity: 1; text-decoration: underline; }

@media (max-width: 900px) {
  .chef-hub { grid-template-columns: 1fr; }
  .chef-hub-right { order: -1; }
}

/* =====================================================================
   UX HOTFIX V5 (Mobile-first)
   - Modais acima do header (z-index)
   - Hero pills premium
   - Dock mais baixo + alça de arrasto
   - Scroll sempre dentro do "retângulo" (cards)
   ===================================================================== */

/* --- Modais: sempre acima do header fixo (header usa z-index 10000) --- */
.modal-overlay{ z-index: 20000 !important; padding: calc(env(safe-area-inset-top, 0px) + 12px) 12px calc(env(safe-area-inset-bottom, 0px) + 12px) !important; }
.modal-box{
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px) !important;
  overflow: hidden !important;
}
.modal-body{ overflow-y: auto !important; -webkit-overflow-scrolling: touch; }

/* --- Hero: pills premium (substitui links feios) --- */
.hero-secondary-actions{ gap: .75rem !important; margin-top: 1.15rem !important; }
.hero-pill{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.28);
  color: rgba(255,255,255,0.92);
  border-radius: 999px;
  padding: .65rem .95rem;
  font-size: .92rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.hero-pill i{ opacity: .9; }
.hero-pill:hover{ transform: translateY(-1px); border-color: rgba(var(--primary-color-rgb), .55); box-shadow: 0 10px 26px rgba(0,0,0,0.35); }
.hero-pill:active{ transform: translateY(0); }
.hero-pill-ghost{ background: rgba(255,255,255,0.04); }
.hero-pill-ghost:hover{ background: rgba(0,242,234,0.08); }

/* --- Utilitários de footer (Listas etc.) --- */
.module-actions-spacer{ flex: 1 1 auto; }
.icon-button.danger{ border-color: rgba(255, 59, 48, 0.35) !important; color: rgba(255, 59, 48, 0.95) !important; }
.icon-button.danger:hover{ background: rgba(255, 59, 48, 0.12) !important; }

/* --- Chef demo card clicável --- */
.chef-demo-card.is-clickable{ cursor: pointer; }
.chef-demo-card.is-clickable:hover{ transform: translateY(-2px); }
.chef-demo-card.is-clickable:focus{ outline: 2px solid rgba(var(--primary-color-rgb), .65); outline-offset: 4px; }

/* --- Dock: mais curto + alça/"grip" para arrastar --- */
:root{ --dock-height: 62px; }
.glass-dock{ padding: 4px 6px !important; border-radius: 999px !important; gap: 6px !important; }
.dock-indicator{ top: 4px !important; left: 4px !important; height: calc(100% - 8px) !important; border-radius: 999px !important; }
.dock-item{ padding: 8px 14px !important; border-radius: 999px !important; }
.dock-item span{ font-size: .9rem !important; }
.dock-grip{
  position: relative;
  z-index: 3;
  width: 34px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.05);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  padding: 0;
}
.dock-grip:active{ cursor: grabbing; }
.dock-grip-dots{ display: grid; grid-template-columns: repeat(3, 4px); gap: 3px; }
.dock-grip-dots span{ width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,0.38); }

/* Dock action (Chef IA) não desloca indicador */
.dock-action{ border: 1px solid rgba(var(--primary-color-rgb), .25) !important; }
.dock-action:hover{ border-color: rgba(var(--primary-color-rgb), .55) !important; }

/* Não mostrar o FAB antigo do Chef no app-mode (agora está no dock) */
body.app-mode #chef-ia-fab-placeholder{ display: none !important; }

/* --- Scroll sempre dentro do card: remove scroll extra fora do retângulo --- */
body.app-mode .modules-area{ overflow: hidden !important; }
body.app-mode .app-panel-container-standalone{ height: 100dvh !important; }
body.app-mode .module-container{ overflow: hidden !important; }

@media (max-width: 991px){
  body.app-mode .module-container:not(#module-inicio) .dashboard-card,
  body.app-mode .module-container:not(#module-inicio) .list-management-layout,
  body.app-mode .module-container:not(#module-inicio) .recipe-layout{
    height: calc(100dvh - var(--header-height) - var(--dock-height) - var(--dock-safe-bottom) - 18px) !important;
  }
  body.app-mode .active-list-column .dashboard-card{
    height: calc(100dvh - var(--header-height) - var(--dock-height) - var(--dock-safe-bottom) - 18px) !important;
  }
}



/* =========================================================
   DOCK V2 (MOBILE-FIRST) - fixo, compacto e elegante
   - Remove "grip" de pontinhos
   - Remove preenchimento azul claro (indicator)
   - Mostra "Início" e "Painel" completos
   - Borda azul brilhante apenas no botão "oposto" (classe .hint)
   ========================================================= */

:root{
  --dock-height: 58px; /* altura real do dock no mobile */
  --dock-safe-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
  --dock-max-width: 440px;
  --dock-border-blue: rgba(0, 140, 255, 0.95);
  --dock-border-blue-soft: rgba(0, 140, 255, 0.35);
}

/* Espaço no conteúdo para não cortar cards no final */
.modules-area{
  padding-bottom: calc(var(--dock-height) + var(--dock-safe-bottom) + 18px) !important;
}

/* Container do dock: fixo no rodapé e centralizado, sem ocupar a tela inteira */
.glass-dock-container{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--dock-safe-bottom) !important;
  transform: none !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  padding: 0 12px !important;
  pointer-events: none; /* não bloqueia o conteúdo */
  z-index: 900 !important;
}

/* Dock */
.glass-dock{
  width: min(var(--dock-max-width), 100%) !important;
  height: var(--dock-height) !important;
  padding: 6px 8px !important;
  border-radius: 16px !important;
  gap: 8px !important;
  cursor: default !important;
  box-shadow: 0 16px 38px rgba(0,0,0,0.45) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  background: rgba(16, 16, 16, 0.70) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  pointer-events: auto;
}

/* Remove a alça com pontinhos */
.dock-grip{ display:none !important; }
.dock-grip-dots{ display:none !important; }

/* Remove o indicador preenchido azul claro */
.dock-indicator{
  display: none !important;
}

/* Botões */
.dock-item{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: calc(var(--dock-height) - 12px) !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: rgba(255,255,255,0.85) !important;
}

/* Ícone */
.dock-item i{
  font-size: 1.05rem !important;
}

/* Texto: sem cortar, sem "..." */
.dock-item span{
  display: inline !important;
  font-size: 0.88rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

/* Ativo: levemente destacado, SEM preenchimento colorido */
.dock-item.active{
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.20) !important;
  color: rgba(255,255,255,0.96) !important;
  font-weight: 700 !important;
}

/* Dica: borda azul escuro brilhante (apenas nas bordas) */
.dock-item.hint{
  background: rgba(0,0,0,0.12) !important;
  border-color: var(--dock-border-blue) !important;
  box-shadow:
    0 0 0 1px var(--dock-border-blue-soft) inset,
    0 0 14px rgba(0,140,255,0.35) !important;
  color: rgba(255,255,255,0.98) !important;
}

/* Chef IA: mantém estilo coerente e compacto */
.dock-item.dock-action{
  flex: 1 1 0 !important;
}

/* Pequenos ajustes para telas bem estreitas */
@media (max-width: 360px){
  :root{ --dock-height: 56px; }
  .dock-item span{ font-size: 0.82rem !important; }
  .dock-item{ gap: 6px !important; padding: 0 8px !important; }
}

/* --- PADRONIZAÇÃO VISUAL: CANTOS ARREDONDADOS (6px) --- */
.dashboard-card, .modal-box, .saved-list-item, .recipe-list-item, .planner-day-card {
    border-radius: 6px !important;
    overflow: hidden !important; /* O SEGREDO: Corta qualquer recheio ou rodapé que tente ficar reto! */
}

.card-header, .modal-header, .planner-day-header {
    border-radius: 6px 6px 0 0 !important;
}

.card-footer, .modal-footer {
    border-radius: 0 0 6px 6px !important;
}

.card-content:last-child, .modal-body:last-child {
    border-radius: 0 0 6px 6px !important;
}

/* Correção Definitiva de Z-Index para Modais */
.modal-overlay {
    z-index: 20000 !important; 
}
#autocomplete-suggestions { 
    z-index: 20001 !important; 
}

/* Oculta de vez TODOS os rodapés soltos com botões de Compartilhar/Imprimir que sobraram no seu JS */
.md-list-column .card-footer,
#module-planejador .card-footer,
#module-analises .card-footer,
#module-configuracoes .card-footer {
    display: none !important;
}
/* --- BANNER DE INSTALAÇÃO PWA (APP NATIVO) --- */
.pwa-banner {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--glass-color);
    backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--primary-color);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 8px 32px rgba(0, 242, 234, 0.2);
    z-index: 10000;
    width: 90%;
    max-width: 400px;
    animation: slideUpPwa 0.5s ease-out forwards;
}

.pwa-banner-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.pwa-icon i {
    font-size: 24px;
    color: var(--primary-color);
}

.pwa-text {
    display: flex;
    flex-direction: column;
}

.pwa-text strong {
    color: var(--glass-text-primary);
    font-size: 1rem;
}

.pwa-text span {
    color: var(--glass-text-secondary);
    font-size: 0.8rem;
    line-height: 1.2;
}

@keyframes slideUpPwa {
    from { bottom: -100px; opacity: 0; }
    to { bottom: 20px; opacity: 1; }
}
/* --- AJUSTE DE POSIÇÃO DO ÍCONE DO ASSISTENTE (CHEF IA) --- */
#af-chatbot-toggle {
    bottom: 90px !important; /* Distância do fundo da tela. Aumente se quiser subir mais! */
    z-index: 9999 !important; /* Garante que ele fique sempre por cima de tudo */
}

/* Garante que a janela do chat também abra numa altura confortável quando clicada */
#af-chatbot.af-open {
    bottom: 150px !important; 
}


/* =========================================================
   HOTFIX V6 — acabamento premium mobile + landing + listas
   ========================================================= */

:root{
  --panel-radius-premium: 24px;
  --panel-radius-inner: 20px;
  --panel-shadow-premium: 0 24px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.05) inset;
}

.dashboard-card{
  border-radius: var(--panel-radius-premium) !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)),
    linear-gradient(180deg, rgba(10,12,16,.92), rgba(18,20,26,.92)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: var(--panel-shadow-premium) !important;
}

.card-header{
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
}

.card-content{
  background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0)) !important;
}

.card-footer,
.modal-footer{
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28)) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  position: relative;
  z-index: 2;
}

.card-footer::before,
.modal-footer::before{
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,242,234,.45), transparent);
}

#active-list-actions{
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
}

#active-list-actions .icon-button,
.card-footer .icon-button{
  width: 52px !important;
  height: 52px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

#active-list-actions .icon-button:hover,
.card-footer .icon-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}

#lista-items-full{
  padding-bottom: 28px !important;
}

/* cards de item mais premium */
.placeholder-item,
.saved-list-item,
.recipe-list-item{
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(18,20,24,.88) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.25) !important;
}

/* Landing mais premium sem mexer na estrutura */
.chef-hub-section,
#calculadora.page-section,
.page-section:not(#inicio){
  background:
    radial-gradient(circle at top left, rgba(0,242,234,.08), transparent 30%),
    radial-gradient(circle at top right, rgba(175,82,222,.08), transparent 28%),
    linear-gradient(180deg, rgba(8,10,14,.88), rgba(11,12,16,.9)) !important;
}

.features-grid > .feature-item{
  position: relative;
  overflow: hidden;
  padding: 1.6rem 1.35rem;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)),
    rgba(12,14,18,.84);
  box-shadow: 0 22px 48px rgba(0,0,0,.32);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.features-grid > .feature-item::after{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(0,242,234,.08), transparent 38%, rgba(255,255,255,.02) 65%, transparent 100%);
  pointer-events:none;
}
.chef-demo-card,
.chef-primary-cta,
.hero-pill,
.modern-start-btn{
  box-shadow: 0 18px 40px rgba(0,0,0,.32) !important;
}

@media (max-width: 991px){
  #module-lista.module-container{
    padding: 12px 12px calc(var(--dock-height) + var(--dock-safe-bottom) + 26px) !important;
  }

  .list-management-layout,
  .active-list-column{
    min-height: 0;
  }

  .active-list-column .dashboard-card,
  body.app-mode .active-list-column .dashboard-card{
    height: calc(100dvh - var(--header-height) - var(--dock-height) - var(--dock-safe-bottom) - 44px) !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }

  .active-list-column .card-header{
    border-radius: 26px 26px 0 0 !important;
    padding: .9rem 1rem !important;
  }

  #active-list-actions,
  .active-list-column .card-footer{
    border-radius: 0 0 26px 26px !important;
  }

  .add-item-form-container{
    padding: 1rem .9rem !important;
  }

  .add-item-form{
    display: grid !important;
    grid-template-columns: minmax(0, 2.25fr) minmax(56px, .78fr) minmax(64px, .9fr) minmax(76px, 1fr) 48px !important;
    grid-template-areas: "nome qtd unid valor btn" !important;
    align-items: end !important;
    gap: .55rem !important;
  }

  .add-item-form .form-group-flex{ grid-area: nome !important; min-width: 0 !important; }
  .add-item-form .form-group-small:nth-of-type(2){ grid-area: qtd !important; min-width: 0 !important; }
  .add-item-form .form-group-small:nth-of-type(3){ grid-area: unid !important; min-width: 0 !important; }
  .add-item-form .form-group-medium{ grid-area: valor !important; min-width: 0 !important; }
  .add-item-form .btn-add-item{ grid-area: btn !important; width: 48px !important; height: 48px !important; border-radius: 14px !important; }

  .add-item-form .form-group{ min-width: 0 !important; }
  .add-item-form label{
    display: block !important;
    font-size: .68rem !important;
    letter-spacing: .01em;
    margin-bottom: 6px !important;
    white-space: nowrap !important;
  }
  .add-item-form input,
  .add-item-form select{
    height: 48px !important;
    padding: 0 10px !important;
    font-size: .96rem !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 520px){
  .add-item-form{
    grid-template-columns: minmax(0, 1.95fr) minmax(46px, .68fr) minmax(58px, .82fr) minmax(66px, .92fr) 44px !important;
    gap: .45rem !important;
  }
  .add-item-form label{ font-size: .64rem !important; }
  .add-item-form input,
  .add-item-form select{ height: 44px !important; padding: 0 8px !important; font-size: .9rem !important; }
  .add-item-form .btn-add-item{ width: 44px !important; height: 44px !important; }
}

@media (max-width: 400px){
  .add-item-form{
    grid-template-columns: minmax(0, 1.7fr) 44px 54px 62px 42px !important;
    gap: .35rem !important;
  }
  .add-item-form label{ font-size: .6rem !important; }
}

/* =========================================================
   PATCH 360° — unificação visual, landing e detalhe universal
   ========================================================= */
:root{
  --radius-standard: 6px;
  --radius-card: 6px;
  --radius-panel: 6px;
  --shadow-soft-premium: 0 8px 24px rgba(0,0,0,.22);
}

html { scroll-padding-top: 96px; }
body, p, li, label, input, select, textarea, button { font-family: var(--font-body); }
h1, h2, h3, h4, h5, h6, .brand, .hero-brand, .section-title, .page-title { font-family: var(--font-family); }

.btn,
.icon-button,
.card,
.dashboard-card,
.modal-box,
.saved-list-item,
.recipe-list-item,
.planner-day-card,
input,
select,
textarea,
.hero-pill,
.chef-chip,
.modern-start-btn,
.menu-panel,
.feature-item,
.landing-feature-card,
.testimonial-card,
.pwa-banner,
.card__checked-actions,
.card__badge,
.list-fullscreen-box,
.detail-modal-box {
  border-radius: var(--radius-standard) !important;
}

.dashboard-card,
.modal-box,
.landing-feature-card,
.testimonial-card {
  box-shadow: var(--shadow-soft-premium) !important;
}

.card-header, .modal-header, .planner-day-header, .widget-header {
  padding: 1rem 1.1rem !important;
}
.card-content, .modal-body { padding: 1rem 1.1rem !important; }
.card-footer, .modal-footer { padding: 1rem 1.1rem !important; }

.btn,
.icon-button,
.hero-pill,
.chef-chip,
.modern-start-btn,
.menu-item,
.card__action {
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.btn:hover,
.icon-button:hover,
.hero-pill:hover,
.chef-chip:hover,
.modern-start-btn:hover { transform: translateY(-1px); }

.hero-stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:.85rem;
  width:min(100%, 700px);
  margin-top:1.5rem;
}
.hero-stat{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
  padding:.9rem 1rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-stat strong{ display:block; color:#fff; font-size:clamp(1.1rem,2vw,1.4rem); margin-bottom:.2rem; }
.hero-stat span{ color:var(--text-secondary); font-size:.9rem; }

.section-heading{ max-width: 820px; margin: 0 auto 2rem; text-align:center; }
.landing-feature-grid,
.testimonials-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:1rem;
  width:100%;
}
.landing-feature-card,
.testimonial-card{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  padding:1.2rem;
}
.landing-feature-card i{ font-size:1.4rem; color:var(--color-primary); margin-bottom:.9rem; }
.landing-feature-card h3,
.testimonial-card strong{ color:#fff; }
.landing-feature-card p,
.testimonial-card p,
.testimonial-card span{ color:var(--text-secondary); line-height:1.6; }
.testimonial-avatar{
  width:42px; height:42px; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.16); background:rgba(0,242,234,.12); color:#fff; font-weight:700;
  margin-bottom:1rem; border-radius:50%;
}

.scroll-reveal{ opacity:0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.scroll-reveal.is-visible{ opacity:1; transform: translateY(0); }
#landing-header.is-scrolled{ background: rgba(7,8,12,.78); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
#landing-header{ transition: background-color .25s ease, backdrop-filter .25s ease, border-color .25s ease; }

.master-detail-layout{
  display:grid !important;
  grid-template-columns: minmax(300px, 360px) minmax(0,1fr);
  gap:1rem;
  width:100%;
  height:100%;
  align-items:stretch;
}
.md-list-column,.md-detail-column{ min-height: 0; }
.md-list-column .card-content,
.md-detail-column .card-content{ overflow:auto; }
.md-detail-column{ background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important; }
.md-list-column .card-header h3,
.md-detail-column .card-header h3{ font-size:1rem; }
.module-detail-shell{ display:flex; flex-direction:column; gap:1rem; min-height:100%; }
.module-detail-placeholder{ display:flex; align-items:center; justify-content:center; min-height:280px; text-align:center; color:var(--text-secondary); }
.module-detail-actions{ display:flex; gap:.75rem; flex-wrap:wrap; }
.module-nav-list{ display:flex; flex-direction:column; gap:.75rem; }
.module-nav-item{
  width:100%; text-align:left; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); color:#fff;
  padding:.95rem 1rem; cursor:pointer;
}
.module-nav-item.active,
.module-nav-item:hover{ border-color: rgba(0,242,234,.45); background: rgba(0,242,234,.08); }
.detail-kpi-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:.75rem; }
.detail-kpi{ border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); padding:.85rem; }
.detail-kpi strong{ display:block; color:#fff; font-size:1.1rem; }
.detail-kpi span{ color:var(--text-secondary); font-size:.85rem; }
.detail-stack{ display:flex; flex-direction:column; gap:.8rem; }
.detail-listing{ display:flex; flex-direction:column; gap:.55rem; }
.detail-listing-item{ display:flex; justify-content:space-between; gap:.75rem; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.03); }
.detail-listing-item strong{ color:#fff; }
.detail-note{ color:var(--text-secondary); line-height:1.6; }

.detail-modal-overlay{ z-index: 20010 !important; }
.detail-modal-box{ width:min(100%, 980px); max-height:calc(100dvh - 24px); overflow:hidden; }
.detail-modal-header{ position:sticky; top:0; z-index:2; background: rgba(10,12,16,.95); }
.detail-modal-body{ overflow:auto; }
.detail-modal-footer{ justify-content:flex-end; gap:.75rem; flex-wrap:wrap; }
.detail-rich-content h4{ margin-bottom:.6rem; color:#fff; }
.detail-rich-content p, .detail-rich-content li{ color:var(--text-secondary); line-height:1.65; }
@media (max-width: 991px){
  .hero-stats{ grid-template-columns:1fr; }
  .master-detail-layout{ display:block !important; }
  .md-detail-column{ display:none !important; }
  .detail-modal-box{ width:100%; height:100dvh; max-height:100dvh; border-radius:0 !important; transform: translateY(100%); transition: transform .28s ease; }
  #detail-modal.is-visible .detail-modal-box{ transform: translateY(0); }
  .detail-modal-header,.detail-modal-footer{ padding-left:1rem !important; padding-right:1rem !important; }
}


/* ===== PATCH FINAL — planejador, detalhes e editor de receitas ===== */
#custom-confirm-modal.recipe-editor-modal .modal-box{
  width:min(100%, 860px) !important;
  max-height:calc(100dvh - 20px) !important;
  display:flex;
  flex-direction:column;
}
#custom-confirm-modal.recipe-editor-modal .modal-header{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(13,15,20,.96);
}
#custom-confirm-modal.recipe-editor-modal #confirm-title{
  display:flex;
  align-items:center;
  gap:.6rem;
}
#custom-confirm-modal.recipe-editor-modal .modal-body{
  overflow:auto;
  padding:1rem 1rem 0 !important;
}
#custom-confirm-modal.recipe-editor-modal .modal-footer{
  position:sticky;
  bottom:0;
  z-index:2;
  background:rgba(13,15,20,.96);
  justify-content:flex-end;
  gap:.75rem;
}
#custom-confirm-modal.recipe-editor-modal .modal-body > p#confirm-message{
  margin:0;
}
#recipe-edit-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
#recipe-edit-form .divider{
  margin:.25rem 0;
}
#recipe-edit-form .form-group{
  margin-bottom:0 !important;
}
#recipe-ing-form{
  padding:.9rem !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.03) !important;
}
#custom-confirm-modal.recipe-editor-modal .add-item-form{
  display:grid !important;
  grid-template-columns:minmax(0, 2.1fr) 92px 112px 54px !important;
  grid-template-areas:"nome qtd unid btn" !important;
  gap:.75rem !important;
  align-items:end !important;
  padding:0 !important;
}
#custom-confirm-modal.recipe-editor-modal .add-item-form .form-group-flex{grid-area:nome !important;min-width:0 !important;}
#custom-confirm-modal.recipe-editor-modal .add-item-form .form-group-small{min-width:0 !important;}
#custom-confirm-modal.recipe-editor-modal .add-item-form .form-group-small:nth-of-type(2){grid-area:qtd !important;}
#custom-confirm-modal.recipe-editor-modal .add-item-form .form-group-small:nth-of-type(3){grid-area:unid !important;}
#custom-confirm-modal.recipe-editor-modal .add-item-form .btn-add-item{grid-area:btn !important;width:54px !important;height:48px !important;border-radius:14px !important;}
#custom-confirm-modal.recipe-editor-modal .add-item-form input,
#custom-confirm-modal.recipe-editor-modal .add-item-form select{width:100%;min-width:0;height:48px !important;}
#custom-confirm-modal.recipe-editor-modal #recipe-ing-name{min-width:0 !important;}
#recipe-ingredients-list{max-height:240px !important;padding:.35rem !important;display:flex;flex-direction:column;gap:.55rem;}
.recipe-ingredient-empty{padding:1rem !important;margin:0;}
.recipe-ing-item{display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;margin:0 !important;padding:.8rem .85rem !important;border:1px solid rgba(255,255,255,.08) !important;border-radius:14px !important;background:rgba(255,255,255,.035) !important;}
.recipe-ing-copy{min-width:0;display:flex;flex-direction:column;gap:.2rem;}
.recipe-ing-copy strong{color:#fff !important;font-size:.92rem;line-height:1.25;}
.recipe-ing-copy span{color:var(--text-secondary);line-height:1.4;word-break:break-word;}
.recipe-ing-actions{display:flex;gap:.45rem !important;}
.recipe-ing-actions .icon-button{width:40px !important;height:40px !important;border-radius:12px !important;}
.unified-detail-actions{display:grid !important;grid-template-columns:repeat(auto-fit, minmax(120px,1fr));gap:.65rem !important;width:100%;}
.unified-detail-actions .icon-button,
.detail-modal-footer .detail-action-btn{min-height:48px;display:flex !important;align-items:center;justify-content:center;gap:.55rem;width:100% !important;padding:.85rem .9rem !important;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;border-radius:14px !important;text-align:center;font-weight:600;}
.unified-detail-actions .icon-button span{display:inline-block;font-size:.92rem;line-height:1.1;}
.unified-detail-actions .icon-button.danger,
.detail-modal-footer .detail-action-btn.delete-recipe-btn{border-color:rgba(255,59,48,.25) !important;color:#ff8b84 !important;}
#list-view-modal-footer{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;}
#list-view-modal-footer .icon-button{width:100% !important;height:48px !important;border-radius:14px !important;}
.recipe-picker-list{display:flex;flex-direction:column;gap:.75rem;}
.recipe-picker-item{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.85rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03);}
.recipe-picker-copy{min-width:0;display:flex;flex-direction:column;gap:.2rem;}
.recipe-picker-copy strong{color:#fff;word-break:break-word;}
.recipe-picker-copy span{color:var(--text-secondary);font-size:.88rem;line-height:1.35;}
.recipe-picker-item .btn{min-width:124px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;}
.planner-day-nav{border-radius:16px !important;}
.planner-day-nav strong{display:block;margin-bottom:.2rem;}
.planner-day-nav span{color:var(--text-secondary);font-size:.88rem;}
#planner-detail-desktop .detail-listing,
#detail-modal-body .detail-listing{gap:.85rem;}
.planner-slot-card{border-radius:18px !important;padding:1rem !important;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)) !important;}
.planner-slot-copy .detail-note{margin:0;}
.module-detail-actions{align-items:stretch;}
.module-detail-actions .btn{min-width:140px;justify-content:center;}
.recipe-rich-content ul{padding-left:1.1rem;}
.recipe-rich-content li{margin-bottom:.35rem;}
@media (max-width: 991px){
  #custom-confirm-modal.recipe-editor-modal .modal-box{width:100% !important;height:100dvh;max-height:100dvh !important;border-radius:0 !important;}
  #custom-confirm-modal.recipe-editor-modal .add-item-form{grid-template-columns:minmax(0,1fr) 84px 92px 48px !important;gap:.6rem !important;}
}
@media (max-width: 640px){
  #custom-confirm-modal.recipe-editor-modal .add-item-form{grid-template-columns:minmax(0,1fr) 72px 86px 46px !important;gap:.5rem !important;}
  #custom-confirm-modal.recipe-editor-modal .add-item-form label{font-size:.68rem !important;white-space:nowrap;}
  .recipe-ing-item{grid-template-columns:minmax(0,1fr);}
  .recipe-ing-actions{width:100%;justify-content:flex-end;}
  .unified-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
  #list-view-modal-footer{grid-template-columns:repeat(4,minmax(0,1fr));}
  .recipe-picker-item{flex-direction:column;align-items:stretch;}
  .recipe-picker-item .btn{width:100%;min-width:0;}
}
@media (max-width: 430px){
  #custom-confirm-modal.recipe-editor-modal .add-item-form{grid-template-columns:minmax(0,1fr) 64px 78px 44px !important;}
  #custom-confirm-modal.recipe-editor-modal .add-item-form label{font-size:.62rem !important;}
  .detail-modal-footer .detail-action-btn,
  .unified-detail-actions .icon-button{min-height:46px;padding:.75rem .55rem !important;}
  .unified-detail-actions .icon-button span{font-size:.84rem;}
}

/* === PATCH OBRIGATÓRIO 2026-03-20 === */
#custom-confirm-modal{ z-index: 40000 !important; }
#list-view-modal, #pantry-view-modal, #recipe-detail-modal, #detail-modal, #item-edit-modal, #list-name-modal { z-index: 22000 !important; }

.card--saved-list,
.card--recipe,
.saved-list-item,
.recipe-list-item{
  background: rgba(30, 30, 35, 0.95) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: #fff !important;
}
.card--saved-list .card__title,
.card--recipe .card__title,
.card--saved-list .card__details,
.card--recipe .card__details{ color:#fff !important; }

.placeholder-item{
  padding: 8px 12px !important;
  margin-bottom: 8px !important;
}
.item-details-grid,
.item-details-grid span,
.item-validade,
.confirm-pantry-text,
.form-group-checked label{ font-size: .75rem !important; }
#lista-items-full{ padding-bottom: 8px !important; }
#active-list-actions{ margin-top: 0 !important; }

.item-main-info input[type="checkbox"]:checked{
  background-color: var(--green) !important;
  border-color: var(--green) !important;
}
.item-main-info input[type="checkbox"]:checked::after{
  color: #fff !important;
}

#list-view-modal-footer,
#pantry-view-footer,
#recipe-detail-modal-footer{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:.65rem;
}
#list-view-modal-footer .icon-button,
#pantry-view-footer .icon-button,
#recipe-detail-modal-footer .icon-button,
#active-list-actions .icon-button{
  width:100% !important;
  height:48px !important;
  border-radius:14px !important;
}

#pantry-view-modal .modal-body,
#recipe-detail-modal .modal-body,
#list-view-modal .modal-body{ flex:1 1 auto; overflow:auto; }
#pantry-view-modal .modal-header,
#recipe-detail-modal .modal-header,
#list-view-modal .modal-header{ background:#121212 !important; }

.inline-editing{ background: rgba(255,255,255,.05) !important; }
.item-inline-edit-grid{
  display:grid;
  grid-template-columns: minmax(0,1.8fr) 76px 88px 96px auto;
  gap:.55rem;
  align-items:end;
}
.inline-field{ min-width:0; }
.inline-field label{
  display:block;
  font-size:.68rem;
  color:var(--text-secondary);
  margin-bottom:4px;
}
.inline-field input,
.inline-field select{
  width:100%;
  height:40px;
  border-radius:12px;
}
.inline-edit-actions{
  display:flex;
  gap:.4rem;
  align-items:end;
}
.inline-edit-actions .icon-button{
  width:40px !important;
  height:40px !important;
}

.planner-day-card{
  cursor:pointer;
  background: rgba(30, 30, 35, 0.95) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.planner-day-card .planner-day-header{ color:#fff !important; }
.planner-day-card .planner-meal-slot{ background: rgba(255,255,255,.04) !important; }
.meal-item-actions{ display:flex; gap:.45rem; flex-wrap:wrap; }
.meal-item-actions .icon-button{ width:42px !important; height:42px !important; }
.planner-meal-item.completed{ opacity:.72; }
.planner-meal-item.completed .meal-item-name{ text-decoration: line-through; }
.meal-complete-btn.is-complete,
.planner-meal-item.completed .meal-complete-btn{ color: var(--green) !important; border-color: rgba(52,199,89,.35) !important; }

#item-edit-modal .modal-footer{
  display:flex;
  justify-content:flex-end;
  gap:.65rem;
}
#item-edit-modal .modal-footer .icon-button{
  width:48px;
  height:48px;
  border-radius:14px;
}

@media (max-width: 991px){
  .item-inline-edit-grid{ grid-template-columns: minmax(0,1fr) 70px 82px 90px auto; }
  #pantry-view-modal .modal-box,
  #recipe-detail-modal .modal-box,
  #list-view-modal .modal-box{ width:100vw !important; height:100dvh !important; border-radius:0 !important; }
}
@media (max-width: 640px){
  .item-inline-edit-grid{ grid-template-columns: minmax(0,1fr) 64px 76px 84px auto; gap:.45rem; }
  .inline-field label{ font-size:.62rem; }
  .inline-field input,
  .inline-field select{ height:38px; }
}


/* === PATCH VISUAL PREMIUM 2026-03-20 — botões, ordenar, planejador e landing === */
.hero-signature{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.72rem 1rem;
  margin-top:1.35rem;
  color:rgba(255,255,255,.84);
  font-size:.92rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.testimonials-section{ display:none !important; }

.module-toolbar{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1rem;
  flex-wrap:wrap;
}
.luxury-create-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:48px;
  padding:.78rem 1rem !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-radius:18px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-weight:700;
  letter-spacing:.01em;
}
.luxury-create-btn:hover{
  border-color:rgba(0,242,234,.38) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.28), 0 0 0 1px rgba(0,242,234,.08), inset 0 1px 0 rgba(255,255,255,.08);
}
.luxury-create-btn i{ font-size:.95rem; }

.luxury-sort-btn{
  width:44px !important;
  height:44px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#f5f7fb !important;
  box-shadow:0 10px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.luxury-sort-btn:hover{
  border-color:rgba(0,242,234,.34) !important;
  color:var(--primary-color) !important;
}
.sort-chip{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:.72rem .95rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.8);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.01em;
  max-width:min(100%, 230px);
}
.sort-chip strong{ color:#fff; font-weight:700; }

/* Export buttons: glass, icon-only, compact */
#list-view-modal-footer,
#pantry-view-footer,
#recipe-detail-modal-footer,
.card-footer.module-actions-footer,
.detail-modal-footer{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:.6rem !important;
  flex-wrap:wrap;
}
#list-view-modal-footer .minimal-export-btn,
#pantry-view-footer .minimal-export-btn,
#recipe-detail-modal-footer .minimal-export-btn,
.card-footer.module-actions-footer .minimal-export-btn,
.detail-modal-footer .minimal-export-btn{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)) !important;
  color:#f6f8fc !important;
  box-shadow:0 12px 24px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#list-view-modal-footer .minimal-export-btn:hover,
#pantry-view-footer .minimal-export-btn:hover,
#recipe-detail-modal-footer .minimal-export-btn:hover,
.card-footer.module-actions-footer .minimal-export-btn:hover,
.detail-modal-footer .minimal-export-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(0,242,234,.34) !important;
  color:var(--primary-color) !important;
  box-shadow:0 14px 26px rgba(0,0,0,.26), 0 0 0 1px rgba(0,242,234,.08);
}
.minimal-export-btn span{ display:none !important; }
.minimal-export-btn i{ font-size:.95rem; }

.generate-list-btn{
  width:auto !important;
  min-width:unset !important;
  height:42px !important;
  padding:0 .95rem !important;
  border-radius:14px !important;
  gap:.55rem !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
.generate-list-btn span{ display:inline !important; font-size:.86rem; }

.planner-shell .card-header{
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)) !important;
}
.planner-shell .card-header h3{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.planner-subtitle{
  color:var(--text-secondary);
  font-size:.88rem;
  margin-top:.2rem;
}
.planner-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:1rem !important;
}
.planner-day-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  padding:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.08), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 18px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.planner-day-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.04), transparent 55%);
  pointer-events:none;
}
.planner-day-card .planner-day-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem;
  padding:1rem 1rem .8rem;
  position:relative;
  z-index:1;
}
.planner-day-copy{
  display:flex;
  flex-direction:column;
  gap:.22rem;
}
.planner-day-copy strong{
  color:#fff;
  font-size:1rem;
}
.planner-day-copy span{
  color:var(--text-secondary);
  font-size:.82rem;
}
.planner-day-actions{
  display:flex;
  gap:.45rem;
}
.planner-day-actions .icon-button{
  width:38px !important;
  height:38px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.05) !important;
}
.planner-preview-list{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  padding:0 1rem 1rem;
}
.planner-mini-meal,
.planner-mini-empty{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  border-radius:16px;
  padding:.8rem .85rem;
}
.planner-mini-meal small{
  display:block;
  color:var(--primary-color);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.22rem;
}
.planner-mini-meal strong{
  color:#fff;
  display:block;
  line-height:1.35;
  font-size:.92rem;
}
.planner-mini-meal.is-complete{
  opacity:.74;
}
.planner-mini-meal.is-complete strong{
  text-decoration:line-through;
}
.planner-mini-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  color:var(--text-secondary);
  text-align:center;
}

.detail-listing-item.planner-meal-item{
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)) !important;
}
.meal-item-actions .icon-button{
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

.md-list-column .card-content,
.md-detail-column .card-content{
  scrollbar-width:thin;
}

@media (max-width: 991px){
  .module-toolbar{ gap:.6rem; }
  .luxury-create-btn{ flex:1 1 auto; }
  .sort-chip{ flex:1 1 100%; max-width:none; min-height:40px; }
  .planner-grid{ grid-template-columns:1fr !important; }
}
@media (max-width: 640px){
  .hero-signature{ width:100%; font-size:.78rem; letter-spacing:.05em; }
  .luxury-create-btn{ width:calc(100% - 54px); }
  .luxury-sort-btn{ width:42px !important; height:42px !important; }
}



/* === PATCH FINAL UX/LUXO 2026-03-21 === */
.module-toolbar.module-toolbar--ultra{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.7rem !important;
  margin-bottom:1rem !important;
  flex-wrap:nowrap !important;
}
.module-toolbar--ultra .luxury-create-btn{
  flex:1 1 auto !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 .95rem !important;
  justify-content:flex-start !important;
  gap:.62rem !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 14px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.module-toolbar--ultra .luxury-create-btn span{ font-size:.95rem; font-weight:700; }
.module-toolbar--ultra .luxury-sort-btn{
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 14px 24px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.module-toolbar--ultra .luxury-sort-btn i{
  font-size:1rem !important;
}

.card--saved-list,
.card--recipe,
.saved-list-item,
.recipe-list-item{
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.06), transparent 32%),
    linear-gradient(180deg, rgba(28,31,39,.98), rgba(21,23,30,.96)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 18px 32px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.card--saved-list:hover,
.card--recipe:hover,
.saved-list-item:hover,
.recipe-list-item:hover{
  border-color:rgba(255,255,255,.26) !important;
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.09), transparent 32%),
    linear-gradient(180deg, rgba(32,35,44,.99), rgba(24,27,34,.97)) !important;
}

.compact-export-row,
#list-view-modal-footer,
#pantry-view-footer,
#recipe-detail-modal-footer,
.card-footer.module-actions-footer,
.detail-modal-footer{
  justify-content:flex-end !important;
  gap:.45rem !important;
  flex-wrap:wrap !important;
}
#list-view-modal-footer .minimal-export-btn,
#pantry-view-footer .minimal-export-btn,
#recipe-detail-modal-footer .minimal-export-btn,
.card-footer.module-actions-footer .minimal-export-btn,
.detail-modal-footer .minimal-export-btn,
.compact-export-row .minimal-export-btn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  border-radius:15px !important;
  position:relative;
  overflow:hidden;
}
.minimal-export-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04));
  opacity:.7;
  pointer-events:none;
}
.minimal-export-btn.share-btn{
  color:#6df6ff !important;
  border-color:rgba(109,246,255,.28) !important;
  background:linear-gradient(180deg, rgba(109,246,255,.18), rgba(109,246,255,.06)) !important;
}
.minimal-export-btn.print-btn{
  color:#ffd26d !important;
  border-color:rgba(255,210,109,.28) !important;
  background:linear-gradient(180deg, rgba(255,210,109,.18), rgba(255,210,109,.06)) !important;
}
.minimal-export-btn.pdf-btn{
  color:#ff8a94 !important;
  border-color:rgba(255,138,148,.3) !important;
  background:linear-gradient(180deg, rgba(255,138,148,.18), rgba(255,138,148,.06)) !important;
}
.minimal-export-btn.share-btn:hover{
  color:#9cf8ff !important;
  border-color:rgba(109,246,255,.42) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.22), 0 0 0 1px rgba(109,246,255,.12) !important;
}
.minimal-export-btn.print-btn:hover{
  color:#ffe3a4 !important;
  border-color:rgba(255,210,109,.42) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.22), 0 0 0 1px rgba(255,210,109,.12) !important;
}
.minimal-export-btn.pdf-btn:hover{
  color:#ffb1b7 !important;
  border-color:rgba(255,138,148,.42) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.22), 0 0 0 1px rgba(255,138,148,.12) !important;
}

#list-view-modal-footer,
#pantry-view-footer,
#recipe-detail-modal-footer{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.45rem !important;
}
#list-view-modal-footer .minimal-export-btn,
#pantry-view-footer .minimal-export-btn,
#recipe-detail-modal-footer .minimal-export-btn{
  width:44px !important;
}

.item-inline-edit-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.6fr) 86px 92px 104px auto !important;
  grid-template-areas:"name qtd unid valor actions" !important;
  gap:.6rem !important;
  align-items:end !important;
}
.inline-name-field{ grid-area:name; }
.inline-qtd-field{ grid-area:qtd; }
.inline-unid-field{ grid-area:unid; }
.inline-valor-field{ grid-area:valor; }
.inline-edit-actions{
  grid-area:actions;
  display:flex !important;
  gap:.45rem !important;
  justify-content:flex-end !important;
  align-items:flex-end !important;
}
.inline-editing{
  padding:10px 12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
}
.inline-field input,
.inline-field select{
  background:rgba(0,0,0,.25) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
}

.recipe-luxury-view{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.recipe-hero-head{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:stretch;
}
.recipe-title-block{
  flex:1 1 280px;
  padding:1rem 1.05rem;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border-radius:20px;
}
.recipe-title-block h4{
  margin:.25rem 0 .45rem;
  font-size:1.2rem;
  color:#fff;
}
.recipe-eyebrow{
  display:inline-block;
  padding:.26rem .6rem;
  border-radius:999px;
  background:rgba(0,242,234,.12);
  color:var(--primary-color);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.recipe-meta-grid{
  flex:0 0 220px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
}
.recipe-section-card{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border-radius:20px;
  padding:1rem 1.05rem;
}
.recipe-section-card h5{
  margin:0 0 .85rem;
  color:#fff;
  font-size:1rem;
}
.recipe-ingredient-chips{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.recipe-chip{
  min-width:120px;
  padding:.72rem .82rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  display:flex;
  flex-direction:column;
  gap:.18rem;
}
.recipe-chip span{
  color:var(--primary-color);
  font-size:.76rem;
}
.recipe-chip strong{
  color:#fff;
  line-height:1.35;
  word-break:break-word;
}
.recipe-chip--empty{
  width:100%;
}
.recipe-prep-copy{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.recipe-prep-copy p{
  margin:0;
  line-height:1.68;
  color:var(--text-secondary);
}

.planner-shell--ultra .card-header{
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)) !important;
}
.planner-day-stack{
  margin-top:1rem;
}
.detail-listing-item.planner-meal-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.8rem !important;
  padding:1rem !important;
}
.planner-meal-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.22rem;
}
.planner-meal-label{
  display:inline-flex;
  width:max-content;
  padding:.2rem .52rem;
  border-radius:999px;
  background:rgba(0,242,234,.12);
  color:var(--primary-color);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.7rem;
}
.meal-item-name{
  display:block;
  line-height:1.38 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
.meal-item-actions{
  display:grid !important;
  grid-auto-flow:row !important;
  gap:.45rem !important;
  align-content:flex-start;
  justify-items:end;
}
.meal-item-actions .icon-button{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
}
.generate-list-btn{
  width:auto !important;
  min-width:unset !important;
  padding:0 .95rem !important;
  color:#fff !important;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
}
.generate-list-btn i{ color:var(--primary-color) !important; }

.analysis-premium-header{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important;
}
.analysis-premium-content,
.analysis-premium-modal{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analysis-premium-note{
  padding:.95rem 1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.analysis-premium-chart{
  min-height:320px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

.identity-container.has-hero-rotator .hero-signature,
.identity-container.has-hero-rotator .hero-stat{
  display:none !important;
}
.hero-rotator{
  position:relative;
  width:min(100%, 420px);
  height:56px;
  margin:1rem 0 0;
}
.hero-rotator-item{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.85rem 1rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:rgba(255,255,255,.9);
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(10px) scale(.98);
  transition:opacity .45s ease, transform .45s ease;
  box-shadow:0 16px 28px rgba(0,0,0,.18);
}
.hero-rotator-item.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

#dicas-valiosas .carousel-slider,
#receitas-landing .carousel-slider{
  display:flex;
  justify-content:center;
  width:100%;
}
#dicas-valiosas .carousel-track,
#receitas-landing .carousel-track{
  margin-inline:auto;
  align-items:stretch;
}
#dicas-valiosas .content-card,
#receitas-landing .content-card{
  margin-left:1rem !important;
  margin-right:1rem !important;
}

@media (max-width: 991px){
  .module-toolbar.module-toolbar--ultra{
    gap:.6rem !important;
  }
  .module-toolbar--ultra .luxury-create-btn{
    min-width:0 !important;
  }
  .detail-listing-item.planner-meal-item{
    grid-template-columns:1fr !important;
  }
  .meal-item-actions{
    grid-auto-flow:column !important;
    justify-content:flex-start !important;
  }
}
@media (max-width: 640px){
  .module-toolbar.module-toolbar--ultra .luxury-create-btn{
    font-size:.92rem !important;
    padding:0 .82rem !important;
  }
  .module-toolbar.module-toolbar--ultra .luxury-sort-btn{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
  }
  .item-inline-edit-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "name name"
      "qtd unid"
      "valor actions" !important;
  }
  .hero-rotator{
    width:100%;
    height:62px;
  }
}



/* === PATCH MAGNIFICO FINAL 2026-03-21 === */
.modern-start-btn{
  gap:18px !important;
  padding:16px 22px 16px 28px !important;
  background:linear-gradient(135deg, rgba(0,242,234,.22), rgba(255,138,148,.18)) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.35), 0 0 0 1px rgba(0,242,234,.08), inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
}
.modern-start-btn::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  pointer-events:none;
}
.modern-start-btn .btn-text{
  position:relative;
  z-index:1;
  font-size:1.02rem !important;
  letter-spacing:.12em !important;
}
.modern-start-btn .btn-icon-wrapper{
  position:relative;
  z-index:1;
  width:38px !important;
  height:38px !important;
  background:linear-gradient(180deg, #ffffff, #dffdfc) !important;
  color:#021414 !important;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
}
.modern-start-btn:hover{
  background:linear-gradient(135deg, rgba(0,242,234,.38), rgba(255,199,92,.28)) !important;
  border-color:rgba(0,242,234,.5) !important;
  box-shadow:0 22px 56px rgba(0,0,0,.42), 0 0 0 1px rgba(0,242,234,.16), 0 0 32px rgba(0,242,234,.26) !important;
  transform:translateY(-4px) scale(1.018) !important;
}
.modern-start-btn:hover .btn-text{ color:#fff !important; }
.modern-start-btn:hover .btn-icon-wrapper{
  background:linear-gradient(180deg, #fff7dd, #ffffff) !important;
  color:#051313 !important;
  transform:translateX(4px) rotate(-18deg) !important;
}

.identity-container{
  max-width:1240px !important;
}
.hero-secondary-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
}

#dicas-valiosas .carousel-slider,
#receitas-landing .carousel-slider{
  overflow:hidden;
  width:100%;
}
#dicas-valiosas .carousel-track,
#receitas-landing .carousel-track{
  width:100%;
  justify-content:center !important;
  align-items:stretch !important;
  scroll-padding-inline:1.25rem;
}
#dicas-valiosas .content-card,
#receitas-landing .content-card{
  width:min(340px, calc(100vw - 2.5rem)) !important;
  max-width:340px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#dicas-valiosas .content-card-content,
#receitas-landing .content-card-content{
  align-items:center;
  text-align:center;
}
#dicas-valiosas .content-card-content p,
#receitas-landing .content-card-content p{
  max-width:28ch;
  margin-inline:auto;
}

.module-toolbar.module-toolbar--ultra{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 48px !important;
  align-items:center !important;
  gap:.72rem !important;
}
.module-toolbar--ultra .luxury-create-btn{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  justify-content:flex-start !important;
}
.module-toolbar--ultra .luxury-sort-btn{
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  display:inline-flex !important;
}
.card--saved-list,
.card--recipe,
.card--pantry,
.saved-list-item,
.recipe-list-item{
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.11), transparent 32%),
    linear-gradient(180deg, rgba(36,39,49,.98), rgba(24,26,33,.98)) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 22px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.card--saved-list .card__title,
.card--recipe .card__title,
.saved-list-item .saved-list-name,
.recipe-list-item .recipe-name,
.card--saved-list strong,
.card--recipe strong{
  color:#fff !important;
}

.placeholder-item .item-name{
  white-space:normal !important;
  line-height:1.42 !important;
  word-break:break-word !important;
}
.placeholder-item.inline-editing{
  overflow:visible !important;
}
.placeholder-item.inline-editing .item-inline-edit-grid{
  grid-template-columns:minmax(0,2fr) 90px 96px 110px auto !important;
  align-items:end !important;
}
.placeholder-item.inline-editing .inline-field label{
  display:block;
  margin-bottom:.3rem;
  color:rgba(255,255,255,.8);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.placeholder-item.inline-editing .inline-field input,
.placeholder-item.inline-editing .inline-field select{
  min-height:42px !important;
  border-radius:14px !important;
}
.placeholder-item.inline-editing .inline-name-field{
  min-width:0;
}
.placeholder-item.inline-editing .inline-name-field input{
  white-space:normal !important;
}

.export-action-row,
#list-view-modal-footer,
#pantry-view-footer,
#recipe-detail-modal-footer,
.card-footer.module-actions-footer,
.detail-modal-footer,
.compact-export-row{
  justify-content:center !important;
  align-items:center !important;
  gap:.45rem !important;
}
.minimal-export-btn,
.chef-glass-btn,
.chef-inline-btn{
  position:relative;
  overflow:hidden;
}
.minimal-export-btn i,
.chef-glass-btn i,
.chef-inline-btn i{
  position:relative;
  z-index:1;
}
.chef-glass-btn,
.chef-inline-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.55rem;
  min-height:44px;
  padding:0 .95rem !important;
  border-radius:15px !important;
  border:1px solid rgba(120,224,255,.28) !important;
  background:linear-gradient(180deg, rgba(112,222,255,.16), rgba(112,222,255,.05)) !important;
  color:#dffcff !important;
  box-shadow:0 14px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.chef-glass-btn::before,
.chef-inline-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0));
  opacity:.75;
  pointer-events:none;
}
.chef-glass-btn:hover,
.chef-inline-btn:hover{
  border-color:rgba(120,224,255,.5) !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(0,0,0,.24), 0 0 0 1px rgba(120,224,255,.14), 0 0 22px rgba(120,224,255,.14);
}
.chef-inline-btn span,
.chef-glass-btn span{ position:relative; z-index:1; font-weight:700; font-size:.85rem; }
.chef-inline-btn i,
.chef-glass-btn i{ color:#8ffff6 !important; }

.pantry-luxury-view{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.pantry-hero-card,
.pantry-stock-card,
.pantry-nutrition-card,
.pantry-chef-card{
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.028));
  padding:1rem 1.05rem;
  box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.pantry-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:1rem;
  align-items:center;
}
.pantry-hero-card h4{
  margin:.2rem 0 .35rem;
  color:#fff;
  font-size:1.3rem;
}
.pantry-eyebrow{
  display:inline-flex;
  width:max-content;
  padding:.24rem .6rem;
  border-radius:999px;
  background:rgba(0,242,234,.12);
  color:var(--primary-color);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pantry-meta-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.7rem;
}
.pantry-meta-pill{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  padding:.82rem .88rem;
}
.pantry-meta-pill span{
  display:block;
  color:var(--text-secondary);
  font-size:.74rem;
  margin-top:.15rem;
}
.pantry-meta-pill strong{
  color:#fff;
  font-size:1rem;
  line-height:1.32;
  word-break:break-word;
}
.pantry-stock-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:1rem;
  align-items:center;
}
.pantry-stock-meter{
  display:flex;
  gap:.38rem;
  align-items:flex-end;
  justify-content:flex-end;
  min-height:84px;
}
.pantry-stock-meter-bar{
  flex:1 1 0;
  min-width:18px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  height:24px;
}
.pantry-stock-meter-bar.active{
  background:linear-gradient(180deg, rgba(67,239,112,.85), rgba(37,190,93,.85));
  border-color:rgba(67,239,112,.6);
}
.pantry-stock-meter-bar.level-1{height:32px}
.pantry-stock-meter-bar.level-2{height:48px}
.pantry-stock-meter-bar.level-3{height:66px}
.pantry-stock-meter-bar.level-4{height:84px}
.pantry-nutrition-card ul{
  margin:.7rem 0 0;
  padding-left:1rem;
  color:var(--text-secondary);
  line-height:1.65;
}
.pantry-chef-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.pantry-chef-copy strong{ color:#fff; display:block; margin-bottom:.28rem; }
.pantry-chef-copy p{ margin:0; color:var(--text-secondary); }

.planner-day-detail-shell{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.planner-slot-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.9rem;
}
.planner-slot-card{
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.028));
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  min-height:190px;
  box-shadow:0 18px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.planner-slot-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}
.planner-slot-title{
  display:flex;
  flex-direction:column;
  gap:.28rem;
  min-width:0;
}
.planner-slot-title small{
  color:var(--primary-color);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.planner-slot-title strong{
  color:#fff;
  line-height:1.35;
  word-break:break-word;
}
.planner-slot-time{
  display:inline-flex;
  width:max-content;
  padding:.26rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:var(--text-secondary);
  font-size:.74rem;
}
.planner-slot-body p{ margin:0; color:var(--text-secondary); line-height:1.6; }
.planner-slot-actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
}
.planner-slot-actions .icon-button,
.planner-slot-actions .chef-inline-btn{
  min-height:40px !important;
  height:40px !important;
  border-radius:14px !important;
}
.planner-slot-empty{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.planner-slot-empty p{
  margin:0;
  color:var(--text-secondary);
  line-height:1.58;
}
.planner-slot-add-card{
  align-items:center;
  justify-content:center;
  text-align:center;
  border-style:dashed;
}
.planner-slot-add-card .icon-button{
  width:52px !important;
  height:52px !important;
  border-radius:18px !important;
}

.analysis-luxe-shell{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analysis-hero-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.85rem;
}
.analysis-kpi-card{
  padding:1rem 1.05rem;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow:0 16px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.analysis-kpi-card small{
  display:block;
  color:var(--text-secondary);
  margin-top:.22rem;
}
.analysis-kpi-card strong{
  color:#fff;
  font-size:1.28rem;
  line-height:1.2;
}
.analysis-nav-list.analysis-nav-grid{
  display:grid;
  gap:.75rem;
}
.analysis-nav-item{
  text-align:left !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.028)) !important;
  border:1px solid rgba(255,255,255,.1) !important;
}
.analysis-nav-item.active{
  border-color:rgba(0,242,234,.36) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.18), 0 0 0 1px rgba(0,242,234,.08) !important;
}
.analysis-preview-panel .analysis-premium-note{
  margin:0;
}
.analysis-premium-chart{
  min-height:340px !important;
}
.analysis-premium-header .chef-inline-btn,
.analysis-premium-actions .chef-inline-btn{
  margin-left:auto;
}

@media (max-width: 991px){
  .analysis-hero-grid,
  .pantry-meta-grid,
  .planner-slot-grid{ grid-template-columns:1fr 1fr; }
  .pantry-hero-card,
  .pantry-stock-card{ grid-template-columns:1fr; }
  .module-toolbar.module-toolbar--ultra{ grid-template-columns:minmax(0,1fr) 46px !important; }
}
@media (max-width: 640px){
  #dicas-valiosas .content-card,
  #receitas-landing .content-card{ width:min(320px, calc(100vw - 2rem)) !important; }
  .analysis-hero-grid,
  .pantry-meta-grid,
  .planner-slot-grid{ grid-template-columns:1fr; }
  .pantry-chef-card{ flex-direction:column; align-items:flex-start; }
  .planner-slot-actions{ justify-content:flex-start; }
  .placeholder-item.inline-editing .item-inline-edit-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:"name name" "qtd unid" "valor actions" !important;
  }
}


/* === PATCH UX V5 FINAL 2026-03-21 === */
body.modal-open{ overflow:hidden; }
#ai-chat-modal{ z-index: 21150 !important; }
#ai-chat-modal .modal-box{ z-index: 21151 !important; }
#detail-modal, #recipe-picker-modal, #pantry-view-modal, #recipe-detail-modal, #list-view-modal{ z-index: 21040 !important; }

.module-toolbar.module-toolbar--ultra{
  grid-template-columns:minmax(0,1fr) 56px !important;
  align-items:stretch !important;
  gap:.72rem !important;
}
.module-toolbar--ultra .luxury-create-btn,
.module-toolbar--ultra .luxury-sort-btn{
  min-height:56px !important;
  height:56px !important;
}
.module-toolbar--ultra .luxury-create-btn{
  padding:0 1.05rem !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  gap:.7rem !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.module-toolbar--ultra .luxury-create-btn span{
  font-weight:800 !important;
  letter-spacing:.02em;
}
.module-toolbar--ultra .luxury-sort-btn{
  width:56px !important;
  min-width:56px !important;
  border-radius:18px !important;
  justify-self:end !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.module-toolbar--ultra .luxury-sort-btn i{
  font-size:1.12rem !important;
}

.list-edit-title-shell{
  display:flex;
  align-items:center;
  gap:.75rem;
  width:100%;
  min-width:0;
}
.list-name-chip{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.45rem .5rem .45rem .15rem;
  border-radius:18px;
}
.list-name-chip i{ color:var(--primary-color); flex-shrink:0; }
#active-list-title #active-list-name-input{
  width:100% !important;
  min-height:48px !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.42) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  padding:0 1rem !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.list-title-actions{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-shrink:0;
}
.smart-save-btn,
.smart-chef-btn{
  min-width:48px !important;
  height:48px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
}
.smart-save-btn{
  background:linear-gradient(180deg, rgba(0,242,234,.18), rgba(0,242,234,.06)) !important;
  border:1px solid rgba(0,242,234,.3) !important;
  color:#dfffff !important;
  box-shadow:0 16px 28px rgba(0,0,0,.16), 0 0 22px rgba(0,242,234,.09);
}
.smart-chef-btn{
  gap:.45rem;
  min-width:auto !important;
  padding:0 .95rem !important;
  background:linear-gradient(180deg, rgba(118,180,255,.18), rgba(118,180,255,.06)) !important;
  border:1px solid rgba(118,180,255,.28) !important;
  color:#eef8ff !important;
  box-shadow:0 16px 28px rgba(0,0,0,.16), 0 0 22px rgba(118,180,255,.1);
}
.smart-chef-btn span{ font-size:.82rem; font-weight:800; }
#active-list-actions{
  display:flex !important;
  justify-content:flex-end !important;
  gap:.5rem !important;
}
#active-list-actions .icon-button{
  min-width:46px !important;
  height:46px !important;
  border-radius:15px !important;
}

.minimal-export-btn{
  position:relative;
  min-width:44px !important;
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(14px) saturate(155%);
  -webkit-backdrop-filter:blur(14px) saturate(155%);
}
.minimal-export-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0));
  pointer-events:none;
}
.minimal-export-btn.share-btn{
  background:linear-gradient(180deg, rgba(0,242,234,.22), rgba(0,242,234,.08)) !important;
  border-color:rgba(0,242,234,.28) !important;
}
.minimal-export-btn.print-btn{
  background:linear-gradient(180deg, rgba(84,157,255,.22), rgba(84,157,255,.08)) !important;
  border-color:rgba(84,157,255,.28) !important;
}
.minimal-export-btn.pdf-btn{
  background:linear-gradient(180deg, rgba(255,96,96,.22), rgba(255,96,96,.08)) !important;
  border-color:rgba(255,96,96,.28) !important;
}
.minimal-export-btn.share-btn i{ color:#8ffff6 !important; }
.minimal-export-btn.print-btn i{ color:#bfe0ff !important; }
.minimal-export-btn.pdf-btn i{ color:#ffd2d2 !important; }
.minimal-export-btn:hover{ transform:translateY(-1px); }

#pantry-view-footer,
#recipe-detail-modal-footer,
#list-view-modal-footer,
.detail-modal-footer,
.compact-export-row{
  gap:.5rem !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}

#recipe-picker-modal .modal-box{
  width:min(94vw, 620px) !important;
  border-radius:24px !important;
  overflow:hidden;
}
#recipe-picker-modal .modal-header{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
}
#recipe-picker-modal .modal-body{
  padding:1rem !important;
}
.recipe-picker-list{
  display:grid;
  gap:.95rem;
}
.recipe-picker-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:1rem !important;
  align-items:center !important;
  padding:1rem !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  box-shadow:0 16px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05);
}
.recipe-picker-copy strong{
  color:#fff !important;
  display:block;
  font-size:1.12rem;
  margin-bottom:.25rem;
}
.recipe-picker-copy span{
  color:var(--text-secondary) !important;
  display:block;
  line-height:1.5;
}
.recipe-picker-item .btn-add-recipe,
.recipe-picker-create-btn{
  min-height:48px !important;
  border-radius:16px !important;
  padding:0 1rem !important;
  font-weight:800 !important;
  letter-spacing:.02em;
}
.recipe-picker-create-btn{
  width:100%;
  background:linear-gradient(180deg, rgba(110,160,255,.18), rgba(110,160,255,.08));
  border:1px solid rgba(110,160,255,.24);
  color:#f1f7ff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
}

.planner-shell--ultra .card-header .card-actions{
  display:flex !important;
  align-items:center !important;
  gap:.6rem !important;
}
.planner-shell--ultra .card-header .chef-inline-btn,
.planner-shell--ultra .card-header .clear-plan-btn{
  min-height:52px !important;
  height:52px !important;
  border-radius:18px !important;
}
.planner-shell--ultra .card-header .chef-inline-btn{
  padding:0 1rem !important;
}
.planner-shell--ultra .card-header .clear-plan-btn{
  width:52px !important;
  min-width:52px !important;
}

.analysis-luxe-shell .card-header .card-actions{
  align-items:center !important;
  gap:.6rem !important;
  flex-wrap:wrap !important;
}
.analysis-premium-content .analysis-config-panel,
.analysis-premium-modal .analysis-config-panel{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}
.analysis-premium-content .analysis-config-panel .form-group,
.analysis-premium-modal .analysis-config-panel .form-group{
  margin:0;
}
.analysis-premium-chart{ position:relative; }
.analysis-premium-chart::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.modern-start-btn{
  animation:start-cta-pulse 4.4s ease-in-out infinite !important;
}
.modern-start-btn .btn-text{ font-weight:900 !important; }
@keyframes start-cta-pulse{
  0%, 8%{ opacity:1; transform:translateY(0) scale(1); }
  14%{ opacity:.54; transform:translateY(1px) scale(.985); }
  20%{ opacity:1; transform:translateY(-1px) scale(1.02); }
  28%{ transform:translateY(0) scale(1.012) rotate(-.6deg); }
  34%{ transform:translateY(0) scale(1.02) rotate(.6deg); }
  42%,100%{ opacity:1; transform:translateY(0) scale(1); }
}
.chef-secondary-cta{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.78rem 1rem;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.14);
  color:#fff !important;
  box-shadow:0 16px 32px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.06);
  text-decoration:none !important;
}
.chef-secondary-cta:hover{ transform:translateY(-1px); }

#dicas-valiosas .carousel-slider,
#receitas-landing .carousel-slider{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding-inline:0 !important;
}
#dicas-valiosas .carousel-track,
#receitas-landing .carousel-track{
  justify-content:center !important;
  align-items:stretch !important;
  padding-inline:0 !important;
}
#dicas-valiosas .content-card,
#receitas-landing .content-card{
  align-self:center !important;
  transform:none !important;
}

@media (max-width: 991px){
  .module-toolbar.module-toolbar--ultra{ grid-template-columns:minmax(0,1fr) 52px !important; }
  .module-toolbar--ultra .luxury-create-btn,
  .module-toolbar--ultra .luxury-sort-btn{ min-height:52px !important; height:52px !important; }
  .list-edit-title-shell{ gap:.55rem; }
  .smart-chef-btn span{ display:none; }
  .smart-chef-btn{ min-width:48px !important; padding:0 !important; }
  .recipe-picker-item{ grid-template-columns:1fr !important; }
  .recipe-picker-item .btn-add-recipe{ width:100%; }
}
@media (max-width: 640px){
  .analysis-premium-content .analysis-config-panel,
  .analysis-premium-modal .analysis-config-panel,
  .pantry-meta-grid,
  .analysis-hero-grid,
  .planner-slot-grid{ grid-template-columns:1fr !important; }
  .list-name-chip{ gap:.45rem; }
  #active-list-title #active-list-name-input{ font-size:1rem !important; }
}


/* === PATCH FINAL V6.1 — alinhamento, mobile, análises, CTA e planner === */
.module-toolbar.module-toolbar--ultra{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.8rem !important;
  width:100% !important;
}
.luxury-create-btn,
.btn-create-list.luxury-create-btn,
.add-recipe-btn.luxury-create-btn,
.add-item-despensa-btn.luxury-create-btn{
  width:100% !important;
  min-height:56px !important;
  padding:0 1rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.7rem !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.luxury-create-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.module-toolbar--ultra .luxury-sort-btn{
  width:56px !important;
  height:56px !important;
  min-height:56px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:end !important;
  border-radius:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.card--saved-list,
.saved-list-item,
.card--recipe,
.recipe-list-item{
  background:linear-gradient(145deg, rgba(27,29,36,.94), rgba(17,20,27,.98)) !important;
  border:1px solid rgba(120,182,255,.20) !important;
  box-shadow:0 16px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.card--saved-list:hover,
.saved-list-item:hover,
.card--recipe:hover,
.recipe-list-item:hover{
  border-color:rgba(0,242,234,.34) !important;
  transform:translateY(-2px);
}

#active-list-actions{display:none !important;}
.list-title-actions{
  display:flex !important;
  align-items:center !important;
  gap:.72rem !important;
  flex-wrap:nowrap !important;
}
.smart-save-btn,
.smart-chef-btn{
  min-height:52px !important;
  border-radius:18px !important;
}
.smart-chef-btn{
  padding:0 .95rem !important;
  gap:.55rem !important;
}

#pantry-view-modal .modal-box{
  border-radius:24px !important;
  overflow:hidden !important;
}
.pantry-luxury-view .detail-kpi-grid{margin-bottom:1rem;}
.pantry-luxury-view .detail-stack{
  display:grid;
  gap:.9rem;
}
.pantry-luxury-view .detail-listing-item{
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  padding:1rem !important;
}
.pantry-ai-card{
  margin-top:.9rem;
  padding:1rem;
  border-radius:20px;
  border:1px solid rgba(0,242,234,.18);
  background:linear-gradient(135deg, rgba(0,242,234,.08), rgba(84,157,255,.08));
}
.pantry-ai-card .chef-inline-btn{width:100%;justify-content:center;}

.minimal-export-btn,
.compact-export-row .minimal-export-btn,
#list-view-modal-footer .minimal-export-btn,
#pantry-view-footer .minimal-export-btn,
#recipe-detail-modal-footer .minimal-export-btn,
.detail-modal-footer .minimal-export-btn{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:16px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.minimal-export-btn.share-btn{background:linear-gradient(135deg, rgba(0,242,234,.20), rgba(0,242,234,.07)) !important;}
.minimal-export-btn.print-btn{background:linear-gradient(135deg, rgba(84,157,255,.20), rgba(84,157,255,.07)) !important;}
.minimal-export-btn.pdf-btn{background:linear-gradient(135deg, rgba(255,87,87,.24), rgba(255,87,87,.08)) !important;}
.minimal-export-btn span{display:none !important;}
.minimal-export-btn i{font-size:1rem !important;}
.compact-export-row,
#pantry-view-footer,
#list-view-modal-footer,
#recipe-detail-modal-footer,
.detail-modal-footer{
  gap:.55rem !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}
.generate-list-btn{
  min-width:unset !important;
  height:46px !important;
  padding:0 1rem !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:.55rem !important;
  background:linear-gradient(135deg, rgba(255,215,0,.18), rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,215,0,.24) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.24) !important;
}
.generate-list-btn span{display:inline !important;font-weight:800;}

.recipe-picker-list{
  display:grid !important;
  gap:.9rem !important;
}
.recipe-picker-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.9rem !important;
  padding:1rem !important;
  border-radius:20px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.22) !important;
}
.recipe-picker-copy strong{display:block;font-size:1.12rem;margin-bottom:.18rem;}
.recipe-picker-copy span{display:block;line-height:1.5;color:var(--text-secondary);}
.recipe-picker-item .btn,
.recipe-picker-create-btn{
  min-height:48px !important;
  border-radius:16px !important;
}
.recipe-picker-create-btn{
  width:100% !important;
  justify-content:center !important;
  margin-top:.25rem !important;
}

.planner-shell--ultra .card-header .card-actions{
  display:flex !important;
  align-items:center !important;
  gap:.75rem !important;
}
.planner-shell--ultra .card-header .chef-inline-btn,
.planner-shell--ultra .card-header .clear-plan-btn{
  min-height:52px !important;
  height:52px !important;
  border-radius:18px !important;
}
.planner-shell--ultra .card-header .chef-inline-btn{padding:0 1rem !important;}
.planner-day-card{
  border-radius:24px !important;
  overflow:hidden !important;
}
.planner-slot-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
.planner-slot-card{
  position:relative;
  border-radius:22px !important;
  overflow:hidden;
  padding:1rem !important;
}
.planner-slot-actions{
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
  flex-wrap:wrap !important;
}
.planner-slot-actions .chef-inline-btn,
.planner-slot-actions .icon-button,
.planner-meal-item .icon-button{
  min-height:42px !important;
  height:42px !important;
  border-radius:14px !important;
}
.planner-meal-item{
  border-radius:20px !important;
  align-items:flex-start !important;
}
.planner-meal-copy,
.planner-slot-title{min-width:0;}
.planner-meal-copy strong,
.planner-slot-title strong{
  display:block;
  white-space:normal !important;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.25;
}
.planner-meal-item .module-detail-actions,
.meal-item-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.45rem !important;
  flex-shrink:0;
}

.analysis-luxe-shell{display:grid;gap:1rem;}
.analysis-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;}
.analysis-kpi-card{
  border-radius:20px !important;
  padding:1rem !important;
  min-height:104px;
}
.analysis-nav-list.analysis-nav-grid{display:grid;gap:.8rem;grid-template-columns:1fr;}
.analysis-nav-item{
  text-align:left !important;
  padding:1rem !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
}
.analysis-preview-panel,
#analises-detail-desktop{
  min-height:0 !important;
}
.analysis-config-panel{display:grid !important;grid-template-columns:1fr 1fr;gap:.9rem !important;}
.analysis-config-panel .form-group{min-width:0;}
.analysis-premium-chart{height:340px !important;}
.analysis-mobile-open-btn{display:none !important;}

.modern-start-btn,
.modern-start-btn:visited{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  width:min(360px, calc(100% - 2rem)) !important;
  min-height:74px !important;
  margin:1.4rem auto 0 !important;
  padding:0 1rem 0 1.35rem !important;
  border-radius:28px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.05) inset !important;
  overflow:hidden !important;
  text-decoration:none !important;
  animation:afPulseCta 3.6s ease-in-out infinite !important;
}
.modern-start-btn::before,
.modern-start-btn::after{content:none !important;display:none !important;}
.modern-start-btn .btn-text{
  font-size:1.16rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}
.modern-start-btn .btn-icon-wrapper{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg, rgba(0,242,234,.98), rgba(184,255,249,.96)) !important;
  color:#061015 !important;
  box-shadow:0 0 0 6px rgba(255,255,255,.08) !important;
}
@keyframes afPulseCta{
  0%, 100%{ transform:translateY(0) scale(1); opacity:1; }
  48%{ transform:translateY(-1px) scale(1.01); opacity:.97; }
  54%{ opacity:.78; }
  61%{ opacity:1; transform:translateY(-2px) scale(1.02); }
}
.hero-secondary-actions{
  width:min(420px, calc(100% - 2rem));
  margin:1rem auto 0 !important;
  justify-content:center !important;
  gap:.7rem !important;
}
.hero-pill,
.chef-secondary-cta{
  min-height:48px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
}
.chef-secondary-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 1rem !important;
  min-width:132px !important;
  color:#fff !important;
  text-decoration:none !important;
}

#dicas-valiosas .carousel-slider,
#receitas-landing .carousel-slider{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory;
  mask-image:none !important;
  -webkit-mask-image:none !important;
  padding:0 !important;
}
#dicas-valiosas .carousel-track,
#receitas-landing .carousel-track{
  width:max-content !important;
  display:flex !important;
  gap:0 !important;
  animation:none !important;
  padding-inline:calc(50vw - min(170px, 42vw)) !important;
}
#dicas-valiosas .content-card,
#receitas-landing .content-card{
  width:min(340px, 84vw) !important;
  height:auto !important;
  min-height:440px !important;
  margin:0 .55rem !important;
  scroll-snap-align:center !important;
  flex:0 0 auto !important;
  display:flex !important;
  flex-direction:column !important;
}
#dicas-valiosas .content-card img,
#receitas-landing .content-card img{
  aspect-ratio:16/10 !important;
  height:auto !important;
}
#dicas-valiosas .content-card-content,
#receitas-landing .content-card-content{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  text-align:center !important;
  min-height:0 !important;
}
#dicas-valiosas .content-card-content h3,
#receitas-landing .content-card-content h3{margin-bottom:.5rem !important;}

@media (max-width: 991px){
  .module-toolbar.module-toolbar--ultra{grid-template-columns:minmax(0,1fr) 50px !important;gap:.65rem !important;}
  .luxury-create-btn,
  .btn-create-list.luxury-create-btn,
  .add-recipe-btn.luxury-create-btn,
  .add-item-despensa-btn.luxury-create-btn{min-height:50px !important;border-radius:16px !important;padding:0 .9rem !important;}
  .module-toolbar--ultra .luxury-sort-btn{width:50px !important;height:50px !important;min-height:50px !important;border-radius:16px !important;}
  .smart-chef-btn span{display:none !important;}
  .list-title-actions{gap:.5rem !important;}
  .smart-save-btn,.smart-chef-btn{min-height:46px !important;height:46px !important;}
  .recipe-picker-item{grid-template-columns:1fr !important;}
  .recipe-picker-item .btn,.recipe-picker-create-btn{width:100% !important;}
  .analysis-hero-grid{grid-template-columns:1fr !important;}
  .analysis-config-panel{grid-template-columns:1fr !important;}
  .analysis-premium-chart{height:290px !important;}
  .analysis-mobile-open-btn{display:inline-flex !important;}
  .planner-shell--ultra .card-header{align-items:center !important;}
  .planner-shell--ultra .card-header .card-actions{width:auto !important;}
  .planner-shell--ultra .card-header .chef-inline-btn span{display:none !important;}
  .planner-shell--ultra .card-header .chef-inline-btn,
  .planner-shell--ultra .card-header .clear-plan-btn{width:48px !important;height:48px !important;min-height:48px !important;padding:0 !important;border-radius:16px !important;justify-content:center !important;}
  .planner-meal-item{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:.65rem !important;}
  .planner-meal-item .module-detail-actions,
  .meal-item-actions{align-self:center !important;}
  .modern-start-btn{width:min(340px, calc(100% - 1.25rem)) !important; min-height:68px !important;}
  .hero-secondary-actions{width:min(340px, calc(100% - 1.25rem));}
}


/* === FIX 2100 | Chef IA + Análises premium === */
#ai-chat-modal{
  z-index: 26000 !important;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
#ai-chat-modal .modal-box{
  width: min(92vw, 680px) !important;
  max-width: 680px !important;
  border-radius: 32px !important;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(28,29,34,.96), rgba(16,17,21,.96)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
#ai-chat-modal .modal-header{
  padding: 18px 22px !important;
}
#ai-chat-modal .modal-body{
  height: 62vh !important;
  min-height: 420px !important;
  max-height: 72vh !important;
}
.ai-chat-messages{
  padding: 18px 20px !important;
  gap: 14px !important;
}
.chat-message{
  max-width: 82%;
  padding: 14px 18px !important;
  border-radius: 22px !important;
}
.chat-message .bubble{ font-size: 1.02rem; line-height: 1.55; }
.ai-chat-footer{
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
  background: linear-gradient(180deg, rgba(12,13,17,.70), rgba(10,11,15,.96)) !important;
  backdrop-filter: blur(14px);
}
.ai-chat-footer .form-group{
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) 58px;
  gap: 10px !important;
  align-items: center;
}
.ai-chat-footer input{
  min-width: 0;
  min-height: 54px;
  border-radius: 18px !important;
  padding: 0 16px !important;
}
#ai-chat-send-btn, #ai-voice-btn{
  min-width: 54px;
  min-height: 54px;
  border-radius: 18px !important;
}
.af-option-btn{
  min-height: 44px;
  border-radius: 14px !important;
}
.analysis-shell-2100{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analysis-top-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.5fr) minmax(280px, .95fr);
  gap:1rem;
  align-items:stretch;
}
.analysis-stage-card{
  min-height: 520px;
}
.analysis-side-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analysis-kpi-grid-compact{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.85rem;
}
.analysis-kpi-grid-compact .analysis-kpi-card{
  min-height:110px;
}
.analysis-picker-card .module-nav-list{
  display:grid;
  gap:.75rem;
}
.analysis-picker-card .analysis-nav-item{
  min-height:82px;
}
.analysis-premium-content{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analysis-config-panel{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.75rem;
}
.analysis-quick-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.7rem;
}
.analysis-quick-summary .mini{
  padding:.85rem .95rem;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.analysis-quick-summary .mini strong{
  display:block;
  color:#fff;
  font-size:1.05rem;
}
.analysis-quick-summary .mini span{
  color:var(--text-secondary);
  font-size:.88rem;
}
.analysis-premium-chart{
  min-height: 360px !important;
}
@media (max-width: 991px){
  .analysis-top-grid{
    grid-template-columns:1fr;
  }
  .analysis-stage-card{
    min-height: 430px;
  }
}
@media (max-width: 640px){
  #ai-chat-modal{
    align-items:flex-end;
    padding: 0 14px 14px !important;
  }
  #ai-chat-modal .modal-box{
    width: calc(100vw - 28px) !important;
    max-width:none !important;
    border-radius: 28px !important;
    margin: 0 auto !important;
  }
  #ai-chat-modal .modal-header{
    padding: 16px 18px !important;
  }
  #ai-chat-modal .modal-body{
    min-height: 390px !important;
    height: 58vh !important;
    max-height: 76vh !important;
  }
  .ai-chat-messages{
    padding: 16px 14px 12px !important;
  }
  .chat-message{
    max-width: 88%;
    padding: 12px 14px !important;
  }
  .chat-message.ia{
    margin-left: 6px !important;
  }
  .chat-message.user{
    margin-right: 6px !important;
  }
  .ai-chat-footer{
    padding: 10px 12px calc(12px + env(safe-area-inset-bottom)) !important;
  }
  .ai-chat-footer .form-group{
    grid-template-columns: 58px minmax(0,1fr) 58px;
    gap: 8px !important;
  }
  .analysis-kpi-grid-compact,
  .analysis-config-panel,
  .analysis-quick-summary{
    grid-template-columns:1fr;
  }
}


/* === PATCH EXECUTÁVEL 4560 | Landing + Chef IA + Análises === */
#inicio .identity-container{
  width:min(980px, calc(100vw - 2rem));
  margin:0 auto;
  padding:clamp(1rem, 2vw, 1.5rem);
  border-radius:36px;
  background:linear-gradient(180deg, rgba(8,10,14,.18), rgba(8,10,14,.05));
  backdrop-filter:blur(8px);
}
#inicio .hero-brand{
  letter-spacing:.12em;
  font-size:clamp(3.4rem, 7vw, 6.4rem);
  text-shadow:0 12px 40px rgba(0,0,0,.42);
}
#inicio .hero-tagline{
  font-size:clamp(1rem, 2vw, 1.2rem);
  letter-spacing:.34em;
  color:rgba(255,255,255,.86);
}
#inicio .simple-subtitle{
  width:min(720px, 100%);
  margin:1rem auto 0;
  font-size:clamp(1.05rem, 2.2vw, 1.22rem);
  line-height:1.75;
  color:rgba(255,255,255,.84);
}
.hero-signature{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.7rem 1rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.hero-secondary-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.85rem;
  margin-top:1rem;
}
.hero-pill,
.modern-start-btn,
.landing-feature-card,
.chef-demo-card,
.chef-chip,
.analysis-kpi-card,
.analysis-nav-item,
.analysis-stage-card,
.analysis-picker-card{
  box-shadow:0 22px 50px rgba(0,0,0,.25);
}
.landing-feature-grid{
  gap:1rem;
}
.landing-feature-card{
  border-radius:26px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  background:linear-gradient(180deg, rgba(19,21,27,.74), rgba(10,12,17,.56)) !important;
  padding:1.25rem 1.1rem !important;
}
.landing-feature-card h3{font-size:1.08rem;}
.landing-feature-card p{line-height:1.7; color:rgba(255,255,255,.74);}
.chef-hub{
  gap:1.25rem;
}
.chef-hub-left,
.chef-hub-right,
.chef-demo-card{
  border-radius:30px;
}
.chef-chip{
  min-height:52px;
  border-radius:18px;
}
#ai-chat-modal .modal-box{
  border-radius:34px !important;
}
#ai-chat-modal .modal-header h3{
  font-size:1.15rem;
  letter-spacing:.03em;
}
.analysis-shell-2100{
  gap:1.15rem;
}
.analysis-stage-card{
  min-height:560px;
  border-radius:30px !important;
}
.analysis-picker-card,
.analysis-kpi-card{
  border-radius:26px !important;
}
.analysis-premium-header h3{
  font-size:1.08rem;
  letter-spacing:.02em;
}
.analysis-premium-note{
  font-size:.98rem;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}
.analysis-kpi-card strong{
  font-size:1.45rem;
}
.analysis-kpi-card small{
  line-height:1.45;
}
.analysis-nav-item{
  align-items:flex-start;
  text-align:left;
  padding:1rem 1rem !important;
  border-radius:22px !important;
}
.analysis-nav-item strong{
  font-size:1rem;
}
.analysis-nav-item span{
  color:rgba(255,255,255,.66);
  line-height:1.55;
}
.analysis-quick-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.analysis-quick-summary .mini{
  min-height:88px;
}
.analysis-empty-state{
  display:grid;
  place-items:center;
  min-height:300px;
  padding:1.4rem;
  text-align:center;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.analysis-empty-state strong{
  display:block;
  margin-bottom:.5rem;
  font-size:1.05rem;
}
.analysis-empty-state span{
  color:rgba(255,255,255,.68);
  line-height:1.65;
}
@media (max-width: 991px){
  #inicio .identity-container{padding:1rem .25rem 0; background:transparent; backdrop-filter:none;}
  .hero-secondary-actions{width:100%;}
  .hero-pill{width:100%; justify-content:center;}
  .analysis-stage-card{min-height:480px;}
}
@media (max-width: 640px){
  #inicio .hero-brand{font-size:clamp(2.8rem, 15vw, 4rem);}
  #inicio .hero-tagline{letter-spacing:.18em;}
  .analysis-quick-summary{grid-template-columns:1fr;}
  .analysis-stage-card{min-height:430px;}
}


/* === ANALISES REBUILD FINAL | 2026-04-10 === */
#module-analises {
  padding: 0 !important;
}

.analysis-360-shell {
  display: grid;
  gap: 18px;
  padding: 10px;
}

.analysis-360-topbar {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 18px;
}

.analysis-360-hero,
.analysis-360-summary,
.analysis-360-chart-card,
.analysis-360-explorer,
.analysis-360-kpi,
.analysis-360-empty {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.11), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(8,10,14,.96), rgba(15,18,24,.96));
  box-shadow: 0 28px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
}

.analysis-360-hero {
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 190px;
}

.analysis-360-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0,242,234,.09);
  border: 1px solid rgba(0,242,234,.18);
  color: var(--color-primary-light);
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.analysis-360-title {
  margin-top: 14px;
  font-size: clamp(1.45rem, 2.6vw, 2.2rem);
  line-height: 1.08;
  font-weight: 800;
  color: #fff;
}

.analysis-360-subtitle {
  margin-top: 10px;
  max-width: 60ch;
  color: rgba(255,255,255,.72);
  line-height: 1.5;
}

.analysis-360-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.analysis-360-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
  font-size: .85rem;
}

.analysis-360-summary {
  padding: 20px;
  display: grid;
  gap: 14px;
}

.analysis-360-summary h3,
.analysis-360-chart-head h3,
.analysis-360-explorer-head h3 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.02rem;
  color: #fff;
}

.analysis-360-summary-list {
  display: grid;
  gap: 12px;
}

.analysis-360-summary-item {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

.analysis-360-summary-item strong,
.analysis-360-summary-item span {
  display: block;
}

.analysis-360-summary-item strong {
  font-size: 1rem;
  color: #fff;
}

.analysis-360-summary-item span {
  margin-top: 6px;
  color: rgba(255,255,255,.66);
  line-height: 1.45;
  font-size: .92rem;
}

.analysis-360-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.analysis-360-kpi {
  padding: 18px;
}

.analysis-360-kpi small {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .88rem;
}

.analysis-360-kpi strong {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.35rem, 2vw, 2rem);
  color: #fff;
}

.analysis-360-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
  gap: 18px;
  align-items: start;
}

.analysis-360-chart-card,
.analysis-360-explorer {
  padding: 20px;
}

.analysis-360-chart-head,
.analysis-360-explorer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.analysis-360-current-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  font-size: .82rem;
}

.analysis-360-controls {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 12px;
  margin-bottom: 16px;
}

.analysis-360-control {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.analysis-360-control label {
  color: rgba(255,255,255,.68);
  font-size: .82rem;
}

.analysis-360-select-wrap {
  position: relative;
}

.analysis-360-select-wrap::after {
  content: '\f107';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-primary-light);
  pointer-events: none;
  font-size: 1rem;
}

.analysis-360-select,
.analysis-360-ghost-btn,
.analysis-360-pill {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: #fff;
}

.analysis-360-select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  padding: 14px 42px 14px 14px;
  font-size: .96rem;
  min-height: 52px;
  outline: none;
}

.analysis-360-select:focus,
.analysis-360-ghost-btn:focus-visible,
.analysis-360-pill:focus-visible {
  border-color: rgba(0,242,234,.45);
  box-shadow: 0 0 0 3px rgba(0,242,234,.12);
}

.analysis-360-arrow-group {
  display: flex;
  align-items: end;
  gap: 10px;
}

.analysis-360-ghost-btn {
  min-width: 52px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.analysis-360-ghost-btn:hover,
.analysis-360-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(0,242,234,.35);
  background: rgba(0,242,234,.08);
}

.analysis-360-canvas-wrap {
  position: relative;
  min-height: 400px;
  height: min(54vh, 520px);
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  padding: 14px;
}

.analysis-360-meta-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.analysis-360-meta-card {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

.analysis-360-meta-card strong,
.analysis-360-meta-card span {
  display: block;
}

.analysis-360-meta-card strong {
  color: #fff;
  font-size: .95rem;
}

.analysis-360-meta-card span {
  margin-top: 6px;
  color: rgba(255,255,255,.66);
  line-height: 1.42;
  font-size: .88rem;
}

.analysis-360-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.analysis-360-pill {
  padding: 12px 14px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
  text-align: left;
}

.analysis-360-pill.active {
  background: rgba(0,242,234,.12);
  border-color: rgba(0,242,234,.35);
  color: var(--color-primary-light);
}

.analysis-360-mini-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.analysis-360-mini-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
}

.analysis-360-mini-item i { color: var(--color-primary-light); }
.analysis-360-mini-item strong { color: #fff; font-size: .92rem; }
.analysis-360-mini-item span { color: rgba(255,255,255,.62); font-size: .84rem; }
.analysis-360-mini-item em { color: rgba(255,255,255,.78); font-style: normal; font-size: .84rem; }

.analysis-360-empty {
  min-height: 340px;
  display: grid;
  place-items: center;
  padding: 28px;
  text-align: center;
}

.analysis-360-empty strong { display: block; font-size: 1.08rem; color: #fff; }
.analysis-360-empty span { display: block; margin-top: 8px; color: rgba(255,255,255,.66); max-width: 34ch; }

@media (max-width: 1100px) {
  .analysis-360-topbar,
  .analysis-360-main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .analysis-360-shell {
    padding: 8px;
    gap: 14px;
  }

  .analysis-360-kpi-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .analysis-360-controls,
  .analysis-360-meta-grid {
    grid-template-columns: 1fr;
  }

  .analysis-360-arrow-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .analysis-360-canvas-wrap {
    min-height: 320px;
    height: 350px;
  }

  .analysis-360-hero,
  .analysis-360-summary,
  .analysis-360-chart-card,
  .analysis-360-explorer,
  .analysis-360-kpi {
    border-radius: 22px;
  }
}


/* === ANALISES NEO DASHBOARD REBUILD | 2026-04-10 FINAL === */
#module-analises{
  padding: 0 !important;
}

#module-analises .neo-analysis-shell{
  min-height: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 92, 168, 0.16), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(55, 118, 255, 0.22), transparent 30%),
    radial-gradient(circle at 70% 80%, rgba(145, 91, 255, 0.12), transparent 28%),
    linear-gradient(135deg, #141843 0%, #1a1f53 50%, #202a66 100%);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 80px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}

#module-analises .neo-analysis-topbar,
#module-analises .neo-analysis-panel{
  background: linear-gradient(180deg, rgba(17,20,54,.82), rgba(14,16,42,.72));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px rgba(0,0,0,.18);
}

#module-analises .neo-analysis-topbar{
  border-radius: 24px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#module-analises .neo-analysis-profile{display:flex;align-items:center;gap:14px;min-width:0;}
#module-analises .neo-analysis-avatar{
  width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  color:#fff;font-size:1.2rem;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 0 24px rgba(67,126,255,.25);
}
#module-analises .neo-analysis-profile strong{display:block;font-size:1rem;color:#fff;line-height:1.1;}
#module-analises .neo-analysis-profile span{display:block;font-size:.84rem;color:rgba(232,238,255,.72);margin-top:4px;}
#module-analises .neo-analysis-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
#module-analises .neo-analysis-status span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,238,255,.62);}
#module-analises .neo-analysis-status span i{font-size:.55rem;color:#ff4e9f;margin-right:6px;}
#module-analises .neo-analysis-status strong{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  background: linear-gradient(90deg, rgba(61,116,255,.22), rgba(255,67,155,.18));
  color:#fff;font-size:.86rem;border:1px solid rgba(255,255,255,.10);
}

#module-analises .neo-analysis-stage{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.8fr);gap:18px;align-items:stretch;
}
#module-analises .neo-analysis-panel{border-radius:28px;padding:18px;position:relative;overflow:hidden;}
#module-analises .neo-analysis-main-panel{min-height:640px;display:flex;flex-direction:column;gap:18px;}
#module-analises .neo-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
#module-analises .neo-panel-header.compact h3{font-size:1rem;}
#module-analises .neo-panel-header small{display:block;color:rgba(232,238,255,.62);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-bottom:6px;}
#module-analises .neo-panel-header h3{margin:0;color:#fff;font-size:1.35rem;line-height:1.1;}
#module-analises .neo-analysis-arrow-group{display:flex;gap:10px;}
#module-analises .neo-arrow-btn,
#module-analises .neo-cycle-btn{
  border:none;cursor:pointer;color:#fff;
  background: linear-gradient(135deg, rgba(54,110,255,.24), rgba(255,54,145,.18));
  border:1px solid rgba(255,255,255,.10);box-shadow: 0 10px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
#module-analises .neo-arrow-btn{width:48px;height:48px;border-radius:16px;font-size:1rem;}
#module-analises .neo-cycle-btn{height:54px;border-radius:18px;padding:0 16px;display:inline-flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap;}

#module-analises .neo-analysis-controlbar{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end;
}
#module-analises .neo-control-field{display:flex;flex-direction:column;gap:8px;min-width:0;}
#module-analises .neo-control-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(232,238,255,.64);}
#module-analises .neo-select-wrap{
  height:54px;border-radius:18px;padding:0 14px;display:flex;align-items:center;
  background: rgba(8,10,30,.56);border:1px solid rgba(255,255,255,.08);
}
#module-analises .neo-select-wrap select{
  width:100%;height:100%;background:transparent;border:none;outline:none;color:#fff;font-weight:600;
}
#module-analises .neo-select-wrap select option{color:#101329;background:#1b2050;}

#module-analises .neo-chart-hero{
  position:relative;flex:1;min-height:420px;border-radius:26px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,85,165,.12), transparent 25%),
    radial-gradient(circle at 45% 55%, rgba(73,129,255,.16), transparent 28%),
    linear-gradient(180deg, rgba(11,13,35,.72), rgba(11,14,34,.30));
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
#module-analises .neo-chart-hero::before{
  content:"";position:absolute;inset:10% 14%;border-radius:999px;border:1px solid rgba(255,255,255,.06);
  box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
  pointer-events:none;
}
#module-analises .neo-chart-hero-canvas{position:absolute;inset:22px;}
#module-analises .neo-chart-hero-canvas canvas{width:100% !important;height:100% !important;}
#module-analises .neo-chart-center-copy{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(280px,62%);pointer-events:none;
}
#module-analises .neo-center-orb{
  position:absolute;inset:-20px;border-radius:999px;
  background: radial-gradient(circle, rgba(255,79,163,.12), transparent 55%);
  filter: blur(10px);
}
#module-analises .neo-center-content{
  position:relative;text-align:center;padding:20px 24px;border-radius:24px;
  background: linear-gradient(180deg, rgba(12,16,40,.74), rgba(12,16,40,.46));
  border:1px solid rgba(255,255,255,.08);backdrop-filter: blur(10px);
}
#module-analises .neo-center-content small{display:block;color:rgba(232,238,255,.62);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-bottom:8px;}
#module-analises .neo-center-content strong{display:block;color:#fff;font-size:1.12rem;line-height:1.25;margin-bottom:10px;}
#module-analises .neo-center-content span{display:block;color:rgba(232,238,255,.74);font-size:.92rem;line-height:1.45;}
#module-analises .neo-analysis-empty{position:absolute;inset:22px;display:grid;place-items:center;text-align:center;color:#fff;}
#module-analises .neo-analysis-empty div{max-width:320px;padding:20px 24px;border-radius:24px;background:rgba(10,12,30,.75);border:1px solid rgba(255,255,255,.08);}
#module-analises .neo-analysis-empty strong{display:block;margin-bottom:8px;}
#module-analises .neo-analysis-empty span{color:rgba(232,238,255,.72);line-height:1.4;}

#module-analises .neo-analysis-side{display:grid;gap:18px;}
#module-analises .neo-mini-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
#module-analises .neo-mini-kpi{
  min-height:110px;border-radius:22px;padding:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;justify-content:space-between;
}
#module-analises .neo-mini-kpi small{color:rgba(232,238,255,.68);font-size:.8rem;}
#module-analises .neo-mini-kpi strong{color:#fff;font-size:1.3rem;line-height:1.1;}
#module-analises .neo-priority-copy{margin-top:14px;padding:16px 18px;border-radius:22px;background:rgba(8,10,26,.42);border:1px solid rgba(255,255,255,.08);}
#module-analises .neo-priority-copy strong{display:block;color:#fff;margin-bottom:8px;}
#module-analises .neo-priority-copy p{margin:0;color:rgba(232,238,255,.74);line-height:1.5;}
#module-analises .neo-pill-grid{display:grid;gap:10px;margin-top:14px;}
#module-analises .neo-analysis-pill{
  width:100%;border:none;cursor:pointer;text-align:left;padding:14px 16px;border-radius:18px;
  background:rgba(8,10,26,.42);border:1px solid rgba(255,255,255,.08);color:#fff;
  display:flex;align-items:center;gap:12px;transition:.2s ease;
}
#module-analises .neo-analysis-pill i{width:18px;text-align:center;color:#77a6ff;}
#module-analises .neo-analysis-pill span{font-weight:600;color:rgba(245,248,255,.92);}
#module-analises .neo-analysis-pill.active,
#module-analises .neo-analysis-pill:hover{transform:translateY(-1px);border-color:rgba(125,165,255,.45);box-shadow:0 10px 26px rgba(0,0,0,.18);background:linear-gradient(90deg, rgba(52,107,255,.22), rgba(255,54,145,.16));}

#module-analises .neo-analysis-bottom{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;}
#module-analises .neo-summary-rows{display:grid;gap:12px;margin-top:12px;}
#module-analises .neo-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(8,10,26,.42);border:1px solid rgba(255,255,255,.08);}
#module-analises .neo-summary-row span{color:rgba(232,238,255,.66);font-size:.88rem;}
#module-analises .neo-summary-row strong{color:#fff;font-size:.95rem;text-align:right;}
#module-analises .neo-chef-actions{margin-top:12px;display:flex;align-items:center;justify-content:flex-start;min-height:86px;}
#module-analises .neo-chef-actions .chef-glass-btn,
#module-analises .neo-chef-actions .chef-inline-btn,
#module-analises .neo-chef-actions .ai-cta-button{margin-top:0 !important;}

@media (max-width: 1100px){
  #module-analises .neo-analysis-stage,
  #module-analises .neo-analysis-bottom{grid-template-columns:1fr;}
}

@media (max-width: 768px){
  #module-analises .neo-analysis-shell{padding:14px;border-radius:22px;gap:14px;}
  #module-analises .neo-analysis-topbar{padding:14px;align-items:flex-start;flex-direction:column;}
  #module-analises .neo-analysis-status{align-items:flex-start;width:100%;}
  #module-analises .neo-analysis-main-panel{min-height:auto;padding:14px;gap:14px;}
  #module-analises .neo-analysis-controlbar{grid-template-columns:1fr;}
  #module-analises .neo-cycle-btn{width:100%;justify-content:center;}
  #module-analises .neo-chart-hero{min-height:400px;}
  #module-analises .neo-chart-hero::before{inset:12% 7%;}
  #module-analises .neo-chart-center-copy{width:min(230px,74%);}
  #module-analises .neo-center-content{padding:16px 18px;}
  #module-analises .neo-center-content strong{font-size:1rem;}
  #module-analises .neo-mini-kpi-grid{grid-template-columns:1fr 1fr;}
  #module-analises .neo-summary-row{flex-direction:column;align-items:flex-start;}
}


/* === REBUILD REAL: Análises v3 mobile-first, suave e integrada === */
#module-analises{overflow-x:hidden;}
#module-analises .analysis-v3-wrap{width:100%;}
#module-analises .analysis-v3-shell{
  background: linear-gradient(180deg, rgba(30,31,34,.98), rgba(18,18,18,.98));
  border: 1px solid var(--border-color);
  border-radius: 22px;
  overflow: hidden;
}
#module-analises .analysis-v3-header{
  border-bottom: 1px solid var(--border-color);
}
#module-analises .analysis-v3-header h3{
  display:flex;align-items:center;gap:10px;
}
#module-analises .analysis-v3-header h3 i{color:var(--color-primary);}
#module-analises .analysis-v3-modepill{
  border:1px solid rgba(0,242,234,.28);
  background: rgba(0,242,234,.08);
  color: var(--color-primary);
  border-radius: 999px;
  height: 40px;
  padding: 0 16px;
  font-weight: 700;
  letter-spacing: .01em;
}
#module-analises .analysis-v3-content{padding:16px;display:grid;gap:16px;}
#module-analises .analysis-v3-topline{display:grid;gap:14px;}
#module-analises .analysis-v3-copy small{
  display:block;
  color:var(--text-secondary);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.73rem;
  margin-bottom:8px;
}
#module-analises .analysis-v3-copy h4{
  font-size: clamp(1.25rem, 4vw, 1.9rem);
  line-height:1.08;
  margin:0 0 6px;
  color:var(--text-primary);
}
#module-analises .analysis-v3-copy p{
  margin:0;
  color:var(--text-secondary);
  font-size: 1rem;
  line-height:1.4;
}
#module-analises .analysis-v3-controls{
  display:grid;
  grid-template-columns: 52px minmax(0,1fr) 52px;
  gap:10px;
  width:100%;
}
#module-analises .analysis-v3-navbtn,
#module-analises .analysis-v3-typebtn{
  min-width:0;
  border-radius:18px;
  border:1px solid var(--border-color);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  color:var(--text-primary);
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:700;
  transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}
#module-analises .analysis-v3-typebtn span{text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#module-analises .analysis-v3-navbtn:active,
#module-analises .analysis-v3-typebtn:active{transform:scale(.98);}
@media (hover:hover){
  #module-analises .analysis-v3-navbtn:hover,
  #module-analises .analysis-v3-typebtn:hover{
    border-color: rgba(0,242,234,.38);
    box-shadow: 0 8px 20px rgba(0,242,234,.08);
  }
}
#module-analises .analysis-v3-stage{display:grid;gap:16px;}
#module-analises .analysis-v3-chartcard{
  position:relative;
  min-height: 380px;
  border-radius: 24px;
  padding: 16px;
  border:1px solid var(--border-color);
  background:
    radial-gradient(circle at 50% 28%, rgba(0,242,234,.08), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,.72), rgba(10,12,16,.96));
  overflow:hidden;
}
#module-analises .analysis-v3-chartcard::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events:none;
  opacity:.34;
}
#module-analises .analysis-v3-chartwrap{position:relative;min-height:320px;height:100%;z-index:1;}
#module-analises .analysis-v3-chartwrap canvas{width:100% !important;height:100% !important;}
#module-analises .analysis-v3-overlaycard{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:min(220px, calc(100% - 32px));
  padding:14px 16px;
  border-radius:20px;
  text-align:left;
  background: linear-gradient(180deg, rgba(30,31,34,.94), rgba(18,18,18,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.26);
  z-index:2;
}
#module-analises .analysis-v3-overlaycard span{display:block;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
#module-analises .analysis-v3-overlaycard strong{display:block;color:var(--text-primary);font-size:2rem;line-height:1.0;margin-bottom:6px;}
#module-analises .analysis-v3-overlaycard small{display:block;color:var(--text-secondary);font-size:.98rem;line-height:1.25;}
#module-analises .analysis-v3-sidepanel{display:grid;gap:14px;}
#module-analises .analysis-v3-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#module-analises .analysis-v3-kpi,
#module-analises .analysis-v3-summarycard,
#module-analises .analysis-v3-breakdown{
  border-radius:20px;
  border:1px solid var(--border-color);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
#module-analises .analysis-v3-kpi{padding:14px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between;}
#module-analises .analysis-v3-kpi span{color:var(--text-secondary);font-size:.84rem;line-height:1.2;}
#module-analises .analysis-v3-kpi strong{color:var(--text-primary);font-size:1.18rem;line-height:1.05;word-break:break-word;}
#module-analises .analysis-v3-summarycard{padding:16px;}
#module-analises .analysis-v3-summarycard strong{display:block;margin-bottom:8px;color:var(--text-primary);}
#module-analises .analysis-v3-summarycard p{margin:0;color:var(--text-secondary);line-height:1.5;}
#module-analises .analysis-v3-breakdown{padding:12px;display:grid;gap:10px;}
#module-analises .analysis-v3-breakdown-head span{display:block;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;padding:4px 2px;}
#module-analises .analysis-v3-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px;border-radius:14px;background:rgba(0,0,0,.18);}
#module-analises .analysis-v3-row span{color:var(--text-secondary);font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#module-analises .analysis-v3-row strong{color:var(--text-primary);font-size:.95rem;text-align:right;}

@media (min-width: 920px){
  #module-analises .analysis-v3-content{padding:20px;gap:20px;}
  #module-analises .analysis-v3-topline{grid-template-columns:minmax(0,1fr) auto;align-items:end;}
  #module-analises .analysis-v3-controls{width:270px;}
  #module-analises .analysis-v3-stage{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);align-items:stretch;}
  #module-analises .analysis-v3-chartcard{min-height:540px;padding:20px;}
  #module-analises .analysis-v3-chartwrap{min-height:470px;}
}

@media (max-width: 640px){
  #module-analises .analysis-v3-content{padding:14px;gap:14px;}
  #module-analises .analysis-v3-chartcard{min-height:330px;padding:12px;border-radius:22px;}
  #module-analises .analysis-v3-chartwrap{min-height:270px;}
  #module-analises .analysis-v3-overlaycard{bottom:12px;width:min(210px, calc(100% - 24px));padding:12px 14px;}
  #module-analises .analysis-v3-overlaycard strong{font-size:1.75rem;}
  #module-analises .analysis-v3-kpis{grid-template-columns:1fr 1fr;gap:10px;}
  #module-analises .analysis-v3-kpi{min-height:82px;padding:12px;}
}

/* === PATCH UI CIRÚRGICO | ajustes solicitados do painel === */

/* 1) Configurações: separar título + descrição, dar respiro e indicar clique */
#module-configuracoes .module-nav-list{
  gap: .85rem !important;
}
#module-configuracoes .module-nav-item{
  position: relative;
  display: block !important;
  padding: 1rem 3rem 1rem 1rem !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  transition: border-color .2s ease, background-color .2s ease, transform .16s ease;
}
#module-configuracoes .module-nav-item strong,
#module-analises .module-nav-item strong{
  display: block !important;
  margin: 0 0 .28rem 0 !important;
  line-height: 1.2 !important;
  font-size: .98rem !important;
}
#module-configuracoes .module-nav-item span,
#module-analises .module-nav-item span{
  display: block !important;
  color: var(--text-secondary) !important;
  line-height: 1.45 !important;
  font-size: .84rem !important;
  white-space: normal !important;
}
#module-configuracoes .module-nav-item::after{
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.42);
  font-size: .82rem;
}
#module-configuracoes .module-nav-item:hover,
#module-configuracoes .module-nav-item.active{
  transform: translateY(-1px);
}
#module-configuracoes .card-content,
#module-configuracoes .card-footer{
  gap: 1rem;
}
#module-configuracoes .detail-stack{
  gap: 1rem !important;
}
#module-configuracoes .detail-listing-item{
  align-items: center;
  border-radius: 16px;
  padding: 1rem 1rem;
}
#module-configuracoes .detail-listing-item > div{
  min-width: 0;
}
#module-configuracoes .detail-listing-item .detail-note{
  margin-top: .28rem;
}
#module-configuracoes .card-footer .btn{
  min-height: 46px;
}

/* 2) Dock de alternância: manter visível também no painel */
body.app-mode .glass-dock-container{
  display: flex !important;
}

/* 3) Listas salvas: evitar título cortado e deixar mais informativo */
.card--saved-list .card__title,
.saved-list-item .saved-list-name{
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: unset !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-height: 1.35 !important;
  min-height: calc(1.35em * 2);
  word-break: break-word;
}
.card--saved-list .card__content{
  gap: .7rem !important;
}
.card--saved-list .card__details{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .75rem !important;
  padding-left: 0 !important;
}
.card--saved-list .card__details span{
  display: block;
  min-width: 0;
}
.card--saved-list .card__footer{
  justify-content: space-between;
}
.card--saved-list .card__action--edit,
.card--saved-list .card__action.edit{
  color: #dffcf8;
  background: rgba(0,242,234,.08);
  border: 1px solid rgba(0,242,234,.18);
}
.card--saved-list .card__action--danger,
.card--saved-list .card__action.danger{
  color: #ffd8d8;
  background: rgba(255,59,48,.08);
  border: 1px solid rgba(255,59,48,.16);
}

/* 4) Hierarquia dos botões: destacar principal, suavizar secundários e deixar destrutivo claro */
.recipe-detail-main-actions,
.planner-slot-actions.meal-item-actions{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.recipe-detail-main-actions .icon-button,
.planner-slot-actions.meal-item-actions .icon-button{
  width: auto !important;
  min-width: 44px;
  min-height: 44px;
  height: 44px !important;
  border-radius: 14px !important;
  padding: 0 .85rem !important;
  gap: .45rem;
}
.recipe-detail-main-actions .icon-button span,
.planner-slot-actions.meal-item-actions .icon-button span{
  display: inline-block !important;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.1;
}
.recipe-detail-main-actions .edit-recipe-btn,
.planner-slot-actions.meal-item-actions .meal-view-btn,
.planner-slot-actions.meal-item-actions .meal-complete-btn{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #eef7fb !important;
}
.recipe-detail-main-actions .delete-recipe-btn,
.planner-slot-actions.meal-item-actions .meal-delete-btn{
  background: rgba(255,59,48,.10) !important;
  border: 1px solid rgba(255,59,48,.18) !important;
  color: #ffdada !important;
}
.recipe-detail-main-actions .edit-recipe-btn:hover,
.planner-slot-actions.meal-item-actions .meal-view-btn:hover,
.planner-slot-actions.meal-item-actions .meal-complete-btn:hover,
.recipe-detail-main-actions .delete-recipe-btn:hover,
.planner-slot-actions.meal-item-actions .meal-delete-btn:hover{
  transform: translateY(-1px);
}
.planner-slot-actions.meal-item-actions .meal-complete-btn{
  background: rgba(52,199,89,.10) !important;
  border-color: rgba(52,199,89,.18) !important;
  color: #daf9e3 !important;
}

/* 5) Análises: melhorar clareza visual, legenda e rótulos */
#module-analises .analysis-v3-typebtn span{
  text-transform: none !important;
  font-weight: 700;
}
#module-analises .analysis-v3-chartcard[data-chart-type="bar"] .analysis-v3-overlaycard,
#module-analises .analysis-v3-chartcard[data-chart-type="line"] .analysis-v3-overlaycard{
  right: 14px;
  left: auto;
  bottom: 14px;
  width: min(210px, calc(100% - 28px));
  background: rgba(8,12,18,.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
#module-analises .analysis-v3-chartcard[data-chart-type="pie"] .analysis-v3-overlaycard,
#module-analises .analysis-v3-chartcard[data-chart-type="doughnut"] .analysis-v3-overlaycard{
  width: min(220px, calc(100% - 28px));
}
#module-analises .analysis-v3-breakdown{
  gap: .75rem !important;
}
#module-analises .analysis-v3-row{
  align-items: flex-start;
}
#module-analises .analysis-v3-row span{
  white-space: normal !important;
  line-height: 1.35;
}
#module-analises .analysis-v3-row strong{
  min-width: 84px;
}

/* 6) Suavizar excesso de brilho/contorno sem mudar identidade */
.card--saved-list,
.saved-list-item,
.module-nav-item,
.minimal-export-btn,
.smart-save-btn,
.smart-chef-btn,
#module-analises .analysis-v3-navbtn,
#module-analises .analysis-v3-typebtn,
#module-analises .analysis-v3-modepill{
  box-shadow: 0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.minimal-export-btn.share-btn,
.minimal-export-btn.print-btn,
.minimal-export-btn.pdf-btn{
  filter: saturate(.88);
}
.card--saved-list,
.saved-list-item{
  background:
    radial-gradient(circle at top right, rgba(0,242,234,.08), transparent 30%),
    linear-gradient(180deg, rgba(36,39,49,.96), rgba(24,26,33,.96)) !important;
}

/* 7) Scrollbar menos "crua" */
body.app-mode *::-webkit-scrollbar{
  width: 5px;
  height: 5px;
}
body.app-mode *::-webkit-scrollbar-thumb{
  background-color: rgba(255,255,255,.12);
  border-width: 1px;
}
body.app-mode *::-webkit-scrollbar-thumb:hover{
  background-color: rgba(255,255,255,.22);
}


/* Remover sobreposição dos gráficos nas análises */
#module-analises .analysis-v3-overlaycard,
#module-analises .neo-chart-center-copy{
  display:none !important;
}


/* === PATCH SEM CHEF IA | landing limpa + preço único === */
.hero-pricing-note{
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  color: var(--glass-text-primary);
  font-size: .98rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.hero-pricing-note strong{ color: var(--primary-color-light); }
.plans-container-single{ justify-content: center; }
#chef-ia-fab-placeholder,
#ai-chat-modal,
.dock-item.dock-action,
[data-action="open-chef"],
[data-modal-open="ai-chat-modal"],
.ai-cta-button,
.action-card.ai,
.smart-chef-btn,
.open-chef-list-btn,
.chef-inline-btn,
.chef-glass-btn,
.neo-chef-actions,
.ai-chat-footer,
#ai-voice-btn,
#ai-chat-send-btn,
#ai-chat-input,
#ai-chat-messages-container{
  display: none !important;
}
.card-actions:empty,
.detail-modal-header-actions:empty,
.detail-modal-footer:empty,
.neo-chef-actions:empty{
  display: none !important;
}


/* === AJUSTES FINAIS | landing limpa + dock home/painel + painel enxuto === */
#inicio{
  padding-inline: 1.25rem !important;
}
#inicio .identity-container.hero-clean-layout{
  max-width: 980px !important;
  width: 100% !important;
  padding-left: 0 !important;
  align-items: center !important;
  text-align: center !important;
}
.hero-clean-shell{
  width: min(100%, 860px);
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 3vw, 2rem);
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(24,24,24,.40), rgba(24,24,24,.24));
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}
.hero-clean-layout .hero-brand{
  margin-bottom: .35rem !important;
  line-height: .98 !important;
  text-align: center !important;
}
.hero-clean-layout .hero-tagline{
  margin-bottom: 1rem !important;
  font-size: clamp(.92rem, 1.7vw, 1.15rem) !important;
  letter-spacing: .34em !important;
  color: rgba(235,247,247,.95) !important;
  text-shadow: 0 0 16px rgba(0,0,0,.22) !important;
}
.hero-clean-layout .simple-subtitle{
  max-width: 640px !important;
  margin: 0 auto !important;
  font-size: clamp(1.02rem, 2vw, 1.3rem) !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1.5 !important;
}
.hero-clean-layout .hero-cta-stack{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
  margin-top: 1.35rem;
}
.hero-clean-layout .hero-pricing-note{
  margin-top: 0 !important;
  font-size: 1.06rem !important;
  padding: .7rem 1.15rem !important;
  background: rgba(0,0,0,.34) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 999px !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-clean-layout .scroll-reveal,
.hero-clean-layout .hero-signature,
.hero-clean-layout .hero-stat{
  text-align: center;
}
.hero-clean-layout .hero-signature,
.hero-clean-layout .hero-stat{
  display:none;
}
.hero-clean-layout .hero-rotator{
  width: min(100%, 520px) !important;
  height: 60px !important;
  margin: 1rem auto 0 !important;
}
.hero-clean-layout .hero-rotator-item{
  font-size: .96rem;
  letter-spacing: .03em;
}
.scroll-down-indicator{
  bottom: 1.2rem !important;
}
@media (max-width: 991px){
  #inicio{ min-height: 100dvh !important; }
  .hero-clean-shell{
    width: min(100%, 720px);
    border-radius: 28px;
    padding: 1.45rem 1rem 1.65rem;
  }
  .hero-clean-layout .hero-tagline{
    letter-spacing: .18em !important;
    margin-bottom: .85rem !important;
  }
  .hero-clean-layout .simple-subtitle{
    font-size: 1rem !important;
  }
  .hero-clean-layout .hero-rotator{
    height: 56px !important;
    margin-top: .9rem !important;
  }
  .hero-clean-layout .modern-start-btn{
    margin-top: .2rem !important;
  }
}

.quick-actions-grid.quick-actions-grid--six{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .85rem !important;
  padding-bottom: 92px !important;
}
.quick-actions-grid.quick-actions-grid--six .action-card{
  min-height: 112px !important;
  height: 112px !important;
  padding: 1rem !important;
  justify-content: center;
}
.quick-actions-grid.quick-actions-grid--six .action-card span{
  font-size: 1rem !important;
}
.quick-actions-grid.quick-actions-grid--six .action-card small{
  font-size: .78rem !important;
}
.quick-actions-grid.quick-actions-grid--six .action-card.analytics{
  background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(0,0,0,0)) !important;
}
.quick-actions-grid.quick-actions-grid--six .action-card.config{
  background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(0,0,0,0)) !important;
}

.glass-dock-container{
  z-index: 1600 !important;
}
.glass-dock{
  width: min(340px, calc(100% - 24px)) !important;
}
.dock-item{
  min-width: 0 !important;
}
.dock-item span{
  font-size: .9rem !important;
  font-weight: 700 !important;
}

.detail-listing-item.planner-meal-item,
.planner-slot-card,
.planner-meal-item{
  overflow: visible !important;
}
.detail-listing-item.planner-meal-item{
  align-items: start !important;
}
.detail-listing-item.planner-meal-item .module-detail-actions{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem !important;
  width: 100%;
  align-self: stretch !important;
}
.detail-listing-item.planner-meal-item .module-detail-actions .btn{
  min-width: 0 !important;
  width: 100% !important;
  padding-inline: .7rem !important;
  font-size: .86rem !important;
  white-space: nowrap;
}
@media (min-width: 992px){
  .detail-listing-item.planner-meal-item{
    grid-template-columns: minmax(0,1fr) minmax(280px, 330px) !important;
  }
  .detail-listing-item.planner-meal-item .module-detail-actions{
    width: 100%;
  }
}
@media (max-width: 640px){
  .detail-listing-item.planner-meal-item .module-detail-actions{
    grid-template-columns: 1fr !important;
  }
  .detail-listing-item.planner-meal-item .module-detail-actions .btn{
    min-height: 44px !important;
  }
}

.planner-slot-actions.meal-item-actions{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem !important;
  width: 100% !important;
}
.planner-slot-actions.meal-item-actions .icon-button,
.planner-slot-actions.meal-item-actions .meal-view-btn,
.planner-slot-actions.meal-item-actions .meal-complete-btn,
.planner-slot-actions.meal-item-actions .meal-delete-btn{
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  padding: 0 .7rem !important;
  justify-content: center !important;
  border-radius: 14px !important;
}
@media (max-width: 640px){
  .planner-slot-actions.meal-item-actions{
    grid-template-columns: 1fr !important;
  }
}


/* === AJUSTE FINAL | landing limpa à esquerda + desktop corrigido === */
#inicio{
  padding-inline: clamp(1rem, 2.4vw, 2rem) !important;
}
#inicio .identity-container.hero-clean-layout{
  max-width: 1280px !important;
  width: 100% !important;
  padding-left: clamp(1rem, 7vw, 6.5rem) !important;
  padding-right: 1rem !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.hero-clean-shell{
  width: min(100%, 760px) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.hero-clean-layout .hero-brand,
.hero-clean-layout .hero-tagline,
.hero-clean-layout .simple-subtitle,
.hero-clean-layout .hero-cta-stack,
.hero-clean-layout .hero-pricing-note,
.hero-clean-layout .hero-rotator,
.hero-clean-layout .hero-rotator-item{
  text-align: left !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.hero-clean-layout .hero-brand{
  margin-bottom: .35rem !important;
  font-size: clamp(4.2rem, 9.5vw, 7.4rem) !important;
  line-height: .9 !important;
}
.hero-clean-layout .hero-tagline{
  margin-bottom: .9rem !important;
  font-size: clamp(.88rem, 1.25vw, 1.08rem) !important;
  letter-spacing: .22em !important;
  color: rgba(238, 244, 246, .94) !important;
}
#inicio .simple-subtitle,
.hero-clean-layout .simple-subtitle{
  max-width: 620px !important;
  margin: 0 !important;
  font-size: clamp(1.08rem, 1.65vw, 1.42rem) !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.95) !important;
}
.hero-clean-layout .hero-rotator{
  width: min(100%, 520px) !important;
  height: 54px !important;
  margin-top: .95rem !important;
}
.hero-clean-layout .hero-rotator-item{
  padding: .8rem 1rem !important;
  border-radius: 18px !important;
  font-size: .98rem !important;
  letter-spacing: .03em !important;
  background: linear-gradient(180deg, rgba(15,18,22,.62), rgba(15,18,22,.42)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.2) !important;
}
.hero-clean-layout .hero-cta-stack{
  margin-top: 1.15rem !important;
  align-items: flex-start !important;
  gap: .8rem !important;
}
.hero-clean-layout .modern-start-btn{
  min-width: 360px !important;
  min-height: 76px !important;
  padding: 18px 24px 18px 28px !important;
  gap: 18px !important;
}
.hero-clean-layout .modern-start-btn .btn-text{
  font-size: 1.18rem !important;
  letter-spacing: .08em !important;
}
.hero-clean-layout .modern-start-btn .btn-icon-wrapper{
  width: 58px !important;
  height: 58px !important;
  font-size: 1.15rem !important;
  background: var(--primary-color-light) !important;
}
.hero-clean-layout .hero-pricing-note{
  padding: .72rem 1.05rem !important;
  font-size: 1rem !important;
  background: rgba(0,0,0,.42) !important;
}
.scroll-down-indicator{
  bottom: 1.35rem !important;
}

@media (min-width: 992px){
  body.app-mode .modules-area{
    overflow: auto !important;
    padding-bottom: 92px !important;
  }
  .module-container:not(#module-inicio) .dashboard-card,
  .module-container:not(#module-inicio) .list-management-layout,
  .module-container:not(#module-inicio) .recipe-layout{
    height: calc(100vh - var(--header-height) - 6.25rem) !important;
  }
  #module-inicio.module-container{
    overflow: auto !important;
    padding: 2rem 2rem 6.75rem !important;
  }
  .quick-actions-grid.quick-actions-grid--six{
    grid-template-columns: repeat(3, minmax(200px, 1fr)) !important;
    gap: 1rem !important;
    max-width: 980px !important;
    padding-bottom: 0 !important;
  }
  .quick-actions-grid.quick-actions-grid--six .action-card{
    min-height: 150px !important;
    height: auto !important;
    padding: 1.2rem !important;
  }
  .glass-dock-container{
    bottom: 1rem !important;
  }
  .glass-dock{
    transform: scale(.96);
    transform-origin: center bottom;
  }
  #module-analises .analysis-dashboard,
  .analysis-dashboard{
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr) !important;
    gap: 1.1rem !important;
    align-items: start !important;
  }
}

.detail-listing-item.planner-meal-item,
.planner-meal-item,
.planner-slot-card{
  overflow: visible !important;
}
.detail-listing-item.planner-meal-item{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  align-items: center !important;
  gap: .9rem !important;
}
.detail-listing-item.planner-meal-item > div:first-child{
  min-width: 0 !important;
}
.detail-listing-item.planner-meal-item .module-detail-actions{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: .5rem !important;
  position: relative;
  z-index: 2;
}
.detail-listing-item.planner-meal-item .module-detail-actions .btn,
.planner-slot-actions.meal-item-actions .meal-view-btn,
.planner-slot-actions.meal-item-actions .meal-complete-btn,
.planner-slot-actions.meal-item-actions .meal-delete-btn{
  min-width: 0 !important;
  width: 100% !important;
  min-height: 44px !important;
  white-space: nowrap !important;
}
@media (max-width: 991px){
  #inicio{
    min-height: 100dvh !important;
    justify-content: center !important;
  }
  #inicio .identity-container.hero-clean-layout{
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .hero-clean-shell{
    width: 100% !important;
  }
  .hero-clean-layout .hero-brand{
    font-size: clamp(3.9rem, 17vw, 5.6rem) !important;
  }
  .hero-clean-layout .hero-tagline{
    letter-spacing: .14em !important;
  }
  .hero-clean-layout .simple-subtitle{
    font-size: 1.02rem !important;
    max-width: 100% !important;
  }
  .hero-clean-layout .hero-rotator{
    width: 100% !important;
    height: 56px !important;
    margin-top: .8rem !important;
  }
  .hero-clean-layout .modern-start-btn{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 78px !important;
  }
  .quick-actions-grid.quick-actions-grid--six{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .85rem !important;
    padding-bottom: 92px !important;
  }
  .quick-actions-grid.quick-actions-grid--six .action-card{
    min-height: 112px !important;
    height: 112px !important;
  }
  .detail-listing-item.planner-meal-item{
    grid-template-columns: 1fr !important;
  }
}


/* === AJUSTE FINAL V3 | hero mais compacta e com menos frases === */
.hero-clean-layout .hero-brand{
  font-size: clamp(3.15rem, 10.4vw, 5.6rem) !important;
  line-height: .94 !important;
  letter-spacing: .015em !important;
  max-width: 100% !important;
  text-wrap: balance;
}
.hero-clean-layout .hero-brand .highlight{
  letter-spacing: .01em !important;
}
.hero-clean-layout .hero-tagline{
  margin-bottom: .7rem !important;
  letter-spacing: .18em !important;
}
.hero-clean-layout .simple-subtitle{
  max-width: 560px !important;
  font-size: clamp(1rem, 1.28vw, 1.2rem) !important;
  line-height: 1.45 !important;
}
.hero-clean-layout .hero-rotator{
  width: min(100%, 430px) !important;
  height: 52px !important;
  margin-top: .85rem !important;
}
.hero-clean-layout .hero-rotator-item{
  padding: .72rem .95rem !important;
  font-size: .92rem !important;
  line-height: 1.25 !important;
}
.hero-clean-layout .hero-cta-stack{
  margin-top: 1rem !important;
}
.hero-clean-layout .hero-pricing-note{
  margin-top: .05rem !important;
}
@media (max-width: 991px){
  #inicio .identity-container.hero-clean-layout{
    padding-left: .95rem !important;
    padding-right: .95rem !important;
  }
  .hero-clean-layout .hero-brand{
    font-size: clamp(2.95rem, 12.6vw, 4.15rem) !important;
    letter-spacing: .01em !important;
  }
  .hero-clean-layout .hero-tagline{
    font-size: .74rem !important;
    letter-spacing: .13em !important;
  }
  .hero-clean-layout .simple-subtitle{
    font-size: .98rem !important;
    max-width: 26rem !important;
  }
  .hero-clean-layout .hero-rotator{
    width: 100% !important;
    max-width: 360px !important;
    height: 50px !important;
  }
  .hero-clean-layout .hero-rotator-item{
    font-size: .9rem !important;
    padding: .72rem .9rem !important;
  }
}
@media (min-width: 992px){
  .hero-clean-layout .hero-brand{
    max-width: 760px !important;
  }
  .hero-clean-layout .simple-subtitle{
    max-width: 600px !important;
  }
  .hero-clean-layout .hero-rotator{
    max-width: 460px !important;
  }
}

/* === PATCH V3.1 — planejador mobile quebrado === */
.detail-modal-body .detail-listing-item.planner-meal-item,
.detail-modal-body .detail-listing-item.planner-meal-item > div,
.detail-modal-body .planner-meal-copy{
  min-width: 0 !important;
}
.detail-modal-body .planner-meal-copy{
  width: 100% !important;
}
.detail-modal-body .detail-listing-item.planner-meal-item .meal-item-name{
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.22 !important;
}
.detail-modal-body .detail-listing-item.planner-meal-item .detail-note{
  margin-top: .35rem !important;
}
.detail-modal-body .detail-listing-item.planner-meal-item .module-detail-actions{
  width: 100% !important;
}
@media (max-width: 640px){
  .detail-modal-body .detail-listing-item.planner-meal-item{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .8rem !important;
    align-items: stretch !important;
  }
  .detail-modal-body .detail-listing-item.planner-meal-item .module-detail-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }
  .detail-modal-body .detail-listing-item.planner-meal-item .module-detail-actions .btn{
    width: 100% !important;
    min-height: 46px !important;
    white-space: nowrap !important;
  }
}

/* === PATCH V3.2 — planejador mobile e receita acima do modal === */
#detail-modal{ z-index: 43000 !important; }
#recipe-detail-modal{ z-index: 46000 !important; }
#recipe-detail-modal.is-visible{ z-index: 46010 !important; }

.detail-modal-body .planner-day-detail-shell,
#detail-modal-body .planner-day-detail-shell{
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.detail-modal-body .planner-slot-grid,
#detail-modal-body .planner-slot-grid{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .95rem !important;
}

.detail-modal-body .planner-slot-card,
#detail-modal-body .planner-slot-card{
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 1rem !important;
  gap: .75rem !important;
  overflow: visible !important;
  border-radius: 20px !important;
}

.detail-modal-body .planner-slot-head,
#detail-modal-body .planner-slot-head{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: .75rem !important;
}

.detail-modal-body .planner-slot-title,
#detail-modal-body .planner-slot-title,
.detail-modal-body .planner-slot-body,
#detail-modal-body .planner-slot-body{
  min-width: 0 !important;
  width: 100% !important;
}

.detail-modal-body .planner-slot-title small,
#detail-modal-body .planner-slot-title small{
  display: block !important;
  margin-bottom: .22rem !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}

.detail-modal-body .planner-slot-title strong,
#detail-modal-body .planner-slot-title strong{
  display: block !important;
  width: 100% !important;
  font-size: 1.03rem !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto;
}

.detail-modal-body .planner-slot-body p,
#detail-modal-body .planner-slot-body p{
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.5 !important;
}

.detail-modal-body .planner-slot-actions,
#detail-modal-body .planner-slot-actions{
  width: 100% !important;
  margin-top: .15rem !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.detail-modal-body .planner-slot-actions .icon-button,
#detail-modal-body .planner-slot-actions .icon-button{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 .7rem !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .42rem !important;
}

.detail-modal-body .planner-slot-actions .icon-button span,
#detail-modal-body .planner-slot-actions .icon-button span{
  display: inline !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 768px){
  .detail-modal-body .planner-day-detail-shell .detail-kpi-grid,
  #detail-modal-body .planner-day-detail-shell .detail-kpi-grid{
    display: none !important;
  }
}

@media (max-width: 560px){
  .detail-modal-body .planner-slot-actions,
  #detail-modal-body .planner-slot-actions{
    grid-template-columns: 1fr !important;
  }

  .detail-modal-body .planner-slot-actions .icon-button,
  #detail-modal-body .planner-slot-actions .icon-button{
    width: 100% !important;
  }
}


/* === PATCH V3.4 | landing mais limpa, com uma única frase rotativa e tom verde moderno === */
.hero-clean-layout .hero-tagline{
  margin-bottom: .45rem !important;
  color: rgba(235, 255, 246, .92) !important;
}
.hero-clean-layout .simple-subtitle{
  max-width: 32rem !important;
  margin-top: 0 !important;
  font-size: clamp(.96rem, 1.18vw, 1.1rem) !important;
  line-height: 1.38 !important;
  color: rgba(240,255,247,.92) !important;
}
.hero-clean-layout .hero-rotator{
  width: min(100%, 450px) !important;
  max-width: 450px !important;
  height: 48px !important;
  margin-top: .7rem !important;
}
.hero-clean-layout .hero-rotator-item{
  display:flex !important;
  align-items:center !important;
  min-height: 48px !important;
  padding: .7rem .95rem !important;
  border-radius: 999px !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #effff6 !important;
  background: linear-gradient(135deg, rgba(7, 91, 66, .78), rgba(10, 145, 105, .46)) !important;
  border: 1px solid rgba(102, 255, 194, .26) !important;
  box-shadow: 0 14px 34px rgba(2, 28, 20, .22) !important;
}
.hero-clean-layout .hero-cta-stack{
  margin-top: .9rem !important;
  gap: .7rem !important;
}
.hero-clean-layout .modern-start-btn{
  background: linear-gradient(135deg, rgba(18, 72, 56, .88), rgba(26, 111, 81, .74)) !important;
  border: 1px solid rgba(110, 255, 199, .18) !important;
  box-shadow: 0 16px 40px rgba(4, 26, 19, .22) !important;
}
.hero-clean-layout .modern-start-btn .btn-icon-wrapper{
  background: linear-gradient(135deg, #22f4d5, #12d6a8) !important;
  color: #06231c !important;
  box-shadow: 0 10px 22px rgba(10, 214, 168, .35) !important;
}
.hero-clean-layout .hero-pricing-note{
  background: linear-gradient(135deg, rgba(8, 44, 34, .82), rgba(10, 72, 54, .72)) !important;
  border: 1px solid rgba(98, 245, 186, .16) !important;
  color: rgba(244,255,250,.92) !important;
}
.hero-clean-layout .hero-pricing-note strong{
  color: #9dffe2 !important;
}
#inicio .scroll-down-indicator{
  opacity: .78 !important;
}

@media (max-width: 991px){
  .hero-clean-layout .hero-brand{
    font-size: clamp(2.85rem, 11.8vw, 3.9rem) !important;
    line-height: .96 !important;
  }
  .hero-clean-layout .hero-tagline{
    margin-bottom: .4rem !important;
    font-size: .72rem !important;
    letter-spacing: .12em !important;
  }
  .hero-clean-layout .simple-subtitle{
    max-width: 19rem !important;
    font-size: .94rem !important;
    line-height: 1.34 !important;
  }
  .hero-clean-layout .hero-rotator{
    max-width: 320px !important;
    height: 46px !important;
    margin-top: .62rem !important;
  }
  .hero-clean-layout .hero-rotator-item{
    padding: .66rem .88rem !important;
    font-size: .88rem !important;
  }
  .hero-clean-layout .modern-start-btn{
    min-height: 72px !important;
  }
  .hero-clean-layout .hero-pricing-note{
    font-size: .95rem !important;
  }
  #inicio .scroll-down-indicator{
    bottom: .55rem !important;
  }
}

@media (min-width: 992px){
  #inicio .identity-container.hero-clean-layout{
    max-width: 1320px !important;
    padding-left: clamp(1.5rem, 8vw, 7rem) !important;
  }
  .hero-clean-shell{
    width: min(100%, 680px) !important;
  }
  .hero-clean-layout .hero-brand{
    font-size: clamp(3.8rem, 6vw, 5.85rem) !important;
    max-width: 650px !important;
  }
  .hero-clean-layout .hero-tagline{
    font-size: .96rem !important;
  }
  .hero-clean-layout .simple-subtitle{
    max-width: 34rem !important;
    font-size: 1.06rem !important;
  }
  .hero-clean-layout .modern-start-btn{
    min-width: 340px !important;
  }
}


/* === PATCH V3.5 | landing ainda mais limpa, sem frase fixa e rotator transparente === */
.hero-clean-layout .simple-subtitle{
  display:none !important;
}
.hero-clean-layout .hero-rotator{
  width:auto !important;
  max-width:420px !important;
  height:auto !important;
  margin-top:.55rem !important;
}
.hero-clean-layout .hero-rotator-item{
  display:block !important;
  min-height:auto !important;
  padding:0 !important;
  border-radius:0 !important;
  font-size:clamp(.98rem, 1.25vw, 1.08rem) !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  color:#1ef0bf !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.hero-clean-layout .hero-cta-stack{
  margin-top:.8rem !important;
}
@media (max-width: 991px){
  .hero-clean-layout .hero-rotator{
    max-width:280px !important;
    margin-top:.5rem !important;
  }
  .hero-clean-layout .hero-rotator-item{
    font-size:.94rem !important;
    line-height:1.25 !important;
  }
}

/* === PATCH V3.6 | hero mais alta, CTA menor e fundos transparentes === */
#inicio{
  align-items: flex-start !important;
}
#inicio .identity-container.hero-clean-layout{
  justify-content: flex-start !important;
  padding-top: clamp(4.6rem, 10vh, 7.2rem) !important;
}
.hero-clean-shell{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.hero-clean-layout .hero-brand{
  margin-bottom: .22rem !important;
  font-size: clamp(3.15rem, 8.6vw, 5.2rem) !important;
  line-height: .9 !important;
  letter-spacing: -.01em !important;
  max-width: 12ch !important;
}
.hero-clean-layout .hero-brand .highlight{
  letter-spacing: -.015em !important;
}
.hero-clean-layout .hero-tagline{
  margin-bottom: .42rem !important;
}
.hero-clean-layout .hero-rotator{
  margin-top: .22rem !important;
  max-width: 360px !important;
}
.hero-clean-layout .hero-rotator-item{
  font-size: clamp(.92rem, 1.08vw, 1rem) !important;
  line-height: 1.18 !important;
}
.hero-clean-layout .hero-cta-stack{
  margin-top: .9rem !important;
  gap: .45rem !important;
}
.hero-clean-layout .modern-start-btn{
  min-width: 0 !important;
  width: min(320px, calc(100% - 1rem)) !important;
  min-height: 60px !important;
  padding: 12px 16px 12px 20px !important;
  gap: 14px !important;
  background: rgba(18, 110, 82, .18) !important;
  border: 1px solid rgba(94, 255, 200, .28) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.14) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.hero-clean-layout .modern-start-btn .btn-text{
  font-size: 1rem !important;
  letter-spacing: .06em !important;
}
.hero-clean-layout .modern-start-btn .btn-icon-wrapper{
  width: 50px !important;
  height: 50px !important;
  font-size: 1rem !important;
}
.hero-clean-layout .hero-pricing-note{
  padding: .18rem 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.95) !important;
}
.hero-clean-layout .hero-pricing-note strong{
  color: #8ef7dd !important;
}
@media (max-width: 991px){
  #inicio .identity-container.hero-clean-layout{
    padding-top: 5.4rem !important;
    padding-left: .9rem !important;
    padding-right: .9rem !important;
  }
  .hero-clean-layout .hero-brand{
    font-size: clamp(2.7rem, 11.4vw, 4.1rem) !important;
    max-width: 10ch !important;
  }
  .hero-clean-layout .hero-tagline{
    font-size: .72rem !important;
    letter-spacing: .11em !important;
  }
  .hero-clean-layout .hero-rotator{
    max-width: 290px !important;
    margin-top: .12rem !important;
  }
  .hero-clean-layout .hero-rotator-item{
    font-size: .9rem !important;
    line-height: 1.16 !important;
  }
  .hero-clean-layout .modern-start-btn{
    width: min(100%, 306px) !important;
    min-height: 56px !important;
    padding: 10px 12px 10px 18px !important;
  }
  .hero-clean-layout .modern-start-btn .btn-text{
    font-size: .96rem !important;
  }
  .hero-clean-layout .modern-start-btn .btn-icon-wrapper{
    width: 46px !important;
    height: 46px !important;
  }
  .hero-clean-layout .hero-pricing-note{
    font-size: .92rem !important;
  }
}
@media (min-width: 992px){
  #inicio .identity-container.hero-clean-layout{
    padding-top: clamp(5rem, 12vh, 8rem) !important;
  }
  .hero-clean-layout .hero-brand{
    font-size: clamp(3.75rem, 5.6vw, 5.45rem) !important;
  }
  .hero-clean-layout .hero-rotator{
    max-width: 420px !important;
  }
  .hero-clean-layout .modern-start-btn{
    width: min(340px, 100%) !important;
  }
}


/* === PATCH V3.7 | hero limpa e sem elementos acavalados === */
#inicio {
  align-items: flex-start !important;
}

#inicio .identity-container.hero-clean-layout {
  width: min(100%, 1240px) !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding-top: clamp(5.8rem, 12vh, 8.2rem) !important;
  padding-left: clamp(1rem, 5vw, 5rem) !important;
  padding-right: 1rem !important;
  text-align: left !important;
}

.hero-clean-shell {
  width: min(100%, 560px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .7rem !important;
}

.hero-clean-layout .hero-brand {
  margin: 0 !important;
  max-width: 8.4ch !important;
  font-size: clamp(3.15rem, 7vw, 5.5rem) !important;
  line-height: .88 !important;
  letter-spacing: -.035em !important;
}

.hero-clean-layout .hero-brand .highlight {
  display: block !important;
  letter-spacing: -.04em !important;
}

.hero-clean-layout .hero-tagline {
  margin: 0 !important;
  font-size: clamp(.82rem, 1.2vw, 1rem) !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
  opacity: .98 !important;
}

.hero-clean-layout .simple-subtitle,
.hero-clean-layout .hero-signature,
.hero-clean-layout .hero-stat {
  display: none !important;
}

.hero-clean-layout .hero-rotator {
  width: min(100%, 360px) !important;
  min-height: 1.5em !important;
  height: auto !important;
  margin: .1rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}

.hero-clean-layout .hero-rotator-item {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  transition: opacity .28s ease, transform .28s ease !important;
  color: #1ef0bf !important;
  font-weight: 800 !important;
  font-size: clamp(1.02rem, 1.5vw, 1.22rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.015em !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.18) !important;
}

.hero-clean-layout .hero-rotator-item.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.hero-clean-layout .hero-cta-stack {
  margin-top: .6rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .55rem !important;
}

.hero-clean-layout .modern-start-btn {
  width: min(100%, 300px) !important;
  min-height: 58px !important;
  padding: 12px 14px 12px 20px !important;
  border-radius: 999px !important;
  background: rgba(28, 136, 105, .16) !important;
  border: 1px solid rgba(94, 255, 200, .28) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.hero-clean-layout .modern-start-btn .btn-text {
  font-size: 1rem !important;
  line-height: 1.05 !important;
  letter-spacing: .03em !important;
}

.hero-clean-layout .modern-start-btn .btn-icon-wrapper {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
}

.hero-clean-layout .hero-pricing-note {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: clamp(.96rem, 1.2vw, 1.08rem) !important;
}

@media (max-width: 991px) {
  #inicio .identity-container.hero-clean-layout {
    padding-top: 8.8rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .hero-clean-shell {
    width: min(100%, 360px) !important;
    gap: .55rem !important;
  }

  .hero-clean-layout .hero-brand {
    max-width: 7.2ch !important;
    font-size: clamp(2.95rem, 10.7vw, 4.3rem) !important;
    line-height: .9 !important;
  }

  .hero-clean-layout .hero-tagline {
    font-size: .72rem !important;
    letter-spacing: .11em !important;
  }

  .hero-clean-layout .hero-rotator {
    width: min(100%, 300px) !important;
    min-height: 2.4em !important;
  }

  .hero-clean-layout .hero-rotator-item {
    font-size: 1rem !important;
    line-height: 1.16 !important;
  }

  .hero-clean-layout .modern-start-btn {
    width: min(100%, 286px) !important;
    min-height: 54px !important;
    padding: 10px 12px 10px 18px !important;
  }

  .hero-clean-layout .modern-start-btn .btn-text {
    font-size: .95rem !important;
  }

  .hero-clean-layout .modern-start-btn .btn-icon-wrapper {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }
}

@media (min-width: 992px) {
  .hero-clean-shell {
    width: min(100%, 620px) !important;
  }

  .hero-clean-layout .hero-rotator {
    width: min(100%, 420px) !important;
  }
}

/* === PATCH V3.8 | hero mais centralizada, mais alta e sem fundos desfocados === */
#inicio {
  align-items: flex-start !important;
  justify-content: center !important;
}

#inicio .identity-container.hero-clean-layout {
  min-height: calc(100vh - 11.5rem) !important;
  justify-content: center !important;
  padding-top: clamp(2.25rem, 5vh, 4.25rem) !important;
  padding-bottom: 7.5rem !important;
}

.hero-clean-shell {
  margin-top: -1.5rem !important;
  gap: .5rem !important;
}

.hero-clean-layout .hero-brand {
  max-width: 6.9ch !important;
  font-size: clamp(2.7rem, 7vw, 5rem) !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
}

.hero-clean-layout .hero-tagline {
  margin-top: -.1rem !important;
}

.hero-clean-layout .hero-rotator {
  width: min(100%, 340px) !important;
  min-height: 1.35em !important;
  margin-top: .15rem !important;
}

.hero-clean-layout .hero-rotator-item {
  text-shadow: none !important;
}

.hero-clean-layout .hero-cta-stack {
  margin-top: .4rem !important;
  gap: .45rem !important;
}

.hero-clean-layout .modern-start-btn {
  width: min(100%, 286px) !important;
  min-height: 52px !important;
  padding: 9px 11px 9px 18px !important;
  background: transparent !important;
  border: 1px solid rgba(94, 255, 200, .42) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-clean-layout .modern-start-btn .btn-icon-wrapper {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
}

.hero-clean-layout .hero-pricing-note {
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

@media (max-width: 991px) {
  #inicio .identity-container.hero-clean-layout {
    min-height: calc(100vh - 12.25rem) !important;
    padding-top: 4.65rem !important;
    padding-bottom: 8.25rem !important;
  }

  .hero-clean-shell {
    width: min(100%, 332px) !important;
    margin-top: -2.4rem !important;
    gap: .42rem !important;
  }

  .hero-clean-layout .hero-brand {
    max-width: 6.3ch !important;
    font-size: clamp(2.45rem, 9.4vw, 3.95rem) !important;
    line-height: .88 !important;
    letter-spacing: -.05em !important;
  }

  .hero-clean-layout .hero-tagline {
    font-size: .68rem !important;
    letter-spacing: .1em !important;
  }

  .hero-clean-layout .hero-rotator {
    width: min(100%, 280px) !important;
    min-height: 1.25em !important;
    margin-top: .18rem !important;
  }

  .hero-clean-layout .hero-rotator-item {
    font-size: 1rem !important;
    line-height: 1.08 !important;
  }

  .hero-clean-layout .modern-start-btn {
    width: min(100%, 272px) !important;
    min-height: 50px !important;
    padding: 8px 10px 8px 16px !important;
  }

  .hero-clean-layout .modern-start-btn .btn-text {
    font-size: .9rem !important;
    letter-spacing: .02em !important;
  }

  .hero-clean-layout .modern-start-btn .btn-icon-wrapper {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .hero-clean-layout .hero-pricing-note {
    font-size: .95rem !important;
  }
}

@media (min-width: 992px) {
  #inicio .identity-container.hero-clean-layout {
    min-height: calc(100vh - 10rem) !important;
    padding-top: 3rem !important;
    padding-bottom: 6rem !important;
  }

  .hero-clean-shell {
    width: min(100%, 560px) !important;
    margin-top: -1rem !important;
  }

  .hero-clean-layout .hero-rotator {
    width: min(100%, 360px) !important;
  }
}


/* === PATCH v4.0 | autocomplete no modal de receita === */
#autocomplete-suggestions{
  position: fixed !important;
  z-index: 2147483647 !important;
}
#autocomplete-suggestions .autocomplete-item{
  cursor:pointer;
}


/* === PATCH V4.1 | confirmações acima, ações de lista e autocomplete confiável === */
#custom-confirm-modal{
  z-index: 61000 !important;
}
#custom-confirm-modal .modal-box{
  z-index: 61001 !important;
}
#detail-modal{ z-index: 52000 !important; }
#recipe-detail-modal{ z-index: 56000 !important; }
#recipe-picker-modal{ z-index: 50000 !important; }
#autocomplete-suggestions{
  z-index: 62000 !important;
}
#autocomplete-suggestions .autocomplete-item{
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
}
#recipe-detail-modal-footer .generate-recipe-list-btn,
#recipe-detail-desktop-footer .generate-recipe-list-btn,
.card--recipe .generate-recipe-list-btn,
.planner-slot-actions .generate-meal-list-btn,
.detail-modal-footer .generate-list-btn{
  min-width: 46px;
}
.planner-slot-actions.meal-item-actions{
  flex-wrap: wrap;
}
.planner-slot-actions.meal-item-actions .generate-meal-list-btn{
  border-color: rgba(0,242,234,.28) !important;
  color: var(--primary-color) !important;
}
.planner-slot-actions.meal-item-actions .generate-meal-list-btn:hover,
#recipe-detail-modal-footer .generate-recipe-list-btn:hover,
#recipe-detail-desktop-footer .generate-recipe-list-btn:hover,
.card--recipe .generate-recipe-list-btn:hover,
.detail-modal-footer .generate-list-btn:hover{
  border-color: rgba(0,242,234,.4) !important;
  color: var(--primary-color) !important;
}
@media (max-width: 640px){
  #recipe-detail-modal-footer,
  .detail-modal-footer{
    gap: .55rem !important;
  }
  #recipe-detail-modal-footer .icon-button,
  .detail-modal-footer .icon-button,
  .planner-slot-actions .icon-button{
    min-width: 46px !important;
    height: 46px !important;
  }
}


/* === PATCH v4.2 | autocomplete robusto no criar/editar receita === */
#autocomplete-suggestions{
  position: fixed !important;
  inset: auto auto auto auto;
  display: none;
  background: #1c1f24 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.45) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 2147483647 !important;
}
#autocomplete-suggestions .autocomplete-item{
  width: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem .95rem !important;
  text-align: left;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  cursor: pointer;
}
#autocomplete-suggestions .autocomplete-item:last-child{
  border-bottom: 0 !important;
}
#autocomplete-suggestions .autocomplete-item:hover,
#autocomplete-suggestions .autocomplete-item:focus{
  background: rgba(0,242,234,.12) !important;
  outline: none;
}
#autocomplete-suggestions .autocomplete-name{
  color: #fff;
  font-weight: 600;
  min-width: 0;
}
#autocomplete-suggestions .autocomplete-unit{
  color: rgba(255,255,255,.72);
  flex: 0 0 auto;
}
#custom-confirm-modal.recipe-editor-modal,
#custom-confirm-modal.recipe-editor-modal .modal-box{
  overflow: visible !important;
}
#custom-confirm-modal.recipe-editor-modal .modal-body{
  overflow: auto !important;
}
#custom-confirm-modal.recipe-editor-modal #recipe-edit-form,
#custom-confirm-modal.recipe-editor-modal #recipe-ing-form{
  overflow: visible !important;
}


.terms-check a { color: var(--primary-color); text-decoration: underline; }
.terms-check input[type='checkbox'] { transform: translateY(2px); }


/* === ALIMENTE FÁCIL | AJUSTES PROFISSIONAIS FINAIS === */
.hero-clean-layout .hero-signature{ display:none !important; }
.hero-clean-layout .simple-subtitle{ max-width: 720px; color: rgba(255,255,255,.86) !important; }
.hero-clean-layout .hero-pricing-note{ background: transparent !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; padding: 0 !important; color: rgba(255,255,255,.88) !important; }
.hero-clean-layout .hero-tagline{ letter-spacing: .02em !important; }


/* === PATCH FINAL UX + BASIC GATE === */
.notification { z-index: 30050 !important; }
#inicio .hero-signature{display:none !important;}

#payment-gate-modal { z-index: 26000 !important; }
#payment-gate-modal .modal-box { box-shadow: 0 24px 90px rgba(0, 0, 0, 0.48); }
.pwa-floating-banner {
  position: fixed;
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 18px);
  transform: translateX(-50%);
  width: min(92vw, 640px);
  z-index: 24000;
}
.pwa-floating-banner__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(9, 11, 19, .92);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 52px rgba(0,0,0,.35);
}
.pwa-floating-banner__copy { display: grid; gap: 4px; }
.pwa-floating-banner__copy strong { color: #fff; font-size: .98rem; }
.pwa-floating-banner__copy span { color: rgba(255,255,255,.74); font-size: .9rem; line-height: 1.35; }
.pwa-floating-banner__actions { display: flex; align-items: center; gap: 10px; }
#module-analises .analysis-nav-item strong,
#module-analises .analysis-nav-item span,
#module-analises .analysis-v3-typebtn span,
#module-analises .analysis-v3-copy h4,
#module-analises .analysis-v3-copy p,
#module-analises .analysis-v3-copy small,
#module-analises .analysis-v3-breakdown-head span,
#module-analises .analysis-v3-row span,
#module-analises .analysis-v3-row strong,
#module-analises .analysis-v3-summarycard strong,
#module-analises .analysis-v3-summarycard p,
#module-analises .analysis-v3-kpi span,
#module-analises .analysis-v3-kpi strong,
#module-analises .neo-analysis-pill span,
#module-analises .neo-analysis-profile strong,
#module-analises .neo-analysis-profile span,
#module-analises .neo-analysis-status strong,
#module-analises .neo-analysis-status span {
  color: #fff !important;
}
#module-analises .analysis-v3-copy small,
#module-analises .analysis-v3-row span,
#module-analises .analysis-v3-summarycard p,
#module-analises .analysis-v3-kpi span,
#module-analises .neo-analysis-profile span,
#module-analises .neo-analysis-status span {
  color: rgba(255,255,255,.76) !important;
}
@media (max-width: 640px) {
  .pwa-floating-banner__content { flex-direction: column; align-items: stretch; }
  .pwa-floating-banner__actions { justify-content: space-between; }
}
