/* ============================================================
   EGEAC / Lisboa Cultura - osTicket Custom Theme v1.3
   Compativel com osTicket 1.17.6
   Seletores corrigidos com base nos ficheiros originais
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --ec-primary:    #1E1E2E;
  --ec-primary-lg: #2D2D45;
  --ec-accent:     #C4922A;
  --ec-accent-hov: #A87922;
  --ec-bg:         #F7F5F0;
  --ec-card:       #FFFFFF;
  --ec-bg2:        #EDEAE3;
  --ec-text:       #1E1E2E;
  --ec-muted:      #6B6878;
  --ec-border:     #D4D0C8;
  --ec-border2:    #EDEAE3;
  --ec-success:    #2E7D52;
  --ec-warning:    #B8860B;
  --ec-danger:     #C0392B;
  --ec-shadow:     0 2px 12px rgba(30,30,46,0.10);
  --ec-shadow-lg:  0 8px 32px rgba(30,30,46,0.14);
  --ec-radius:     8px;
  --ec-radius-lg:  14px;
  --font-d: 'Raleway', 'Segoe UI', sans-serif;
  --font-b: 'DM Sans', 'Segoe UI', sans-serif;
}

/* === BASE === */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--ec-bg) !important;
  color: var(--ec-text);
  font-family: var(--font-b) !important;
  font-size: 15px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ec-accent); }
a:hover { color: var(--ec-accent-hov); }
::selection { background: rgba(196,146,42,0.22); color: var(--ec-primary); }

/* === HEADER === */
#header, div#header {
  background: var(--ec-primary) !important;
  border-bottom: 3px solid var(--ec-accent) !important;
  box-shadow: var(--ec-shadow-lg) !important;
  padding: 0 !important;
  position: sticky; top: 0; z-index: 1000;
}
#header-container {
  max-width: 1180px; margin: 0 auto;
  padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between;
  min-height: 72px;
}
#logo {
  display: flex !important; align-items: center; gap: 14px;
  text-decoration: none !important;
}
#logo img { height: 40px !important; width: auto !important; }
.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-text .org-name {
  font-family: var(--font-d); font-size: 1.3rem; font-weight: 600;
  color: #FFF; display: block;
}
.logo-text .org-sub {
  font-size: 0.63rem; font-weight: 400;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase; letter-spacing: 0.12em; display: block;
}
#nav, #nav ul {
  display: flex !important; align-items: center;
  list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 2px;
}
#nav li a, #nav a {
  color: rgba(255,255,255,0.78) !important;
  font-size: 0.85rem !important; font-weight: 500 !important;
  padding: 7px 14px !important; border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}
#nav li a:hover, #nav a:hover, #nav li a.active, #nav a.active {
  background: rgba(255,255,255,0.12) !important; color: #FFF !important;
}
.header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.btn-login {
  background: var(--ec-accent) !important; color: #FFF !important;
  padding: 8px 20px !important; border-radius: 6px !important;
  font-size: 0.85rem !important; font-weight: 600 !important;
  text-decoration: none !important; border: none !important;
  transition: background 0.2s !important; white-space: nowrap;
}
.btn-login:hover { background: var(--ec-accent-hov) !important; color: #FFF !important; }

/* === HERO === */
.egeac-hero {
  background: linear-gradient(135deg, var(--ec-primary) 0%, var(--ec-primary-lg) 100%);
  padding: 56px 32px; text-align: center; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 35vh; 
}
.egeac-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 20% 50%, rgba(196,146,42,0.18) 0%, transparent 50%),
              radial-gradient(circle at 80% 20%, rgba(200,75,30,0.12) 0%, transparent 50%);
}
.egeac-hero-content { position: relative; z-index: 1; }
.egeac-hero h1 {
  font-family: var(--font-d) !important; font-size: 2.6rem !important;
  font-weight: 500 !important; color: #FFF !important;
  margin: 0 0 12px !important; letter-spacing: -0.01em;
}
.egeac-hero p {
  color: rgba(255,255,255,0.65) !important; font-size: 1rem;
  max-width: 520px; margin: 0 auto !important;
}

/* === CONTAINER PRINCIPAL === */
#main-content { display: block; }
#container, div#container {
  max-width: 1180px !important; margin: 0 auto !important;
  padding: 36px 32px !important;
  background: transparent !important;
}

/* === LANDING PAGE (seletor correto: underscore) === */
#landing_page {
  display: flex !important;
  flex-direction: row-reverse !important;
  gap: 28px !important;
  align-items: flex-start !important;
}

/* === SIDEBAR (coluna direita com botoes) === */
div.sidebar.pull-right, .sidebar {
  float: none !important;
  width: 260px !important;
  flex-shrink: 0 !important;
}

/* Container dos botoes de acao */
.front-page-button, div.front-page-button {
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}
.front-page-button p { margin: 0 0 12px !important; }
.front-page-button p:last-child { margin-bottom: 0 !important; }

/* Botao "Abrir Novo Pedido" - classe real: .blue.button */
a.blue.button,
a.button.blue {
  background: var(--ec-primary) !important;
  background-image: none !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--font-b) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
  text-decoration: none !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
a.blue.button:hover, a.button.blue:hover {
  background: var(--ec-primary-lg) !important;
  color: #FFF !important;
  box-shadow: 0 4px 14px rgba(30,30,46,0.28) !important;
  transform: translateY(-1px) !important;
}

/* Botao "Verificar Estado" - classe real: .green.button */
a.green.button,
a.button.green {
  background: var(--ec-accent) !important;
  background-image: none !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--font-b) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
  text-decoration: none !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  transition: background 0.2s, transform 0.15s !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
a.green.button:hover, a.button.green:hover {
  background: var(--ec-accent-hov) !important;
  color: #FFF !important;
  transform: translateY(-1px) !important;
}

/* Sidebar - secao de FAQs destaque */
.sidebar .content {
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow) !important;
  overflow: hidden !important;
}
.sidebar .content section { padding: 0 !important; }
.sidebar .content .header {
  background: var(--ec-primary) !important;
  color: #FFF !important;
  font-size: 0.72rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  padding: 12px 16px !important;
}
.sidebar .content div {
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--ec-border2) !important;
  font-size: 0.85rem !important;
}
.sidebar .content div:last-child { border-bottom: none !important; }
.sidebar .content div a { color: var(--ec-text) !important; font-weight: 500 !important; }
.sidebar .content div a:hover { color: var(--ec-accent) !important; }

/* === CONTEUDO PRINCIPAL (coluna esquerda) === */
div.main-content {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Caixa de pesquisa KB */
div.search-form {
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}
div.search-form input[type="text"].search {
  border: 1.5px solid var(--ec-border) !important;
  border-radius: 6px 0 0 6px !important;
  padding: 10px 16px !important;
  font-family: var(--font-b) !important;
  font-size: 0.9rem !important;
  width: calc(100% - 110px) !important;
}
div.search-form button.green.button {
  border-radius: 0 6px 6px 0 !important;
  width: 110px !important;
  display: inline-block !important;
  padding: 10px 16px !important;
}

/* Caixa de boas-vindas (.thread-body) */
div.thread-body {
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-left: 4px solid var(--ec-accent) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow) !important;
  padding: 28px 32px !important;
  margin-bottom: 20px !important;
}
div.thread-body h1 {
  font-family: var(--font-d) !important;
  font-size: 1.7rem !important; font-weight: 500 !important;
  color: var(--ec-primary) !important; margin-top: 0 !important;
}
div.thread-body p { color: var(--ec-text) !important; font-size: 0.9rem !important; line-height: 1.7; }

/* Categorias de FAQ destaque */
div.featured-category.front-page {
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow) !important;
  padding: 20px 24px !important;
  margin-bottom: 16px !important;
  transition: box-shadow 0.2s, border-color 0.2s !important;
}
div.featured-category.front-page:hover {
  border-color: var(--ec-accent) !important;
  box-shadow: var(--ec-shadow-lg) !important;
}
div.category-name {
  font-family: var(--font-b) !important; font-weight: 700 !important;
  font-size: 0.95rem !important; color: var(--ec-primary) !important;
  margin-bottom: 14px !important;
}
div.article-headline { padding: 8px 0 !important; border-bottom: 1px solid var(--ec-border2) !important; }
div.article-headline:last-child { border-bottom: none !important; }
div.article-title a { color: var(--ec-text) !important; font-size: 0.88rem !important; font-weight: 500 !important; }
div.article-title a:hover { color: var(--ec-accent) !important; }
div.article-teaser { color: var(--ec-muted) !important; font-size: 0.8rem !important; margin-top: 3px; }

/* === FORMULARIOS === */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="search"], textarea, select {
  border: 1.5px solid var(--ec-border) !important;
  border-radius: 6px !important;
  font-family: var(--font-b) !important;
  font-size: 0.875rem !important;
  color: var(--ec-text) !important;
  background: #FFF !important;
  padding: 10px 14px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  outline: none !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--ec-accent) !important;
  box-shadow: 0 0 0 3px rgba(196,146,42,0.14) !important;
}
label { font-size: 0.83rem !important; font-weight: 600 !important; color: var(--ec-primary) !important; display: block; margin-bottom: 5px; }
textarea { resize: vertical; min-height: 110px; }

/* Botoes gerais submit */
input[type="submit"], button[type="submit"], .button.btn {
  background: var(--ec-primary) !important; color: #FFF !important;
  font-family: var(--font-b) !important; border-radius: 6px !important;
  font-weight: 600 !important; font-size: 0.875rem !important;
  border: none !important; padding: 10px 22px !important;
  cursor: pointer !important; transition: all 0.2s !important;
  text-shadow: none !important;
}
input[type="submit"]:hover, button[type="submit"]:hover {
  background: var(--ec-primary-lg) !important;
  box-shadow: 0 4px 14px rgba(30,30,46,0.25) !important;
}

/* === LOGIN PAGE === */
#login-form, div.login-form, #account {
  max-width: 460px !important; margin: 40px auto !important;
  background: var(--ec-card) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  box-shadow: var(--ec-shadow-lg) !important;
  overflow: hidden !important; padding: 0 !important;
}
#login-form h1, #login-form h2, #account h1, #account h2 {
  background: var(--ec-primary) !important; color: #FFF !important;
  font-family: var(--font-d) !important; font-size: 1.5rem !important;
  font-weight: 500 !important; padding: 24px 28px !important; margin: 0 !important;
}
#login-form form, #account form { padding: 28px !important; }

/* Botao Microsoft SSO */
a[href*="oauth"], a[href*="microsoft"], a[href*="auth/ext"],
.oauth-login a, a.socialite, a[data-auth] {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 10px !important;
  background: #FFF !important; color: var(--ec-text) !important;
  border: 1.5px solid var(--ec-border) !important;
  border-radius: 6px !important; padding: 10px 22px !important;
  font-size: 0.875rem !important; font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  margin-top: 12px !important; width: 100% !important;
}
/* Excecao: botao no header nao tem margin-top nem width total */
#header a[href*="auth/ext"],
#header a[href*="oauth"],
#header .ms-login-btn {
  margin-top: 0 !important;
  width: auto !important;
}
a[href*="oauth"]:hover, a[href*="microsoft"]:hover {
  background: #F3F3F3 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.10) !important;
}

/* === TABELAS === */
table { width: 100%; border-collapse: collapse; }
table th {
  background: var(--ec-primary) !important; color: #FFF !important;
  font-family: var(--font-b) !important; font-size: 0.75rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; padding: 13px 18px !important; border: none !important;
}
table td {
  padding: 12px 18px !important; border-bottom: 1px solid var(--ec-border2) !important;
  font-size: 0.875rem; vertical-align: middle;
}
table tr:last-child td { border-bottom: none !important; }
table tbody tr:hover { background: rgba(196,146,42,0.05) !important; }

/* === ALERTAS === */
.alert, div.notice {
  border-radius: 6px !important; padding: 13px 18px !important;
  font-size: 0.875rem !important; border-left: 4px solid !important; margin-bottom: 16px !important;
}
.alert-success { background: #E8F5E9 !important; border-color: var(--ec-success) !important; color: #1B5E20 !important; }
.alert-danger  { background: #FDECEA !important; border-color: var(--ec-danger)  !important; color: #7B1919 !important; }
.alert-warning { background: #FFF8E1 !important; border-color: var(--ec-warning) !important; color: #7B5900 !important; }
.alert-info    { background: #E3F2FD !important; border-color: #1A5276 !important;  color: #0D3C61 !important; }

/* === BADGES === */
.badge, span.badge, .label {
  font-size: 0.68rem !important; font-weight: 700 !important;
  padding: 4px 10px !important; border-radius: 50px !important; border: none !important;
  text-transform: uppercase !important; letter-spacing: 0.04em !important;
}
.label-success, .badge-success { background: #E8F5E9 !important; color: #2E7D52 !important; }
.label-default, .badge-default { background: var(--ec-bg2) !important; color: var(--ec-muted) !important; }
.label-warning, .badge-warning { background: #FFF8E1 !important; color: var(--ec-warning) !important; }
.label-danger,  .badge-danger  { background: #FDECEA !important; color: var(--ec-danger) !important; }

/* === TITULOS === */
h1 { font-family: var(--font-d) !important; font-size: 2rem !important; font-weight: 500 !important; color: var(--ec-primary) !important; }
h2 { font-family: var(--font-d) !important; font-size: 1.5rem !important; color: var(--ec-primary) !important; }
h3, h4 { font-family: var(--font-b) !important; font-weight: 600 !important; color: var(--ec-primary) !important; }

/* === PAGINACAO === */
ul.pagination { display: flex !important; gap: 4px !important; list-style: none !important; padding: 0 !important; margin: 20px 0 !important; }
.pagination li a, .pagination li span {
  display: flex !important; align-items: center !important; justify-content: center !important;
  min-width: 34px !important; height: 34px !important;
  border: 1.5px solid var(--ec-border) !important; border-radius: 6px !important;
  color: var(--ec-text) !important; font-size: 0.84rem !important;
  text-decoration: none !important; background: #FFF !important; transition: all 0.2s !important;
}
.pagination li.active a, .pagination li.active span {
  background: var(--ec-primary) !important; border-color: var(--ec-primary) !important; color: #FFF !important;
}
.pagination li a:hover { background: var(--ec-bg2) !important; border-color: var(--ec-accent) !important; }

/* === FOOTER === */
#footer, footer#footer {
  background: var(--ec-primary) !important;
  border-top: 3px solid var(--ec-accent) !important;
  padding: 0 !important; margin-top: 60px;
}
.footer-accent-line { height: 3px; background: linear-gradient(90deg, #C4922A, #C84B1E); }
.footer-inner {
  max-width: 1180px; margin: 0 auto; padding: 40px 32px;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 48px;
}
.footer-brand .org-name { font-family: var(--font-d); font-size: 1.2rem; color: #FFF; }
.footer-brand .org-sub { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255,255,255,0.40); }
.footer-brand p { color: rgba(255,255,255,0.50); font-size: 0.82rem; margin: 12px 0 0; line-height: 1.6; }
.footer-col h4 { color: #FFF !important; font-size: 0.72rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; margin: 0 0 14px !important; }
.footer-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { color: rgba(255,255,255,0.55) !important; font-size: 0.82rem; }
.footer-col ul li a:hover { color: var(--ec-accent) !important; }
.footer-col .contact-info { color: rgba(255,255,255,0.40); font-size: 0.78rem; line-height: 1.7; margin-top: 10px; }
.footer-bottom {
  max-width: 1180px; margin: 0 auto; padding: 16px 32px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: space-between;
}
.footer-bottom p, .footer-bottom a { color: rgba(255,255,255,0.30) !important; font-size: 0.75rem; margin: 0; }
.footer-bottom a:hover { color: var(--ec-accent) !important; }

/* === RESPONSIVE === */
@media (max-width: 768px) {
  #landing_page { flex-direction: column !important; }
  div.sidebar.pull-right { width: 100% !important; }
  #header-container, #container, .footer-inner, .footer-bottom { padding-left: 16px !important; padding-right: 16px !important; }
  .footer-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .egeac-hero h1 { font-size: 1.9rem !important; }
}
@media (max-width: 520px) { #nav { display: none !important; } }

/* === NAV CORRECAO - usa #egeac-nav para evitar conflito com osTicket === */
#egeac-nav {
  display: flex !important; align-items: center !important;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  gap: 2px !important; background: transparent !important; border: none !important;
}
#egeac-nav li {
  background: transparent !important; border: none !important;
  padding: 0 !important; margin: 0 !important;
}
#egeac-nav li a {
  color: rgba(255,255,255,0.78) !important;
  font-family: var(--font-b) !important;
  font-size: 0.85rem !important; font-weight: 500 !important;
  padding: 7px 14px !important; border-radius: 6px !important;
  text-decoration: none !important; display: block !important;
  background: transparent !important;
  transition: background 0.2s, color 0.2s !important;
  border: none !important;
}
#egeac-nav li a:hover, #egeac-nav li a.active {
  background: rgba(255,255,255,0.12) !important;
  color: #FFF !important;
}

/* Esconder a nav original do osTicket se existir */
#nav { display: none !important; }

/* === REMOVER BOTOES CENTRAIS (pedido do cliente) === */
div.front-page-button,
.front-page-button {
  display: none !important;
}

/* Se sidebar ficar vazia, esconde-a tambem */
div.sidebar.pull-right:not(:has(.content section)) {
  display: none !important;
}

/* === REMOVER SOMBRA E BORDA DA CAIXA CENTRAL === */
div.thread-body {
  box-shadow: none !important;
  border: none !important;
  border-left: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Ajuste: com sidebar possivelmente vazia, conteudo ocupa largura total */
div.main-content {
  flex: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
}

/* === REMOVER SOMBRA CONTAINER PRINCIPAL (override theme.css) === */
#container,
div#container,
body #container,
html body #container {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  outline: none !important;
}

/* Remover sombra de todos os wrappers intermédios */
#landing_page,
div#landing_page,
.main-content,
div.main-content {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* Remover sombra da caixa de texto de boas-vindas */
div.thread-body,
.thread-body {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  padding-left: 0 !important;
}

/* Garantir que o fundo da pagina é a cor correta */
body { background: var(--ec-bg) !important; }

/* === BOTAO LOGIN MICROSOFT NO HEADER === */
.ms-login-btn {
  background: #FFFFFF !important;
  color: var(--ec-primary) !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  white-space: nowrap;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.ms-login-btn:hover {
  background: #F0F0F0 !important;
  color: var(--ec-primary) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
}
/* Icone Microsoft 4 quadrados coloridos via SVG inline */
.ms-login-btn::before {
  content: '';
  display: inline-block;
  width: 16px; height: 16px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Crect x='1' y='1' width='9' height='9' fill='%23f25022'/%3E%3Crect x='11' y='1' width='9' height='9' fill='%237fba00'/%3E%3Crect x='1' y='11' width='9' height='9' fill='%2300a4ef'/%3E%3Crect x='11' y='11' width='9' height='9' fill='%23ffb900'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.ms-icon { display: none !important; } /* esconder o span de fallback */

/* === DASHBOARD AUTENTICADO === */
.egeac-dashboard {
  width: 100% !important;
  max-width: 100% !important;
}

/* Secoes */
.egeac-section {
  margin-bottom: 40px;
}
.egeac-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ec-border);
}
.egeac-section-header h2 {
  font-family: var(--font-d) !important;
  font-size: 1.6rem !important; font-weight: 500 !important;
  color: var(--ec-primary) !important; margin: 0 !important;
}
.egeac-link-all {
  font-size: 0.85rem; font-weight: 600;
  color: var(--ec-accent) !important; text-decoration: none;
}
.egeac-link-all:hover { color: var(--ec-accent-hov) !important; text-decoration: underline; }

/* Grid de tickets */
.egeac-tickets-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

/* Cartao de ticket */
a.egeac-ticket-card {
  background: var(--ec-card);
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius-lg);
  padding: 20px;
  box-shadow: var(--ec-shadow);
  text-decoration: none !important;
  display: flex; flex-direction: column; gap: 10px;
  transition: box-shadow 0.2s, transform 0.15s, border-color 0.2s;
}
a.egeac-ticket-card:hover {
  box-shadow: var(--ec-shadow-lg);
  transform: translateY(-2px);
  border-color: var(--ec-accent);
}
.egeac-ticket-top {
  display: flex; align-items: center; justify-content: space-between;
}
.egeac-ticket-num {
  font-size: 0.78rem; font-weight: 700;
  color: var(--ec-muted); letter-spacing: 0.04em;
}
.egeac-ticket-subject {
  font-size: 0.92rem; font-weight: 600;
  color: var(--ec-primary); line-height: 1.4;
  
}
.egeac-ticket-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 4px;
}
.egeac-ticket-dept {
  font-size: 0.75rem; background: var(--ec-bg2);
  color: var(--ec-muted); padding: 3px 9px; border-radius: 4px;
}
.egeac-ticket-date { font-size: 0.75rem; color: var(--ec-muted); }

/* Badges de estado */
.egeac-badge {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; padding: 3px 9px; border-radius: 50px;
}
.egeac-state-open     { background: #E8F5E9; color: #2E7D52; }
.egeac-state-closed   { background: #F0EEE9; color: #6B6878; }
.egeac-state-resolved { background: #E3F2FD; color: #1A5276; }
.egeac-state-archived { background: #F0EEE9; color: #6B6878; }

/* Estado vazio */
.egeac-empty-state {
  background: var(--ec-card); border: 1px dashed var(--ec-border);
  border-radius: var(--ec-radius-lg); padding: 40px 24px;
  text-align: center; color: var(--ec-muted);
}
.egeac-empty-icon { font-size: 2.4rem; margin-bottom: 12px; }
.egeac-empty-state p { margin: 0 0 6px; font-size: 0.95rem; }

/* === FORMULARIO NOVO PEDIDO === */
.egeac-new-ticket-card {
  background: var(--ec-card);
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  padding: 32px;
}
.egeac-quick-form .egeac-form-intro {
  color: var(--ec-muted); font-size: 0.88rem;
  margin: 0 0 24px; line-height: 1.6;
}
.egeac-form-row {
  display: grid; grid-template-columns: 1fr 280px; gap: 16px;
  margin-bottom: 16px;
}
.egeac-form-group { display: flex; flex-direction: column; gap: 6px; }
.egeac-form-group label {
  font-size: 0.82rem !important; font-weight: 600 !important;
  color: var(--ec-primary) !important;
}
.egeac-form-group input,
.egeac-form-group select,
.egeac-form-group textarea {
  border: 1.5px solid var(--ec-border) !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: var(--font-b) !important;
  font-size: 0.875rem !important;
  color: var(--ec-text) !important;
  background: #FFF !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
}
.egeac-form-group input:focus,
.egeac-form-group select:focus,
.egeac-form-group textarea:focus {
  border-color: var(--ec-accent) !important;
  box-shadow: 0 0 0 3px rgba(196,146,42,0.14) !important;
  outline: none !important;
}
.egeac-form-group textarea { resize: vertical; min-height: 110px; }
.egeac-form-actions { margin-top: 20px; }
.egeac-btn-submit {
  background: var(--ec-primary) !important;
  color: #FFF !important; border: none !important;
  border-radius: 8px !important; padding: 12px 28px !important;
  font-family: var(--font-b) !important; font-size: 0.9rem !important;
  font-weight: 600 !important; cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
}
.egeac-btn-submit:hover {
  background: var(--ec-primary-lg) !important;
  box-shadow: 0 4px 16px rgba(30,30,46,0.28) !important;
  transform: translateY(-1px) !important;
}

/* Responsive dashboard */
@media (max-width: 768px) {
  .egeac-form-row { grid-template-columns: 1fr !important; }
  .egeac-tickets-grid { grid-template-columns: 1fr !important; }
}

/* === TABELA DE PEDIDOS RECENTES (dashboard) === */
.egeac-table-card {
  background: var(--ec-card);
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow);
  overflow: hidden;
}
.egeac-table-header {
  background: var(--ec-primary);
  color: #FFF;
  padding: 14px 24px;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
}
.egeac-table-header .egeac-link-all {
  color: rgba(255,255,255,0.60) !important;
  font-size: 0.82rem; font-weight: 500;
}
.egeac-table-header .egeac-link-all:hover { color: var(--ec-accent) !important; }

table.egeac-table {
  width: 100%; border-collapse: collapse;
  background: var(--ec-card);
}
table.egeac-table thead tr {
  background: rgba(30,30,46,0.04) !important;
  border-bottom: 1px solid var(--ec-border) !important;
}
table.egeac-table th {
  background: transparent !important;
  color: var(--ec-muted) !important;
  font-family: var(--font-b) !important;
  font-size: 0.72rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.07em !important;
  padding: 12px 20px !important; border: none !important;
  text-align: left !important;
}
table.egeac-table td {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--ec-border2) !important;
  font-size: 0.875rem; vertical-align: middle;
  border-top: none !important;
}
table.egeac-table tbody tr:last-child td { border-bottom: none !important; }
table.egeac-table tbody tr:hover { background: rgba(196,146,42,0.04) !important; }

/* Numero do pedido */
a.egeac-ticket-num {
  font-weight: 700 !important; color: var(--ec-primary) !important;
  font-size: 0.9rem; text-decoration: none !important;
}
a.egeac-ticket-num:hover { color: var(--ec-accent) !important; }

/* Assunto */
.egeac-td-subject { font-weight: 500; color: var(--ec-text); max-width: 340px; }

/* Departamento tag */
.egeac-dept-tag {
  background: var(--ec-bg2); color: var(--ec-muted);
  font-size: 0.72rem; font-weight: 600;
  padding: 4px 10px; border-radius: 6px;
  white-space: nowrap;
}

/* Data */
.egeac-td-date { color: var(--ec-muted); font-size: 0.82rem; white-space: nowrap; }

/* Badges de estado */
.egeac-badge {
  font-size: 0.68rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  padding: 4px 10px !important; border-radius: 50px !important;
  display: inline-block !important; white-space: nowrap;
}
.egeac-state-open     { background: #E8F5E9 !important; color: #2E7D52 !important; }
.egeac-state-closed   { background: #F0EEE9 !important; color: #6B6878 !important; }
.egeac-state-resolved { background: #E3F2FD !important; color: #1A5276 !important; }
.egeac-state-archived { background: #F0EEE9 !important; color: #6B6878 !important; }

/* Prioridade */
.egeac-priority { font-size: 0.82rem; font-weight: 600; white-space: nowrap; }
.prio-dot { margin-right: 3px; }
.prio-high   .prio-dot, .prio-high   { color: var(--ec-danger) !important; }
.prio-normal .prio-dot, .prio-normal { color: var(--ec-muted) !important; }
.prio-low    .prio-dot, .prio-low    { color: var(--ec-success) !important; }

/* Estado vazio */
.egeac-empty-state {
  padding: 48px 24px; text-align: center; color: var(--ec-muted);
}
.egeac-empty-icon { font-size: 2.2rem; margin-bottom: 12px; }
.egeac-empty-state p { margin: 0 0 6px; font-size: 0.95rem; }

/* Responsive tabela */
@media (max-width: 768px) {
  table.egeac-table th:nth-child(3),
  table.egeac-table td:nth-child(3),
  table.egeac-table th:nth-child(5),
  table.egeac-table td:nth-child(5) { display: none !important; }
}

/* === PAGINA OPEN.PHP — NOVO PEDIDO === */

/* Container do formulario */
#open-form, div#open-form,
form#open-form, .open-form {
  max-width: 780px !important;
  margin: 0 auto !important;
}

/* Titulo da pagina */
#container h1, #container h2,
h1.page-title {
  font-family: var(--font-d) !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  color: var(--ec-primary) !important;
  margin-bottom: 8px !important;
}

/* Subtitulo / intro */
#container > p, .open-intro {
  color: var(--ec-muted) !important;
  font-size: 0.9rem !important;
  margin-bottom: 28px !important;
}

/* Caixa de info do utilizador (email/nome pre-preenchido) */
table.ticket-info, .user-info-table,
table.list.ticket-info {
  background: var(--ec-bg2) !important;
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius) !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}
table.ticket-info td,
.user-info-table td {
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--ec-border) !important;
  font-size: 0.875rem !important;
}
table.ticket-info tr:last-child td { border-bottom: none !important; }
table.ticket-info td:first-child {
  color: var(--ec-muted) !important;
  font-weight: 600 !important;
  width: 80px;
}

/* Secoes / fieldsets */
fieldset, .form-section {
  border: 1px solid var(--ec-border) !important;
  border-radius: var(--ec-radius-lg) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  background: var(--ec-card) !important;
}
fieldset legend, .form-section-title {
  font-family: var(--font-b) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--ec-muted) !important;
  padding: 0 8px !important;
}

/* Linha horizontal separadora */
hr { border-color: var(--ec-border) !important; margin: 20px 0 !important; }

/* Botoes da pagina open */
.btn-primary, input[type="submit"].btn,
button.btn.btn-primary {
  background: var(--ec-primary) !important;
  color: #FFF !important;
  border-radius: 8px !important;
  padding: 11px 28px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  border: none !important;
  font-family: var(--font-b) !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
.btn-primary:hover { background: var(--ec-primary-lg) !important; }

.btn.btn-default, button.btn.btn-default,
a.btn.btn-default {
  background: var(--ec-bg2) !important;
  color: var(--ec-text) !important;
  border: 1.5px solid var(--ec-border) !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

/* Barra de botoes de acao */
.form-actions, .btn-group-actions,
p.centered.flush-right {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 24px !important;
}

/* Campo "Tópico de Ajuda" */
#topicId, select#topicId {
  max-width: 360px !important;
}

/* Estilo especial para campos obrigatorios */
.required label::after,
label.required::after {
  content: ' *';
  color: var(--ec-danger);
}

/* Mensagem de erro inline */
.error, span.error, .field-error {
  color: var(--ec-danger) !important;
  font-size: 0.8rem !important;
  margin-top: 4px !important;
  display: block;
}


/* === CAMPO OBRIGATORIO === */
.req { color: var(--ec-danger); margin-left: 2px; }

/* === CAMPO PRIORIDADE ESTREITO === */
[data-priority="1"] { max-width: 200px !important; }

/* === AREA DE UPLOAD === */
.egeac-upload-area {
  border: 2px dashed var(--ec-border);
  border-radius: var(--ec-radius);
  padding: 16px 20px;
  text-align: center;
  cursor: pointer;
  color: var(--ec-muted);
  font-size: 0.875rem;
  background: var(--ec-bg);
  transition: border-color 0.2s, background 0.2s;
  user-select: none;
}
.egeac-upload-area:hover {
  border-color: var(--ec-accent);
  background: rgba(196,146,42,0.04);
}

/* ════════════════════════════════════════════
   EGEAC open.php - Formulario Novo Pedido
   ════════════════════════════════════════════ */
.eo-wrap { max-width:820px; margin:0 auto; padding:0 0 60px; }
.eo-wrap h1 { font-family:'Cormorant Garamond',Georgia,serif; font-size:2rem; font-weight:600; color:var(--ec-dark); margin:0 0 6px; }
.eo-wrap > p { color:var(--ec-muted); font-size:.9rem; margin:0 0 28px; }
.eo-card { background:#fff; border-radius:14px; box-shadow:0 2px 16px rgba(30,30,46,.08); padding:36px 40px; }
.eo-error { background:#fdf0f0; border:1.5px solid #e8c0c0; border-radius:10px; padding:14px 18px; margin-bottom:22px; color:#c0392b; font-size:.88rem; }
.eo-row2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.eo-field { margin-bottom:18px; }
.eo-field label, .eo-label { display:block; font-size:.82rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--ec-dark); margin-bottom:6px; font-family:'DM Sans',sans-serif; }
.eo-field input[type="text"],.eo-field input[type="email"],.eo-field select,.eo-topic-sel { width:100%; padding:11px 14px; border:1.5px solid var(--ec-border); border-radius:8px; font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--ec-dark); background:var(--ec-bg); box-sizing:border-box; transition:border-color .18s; }
.eo-field input:focus,.eo-field select:focus,.eo-topic-sel:focus { outline:none; border-color:var(--ec-accent); }
.eo-readonly { background:var(--ec-bg2,#f0ede8) !important; color:var(--ec-muted) !important; cursor:not-allowed !important; }
.eo-divider { border:none; border-top:1px solid var(--ec-border); margin:22px 0; }
.eo-actions { display:flex; align-items:center; gap:14px; margin-top:28px; }
.eo-btn-primary { background:var(--ec-dark); color:#fff; border:none; border-radius:8px; padding:13px 32px; font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:600; cursor:pointer; }
.eo-btn-primary:hover { background:#2d2d42; }
.eo-btn-sec { background:transparent; border:1.5px solid var(--ec-border); border-radius:8px; padding:12px 22px; font-family:'DM Sans',sans-serif; font-size:.88rem; color:var(--ec-muted); cursor:pointer; }
.eo-btn-sec:hover { border-color:var(--ec-accent); color:var(--ec-accent); }

/* ── Dynamic form fields ── */
#dynamic-form table,
.eo-card table { display:block !important; width:100% !important; border:none !important; }
#dynamic-form tbody,
.eo-card tbody { display:block !important; }
#dynamic-form tr,
.eo-card #dynamic-form tr { display:block !important; margin-bottom:18px !important; }
#dynamic-form td,
.eo-card #dynamic-form td { display:block !important; padding:0 !important; border:none !important; }
#dynamic-form td.required { display:none !important; }

#dynamic-form label,
#dynamic-form .form-field > label {
    display:block !important; font-size:.82rem !important; font-weight:600 !important;
    letter-spacing:.04em !important; text-transform:uppercase !important;
    color:var(--ec-dark) !important; margin-bottom:6px !important;
    font-family:'DM Sans',sans-serif !important;
}
#dynamic-form input[type="text"],
#dynamic-form input[type="email"],
#dynamic-form input[type="tel"],
#dynamic-form input[type="number"],
#dynamic-form input[type="date"],
#dynamic-form select,
#dynamic-form textarea {
    width:100% !important; padding:11px 14px !important;
    border:1.5px solid var(--ec-border) !important; border-radius:8px !important;
    font-family:'DM Sans',sans-serif !important; font-size:.9rem !important;
    color:var(--ec-dark) !important; background:var(--ec-bg) !important;
    box-sizing:border-box !important; transition:border-color .18s !important; margin:0 !important;
}
#dynamic-form input:focus,#dynamic-form select:focus,#dynamic-form textarea:focus {
    outline:none !important; border-color:var(--ec-accent) !important;
}
#dynamic-form textarea { min-height:140px !important; resize:vertical !important; }
#dynamic-form .error, #dynamic-form font.error { color:#c0392b !important; font-size:.8rem !important; margin-top:4px !important; display:block !important; }
#dynamic-form hr { display:block !important; border:none !important; border-top:1px solid var(--ec-border) !important; margin:20px 0 !important; }
#dynamic-form .form-header { margin-bottom:12px !important; }
#dynamic-form .form-header b, #dynamic-form .form-header strong { font-size:.75rem !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--ec-accent) !important; }
#dynamic-form .redactor-box { border-radius:8px !important; border-color:var(--ec-border) !important; }
#dynamic-form em, #dynamic-form .hint { color:var(--ec-muted) !important; font-size:.78rem !important; font-style:normal !important; display:block !important; margin-top:3px !important; }

/* Ficheiros upload area */
#dynamic-form .file-drop { border:2px dashed var(--ec-border) !important; border-radius:8px !important; padding:16px !important; text-align:center !important; color:var(--ec-muted) !important; font-size:.85rem !important; }
#dynamic-form .file-drop a { color:var(--ec-accent) !important; }

/* ════════════════════════════════════════════
   PERFIL DO UTILIZADOR - Microsoft Graph
   ════════════════════════════════════════════ */
.egeac-user-profile {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(30,30,46,.07);
    margin-bottom: 28px;
    overflow: hidden;
    /* sem padding extra - o body tem o seu proprio */
}
.egeac-user-profile > .egeac-user-profile-body:only-child {
    padding: 16px 24px;
}
.egeac-user-profile-header {
    background: var(--ec-dark);
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.egeac-user-profile-header span {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
}
.egeac-user-profile-body {
    padding: 16px 24px;
    display: grid;
    grid-template-columns: 1fr 1.2fr 1.8fr;
    gap: 16px;
    align-items: start;
}
@media (max-width: 768px) {
    .egeac-user-profile-body {
        grid-template-columns: repeat(2, 1fr);
    }
}
.egeac-user-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.egeac-user-field-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ec-muted);
}
.egeac-user-field-value {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ec-dark);
    font-family: 'DM Sans', sans-serif;
}
.egeac-user-field-value.accent { color: var(--ec-accent); }

/* Botão logout */
.btn-logout {
    background: transparent !important;
    border: 1.5px solid rgba(255,255,255,0.3) !important;
    color: rgba(255,255,255,0.85) !important;
}
.btn-logout:hover {
    border-color: var(--ec-accent) !important;
    color: var(--ec-accent) !important;
    background: transparent !important;
}

/* === ESPACAMENTO NAV - afastar menu do logo === */
#header-container nav {
    margin-left: 32px;
}

/* === HEADER - alinhar com largura do corpo === */
#header-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 32px;
    width: 100%;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px !important;
}

/* === HEADER - padding igual ao container EGEAC === */
#header {
    padding: 0 !important;
    width: 100% !important;
}

/* === CORRECAO ICONE PESQUISA TICKETS === */
.egeac-search-input {
    padding-left: 42px !important;
}

/* === CONTAINER VAZIO - vista nao autenticada === */
#landing_page #container {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
}

/* === MAIN CONTENT VAZIO - vista nao autenticada === */
#main-content:has(#container[style*="display:none"]) {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* === ELIMINAR ESPACO ABAIXO IMAGEM FUNDO === */
main[style*="display:none"] {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

/* === REMOVER FUNDO BODY TEMA ORIGINAL === */
body {
    background-image: none !important;
    background-color: var(--ec-bg) !important;
}

/* === EXCECAO FOOTER - link iniciar sessao === */
footer a[href*="oauth"] {
    display: revert !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.82rem !important;
    font-weight: 400 !important;
    justify-content: unset !important;
    gap: unset !important;
}
footer a[href*="oauth"]::before { display: none !important; }
footer a[href*="oauth"]:hover { background: transparent !important; box-shadow: none !important; color: var(--ec-accent) !important; }

/* === MENU MODELO D - icone com caixa colorida === */
#egeac-nav li a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.nav-icon-box {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
}
#egeac-nav li a i {
    color: rgba(255,255,255,.6) !important;
    font-size: 15px !important;
    padding: 0 !important;
}
#egeac-nav li a.active .nav-icon-box,
#egeac-nav li a:hover .nav-icon-box {
    background: #C4922A !important;
}
#egeac-nav li a.active i,
#egeac-nav li a:hover i {
    color: #fff !important;
}
#egeac-nav li a span {
    color: rgba(255,255,255,.78) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
#egeac-nav li a.active span {
    color: #fff !important;
}

/* === CORRECOES THREAD-ENTRY === */
#ticketThread::before {
  border-left: none !important;
}
.thread-entry .header {
  margin-right: 8px !important;
}
.thread-entry .thread-body {
  margin-right: 8px !important;
}

/* === EGEAC INFO CARD === */
.egeac-info-card {
  background: var(--ec-bg2);
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius);
  margin-bottom: 16px;
  overflow: hidden;
}
.egeac-info-card-header {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ec-muted);
  padding: 10px 16px;
  border-bottom: 1px solid var(--ec-border);
}
.egeac-info-card-body {
  padding: 4px 0;
}
.egeac-info-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--ec-border);
  font-size: 0.875rem;
}
.egeac-info-row:last-child {
  border-bottom: none;
}
.egeac-info-label {
  font-weight: 600 !important;
  color: var(--ec-muted) !important;
  width: 80px !important;
  min-width: unset !important;
  flex-shrink: 0 !important;
}

/* === CORRECAO FILEDROP === */
.filedrop .dropzone {
  position: relative !important;
  overflow: visible !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}
.filedrop .dropzone a.manual {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2 !important;
}

/* === CORRECAO FILEDROP FILES === */
.filedrop {
  display: flex !important;
  flex-direction: column !important;
}
.filedrop .files {
  order: 1 !important;
}
.filedrop .dropzone {
  order: 2 !important;
  overflow: visible !important;
  position: static !important;
  z-index: auto !important;
}


/* === FILEDROP FICHEIRO === */
.filedrop .files:not(:empty) {
  border-bottom: 1px solid rgba(0,0,0,0.2) !important;
  padding: 4px 5px 4px 5px !important;
}
.filedrop .files .file {
  margin: 0 !important;
  padding: 4px 10px 4px 20px !important;
  height: auto !important;
}

/* === RESPOSTAS DO STAFF === */
.thread-entry.response .header {
  margin-left: 8px !important;
  margin-right: 0 !important;
}
.thread-entry.response .thread-body {
  margin-left: 8px !important;
  margin-right: 0 !important;
}
.thread-entry.message .header {
  margin-left: 0 !important;
  margin-right: 8px !important;
}
.thread-entry.message .thread-body {
  margin-left: 0 !important;
  margin-right: 8px !important;
}


/* === HERO AUTOSIZE POR ALTURA === */
@media (max-height: 800px) { .egeac-hero { min-height: 35vh; } }
@media (max-height: 700px) { .egeac-hero { min-height: 25vh; } }
@media (max-height: 600px) { .egeac-hero { min-height: 15vh; } }
@media (max-height: 500px) { .egeac-hero { min-height: 5vh; } }

/* === ESCONDER FOOTER EM JANELAS BAIXAS (vista não autenticada) === */
@media (max-height: 700px) {
    #footer { display: none !important; }
}
