@font-face{font-family:Inter;src:url('fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Sora;src:url('fonts/sora-latin.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Sora;src:url('fonts/sora-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Identidade Orvyan — camada exclusivamente visual. */
:root {
  --bg: #f6f2ec;
  --surface: #f6f2ec;
  --text: #4b474b;
  --muted: #4b474b;
  --muted-soft: #625c62;
  --border: #d8d0c6;
  --accent: #675337;
  --accent-strong: #2a1f2d;
  --primary: #2a1f2d;
  --primary-hover: #403245;
  --alfa: #cdb38a;
  --alfa-bg: #f4ecdf;
  --header: #2a1f2d;
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 88% 8%, rgba(205, 179, 138, .10), transparent 28rem),
    var(--bg);
}

h1, h2, h3, legend, .stat-value {
  font-family: "Sora", "Inter", system-ui, sans-serif;
  letter-spacing: -.025em;
}

.topbar {
  min-height: 76px;
  padding: .72rem clamp(1rem, 3vw, 2.5rem);
  gap: clamp(.9rem, 2vw, 1.7rem);
  background: #2a1f2d;
  border-bottom: 1px solid rgba(205, 179, 138, .48);
  box-shadow: 0 8px 30px rgba(42, 31, 45, .12);
}

.topbar .brand { min-width: 210px; }
.brand-logo { width: 210px; height: 35px; object-fit: contain; object-position: left center; }

.topbar #main-nav { gap: clamp(.55rem, 1.4vw, 1.1rem); }
.topbar #main-nav a,
.topnav a,
.nav-dropdown-trigger {
  padding: .35rem 0;
  border-bottom: 1px solid transparent;
  font-size: .9rem;
  font-weight: 500;
}
.topbar #main-nav a:hover,
.topbar #main-nav a[aria-current="page"],
.topnav a:hover,
.nav-dropdown-trigger:hover {
  color: #cdb38a;
  border-bottom-color: #cdb38a;
  text-decoration: none;
}

.public-topbar .btn-ghost,
#logout-btn {
  border-color: rgba(205, 179, 138, .72);
  border-radius: 2px;
  color: #cdb38a;
}
.public-topbar .btn-ghost:hover,
#logout-btn:hover {
  background: #cdb38a;
  color: #2a1f2d;
  text-decoration: none;
}

.lang-switch strong { color: #cdb38a; }
.lang-switch > * + *::before { color: rgba(205, 179, 138, .7); }

main { max-width: 1120px; margin: clamp(1.5rem, 4vw, 3rem) auto; padding: 0 clamp(1rem, 3vw, 2rem); }
body[data-page="login"] main { max-width: 760px; }
body[data-page="validarrelatorio"] main { max-width: 900px; }
h1 { font-size: clamp(1.65rem, 3vw, 2.25rem); margin: 0 0 1.25rem; }
h2 { font-size: clamp(1.08rem, 2vw, 1.3rem); }

.card,
.stat-card {
  background: rgba(246, 242, 236, .94);
  border-color: var(--border);
  border-radius: 2px;
  box-shadow: 0 14px 36px rgba(42, 31, 45, .06);
}
.card { padding: clamp(1rem, 2.4vw, 1.5rem); margin-bottom: 1.15rem; }
.stub { border-left-color: var(--alfa); }

input[type=text], input[type=email], input[type=date], input[type=number],
input[type=search], input[type=password], input[type=file], select, textarea {
  border-color: #b1a79b;
  border-radius: 2px;
  background: #f6f2ec;
  color: var(--text);
  font-family: inherit;
}
input:focus, textarea:focus, select:focus {
  outline-color: rgba(205, 179, 138, .34);
  border-color: #675337;
}

button {
  border-radius: 2px;
  background: #cdb38a;
  color: #2a1f2d;
  font-family: inherit;
  font-weight: 650;
}
button:hover:not(:disabled) { background: #d8c4a4; }
button.danger { background: #b22525; color: #fff; }
button.link { color: var(--accent); }

.tabs { gap: .5rem; padding-bottom: .2rem; }
.tab {
  border: 1px solid var(--border);
  background: #f6f2ec;
  color: #4b474b;
}
.tab:hover:not(:disabled) { background: #d8d0c6; }
.tab.is-active { border-color: #2a1f2d; background: #2a1f2d; color: #f6f2ec; }

table { background: rgba(246, 242, 236, .72); }
th { color: #2a1f2d; }

.assistant-target { outline-color: #cdb38a; }
.assistant-bubble { border-color: #2a1f2d; border-radius: 4px; background: #f6f2ec; }
.assistant-bubble::after { border-color: #2a1f2d; background: #f6f2ec; }

.site-footer { max-width: 1120px; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--border); }
.public-footer { max-width: 900px; }
.site-footer a { color: #675337; }
.site-footer a:hover { color: #2a1f2d; }

@media (max-width: 920px) {
  .topbar { flex-wrap: wrap; }
  .topbar #main-nav { order: 3; flex-basis: 100%; }
  .public-topbar .topnav { order: 3; width: 100%; margin-left: 0; }
}

@media (max-width: 640px) {
  .topbar { min-height: 68px; padding: .6rem 1rem; }
  .topbar .brand { min-width: 170px; }
  .brand-logo { width: 170px; height: 29px; }
  .top-actions { gap: .55rem; }
  .topbar #main-nav,
  .public-topbar .topnav { gap: .5rem 1rem; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .15rem; }
  .topbar #main-nav a,
  .topnav a { flex: 0 0 auto; }
  .public-topbar .btn-ghost { margin-left: auto; }
  main { margin: 1.5rem auto; padding: 0 .9rem; }
  .actions { align-items: stretch; flex-wrap: wrap; }
  .actions button { max-width: 100%; }
  .footer-main { flex-direction: column; }
  .footer-main .muted { text-align: left; white-space: normal; }
  .screening-list-name-group { margin-left: .45rem; }
  .screening-linked-entity-group { margin-left: .45rem; }
  .screening-hit-name-group,
  .screening-process-group,
  .screening-hit-name-group > .screening-table-scroll { margin-left: .7rem; }
}

/* Identity surfaces; risk/status colours remain semantic. */
body{background:#f6f2ec}
.topbar{background:#2a1f2d;box-shadow:0 8px 30px rgba(42,31,45,.12)}
.brand-logo{filter:brightness(0) invert(.96) sepia(.12)}
.card,.stat-card{background:#f6f2ec;border-radius:16px}
button,input,select,textarea,.tab{border-radius:8px}
input[type=checkbox],input[type=radio]{accent-color:#2a1f2d}
.site-footer{max-width:none;margin-bottom:0;padding:28px max(1rem,calc((100% - 1056px)/2));background:#2a1f2d;color:#d8d0c6;border-top:1px solid #cdb38a40}
.site-footer a{color:#f6f2ec}.site-footer a:hover{color:#cdb38a}
.scope-option,.source-group-card{background:#f6f2ec;border-color:#d8d0c6}
.scope-option:hover,.source-group-card:hover,.source-group-card.is-selected,.scope-option.is-selected{background:#ebe5dd;border-color:#675337}
.scope-source-details{background:#ebe5dd;border-color:#d8d0c6}
.scope-source-details[open] summary{border-color:#d8d0c6}
.scope-option small,.source-group-card small,.source-group-card em,.scope-source-list li,.scope-source-list code,.source-groups-custom h3,.scope-source-details-content h4{color:#4b474b}
.screening-reuse-query button.secondary{background:#f6f2ec;border-color:#b1a79b;color:#2a1f2d}
.screening-reuse-query button.secondary:hover{background:#d8d0c6}
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #675337;outline-offset:3px}
