/* Identidade compartilhada com o CRM Nexiatum: ouro, bronze e preto. */
:root { --bg:#f7f3eb; --bg-elevated:#fff; --surface:#fff; --surface2:#f3ecdf; --border:#e2d5bb; --text:#241d13; --muted:#756852; --accent:#a16b17; --accent2:#84551c; --accent-glow:rgba(197,139,37,.16); --danger:#ba3543; --ok:#18784a; --warn:#94640c; --sidebar-w:196px; --shell-pad:10px; --app-header-h:80px; --shadow:0 14px 38px rgba(76,54,20,.12); font-family:"Segoe UI",Arial,sans-serif; color-scheme:light; }
:root[data-theme="dark"] { --bg:#0b0906; --bg-elevated:#17140f; --surface:#17140f; --surface2:#2c2519; --border:rgba(224,180,84,.22); --text:#f5ead4; --muted:#c2b08d; --accent:#e0b454; --accent2:#c58b25; color-scheme:dark; }
html { padding:var(--shell-pad); background:radial-gradient(circle at 50% -20%,#6b491b,transparent 38rem),#070706; height:100%; overflow:hidden; }
body { height:calc(100dvh - var(--shell-pad) * 2); max-height:calc(100dvh - var(--shell-pad) * 2); overflow:hidden; background:var(--bg); background-image:none; border:1px solid rgba(224,180,84,.26); border-radius:24px; box-shadow:0 24px 70px #0006; }
a:hover { color:var(--accent2); }
.layout { display:block; min-height:100%; height:100%; }
.sidebar { position:fixed; z-index:50; left:var(--shell-pad); top:var(--shell-pad); width:var(--sidebar-w); padding:0; gap:0; height:calc(100dvh - var(--shell-pad) * 2); max-height:calc(100dvh - var(--shell-pad) * 2); background:radial-gradient(circle at 12% 12%,rgba(197,139,37,.19),transparent 14rem),linear-gradient(180deg,#100f0c,#070706); border-right:1px solid #e0b4542b; border-radius:23px 0 0 23px; color:#f5ead4; overflow:hidden; display:flex; flex-direction:column; }
.nexiatum-brand { display:flex; align-items:center; justify-content:center; gap:8px; height:var(--app-header-h); min-height:var(--app-header-h); max-height:var(--app-header-h); padding:0 10px; box-sizing:border-box; flex-shrink:0; border-radius:0; background:radial-gradient(circle at 30% 10%,#c9973929,transparent 56%); box-shadow:none; border-bottom:1px solid #e0b45429; }
.nexiatum-brand img { width:34px; height:34px; object-fit:contain; filter:drop-shadow(0 4px 9px #cd972a47); }
.nexiatum-brand span { text-align:center; }
.nexiatum-brand b { font-family:Georgia,"Times New Roman",serif; font-size:13px; letter-spacing:.12em; color:#f1cd7a; }
.nexiatum-brand small { margin-top:2px; font-size:8px; font-weight:700; letter-spacing:.18em; color:#d8b766; }
.sidebar-toggle { display:flex; gap:0; align-items:center; justify-content:center; margin:8px 10px 2px; padding:7px; width:calc(100% - 20px); border:1px solid #e0b45429; border-radius:10px; background:#ffffff06; color:#d8c59f; font:inherit; cursor:pointer; }
.sidebar-toggle .nav-label { display:none; }
.nav-section { display:none; }
.nav { flex:1; min-height:0; padding:4px 8px 6px; gap:3px; overflow-y:auto; overflow-x:hidden; scrollbar-width:none; -ms-overflow-style:none; }
.nav::-webkit-scrollbar { display:none; width:0; height:0; }
.nav a { min-height:0; padding:7px 9px; border-radius:10px; color:#d8cdb8; font-size:11px; line-height:1.25; gap:8px; align-items:flex-start; }
.nav a .nav-label { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nav-icon { flex:0 0 16px; width:16px; height:16px; margin-top:1px; color:#d8b766; }
.nav a:hover { background:#c58b2520; border-color:#e0b45440; color:#fff; }
.nav a.active { background:linear-gradient(115deg,#c58b25,#84551c); border-color:#e0b45440; color:#fff; box-shadow:0 9px 24px #84551c38,inset 0 1px #ffffff33; }
.nav a.active .nav-icon { color:#fff; }
.user-pill { display:flex; gap:8px; align-items:center; padding:10px; margin-top:auto; border-color:#e0b45429; background:#0002; color:#d8cdb8; flex-shrink:0; }
.user-avatar { display:grid; place-items:center; flex:0 0 28px; height:28px; font-size:11px; border-radius:50%; background:linear-gradient(135deg,#f0cd78,#c58b25 52%,#84551c); color:#fff; font-weight:800; }
.user-details { min-width:0; }
.user-details strong { color:#f5ead4; display:block; overflow:hidden; text-overflow:ellipsis; }
.user-details small { display:block; font-size:10px; color:#b6a17c; }
.user-details a { color:#e0b454; font-size:12px; }
.app-shell { min-width:0; margin-left:var(--sidebar-w); height:100%; max-height:100%; display:flex; flex-direction:column; overflow:hidden; transition:margin-left .2s ease; }
.topbar { flex-shrink:0; height:var(--app-header-h); min-height:var(--app-header-h); max-height:var(--app-header-h); box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 30px; background:var(--surface); border-bottom:1px solid var(--border); border-radius:0 23px 0 0; }
.topbar-brand { display:flex; align-items:center; gap:10px; }
.topbar-brand img { width:38px; height:38px; object-fit:contain; }
.topbar-brand strong { font-size:12px; font-weight:500; letter-spacing:.08em; color:var(--accent); text-transform:uppercase; }
.header-actions { display:flex; align-items:center; gap:14px; }
.product-label { font-size:12px; color:var(--muted); }
.theme-toggle,.mobile-menu { padding:9px 12px; background:var(--surface2); color:var(--text); border:1px solid var(--border); border-radius:12px; cursor:pointer; font:inherit; }
.theme-toggle { display:flex; align-items:center; gap:7px; font-size:12px; }
.mobile-menu { display:none; }
.main { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:28px 30px 36px; min-width:0; -webkit-overflow-scrolling:touch; }
.btn { background:linear-gradient(115deg,#c58b25,#e0b454 55%,#84551c); color:#241d13; box-shadow:0 6px 16px #84551c22; }
.btn-secondary { background:var(--surface2); color:var(--text); border:1px solid var(--border); box-shadow:none; }
.btn-secondary:hover { color:var(--text)!important; }
.btn-danger { background:#a83240; color:#fff; }
.panel,.stat-card,.card,.person-card,.doc-card,.record-card,.col-photo-card { background:var(--surface); border-color:var(--border); box-shadow:var(--shadow); }
.stat-card { border-top:0; border-left:4px solid #c58b25; }
.stat-card .value { color:var(--text); }
.hero-module { background:linear-gradient(115deg,var(--surface),var(--surface2)); border-color:var(--border); }
.hero-module::before { background:none; }
input,textarea,select { background:var(--bg-elevated); color:var(--text); border-color:var(--border); font-family:inherit; }
table.data th { background:var(--surface2); color:var(--muted); }
table.data td { color:var(--text); }
table.data tbody tr:hover td { background:var(--surface2); }
.badge { background:var(--surface2); color:var(--text); }
.badge.ok { color:var(--ok); }
.badge.warn { color:var(--warn); }
.doc-icon { color:var(--ok); }
.alert,.form-error { color:var(--danger); background:#ba354310; border-color:#ba354350; }
.dashboard-columns { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
html:has(.login-page) { height:auto; overflow:auto; }
body:has(.login-page) { height:auto; max-height:none; overflow:auto; }
.login-page { min-height:calc(100vh - 22px); border-radius:23px; overflow:hidden; }
.login-brand { background:radial-gradient(circle at 30% 10%,#c9973929,transparent 56%),linear-gradient(145deg,#100f0c,#070706); }
.login-brand p { color:#c2b08d; }
.login-brand p strong { color:#f1cd7a; }
.login-wordmark { display:flex; align-items:center; gap:20px; margin-bottom:32px; }
.login-wordmark img { width:88px; height:88px; object-fit:contain; }
.login-wordmark h1 { font:30px Georgia,serif; letter-spacing:.15em; color:#f1cd7a; margin:0 0 8px; }
.login-wordmark small { color:#d8b766; letter-spacing:.3em; }
:focus-visible { outline:3px solid #c58b2580; outline-offset:3px; }
@media(min-width:961px) {
  body.sidebar-collapsed { --sidebar-w:64px; }
  .sidebar-collapsed .nav-label,.sidebar-collapsed .brand span,.sidebar-collapsed .nav-section,.sidebar-collapsed .user-details { display:none; }
  .sidebar-collapsed .nexiatum-brand { padding:0 8px; }
  .sidebar-collapsed .nav a,.sidebar-collapsed .sidebar-toggle { justify-content:center; padding:12px; }
  .sidebar-collapsed .user-pill { padding:18px 12px; justify-content:center; }
}
@media(max-width:1100px) { .topbar-brand strong { display:none; } }
@media(max-width:960px) {
  .app-shell { margin-left:0; }
  .sidebar { left:var(--shell-pad); width:min(240px,var(--sidebar-w)); transform:translateX(calc(-100% - 12px)); z-index:100; }
  .sidebar.open { transform:translateX(0); box-shadow:20px 0 60px #0008; }
  .mobile-menu { display:block; }
  .topbar { padding:0 18px; border-radius:23px 23px 0 0; }
  .main { padding:22px 18px; }
  .product-label { display:none; }
}
@media(max-width:640px) {
  :root { --shell-pad:5px; }
  .sidebar { height:calc(100dvh - var(--shell-pad) * 2); max-height:calc(100dvh - var(--shell-pad) * 2); }
  .dashboard-columns,.form-grid { grid-template-columns:minmax(0,1fr); }
  .login-brand { display:flex; padding:24px; }
  .login-brand>p { display:none; }
  .login-wordmark { margin:0; gap:12px; }
  .login-wordmark img { width:48px; height:48px; }
  .login-wordmark h1 { font-size:23px; }
  .login-form-side { padding:24px; }
}
.stat-card .value { background:none; -webkit-text-fill-color:var(--text); }
.card:hover { border-color:var(--accent); }
.sidebar > .nexiatum-brand,
.sidebar > .sidebar-toggle,
.sidebar > .user-pill { flex-shrink:0; }
/* Nome do módulo ao lado do símbolo Nexiatum. */
.topbar-brand .module-name { display:block; font-size:26px; font-weight:600; letter-spacing:.01em; text-transform:none; color:var(--accent); white-space:nowrap; }
@media(max-width:640px) { .topbar-brand .module-name { font-size:20px; } .topbar-brand { gap:8px; } }

/* Painel e indicadores */
.stat-link { display:block; text-decoration:none; color:var(--text); transition:border-color .15s,transform .15s; }
.stat-link:hover { border-color:var(--accent); transform:translateY(-2px); }
.stat-link:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.stat-link small { color:var(--muted); }
.indicator-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.indicator-filters label { display:grid; gap:6px; flex:1 1 160px; min-width:0; }
.indicator-filters input,.indicator-filters select { width:100%; min-height:42px; background:var(--bg); color:var(--text); border:1px solid var(--border); border-radius:8px; padding:9px; }
.indicator-charts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:20px; margin:20px 0; align-items:start; }
.indicator-bar { margin:14px 0; }
.indicator-bar>div { display:flex; justify-content:space-between; gap:12px; font-size:.85rem; }
.indicator-bar meter { width:100%; height:18px; accent-color:var(--accent); }
/* Dedicated analytics workspace */
.analytics-page{--chart-gold:#d5a23b;--chart-green:#36b39a;--chart-blue:#648de8;--chart-purple:#ab83d8;--chart-red:#e87d77;max-width:1600px;margin:auto}
.analytics-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.analytics-eyebrow,.chart-kicker{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--accent)}.analytics-heading h1{font-size:32px;letter-spacing:-.04em;margin:6px 0}.analytics-heading p,.chart-heading p{color:var(--muted);font-size:13px;margin:6px 0 0}.analytics-live{font-size:11px;color:var(--muted);white-space:nowrap;display:flex;gap:8px;align-items:center}.analytics-live i{width:7px;height:7px;background:#36b39a;border-radius:50%;box-shadow:0 0 0 4px #36b39a18}
.analytics-filter{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.analytics-filter label{display:grid;gap:7px;flex:1 1 145px;font-size:11px;color:var(--muted);min-width:0}.analytics-filter input,.analytics-filter select{width:100%;height:39px;border-radius:8px;padding:7px 10px;box-sizing:border-box;font-size:12px}.analytics-filter .btn{height:39px;font-size:12px}.analytics-clear{padding:10px 0;font-size:12px;color:var(--muted)}
.analytics-strip{display:flex;align-items:center;flex-wrap:wrap;gap:15px 32px;padding:22px 4px;font-size:12px;color:var(--muted)}.analytics-strip>span{display:flex;align-items:center;gap:8px}.analytics-strip b{color:var(--text);font-size:19px;font-weight:650}.dot-gold,.dot-green{width:7px;height:7px;border-radius:50%;background:var(--chart-gold)}.dot-green{background:var(--chart-green)}
.analytics-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:20px}.analytics-card{border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:24px;min-width:0;box-shadow:0 8px 28px #00000006;overflow:hidden}.chart-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:22px}.chart-heading h2{font-size:17px;font-weight:650;letter-spacing:-.02em;margin:6px 0}.chart-heading p{font-size:11px}.chart-pill{border:1px solid var(--border);border-radius:7px;padding:5px 10px;font-size:10px;color:var(--muted)}
.chart-canvas{height:300px}.chart-canvas svg,.chart-donut svg,.chart-gauge svg{display:block;width:100%;height:100%;overflow:visible}.chart-donut{height:210px;margin:0 auto 18px;max-width:290px}.chart-gauge{height:210px;max-width:350px;margin:20px auto}.chart-legend{display:grid;gap:10px;max-height:150px;overflow:auto;padding-right:5px}.chart-legend-row{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.chart-legend-row i{width:8px;height:8px;border-radius:3px;flex-shrink:0}.chart-legend-row span{flex:1}.chart-legend-row b{color:var(--text);font-size:12px}.chart-legend-row small{width:44px;text-align:right}
.chart-sector-list{max-height:330px;overflow:auto;padding:3px 10px 3px 0;display:grid;gap:20px}.sector-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px;color:var(--muted)}.sector-label strong{color:var(--text);white-space:nowrap}.sector-track{height:11px;border-radius:5px;background:var(--surface2);overflow:hidden}.sector-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#a16b17,#e9c775);transform-origin:left;animation:bar-enter .8s ease both}.sector-row:nth-child(3n+2) .sector-fill{background:linear-gradient(90deg,#368d8a,#6bd6c3)}.sector-row:nth-child(3n) .sector-fill{background:linear-gradient(90deg,#5676b5,#94b5f6)}
.performance-details{display:flex;justify-content:space-around;gap:10px;border-top:1px solid var(--border);padding-top:20px}.performance-details span{font-size:11px;color:var(--muted);text-align:center}.performance-details strong{display:block;font-size:22px;font-weight:600;color:var(--text);margin-top:8px}.analytics-note{font-size:11px;color:var(--muted);line-height:1.6;margin:18px 2px}.analytics-records{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.analytics-records summary{cursor:pointer;padding:18px 20px;font-size:13px;font-weight:600}.analytics-records summary span{font-size:11px;font-weight:400;color:var(--muted);margin-left:12px}.analytics-records>div{padding:0 20px 20px}.analytics-empty{padding:30px;border:1px dashed var(--border);border-radius:16px;text-align:center;color:var(--muted);margin:20px 0}.chart-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#17140f;color:#f5ead4;border:1px solid #d5a23b55;border-radius:9px;padding:9px 12px;font-size:12px;box-shadow:0 8px 22px #0003;max-width:280px}.chart-point,.donut-slice{transition:opacity .15s;cursor:default}.chart-point:hover,.donut-slice:hover{opacity:.7}.chart-stroke{animation:chart-enter 1s ease both}@keyframes bar-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes chart-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.chart-canvas{height:330px}}@media(max-width:1000px){.analytics-grid{grid-template-columns:minmax(0,1fr)}.analytics-heading{align-items:start}.analytics-live{display:none}}@media(max-width:640px){.analytics-card{padding:18px}.analytics-heading h1{font-size:27px}.analytics-strip{gap:14px 20px}.analytics-filter{padding:14px}.chart-canvas{height:250px}.analytics-records summary span{display:block;margin:6px 0 0}}
@media(prefers-reduced-motion:reduce){.sector-fill,.chart-stroke{animation:none}}
