/* Homologação visual Odin. Camada de apresentação; sem regras de negócio ou alterações de dados. */
:root {
  --surface-base:#EEF2F8;--surface-card:#fff;--surface-card-hover:#F5F7FB;
  --border-subtle:#D8E2EF;--border-strong:#B8C6D8;--sidebar:#06101C;
  --text-strong:#0B1D3A;--text-muted:#6F829E;--text-faint:#788BA7;
  --info:#22365C;--info-bg:rgba(34,54,92,.10);--champ:#6F829E;--champ-bg:rgba(111,130,158,.12);--warning:#8a601c;
  --ricci-navy:#0B1D3A;--ricci-deep:#22365C;--ricci-steel:#6F829E;--ricci-ice:#D8E2EF;--ricci-champ:#D4B981;
  --bg:var(--surface-base);--panel:var(--surface-card);--panel2:var(--surface-card-hover);
  --line:var(--border-subtle);--txt:var(--text-strong);--muted:var(--text-muted);--accent:var(--info);
  --sidebar-w:240px;--card-radius:17px;--card-pad:24px;--card-gap:18px;
  --shadow-sm:none;--shadow-md:0 10px 32px #1118270d;
}
:root[data-theme="dark"] {
  --surface-base:#060F1C;--surface-card:#0D1B2E;--surface-card-hover:#122238;
  --border-subtle:#1E3050;--border-strong:#354C6E;--sidebar:#060F1C;
  --text-strong:#E2EBF6;--text-muted:#9BB0CE;--text-faint:#8099BE;
  --info:#A5BEDF;--info-bg:rgba(111,130,158,.16);--champ:#A5BEDF;--champ-bg:rgba(111,130,158,.16);
  --ricci-navy:#0B1D3A;--ricci-deep:#22365C;--ricci-steel:#6F829E;--ricci-ice:#D8E2EF;--ricci-champ:#D4B981;
  --success:#8fc5a8;--success-bg:rgba(143,197,168,.14);--success-bd:rgba(143,197,168,.25);
  --danger:#e3a3a3;--danger-bg:rgba(227,163,163,.14);--danger-bd:rgba(227,163,163,.25);
  --warning:#dabb80;--warning-bg:rgba(218,187,128,.14);
  --bg:var(--surface-base);--panel:var(--surface-card);--panel2:var(--surface-card-hover);
  --line:var(--border-subtle);--txt:var(--text-strong);--muted:var(--text-muted);--accent:var(--info);
  --shadow-sm:none;--shadow-md:0 12px 38px #0003;
}
body {font-family:'DM Sans',system-ui,sans-serif;font-size:13.5px;line-height:1.6;background:var(--bg);color:var(--txt)}
h1,h2,h3,h4,.kpi .v,.kpi-value {font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.035em}
.sidebar, [data-theme="dark"] .sidebar {background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 0 14px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.sidebar {--panel:#0D1B2E;--panel2:#122238;--line:#1E3050;--txt:#E2EBF6;--muted:#9BB0CE;--text-faint:#8099BE;--accent:#A5BEDF;--info-bg:rgba(111,130,158,.16);color:var(--txt)}
html:not(.app-move) .sidebar .brand {border:0;margin:0 0 18px;padding:0 23px}
html:not(.app-move) .sidebar .brand__logo {width:134px;max-width:134px;height:47px;max-height:47px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}
html[data-theme="dark"]:not(.app-move) .sidebar .brand__logo {filter:brightness(0) invert(1)}
.sidebar .brand small {font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:7px}
.odin-context {margin:0 14px 20px;border:1px solid var(--line);background:var(--panel2);border-radius:13px;position:relative;flex:none}
.odin-context>summary {list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px;font-weight:600;min-height:58px;color:var(--txt)}
.odin-context>summary::-webkit-details-marker {display:none}
.odin-context>summary:before {content:'G';font:700 12px Manrope,sans-serif;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--accent);background:var(--info-bg)}
.odin-context>summary:after {content:'⌄';margin-left:auto;color:var(--muted)}
.odin-context .context-nav {display:flex;flex-direction:column;padding:4px 6px 8px;position:static;border:0;background:none;gap:2px}
.odin-context .context-nav[hidden] {display:none}
.odin-context .context-nav a,.odin-context .context-nav>span {justify-content:flex-start;text-align:left;min-height:38px;font-size:12px;padding:8px 12px;border-radius:8px;box-shadow:none}
.odin-context .context-nav a.active {background:var(--info-bg);color:var(--accent);box-shadow:none}
.sidebar .nav {flex:1;padding:0 4px 16px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.nav .nav-contexto {padding:0 19px 9px;font-size:10px;letter-spacing:.12em;color:var(--text-faint)}
.nav a,.nav .nav-area-head,.nav .nav-emp-btn {border:0;color:var(--muted);font-size:12.5px;font-weight:500;min-height:39px;padding:9px 12px;margin:2px 8px;border-radius:11px;background:transparent;box-shadow:none;transform:none}
.nav a:hover,.nav .nav-area-head:hover,.nav .nav-emp-btn:hover {background:var(--panel2);color:var(--txt)}
.nav a.active,.nav .nav-inicio.active {background:var(--line);color:var(--txt);font-weight:700;border:0}
.nav .nav-area-head[aria-expanded="true"] {color:var(--txt)}
.nav-area-head .nav-ic,.nav-inicio>span:first-child,.nav-direto>span:first-child {filter:grayscale(1)}
.nav .nav-area-body {padding-left:5px;border-left:1px solid var(--line);margin-left:22px}
.nav-area .nav-group,.nav .nav-nota {color:var(--text-faint);font-size:9px;letter-spacing:.10em;padding:13px 14px 4px}
.nav-area--admin {border-color:var(--line);margin-top:14px;padding-top:8px}
.sidebar .side-user {order:10;margin:6px 14px 0;padding:14px 4px 2px;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;text-align:left;flex:none}
.side-user .av {width:32px;height:32px;border-radius:50%;font-size:11px;box-shadow:none;margin:0;grid-row:1/3;background:var(--panel2);border:1px solid var(--line);color:var(--txt)}
.side-user .nm {font-size:11px;color:var(--txt);line-height:1.4}.side-user .rl {color:var(--muted);font-size:10px;margin:0}
.side-user .socials {grid-column:1/-1;justify-content:flex-start;margin:10px 0 0 40px;gap:8px}.side-user .socials a {color:var(--muted);background:var(--panel2);width:25px;height:25px}
.appbar {height:64px;min-height:64px;top:0!important;padding:0 30px;background:var(--panel);border-color:var(--line);gap:18px}
.odin-crumb {display:flex;align-items:center;gap:10px;font-size:11px;white-space:nowrap;color:var(--muted);margin-right:auto}.odin-crumb strong {font-weight:600;color:var(--txt)}
.odin-preview {display:inline-flex;gap:7px;align-items:center;font-size:9px;font-weight:600;letter-spacing:.04em;padding:5px 9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);white-space:nowrap}
.odin-preview:before {content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}
.appbar .appbar__search {flex:0 1 290px;max-width:290px;min-width:120px;height:34px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:0 11px}
.appbar__search input {font-size:11px}.appbar__search input:focus {box-shadow:none}.appbar__right {gap:10px}
.appbar__icon {border-radius:9px;width:32px;height:32px;font-size:13px;background:var(--panel2)}
.appbar__user .av {background:var(--panel2);color:var(--txt);border:1px solid var(--line);width:30px;height:30px;font-size:10px}
.appbar__user .u-txt {display:none}.appbar__user {padding:2px}
.subnav {background:var(--bg);border-color:var(--line);font-size:12px;padding:12px 32px;gap:6px}
.subnav:empty {display:none}.subnav .subnav-title {color:var(--muted);font-size:10px;letter-spacing:.06em}
.content {max-width:1450px;margin:0 auto;padding:36px 50px 64px}
.content .topbar {background:none;border:0;margin:0 0 26px;padding:0;gap:20px}
.topbar h1 {font-size:28px;line-height:1.25;font-weight:750;letter-spacing:-.045em;color:var(--txt);margin-bottom:8px}
.topbar .sub {font-size:12px;line-height:1.7;max-width:74ch;color:var(--muted)}
.card,.kpi,.panel {border-radius:var(--card-radius);box-shadow:none;border-color:var(--line);background:var(--panel)}
.card {padding:24px}.card-head {border-color:var(--line)}
.ini-grade {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.ini-area {padding:25px;min-height:230px}.ini-area h2 {font-size:16px;letter-spacing:-.025em;margin-bottom:22px;color:var(--txt)}
.ini-grupo {font-size:9px;font-weight:600;letter-spacing:.12em;margin:22px 0 8px;color:var(--text-faint)}
.ini-item {border-color:var(--line)}.ini-item a {font-size:12px;min-height:43px;line-height:1.5;color:var(--muted);gap:10px}
.ini-item a:hover {text-decoration:none;color:var(--accent)}.ini-item a>span:first-child {filter:grayscale(1);opacity:.8}
.ini-fav {color:var(--text-faint);font-size:16px;min-width:30px;min-height:34px;padding:5px}.ini-fav.on {color:var(--accent)}
.ini-favoritos {position:relative;min-height:200px;margin-bottom:25px;padding:32px 34px;overflow:hidden;background:linear-gradient(105deg,var(--panel),var(--panel2));border:1px solid var(--line)}
.ini-favoritos h2 {font:700 24px Manrope,sans-serif;letter-spacing:-.035em;margin:15px 0 12px;color:var(--txt)}
.ini-favoritos>p {font-size:13px;max-width:62%;margin:0;color:var(--muted)}
.ini-favoritos:after {content:'';pointer-events:none;position:absolute;right:30px;top:-44px;width:270px;height:270px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 30px #6f829e05,0 0 0 60px #6f829e04;background:radial-gradient(ellipse at 60% 50%,#6f829e18,transparent 60%)}
.ini-lista--fav {position:relative;z-index:1;max-width:80%}.ini-lista--fav .ini-item {border-color:var(--line)}
.btn,button,select,input,textarea {font-family:inherit}.btn {border-radius:9px;font-weight:500;min-height:36px;font-size:12px;padding:8px 14px;box-shadow:none}
.btn.primary {background:#22365C;border-color:#22365C;color:#fff;font-weight:650}.btn.primary:hover {background:#2E4875;border-color:#2E4875;filter:none}
input,select,textarea {background:var(--panel2);border-color:var(--line);border-radius:9px;color:var(--txt);font-size:12px}
input:focus,select:focus,textarea:focus {border-color:var(--accent);box-shadow:0 0 0 3px var(--info-bg)}
table {font-size:12px}thead th,[data-theme="dark"] thead th {background:var(--panel2);color:var(--muted);font-size:10px;letter-spacing:.06em;border-color:var(--line)}
tbody td {border-color:var(--line);padding-top:13px;padding-bottom:13px}tbody tr:hover {background:var(--panel2)}
.kpis {grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px}
.kpi,.kpi.hero {padding:20px;grid-column:auto;min-height:142px;transform:none;box-shadow:none}
.kpi:hover {transform:none;box-shadow:none}
.kpi .val,.kpi.hero .val {font-family:Manrope,sans-serif;font-size:clamp(20px,1.6vw,28px);letter-spacing:-.04em;white-space:nowrap;overflow-wrap:normal;word-break:normal;padding-right:0}
.kpi .lbl {padding-right:0;line-height:1.5;margin-bottom:12px;font-size:9px;letter-spacing:.06em}
.kpi:has(.kpi__icon) .lbl {padding-right:35px}.kpi__icon {width:27px;height:27px;font-size:13px}
.kpi .sub {font-size:10px;margin-top:10px}
.me-hero {background:var(--panel);color:var(--txt);border:1px solid var(--line)}.me-hero p,.me-version small {color:var(--muted)}
.me-kpis article {border-top-color:var(--accent)}.me-result strong {color:var(--accent)}
.note,[data-theme="dark"] .note {background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}
.mfechados,[data-theme="dark"] .mfechados {background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:12px}
.mfechados .mf-tag {color:var(--accent);font-size:11px}.mfechados .mf-nums {font-size:12px}.mfechados .sub {font-size:11px}
.modal,.modal-box,.modal-card {background:var(--panel);border-color:var(--line);border-radius:17px;box-shadow:var(--shadow-md)}
.app>.sidebar-collapse,[data-theme="dark"] .app>.sidebar-collapse {width:26px;height:26px;border-radius:8px;left:calc(var(--sidebar-w) - 37px);bottom:84px;background:var(--panel2);border:1px solid var(--line);box-shadow:none;color:var(--muted)}
.app.sidebar-collapsed>.sidebar-collapse {left:12px;bottom:16px}.app.sidebar-collapsed .sidebar {padding:0}
body>footer {left:var(--sidebar-w)!important;right:0!important;bottom:0!important;background:var(--bg);padding:9px!important;font-size:9px!important;opacity:1!important;color:var(--text-faint)!important;border-top:1px solid var(--line)}
body:has(.sidebar-collapsed)>footer {left:0!important}
.login-wrap {background:var(--bg)}.login-card {border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-md)}
@media(min-width:1600px) {.content {padding-top:44px;padding-left:68px;padding-right:68px}.topbar h1 {font-size:36px}}
@media(max-width:1190px) {.content {padding:28px 28px 60px}.ini-grade {grid-template-columns:repeat(2,minmax(0,1fr))}.odin-preview {display:none}.appbar {padding:0 24px}}
@media(max-width:850px) {.odin-crumb {display:none}.appbar .appbar__search {flex:1;max-width:none}.ini-grade {grid-template-columns:1fr}}
@media(max-width:48rem) {
  .sidebar {padding-top:70px}.appbar {padding-left:64px;gap:10px;height:62px;min-height:62px}.appbar .appbar__search {min-width:0}.appbar__right {gap:5px}
  .content {padding:26px 16px 70px}.topbar h1 {font-size:25px}.ini-favoritos {min-height:175px;padding:23px}.ini-favoritos h2 {font-size:21px}.ini-favoritos:after {right:-130px}.ini-favoritos>p {max-width:80%}.ini-lista--fav {max-width:100%}
  .ini-area,.card {padding:20px}.ini-grade {gap:14px}.subnav {padding:10px 16px}.menu-toggle {background:var(--panel2);border-color:var(--line);width:35px;height:35px;font-size:18px}
  body>footer {left:0!important}.side-user .socials {margin-left:0}.side-user {margin-bottom:15px!important}
}
/* A Torre de Relacionamento conserva seu painel claro também no tema escuro. */
[data-theme="dark"] .rel-agf .rel-tabela th {background:#eef3f8;color:#20334a}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
