/* Autor: Henrique Viana Garcia Alves */

:root {
  --background-color: #f0f0f5;
  --surface-color: #ffffff;
  --primary-color: #34cb79;
  --primary-dark: #176f42;
  --title-color: #322153;
  --text-color: #5f5f6e;
  --border-color: #d9d9e2;
  --danger-color: #b42318;
  --success-color: #147a42;
  --shadow: 0 18px 48px rgba(50, 33, 83, 0.12);
}

* { box-sizing: border-box; }
html { font-family: "Roboto", sans-serif; color-scheme: light; }
body { margin: 0; min-height: 100vh; background: var(--background-color); color: var(--text-color); -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: 0.7; }
h1, h2, h3, h4 { margin-top: 0; color: var(--title-color); font-family: "Ubuntu", sans-serif; }
p { line-height: 1.6; }

:focus-visible { outline: 3px solid #1b7f4b; outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 12px 16px; border-radius: 6px; background: var(--title-color); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.page-header { display: flex; align-items: center; justify-content: space-between; max-width: 1100px; width: 90%; margin: 0 auto; padding: 40px 0 24px; }
.brand { display: inline-flex; align-items: center; }
.back-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--title-color); font-weight: 700; }
.back-link span { width: 20px; height: 24px; background: url("../assets/arrow-left.svg") center/contain no-repeat; }
.eyebrow { margin: 0 0 10px; color: var(--primary-dark); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.primary-link, .secondary-link, .new-search, .empty-state a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 8px; font-weight: 700; }
.primary-link, .empty-state a { background: var(--primary-color); color: #102e20; }
.primary-link:hover, .empty-state a:hover { background: #2fb86e; }
.secondary-link, .new-search { border: 1px solid var(--border-color); background: white; color: var(--title-color); }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

