/* ==========================================================================
   GOALS — Goal List UI (FULL REWRITE)
   - Header (quote + title + actions + filters) com glass
   - Background escuro (cards claros) igual ao print
   - Stats hierárquico (Operação > Unidade) + Cards de metas
   - Sem opacidade no “pai” (evita texto apagado)
   ========================================================================== */

/* ----------------------------- */
/* Design Tokens                 */
/* ----------------------------- */
:root{
    /* Brand */
    --color-primary: #c5a572;
    --color-primary-hover: #9d8359;
    --color-primary-light: rgba(197, 165, 114, 0.15);
  
    --color-secondary: #c5a572;
    --color-secondary-hover: #9d8359;
  
    --color-success: #10b981;
    --color-success-hover: #059669;
    --color-success-light: #d1fae5;
  
    --color-warning: #c5a572;
    --color-warning-hover: #d97706;
    --color-warning-light: #fef3c7;
  
    --color-danger: #ef4444;
    --color-danger-hover: #dc2626;
    --color-danger-light: #fee2e2;
  
    --color-info: #06b6d4;
    --color-info-hover: #0891b2;
    --color-info-light: #cffafe;
  
    /* Neutrals */
    --color-gray-50:  #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;
  
    /* Page background (dark, like screenshot) */
    --bg-page-1: #070c16;
    --bg-page-2: #0a1222;
    --bg-page-3: #0c1933;
  
    /* Surfaces */
    --surface-1: rgba(255,255,255,.96);
    --surface-2: rgba(255,255,255,.90);
    --surface-3: rgba(255,255,255,.08);
    --surface-4: rgba(255,255,255,.06);
  
    /* Spacing */
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
  
    /* Radius */
    --radius-sm: .375rem;
    --radius-md: .5rem;
    --radius-lg: .75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-3xl: 2rem;
    --radius-full: 9999px;
  
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,.08);
    --shadow-md: 0 10px 22px rgba(2, 8, 23, .14);
    --shadow-lg: 0 18px 40px rgba(2, 8, 23, .18);
    --shadow-xl: 0 30px 70px rgba(2, 8, 23, .25);
  
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #9d8359 0%, #c5a572 100%);
    --gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);
    --gradient-warning: linear-gradient(135deg, #c5a572 0%, #d97706 100%);
    --gradient-info:    linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    --gradient-glass:   linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  
    /* Typography */
    --font-sans: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    --font-mono: ui-monospace,SFMono-Regular,'SF Mono',Consolas,'Liberation Mono',Menlo,monospace;
  
    /* Motion */
    --transition-fast: .15s ease-out;
    --transition-base: .30s ease-out;
    --transition-slow: .50s ease-out;
  
    /* Z */
    --z-fixed: 1030;
        }
  
  /* ----------------------------- */
  /* Base                          */
  /* ----------------------------- */
  *{ box-sizing: border-box; }
  
  html, body{
    height: 100%;
  }
  
  body{
    font-family: var(--font-sans);
    background: radial-gradient(1200px 600px at 50% -10%, var(--bg-page-3), transparent 60%),
                radial-gradient(1000px 500px at 10% 10%, #111b38, transparent 55%),
                radial-gradient(900px 450px at 90% 20%, #0e1530, transparent 60%),
                linear-gradient(180deg, var(--bg-page-1), var(--bg-page-2));
  }
  
  /* ----------------------------- */
  /* Container (removed - using goals-main from base.html) */
  /* ----------------------------- */
  /* Apply specific text color for goal list page */
  .goals-main{
    color: rgba(255,255,255,.92);
    padding: 1.5rem clamp(1rem, 2vw, 2rem);
  }
  
  /* Goals List Page Container */
  .goals-list-page{
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  
  /* ----------------------------- */
  /* COMPACT TOOLBAR (Header + Filters) */
  /* ----------------------------- */
  .goals-toolbar{
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    padding: 10px 14px;
    margin-bottom: 12px;
    backdrop-filter: blur(10px);
  }

  .goals-toolbar-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
  }

  .goals-toolbar-title{
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .goals-toolbar-title h1{
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .goals-toolbar-title h1 i{
    color: #c5a572;
    font-size: 0.9rem;
  }

  .goals-date-badge{
    background: rgba(197, 165, 114, 0.2);
    color: #c5a572;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .goals-toolbar-actions{
    display: flex;
    gap: 6px;
  }

  .goals-toolbar-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 0.8rem;
    text-decoration: none;
    transition: all 0.15s ease;
  }

  .goals-toolbar-btn.primary{
    background: linear-gradient(135deg, #875806, #9d8359);
    color: #fff;
  }
  .goals-toolbar-btn.primary:hover{
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(135, 88, 6, 0.4);
  }

  .goals-toolbar-btn.success{
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
  }
  .goals-toolbar-btn.success:hover{
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(16, 185, 129, 0.4);
  }

  .goals-toolbar-btn.warning{
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
  }
  .goals-toolbar-btn.warning:hover{
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(245, 158, 11, 0.4);
  }

  /* Filtros em linha */
  .goals-toolbar-filters{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }

  .goals-filter-select{
    flex: 1;
    min-width: 80px;
    max-width: 140px;
    padding: 6px 10px;
    font-size: 0.7rem;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.85);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
  }

  .goals-filter-select:hover{
    background: rgba(255,255,255,.10);
    border-color: rgba(197, 165, 114, 0.3);
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
  }

  .goals-filter-select:focus{
    outline: none;
    border-color: rgba(197, 165, 114, 0.5);
    background: rgba(255,255,255,.12);
    box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15);
  }

  .goals-filter-select option{
    background: #1a1a2e;
    color: #fff;
    padding: 8px;
  }

  .goals-filter-search{
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 100px;
    max-width: 160px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
  }

  .goals-filter-search:hover{
    background: rgba(255,255,255,.10);
    border-color: rgba(197, 165, 114, 0.3);
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
  }

  .goals-filter-search:focus-within{
    border-color: rgba(197, 165, 114, 0.5);
    background: rgba(255,255,255,.12);
    box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15);
  }

  .goals-filter-search i{
    color: rgba(255,255,255,.4);
    font-size: 0.65rem;
    transition: color 0.3s ease;
  }

  .goals-filter-search:focus-within i{
    color: #c5a572;
  }

  .goals-filter-search input{
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
  }

  .goals-filter-search input:focus{
    outline: none;
  }

  .goals-filter-search input::placeholder{
    color: rgba(255,255,255,.35);
    transition: color 0.3s ease;
  }

  .goals-filter-search:focus-within input::placeholder{
    color: rgba(255,255,255,.5);
  }

  .goals-filter-date{
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .goals-filter-date input[type="month"]{
    padding: 6px 10px;
    font-size: 0.7rem;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.85);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
  }

  .goals-filter-date input[type="month"]:hover{
    background: rgba(255,255,255,.10);
    border-color: rgba(197, 165, 114, 0.3);
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
  }

  .goals-filter-date input[type="month"]:focus{
    outline: none;
    border-color: rgba(197, 165, 114, 0.5);
    background: rgba(255,255,255,.12);
    box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15);
  }

  .goals-filter-date input[type="month"]::-webkit-calendar-picker-indicator{
    filter: invert(1);
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.3s ease;
  }

  .goals-filter-date input[type="month"]:hover::-webkit-calendar-picker-indicator{
    opacity: 0.8;
  }

  .goals-filter-clear{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 6px;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .goals-filter-clear:hover{
    background: #ef4444;
    color: #fff;
  }

  .goals-filter-clear i{
    font-size: 0.6rem;
  }

  /* Responsivo - Toolbar */
  @media (max-width: 768px){
    .goals-toolbar-row{
      flex-wrap: wrap;
    }
    
    .goals-toolbar-filters{
      width: 100%;
    }
    
    .goals-filter-select,
    .goals-filter-search{
      max-width: none;
      flex: 1 1 45%;
    }
    
    .goals-filter-date{
      flex: 1 1 100%;
    }
    
    .goals-filter-date input[type="month"]{
      flex: 1;
    }
  }

  /* ----------------------------- */
  /* Legacy Header (mantido para compatibilidade) */
  /* ----------------------------- */
  .goals-header{
        position: relative;
        overflow: hidden;
    border-radius: var(--radius-3xl);
    box-shadow: var(--shadow-xl);
    padding: var(--space-2xl) var(--space-xl);
    text-align: center;
    margin-bottom: 1.5rem;
  }
  
  .goals-header::before{
    content:"";
    position:absolute;
    inset:0;
    background: var(--gradient-glass);
    backdrop-filter: blur(12px);
    z-index: 1;
    }

  .goals-header > *{
    position: relative;
    z-index: 2;
    }

  .goals-header-quote{
    font-size: .85rem;
        font-weight: 700;
    letter-spacing: .02em;
    opacity: .9;
    margin-bottom: .35rem;
  }
  
  .goals-header-content h1{
    margin: 0 0 .35rem 0;
    font-weight: 900;
    letter-spacing: -0.03em;
    font-size: clamp(2rem, 4.8vw, 3rem);
    color: #fff;
    text-shadow: 0 2px 14px rgba(0,0,0,.18);
    }

  .goals-header-content p{
    margin: 0 auto var(--space-lg);
    max-width: 760px;
    font-size: 1.05rem;
    opacity: .95;
    color: rgba(255,255,255,.92);
    }

  .goals-header-actions{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
  }
  
  @media (max-width: 992px){
    .goals-header-actions{
      gap: 0.5rem;
    }
  }
  
  /* ----------------------------- */
  /* Buttons                       */
  /* ----------------------------- */
  .goals-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 12px;
    padding: .72rem 1rem;
    font-weight: 900;
    font-size: .78rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    position: relative;
        overflow: hidden;
    color: #fff;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
  }
  
  .goals-btn::before{
    content:"";
    position:absolute;
    inset:0;
    transform: translateX(-120%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    transition: transform var(--transition-slow);
    }

  .goals-btn:hover::before{ transform: translateX(120%); }
  .goals-btn:active{ transform: scale(.985); }
  
  .goals-btn-primary{ background: var(--color-primary); }
  .goals-btn-primary:hover{ background: var(--color-primary-hover); transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.22); }

  .goals-btn-dashboard{ background: var(--color-success); }
  .goals-btn-dashboard:hover{ background: var(--color-success-hover); transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
  
  .goals-btn-warning{ background: var(--color-warning); }
  .goals-btn-warning:hover{ background: var(--color-warning-hover); transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.22); }

  .goals-btn-danger{ background: var(--color-danger); }
  .goals-btn-danger:hover{ background: var(--color-danger-hover); transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
  
  /* ----------------------------- */
  /* Filters (no header, aligned)  */
  /* ----------------------------- */
  .goals-filters-form,
  #goalsFilterForm{
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 1.5rem;
    padding: 1.25rem;
    border-radius: 16px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.20);
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow-md);
    transition: all 0.3s ease;
  }
  
  .goals-filters-form:hover,
  #goalsFilterForm:hover{
    background: rgba(255,255,255,.12);
    border-color: rgba(197, 165, 114, 0.3);
    box-shadow: var(--shadow-lg);
  }
  
  #goalsFilterForm .input-group{
    border-radius: 12px;
        overflow: hidden;
    box-shadow: 0 8px 16px rgba(0,0,0,.10);
        }

  #goalsFilterForm .input-group-text{
    background: rgba(255,255,255,.92);
    border: 0;
    font-weight: 900;
    font-size: .72rem;
    color: rgba(15,23,42,.86);
    white-space: nowrap;
        }
  
  #goalsFilterForm .form-select,
  #goalsFilterForm .form-control{
    background: rgba(255,255,255,.92);
    border: 0;
    color: rgba(15,23,42,.92);
    font-weight: 700;
    font-size: .80rem;
    min-height: 38px;
    }

  #goalsFilterForm .form-control::placeholder{
    color: rgba(15,23,42,.55);
    font-weight: 700;
  }
  
  #goalsFilterForm .form-select:focus,
  #goalsFilterForm .form-control:focus{
    outline: none;
    box-shadow: 0 0 0 4px rgba(255,255,255,.22);
  }
  
  /* ----------------------------- */
  /* Stats Overview (reusable)     */
  /* ----------------------------- */
  /* Global stats (top level) - can use 4 columns */
  .goals-stats-overview{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: stretch;
    grid-auto-rows: 1fr; /* força todas as linhas terem a mesma altura */
  }
  
  /* Stats inside unit sections: 2 colunas se couber, senão vira 1 (auto-fit resolve) */
  
  /* Global stats responsive adjustments */
  @media (max-width: 1200px){
    .goals-stats-overview:not(.unit-section .goals-stats-overview){
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }
  }
  
  @media (max-width: 768px){
    .goals-stats-overview:not(.unit-section .goals-stats-overview){
      grid-template-columns: 1fr;
      gap: 10px;
    }
  }
  
  @media (min-width: 1400px){
    .goals-stats-overview:not(.unit-section .goals-stats-overview){
      grid-template-columns: repeat(4, 1fr);
    }
  }
  
  /* Stat card */
  .goals-stat-card{
    --icon-1: #c5a572;
    --icon-2: #9d8359;
  
    background: var(--surface-1);
    border: 1px solid rgba(255,255,255,.16);
        border-radius: 12px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    transition: all 0.2s ease;
    min-height: 54px; /* altura mínima fixa para consistência */
    }

  /* Cards dentro de unidades podem ser um pouco menores */
  .unit-section .goals-stat-card{
    min-width: 0;
    max-width: 100%;
    padding: 6px 8px;
    gap: 6px;
    border-radius: 10px;
    box-sizing: border-box;
    height: 100%; /* garante altura consistente */
    }

  .goals-stat-card::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height: 4px;
    background: var(--gradient-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-base);
    z-index: 0; /* fica atrás do conteúdo */
  }
  
  .goals-stat-card:hover{
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
  }
  
  .goals-stat-card:hover::before{ transform: scaleX(1); }

  .goals-stat-card.completed{ --icon-1: #10b981; --icon-2: #059669; }
  .goals-stat-card.active{ --icon-1: #c5a572; --icon-2: #9d8359; }
  .goals-stat-card.progress{ --icon-1: #c5a572; --icon-2: #9d8359; }

  .goals-stat-icon{
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, var(--icon-1), var(--icon-2));
    color:#fff;
    flex: 0 0 auto;
    flex-shrink: 0; /* não encolhe */
    box-shadow: 0 4px 8px rgba(0,0,0,.12);
    transition: transform 0.2s ease;
    }
  
  .goals-stat-icon i{ font-size: 0.9rem; }
  
  /* Cards dentro de unidades - ícone menor */
  .unit-section .goals-stat-icon{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    }
  
  .unit-section .goals-stat-icon i{ font-size: 0.75rem; }

  .goals-stat-content{
    display:flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0; /* permite ellipsis corretamente */
    max-width: 100%; /* nunca estoura */
    flex: 1 1 0%; /* ocupa espaço disponível, pode encolher */
    text-align: left;
    overflow: hidden; /* impede vazamento */
    box-sizing: border-box;
    position: relative;
    z-index: 1; /* fica acima do ::before */
  }
  
  .goals-stat-label{
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .02em; /* reduzido de .04em para menos espaço */
    text-transform: uppercase;
    color: rgba(15,23,42,.85); /* melhor contraste */
    line-height: 1.2;
    margin: 0 0 2px 0;
    min-width: 0;
    max-width: 100%;
    width: fit-content; /* ocupa apenas o espaço necessário */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    position: relative;
    z-index: 1; /* garante que fica acima de qualquer overlay */
  }
  
  .goals-stat-value{
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 950;
    color: rgba(15,23,42,.96);
    font-family: var(--font-mono);
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }
  
  /* Value menor em unidades para economizar espaço */
  .unit-section .goals-stat-value{
    font-size: 1rem;
    }
  
  /* Segurança: labels e values não forçam largura */
  .goals-stat-label, .goals-stat-value{
    min-width: 0;
        overflow: hidden;
    text-overflow: ellipsis;
        }
  
  /* Label pode quebrar em 2 linhas (sobrescreve white-space do seletor acima) */
  .goals-stat-label{
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  
  /* Value sempre em uma linha */
  .goals-stat-value{
    white-space: nowrap;
    position: relative;
    z-index: 1; /* garante que fica acima de qualquer overlay */
    }
  
  /* Ocultar elementos de debug/inspeção */
  [data-debug],
  .goals-stat-label[style*="position"],
  .goals-stat-label[style*="z-index"]{
    display: none !important;
    }

  /* Informações extras ocultas por padrão, mostradas no hover */
  .goals-stat-subtext,
  .goals-stat-note{
    font-size: .65rem;
    color: rgba(15,23,42,.6);
    font-weight: 500;
    line-height: 1.2;
        margin: 0;
    opacity: 0;
    max-height: 0;
        overflow: hidden;
    transition: opacity 0.2s ease, max-height 0.2s ease, margin 0.2s ease;
        }

  .goals-stat-note{ 
    font-style: italic;
    font-size: .6rem;
        }

  /* Mostrar informações extras no hover */
  .goals-stat-card:hover .goals-stat-subtext,
  .goals-stat-card:hover .goals-stat-note{
    opacity: 1;
    max-height: 40px;
    margin-top: 3px;
        }

  /* Ajustar gap do content no hover para acomodar informações extras */
  .goals-stat-card:hover .goals-stat-content{
    gap: 3px;
    }

  /* ----------------------------- */
  /* Operations / Units layout     */
  /* ----------------------------- */
  .operations-grid{
    margin-top: 0;
    display: flex;
        flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    }

  /* Operation block */
  .period-section{
    border-radius: 20px;
    background: var(--surface-4);
    border: 1px solid rgba(255,255,255,.12);
    padding: 1.5rem;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
    width: 100%;
    box-sizing: border-box;
    }

  .period-header{
    display:flex;
    align-items:center;
        justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 12px;
    }

  .period-header-bg-goals{
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.12) 0%, rgba(79, 70, 229, 0.08) 100%);
    border-radius: 12px;
    border: 1px solid #725a0c;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  }
  
  .period-title{
    display:flex;
    align-items:center;
    gap: 10px;
        margin: 0;
    font-weight: 900;
    letter-spacing: -0.01em;
    color: #ffffff;
        font-size: 1.1rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

  .period-title i{
    color: #875806;
    opacity: 1;
    font-size: 1.15rem;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
        }

  .period-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: .4rem .85rem;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, #875806 0%, #875806 100%);
    border: 1px solid #725a0c;
    color: #ffffff;
    font-weight: 900;
    font-size: .8rem;
    box-shadow: 0 2px 6px rgba(99, 102, 241, 0.25);
    }

  /* Units grid inside operation */
  .units-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 18px;
    margin-top: 10px;
    }

  /* Unit block */
  .unit-section{
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.08) 0%, rgba(67, 56, 202, 0.12) 100%);
    border: 1px solid #725a0c;
    padding: 18px;
    min-width: 0;
    overflow-x: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
    }

  /* Stats dentro da unidade: 2 colunas que podem encolher (não corta) */
  .unit-section .goals-stats-overview{
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    box-sizing: border-box;
    align-items: stretch; /* garante altura consistente */
    }

  /* em telas menores vira 1 coluna */
  @media (max-width: 620px){
    .unit-section .goals-stats-overview{
      grid-template-columns: 1fr;
    }
  }
  
  .unit-section .period-header{
    padding: 12px 16px;
    margin-bottom: 10px;
        }
  
  .unit-section .period-header-bg-goals{
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(109, 40, 217, 0.12) 100%);
    border: 1px solid rgba(139, 92, 246, 0.25);
    border-radius: 10px;
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  }
  
  .unit-section .period-title{
    font-size: 1rem;
    color: #ffffff;
    font-weight: 900;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }
  
  .unit-section .period-title i{
    color: #875806;
    opacity: 1;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
  }
  
  .unit-section .period-count{
    background: linear-gradient(135deg, #875806 0%, #875806 100%);
    border: 1px solid rgba(139, 92, 246, 0.3);
    color: #ffffff;
    box-shadow: 0 2px 6px rgba(139, 92, 246, 0.25);
  }
  
  /* ----------------------------- */
  /* Unit content                  */
  /* ----------------------------- */
  .unit-content{
    margin-top: 12px;
        }

  /* ----------------------------- */
  /* Goal cards grid               */
  /* ----------------------------- */
  .goals-cards-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
  }
  
  @media (min-width: 1200px){
    .goals-cards-grid{
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
  }
  
  @media (min-width: 1600px){
    .goals-cards-grid{
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
        }

  /* Compat: se seu include usa ".goals-card", ".goal-card", cobre os dois */
  .goals-card,
  .goal-card{
    background: var(--surface-2);
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    display: flex;
    flex-direction: column;
        }

  .goals-card:hover,
  .goal-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0,0,0,.15);
  }

  /* =================================== */
  /* COMPACT CARD STYLES                 */
  /* =================================== */
  .goals-card-compact{
    background: var(--surface-1);
    border-radius: 10px;
    border: 1px solid rgba(15,23,42,.10);
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    position: relative;
    overflow: hidden;
  }

  .goals-card-compact:hover{
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,.12);
    border-color: rgba(197, 165, 114, 0.3);
  }

  /* Card Concluído */
  .goals-card-compact.concluded{
    border-color: rgba(16, 185, 129, 0.3);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.05), var(--surface-1));
  }

  .goals-card-compact.concluded:hover{
    border-color: rgba(16, 185, 129, 0.5);
  }

  /* Tag de Concluída */
  .goals-concluded-tag{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 8px;
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 4px;
    margin-bottom: 4px;
  }

  .goals-concluded-tag i{
    font-size: 0.5rem;
  }

  /* Card Falhado (meta não alcançada) */
  .goals-card-compact.failed{
    border-color: rgba(239, 68, 68, 0.3);
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.05), var(--surface-1));
  }

  .goals-card-compact.failed:hover{
    border-color: rgba(239, 68, 68, 0.5);
  }

  /* Tag de Não Alcançada */
  .goals-failed-tag{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 8px;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #fff;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 4px;
    margin-bottom: 4px;
  }

  .goals-failed-tag i{
    font-size: 0.5rem;
  }

  /* Header compacto */
  .goals-card-header-compact{
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .goals-header-row{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6px;
  }

  .goals-card-title-link{
    text-decoration: none;
    flex: 1;
    min-width: 0;
  }

  .goals-card-title-link:hover .goals-card-title-compact{
    color: #875806;
  }

  .goals-card-title-compact{
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.2s ease;
  }

  .goals-progress-percentage-compact{
    font-size: 0.75rem;
    font-weight: 800;
    color: #875806;
    flex-shrink: 0;
    font-family: var(--font-mono);
  }

  /* Metas negativas: cor invertida baseada no progresso */
  .goals-progress-percentage-compact.negative-goal{
    color: #10b981; /* Verde quando abaixo de 100% */
  }
  
  .goals-progress-percentage-compact.negative-goal.exceeded{
    color: #dc2626; /* Vermelho quando excede 100% */
  }

  .goals-progress-percentage-compact i{
    color: #f59e0b;
    font-size: 0.6rem;
  }

  /* Badges compactos */
  .goals-badges-compact{
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
  }

  .goals-badge-mini{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    font-size: 0.55rem;
  }

  .goals-badge-mini.daily{ background: #fef3c7; color: #d97706; }
  .goals-badge-mini.weekly{ background: #dbeafe; color: #2563eb; }
  .goals-badge-mini.monthly{ background: #e0e7ff; color: #4f46e5; }
  .goals-badge-mini.quarterly{ background: #fce7f3; color: #be185d; }
  .goals-badge-mini.annual{ background: #d1fae5; color: #059669; }

  .goals-badge-mini.status-active{ background: #d1fae5; color: #059669; }
  .goals-badge-mini.status-concluded{ background: #dbeafe; color: #2563eb; }
  .goals-badge-mini.status-inactive{ background: #f1f5f9; color: #64748b; }

  .goals-badge-mini.dept{ background: #f3e8ff; color: #7c3aed; }

  /* Progress bar compacta */
  .goals-progress-compact-bar{
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .goals-progress-bar-mini{
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    overflow: hidden;
  }

  .goals-progress-bar-mini .goals-progress-fill{
    height: 100%;
    border-radius: 2px;
  }

  .goals-values-compact{
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 0.6rem;
    font-weight: 600;
    color: #475569;
    font-family: var(--font-mono);
  }

  .goals-separator{
    color: #94a3b8;
  }

  /* Form de atualização compacto */
  .goals-update-compact{
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 4px;
    border-top: 1px dashed rgba(15,23,42,.08);
  }

  .goals-msg-compact{
    font-size: 0.6rem;
    padding: 3px 6px;
    border-radius: 4px;
    text-align: center;
  }

  .goals-msg-compact.success{ background: #d1fae5; color: #059669; }
  .goals-msg-compact.error{ background: #fee2e2; color: #dc2626; }

  .goals-form-compact{
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .goals-input-mini{
    flex: 1;
    min-width: 0;
    padding: 4px 6px;
    font-size: 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    color: #0f172a;
    font-family: var(--font-mono);
    font-weight: 600;
  }

  .goals-input-mini:focus{
    outline: none;
    border-color: #875806;
    box-shadow: 0 0 0 2px rgba(197, 165, 114, 0.2);
  }

  .goals-quick-btns{
    display: flex;
    gap: 2px;
  }

  .goals-btn-mini{
    padding: 3px 5px;
    font-size: 0.55rem;
    font-weight: 700;
    border: 1px solid #875806;
    background: #fff;
    color: #875806;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .goals-btn-mini:hover{
    background: #875806;
    color: #fff;
  }

  .goals-btn-mini:disabled{
    opacity: 0.5;
    cursor: not-allowed;
  }

  .goals-btn-save{
    padding: 4px 8px;
    font-size: 0.65rem;
    background: linear-gradient(135deg, #875806, #9d8359);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .goals-btn-save:hover{
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(135, 88, 6, 0.3);
  }

  .goals-btn-save:disabled{
    opacity: 0.6;
    cursor: wait;
  }

  /* Ações compactas */
  .goals-actions-compact{
    display: flex;
    justify-content: center;
    gap: 4px;
    padding-top: 4px;
    border-top: 1px solid rgba(15,23,42,.06);
  }

  .goals-action-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    font-size: 0.65rem;
    text-decoration: none;
    transition: all 0.15s ease;
  }

  .goals-action-btn.info{ background: #dbeafe; color: #2563eb; }
  .goals-action-btn.info:hover{ background: #2563eb; color: #fff; }

  .goals-action-btn.edit{ background: #fef3c7; color: #d97706; }
  .goals-action-btn.edit:hover{ background: #d97706; color: #fff; }

  .goals-action-btn.target{ background: #f3e8ff; color: #7c3aed; }
  .goals-action-btn.target:hover{ background: #7c3aed; color: #fff; }

  .goals-action-btn.conclude{ 
    background: #dcfce7; 
    color: #16a34a;
    border: none;
    cursor: pointer;
  }
  .goals-action-btn.conclude:hover{ background: #16a34a; color: #fff; }
  .goals-action-btn.conclude.loading{ 
    opacity: 0.7; 
    cursor: not-allowed; 
  }
  .goals-action-btn.conclude:disabled{ 
    opacity: 0.5; 
    cursor: not-allowed; 
  }

  /* =================================== */
  /* END COMPACT CARD STYLES             */
  /* =================================== */
  
  /* Card Header */
  .goals-card-header{
    padding: 10px 12px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(15,23,42,.08);
    flex-shrink: 0;
  }
  
  .goals-header-top{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
  }
  
  .goals-title-section{
    flex: 1;
    min-width: 0;
  }
  
  .goals-card-title{
    margin: 0 0 6px 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    letter-spacing: -0.01em;
        }

  .goals-badges{
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 4px;
        }

  .goals-progress-percentage{
    font-size: 1.1rem;
    font-weight: 800;
    color: #875806;
    text-align: right;
    flex-shrink: 0;
    white-space: nowrap;
    letter-spacing: -0.02em;
    line-height: 1;
        }

  .goals-progress-percentage.negative-goal{
    color: #dc2626;
  }
  
  .goals-header-bottom{
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(15,23,42,.08);
        }

  .goals-date-info-inline{
            display: flex;
    gap: 8px;
            flex-wrap: wrap;
    margin-bottom: 6px;
  }
  
  .goals-date-item{
    font-size: .7rem;
    color: #334155;
    display: flex;
            align-items: center;
    gap: 3px;
            font-weight: 600;
    line-height: 1.2;
        }

  .goals-date-item i{
    font-size: .65rem;
    color: #875806;
    opacity: 1;
        }

  .goals-card-description{
    font-size: .75rem;
    color: #334155;
    margin: 6px 0 0 0;
    line-height: 1.3;
    font-weight: 600;
  }
  
  /* Card Content */
  .goals-card-content{
    padding: 10px 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .goals-progress-section{
    margin: 0;
        }

  .goals-progress-compact{
            display: flex;
    flex-direction: column;
    gap: 6px;
            position: relative;
        }

  /* Banner for concluded goals */
  .goals-concluded-banner{
            display: flex;
            align-items: center;
            justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 8px;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
        }

  .goals-concluded-banner i{
    font-size: 0.9rem;
    color: #ffffff;
  }
  
  .goals-progress-bar{
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
            overflow: hidden;
        }

  .goals-progress-fill{
    height: 100%;
    background: linear-gradient(90deg, #875806 0%, #875806 100%);
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    width: 0%;
    min-width: 0%;
    max-width: 100%;
        }

  .goals-progress-fill.exceeded{
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  }
  
  /* Metas negativas: cores invertidas */
  /* Abaixo de 100% = BOM (verde) - ficou dentro do limite */
  .goals-progress-fill.negative-goal{
    background: linear-gradient(90deg, #10b981 0%, #059669 100%);
        }

  /* Acima de 100% = RUIM (vermelho) - excedeu o limite */
  .goals-progress-fill.negative-goal.exceeded{
    background: linear-gradient(90deg, #dc2626 0%, #b91c1c 100%);
        }

  .goals-values-display{
            display: flex;
            justify-content: space-between;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.2;
  }
  
  .goals-values-display span:first-child{
    color: #0f172a;
    font-weight: 800;
        }

  .goals-values-display span:last-child{
    color: #1e293b;
            font-weight: 700;
  }
  
  /* Progress Update Form */
  .goals-progress-update{
    margin: 0;
    padding: 8px;
    border-radius: 10px;
    background: rgba(15,23,42,.04);
    border: 1px dashed rgba(15,23,42,.12);
        }

  /* Disabled state for concluded goals */
  .goals-progress-update-disabled{
    opacity: 0.7;
    background: rgba(15,23,42,.02);
    border: 1px dashed rgba(15,23,42,.08);
    pointer-events: none;
  }
  
  .goals-progress-update-disabled .goals-input-group-compact{
    opacity: 0.8;
  }
  
  .goals-input-group-compact{
            display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
        }

  .goals-input-compact{
    flex: 1;
    min-width: 100px;
    padding: 6px 8px;
    font-size: .8rem;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
            background: #ffffff;
    color: #0f172a;
    font-weight: 600;
    font-family: var(--font-mono);
        }

  .goals-input-compact:focus{
    outline: none;
    border-color: #875806;
    box-shadow: 0 0 0 2px #b8941f
        }

  .goals-input-disabled,
  .goals-input-compact:disabled,
  .goals-input-compact[readonly]{
    background-color: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
    border-color: #cbd5e1;
    opacity: 0.7;
        }

  .goals-input-disabled:focus,
  .goals-input-compact:disabled:focus,
  .goals-input-compact[readonly]:focus{
    border-color: #cbd5e1;
    box-shadow: none;
  }
  
  .goals-quick-add-compact{
    display: flex;
    gap: 3px;
        }

  .goals-btn-quick-add{
    padding: 5px 8px;
    font-size: .65rem;
    border: 1.5px solid #875806;
    background: #ffffff;
    border-radius: 5px;
    color: #875806;
    cursor: pointer;
            font-weight: 700;
    transition: all 0.2s ease;
    white-space: nowrap;
    line-height: 1.2;
        }

  .goals-btn-quick-add:hover{
    background: #875806;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px #725a0c;
  }
  
  .goals-btn-quick-add:disabled,
  .goals-btn-update:disabled{
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
    background: #e2e8f0;
    color: #94a3b8;
    border-color: #cbd5e1;
        }

  .goals-btn-quick-add:disabled:hover,
  .goals-btn-update:disabled:hover{
    transform: none;
    box-shadow: none;
        }

  .goals-btn-update{
    padding: 6px 10px;
    font-size: .75rem;
    border-radius: 6px;
            flex-shrink: 0;
    font-weight: 700;
        }

  .goals-btn-update i{
    font-size: .7rem;
  }
  
  .goals-btn-update.loading{
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
  }
  
  .goals-btn-update.loading i{
    animation: goals-spin 1s linear infinite;
  }
  
  @keyframes goals-spin{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
  }
  
  /* Card Actions */
  .goals-card-actions{
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid rgba(15,23,42,.08);
        }

  .goals-card-actions-compact{
    display: flex;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
        }

  .goals-btn-icon{
    width: 32px;
    height: 32px;
    padding: 0;
            display: flex;
            align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: .75rem;
    border: 1.5px solid #e2e8f0;
    background: #ffffff;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
        }

  .goals-btn-icon:hover{
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
        }
        
  .goals-btn-icon.goals-btn-info-goals{
    background: #875806;
    color: white;
    border-color: #875806;
        }

  .goals-btn-icon.goals-btn-info-goals:hover{
    background: #2563eb;
    border-color: #2563eb;
  }
  
  .goals-btn-icon.goals-btn-primary-goals{
    background: #875806;
    color: white;
    border-color: #875806;
        }

  .goals-btn-icon.goals-btn-primary-goals:hover{
    background: #875806;
    border-color: #875806;
  }
  
  .goals-btn-icon.goals-btn-success-goals{
    background: #10b981;
    color: white;
    border-color: #10b981;
  }
  
  .goals-btn-icon.goals-btn-success-goals:hover{
    background: #059669;
    border-color: #059669;
        }

  .goals-btn-icon.goals-btn-warning-goals{
    background: #875806;
    color: white;
    border-color: #875806;
        }

  .goals-btn-icon.goals-btn-warning-goals:hover{
    background: #d97706;
    border-color: #d97706;
        }

  .goals-btn-icon.goals-btn-danger-goals{
    background: #ef4444;
    color: white;
    border-color: #ef4444;
  }
  
  .goals-btn-icon.goals-btn-danger-goals:hover{
    background: #dc2626;
    border-color: #dc2626;
        }

  /* ----------------------------- */
  /* Badges (period/status)        */
  /* ----------------------------- */
  .goals-period-badge,
  .goals-status-badge{
    display:inline-flex;
    align-items:center;
    gap: .25rem;
    padding: .2rem .5rem;
    border-radius: var(--radius-full);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid transparent;
    line-height: 1.2;
        }

  /* Department Badge */
  .goals-department-badge{
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .2rem .5rem;
    border-radius: var(--radius-full);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: rgba(139, 92, 246, 0.15);
    color: #875806;
    border: 1.5px solid rgba(139, 92, 246, 0.3);
    line-height: 1.2;
        }

  .goals-department-badge i{
    font-size: .6rem;
    color: #875806;
        }

  .goals-period-badge i,
  .goals-status-badge i{
    font-size: .6rem;
  }
  
  /* period */
  .goals-period-badge.daily{ 
    background: rgba(245, 158, 11, 0.15); 
    color: #d97706; 
    border-color: rgba(245, 158, 11, 0.3); 
  }
  .goals-period-badge.weekly{ 
    background: rgba(59, 130, 246, 0.15); 
    color: #2563eb; 
    border-color: rgba(59, 130, 246, 0.3); 
        }
  .goals-period-badge.monthly{ 
    background: rgba(99, 102, 241, 0.15); 
    color: #875806; 
    border-color: #725a0c; 
        }
  .goals-period-badge.quarterly{ 
    background: rgba(244, 114, 182, 0.15); 
    color: #be185d; 
    border-color: rgba(244, 114, 182, 0.3); 
        }
  .goals-period-badge.annual{ 
    background: rgba(16, 185, 129, 0.15); 
    color: #059669; 
    border-color: rgba(16, 185, 129, 0.3); 
  }
  
  /* status */
  .goals-status-badge.active{ 
    background: rgba(16, 185, 129, 0.15); 
    color: #059669; 
    border-color: rgba(16, 185, 129, 0.3); 
  }
  .goals-status-badge.completed{ 
    background: rgba(59, 130, 246, 0.15); 
    color: #2563eb; 
    border-color: rgba(59, 130, 246, 0.3); 
        }
  .goals-status-badge.inactive{ 
    background: rgba(148, 163, 184, 0.15); 
    color: #475569; 
    border-color: rgba(148, 163, 184, 0.3); 
        }

  .goals-period-badge i,
  .goals-status-badge i{
    opacity: 1;
  }
  
  .goals-period-badge.daily i{ color: #d97706; }
  .goals-period-badge.weekly i{ color: #2563eb; }
  .goals-period-badge.monthly i{ color: #875806; }
  .goals-period-badge.quarterly i{ color: #be185d; }
  .goals-period-badge.annual i{ color: #059669; }

  .goals-status-badge.active i{ color: #059669; }
  .goals-status-badge.completed i{ color: #2563eb; }
  .goals-status-badge.inactive i{ color: #475569; }
  
  /* ----------------------------- */
  /* Progress section (inside card) */
  /* ----------------------------- */
  .goals-progress-section{
    margin: 14px 0;
    padding: 12px;
    border-radius: 16px;
    background: rgba(15,23,42,.06);
    border: 1px solid rgba(15,23,42,.08);
        }

  .goals-progress-header{
    display:flex;
    align-items:center;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  
  .goals-progress-label{
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(15,23,42,.78);
        }

  .goals-progress-percentage{
    font-size: 1.1rem;
    font-weight: 950;
    color: var(--color-primary);
    font-family: var(--font-mono);
  }
  
  .goals-progress-bar{
    width: 100%;
    height: 14px;
    border-radius: var(--radius-full);
    overflow: hidden;
    background: rgba(15,23,42,.10);
    box-shadow: inset 0 2px 3px rgba(0,0,0,.08);
        }

  .goals-progress-fill{
    height: 100%;
    width: 0%;
    min-width: 0%;
    max-width: 100%;
    background: var(--gradient-primary);
    border-radius: var(--radius-full);
    transition: width var(--transition-base);
        }

  .goals-progress-fill.exceeded{ background: var(--gradient-success); }
  
  .goals-progress-fill.negative-goal{ background: linear-gradient(90deg, #dc3545, #e74c3c); }
  .goals-progress-fill.negative-goal.exceeded{ background: linear-gradient(90deg, #28a745, #20c997); }
  .goals-progress-percentage.negative-goal{ color: #dc3545 !important; }
  
  .goals-values-display{
    display:flex;
    justify-content: space-between;
    align-items:center;
    font-size: .85rem;
    margin-top: 10px;
        }

  .goals-values-display span:first-child{
    font-family: var(--font-mono);
    font-weight: 900;
    color: rgba(15,23,42,.86);
        }

  .goals-values-display span:last-child{
    font-weight: 700;
    color: rgba(15,23,42,.60);
        }

  .goals-progress-text{
    margin-top: 10px;
    padding: .45rem .65rem;
    border-radius: 12px;
    background: rgba(15,23,42,.06);
    border: 1px solid rgba(15,23,42,.08);
    font-size: .82rem;
    color: rgba(15,23,42,.66);
    font-weight: 700;
    text-align: center;
        }

  /* ----------------------------- */
  /* Progress update (input + quick add) */
  /* ----------------------------- */
  .goals-progress-update{
    margin-top: 12px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(15,23,42,.05);
    border: 1px solid rgba(15,23,42,.08);
        }

  .goals-input-group{
    display:flex;
    align-items:flex-start;
    gap: 10px;
        }

  .goals-input-wrapper{ flex: 1; }
  
  .goals-input{
    width: 100%;
    padding: .65rem .8rem;
    border-radius: 12px;
    border: 1px solid rgba(15,23,42,.14);
    background: rgba(255,255,255,.95);
    font-family: var(--font-mono);
    font-weight: 900;
    font-size: .9rem;
    color: rgba(15,23,42,.92);
    transition: box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
        }

  .goals-input:focus{
    outline: none;
    border-color: rgba(99,102,241,.55);
    box-shadow: 0 0 0 4px rgba(99,102,241,.14);
    transform: scale(1.01);
  }
  
  .goals-quick-add{
    display:flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
  }
  
  .goals-btn-quick-add{
    padding: .35rem .6rem;
    border-radius: 10px;
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(15,23,42,.06);
    color: rgba(15,23,42,.75);
    font-weight: 950;
    font-size: .70rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
            }

  .goals-btn-quick-add:hover{
    background: var(--color-primary);
    color: #fff;
    transform: translateY(-2px);
  }
  
  /* ----------------------------- */
  /* Card actions (buttons row)    */
  /* ----------------------------- */
  .goals-card-actions{
    margin-top: 12px;
    display:flex;
                flex-direction: column;
    gap: 8px;
            }

  .goals-card-actions-row{
    display:flex;
                flex-wrap: wrap;
    gap: 8px;
            }

  .goals-card-actions .goals-btn{
    padding: .55rem .75rem;
    font-size: .72rem;
    border-radius: 10px;
    box-shadow: 0 10px 18px rgba(0,0,0,.14);
            }

  /* ----------------------------- */
  /* Messages                      */
  /* ----------------------------- */
  .goals-message-container{
    margin-top: 10px;
    min-height: 24px;
            }

  .goals-message{
    padding: .7rem .85rem;
    border-radius: 14px;
    font-size: .82rem;
    font-weight: 700;
    display:flex;
    align-items:center;
    gap: .55rem;
    animation: goals-slide-in .22s ease-out;
    line-height: 1.4;
  }
  
  @keyframes goals-slide-in{
    from{ opacity: 0; transform: translateY(-10px); }
    to{ opacity: 1; transform: translateY(0); }
  }
  
  .goals-message i{
    font-size: .9rem;
    flex-shrink: 0;
  }
  
  .goals-message.success{
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
    border: 1px solid rgba(16, 185, 129, 0.3);
  }
  
  .goals-message.success i{
    color: #10b981;
  }

  .goals-message.error{
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, 0.3);
  }
  
  .goals-message.error i{
    color: #ef4444;
  }
  
  /* ----------------------------- */
  /* Empty state                   */
  /* ----------------------------- */
  .goals-empty-state{
    margin-top: var(--space-2xl);
    border-radius: 22px;
    padding: 28px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    text-align: center;
    color: rgba(255,255,255,.82);
            }

  .goals-empty-state-icon{
    font-size: 3rem;
    opacity: .75;
    margin-bottom: 10px;
            }

  .goals-empty-state-title{
    font-size: 1.25rem;
    font-weight: 950;
    margin-bottom: 6px;
            }

  .goals-empty-state-description{
    font-size: .95rem;
    opacity: .9;
            }

  /* ----------------------------- */
  /* Floating Action Button        */
  /* ----------------------------- */
  .goals-fab{
    position: fixed;
    bottom: 22px;
    right: 22px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--gradient-primary);
    color: #fff;
    border: 0;
    box-shadow: var(--shadow-lg);
    cursor: pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size: 1.6rem;
    z-index: var(--z-fixed);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
            }

  .goals-fab:hover{ transform: scale(1.06); box-shadow: var(--shadow-xl); }
  .goals-fab:active{ transform: scale(.98); }

  /* ----------------------------- */
  /* Scrollbar                     */
  /* ----------------------------- */
  .goals-main::-webkit-scrollbar{ width: 8px; }
  .goals-main::-webkit-scrollbar-track{ background: rgba(255,255,255,.08); border-radius: var(--radius-full); }
  .goals-main::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.22); border-radius: var(--radius-full); }
  .goals-main::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.30); }
  
  /* ----------------------------- */
  /* Accessibility / Motion        */
  /* ----------------------------- */
  .goals-btn:focus-visible,
  #goalsFilterForm .form-select:focus-visible,
  #goalsFilterForm .form-control:focus-visible,
  .goals-input:focus-visible{
    outline: 3px solid rgba(255,255,255,.70);
            outline-offset: 2px;
        }

  @media (prefers-reduced-motion: reduce){
    *{
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }
    .goals-card:hover,
    .goal-card:hover,
    .goals-stat-card:hover,
    .goals-btn:hover{
      transform: none !important;
            }
        }

  /* ----------------------------- */
  /* Responsive                    */
  /* ----------------------------- */
  @media (max-width: 1200px){
    .units-grid{
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    }
  }
  
  @media (max-width: 992px){
    .goals-main{ padding: var(--space-lg); }
    .goals-header{ padding: var(--space-2xl) var(--space-lg); }
  }
  
  /* Loading and Empty States */
  .loading,
  .no-goals{
    text-align: center;
    padding: 3rem 1.5rem;
    color: rgba(255,255,255,.85);
    font-size: 1.1rem;
    font-weight: 500;
  }
  
  .loading{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }
  
  .loading::before{
    content: '';
    width: 24px;
    height: 24px;
    border: 3px solid rgba(197, 165, 114, 0.3);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
  }
  
  @keyframes spin{
    to{ transform: rotate(360deg); }
  }
  
  .no-goals p{
    margin: 0;
    opacity: 0.8;
  }
  
  @media (max-width: 768px){
    .goals-header{ 
      padding: var(--space-xl) var(--space-lg); 
      margin-bottom: 1rem;
    }
    
    .goals-header-content h1{
      font-size: clamp(1.5rem, 5vw, 2rem);
    }
    
    .goals-header-content p{ 
      font-size: 0.95rem; 
      margin-bottom: 1rem;
    }
  
    .goals-header-actions{
      flex-direction: column;
      width: 100%;
      gap: 0.5rem;
        }

    .goals-header-actions .goals-btn{
      width: 100%;
      max-width: 100%;
    }
  
    #goalsFilterForm,
    .goals-filters-form{
      padding: 1rem;
      margin-bottom: 1rem;
    }
  
    .goals-header-actions .d-flex{
      width: 100%;
      justify-content: center;
    }
  
    .units-grid{
      grid-template-columns: 1fr;
    }
  
    .goals-input-group{
      flex-direction: column;
    }
    
    .operations-grid{
      gap: 1rem;
    }
    
    .period-section{
      padding: 1rem;
    }
  }
  
  /* Responsive adjustments for stat cards - already handled above */
  
  /* ----------------------------- */
  /* Print                         */
  /* ----------------------------- */
  @media print{
    body{ background: #fff; }
    .goals-main{ color: #000; background: #fff; }
    .goals-header{ background: #fff; box-shadow: none; }
    .goals-header::before{ display:none; }
    #goalsFilterForm{ display:none; }
    .goals-btn, .goals-fab{ display:none !important; }
    .period-section, .unit-section{
      background: #fff;
      border: 1px solid #000;
      box-shadow: none;
    }
    .goals-stat-card,
    .goals-card,
    .goal-card{
      background: #fff;
      box-shadow: none;
      border: 1px solid #000;
      break-inside: avoid;
    }
  }
  
  /* ============================= */
  /* FIX: contraste dentro do card */
  /* ============================= */
  
  /* Define cores internas do card SEM depender do dark-mode tokens */
  .goals-card,
  .goals-card-goals,
  .goal-card{
    --card-text: #0f172a;
    --card-muted: rgba(15, 23, 42, .70);
    --card-soft: rgba(15, 23, 42, .55);
        }

  /* Header top layout melhor + evita "sumir" por overflow */
  .goals-header-top{
            display: flex;
    align-items: flex-start;
            justify-content: space-between;
    gap: 10px;
  }
  
  .goals-title-section{ 
    min-width: 0; 
    flex: 1;
        }

  .goals-card-title{
    color: var(--card-text) !important;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin: 0 0 6px !important;
    line-height: 1.2;
        }

  /* Percentual bem visível */
  .goals-progress-percentage{
    color: #875806 !important;
    font-weight: 950;
    font-family: var(--font-mono);
    font-size: 1.1rem !important;
    line-height: 1;
    white-space: nowrap;
        }

  .goals-progress-percentage.negative-goal{
    color: #dc2626 !important;
  }
  
  /* Badges: sempre com contraste */
  .goals-badges{
    display: flex;
    flex-wrap: wrap;
    gap: 4px !important;
    margin-top: 4px !important;
            }
  
  /* Badge base com contraste garantido (fallback quando não tem variante) */
  .goals-period-badge:not(.daily):not(.weekly):not(.monthly):not(.quarterly):not(.annual),
  .goals-status-badge:not(.active):not(.completed):not(.inactive){
    border: 1px solid rgba(15, 23, 42, .12);
    background: rgba(99, 102, 241, .12);
    color: #3730a3 !important;
    }
    
  .goals-period-badge i,
  .goals-status-badge i,
  .goals-department-badge i{
    color: currentColor !important;
    opacity: .95;
  }
  
  /* Variações mais bonitas e com contraste garantido */
  .goals-period-badge.monthly{ 
    background: #e0e7ff !important; 
    color: #3730a3 !important; 
    border-color: #c7d2fe !important; 
    }
  .goals-period-badge.weekly { 
    background: #cffafe !important; 
    color: #155e75 !important; 
    border-color: #a5f3fc !important; 
    }
  .goals-period-badge.daily  { 
    background: #fef3c7 !important; 
    color: #92400e !important; 
    border-color: #fde68a !important; 
    }
  .goals-period-badge.quarterly{ 
    background: #fce7f3 !important; 
    color: #9d174d !important; 
    border-color: #fbcfe8 !important; 
    }
  .goals-period-badge.annual { 
    background: #d1fae5 !important; 
    color: #065f46 !important; 
    border-color: #a7f3d0 !important; 
    }
    
  /* Status badges com contraste garantido */
  .goals-status-badge.active{ 
    background: #d1fae5 !important; 
    color: #065f46 !important; 
    border-color: #a7f3d0 !important; 
    }
  .goals-status-badge.completed{ 
    background: #cffafe !important; 
    color: #155e75 !important; 
    border-color: #a5f3fc !important; 
    }
  .goals-status-badge.inactive{ 
    background: rgba(148, 163, 184, .15) !important; 
    color: #475569 !important; 
    border-color: rgba(148, 163, 184, .3) !important; 
    }
    
  /* Department badge (um pouco diferente) */
  .goals-department-badge{
    background: rgba(139, 92, 246, .12) !important;
    color: #5b21b6 !important;
    border-color: rgba(139, 92, 246, .22) !important;
  }
  
  .goals-department-badge i{
    color: #875806 !important;
        }
        
  /* Textos do card com cores explícitas */
  .goals-card-description{
    color: var(--card-muted) !important;
        }
        
  .goals-date-item{
    color: var(--card-muted) !important;
  }
  
  .goals-date-item i{
    color: #875806 !important;
    opacity: 1;
    }

  /* Regras adicionais com maior especificidade para sobrescrever .goals-main */
  .goals-main #concludeGoalModal .modal-content,
  .goals-main #concludeGoalModal .modal-body,
  .goals-main #concludeGoalModal .modal-header,
  .goals-main #concludeGoalModal .modal-footer {
    color: #0f172a !important;
  }
  
  .goals-main #concludeGoalModal .modal-body p,
  .goals-main #concludeGoalModal .modal-body strong,
  .goals-main #concludeGoalModal .modal-body label,
  .goals-main #concludeGoalModal .modal-body .form-label,
  .goals-main #concludeGoalModal .modal-body .card-title,
  .goals-main #concludeGoalModal .modal-body .card-text {
    color: #0f172a !important;
  }
  
  .goals-main #concludeGoalModal .modal-title {
    color: #0f172a !important;
  }
  
  .goals-main #concludeGoalModal .form-control,
  .goals-main #concludeGoalModal textarea {
    color: #0f172a !important;
    background-color: #ffffff !important;
  }
  
  /* Exceções para elementos que devem manter texto branco */
  .goals-main #concludeGoalModal .text-white,
  .goals-main #concludeGoalModal .bg-primary.text-white,
  .goals-main #concludeGoalModal .input-group-text.bg-primary {
    color: #ffffff !important;
  }
