/* INDRA / graphite & violet. Local assets, no external font dependencies. */
:root {
  --bg:#0c0d12; --sidebar:#111218; --surface:#16171f; --surface-2:#1b1c26;
  --border:#292a37; --border-2:#383a4a; --text:#f1f0f7;
  --muted:#a1a2b5; --muted-2:#85869a; --purple:#a18aff;
  --purple-soft:rgba(161,138,255,.1); --radius:16px;
}
html { color-scheme:dark; scroll-behavior:smooth; }
body { font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif; font-size:14px; letter-spacing:0; }
.icon { display:inline-block; vertical-align:middle; flex-shrink:0; }
.btn .icon,.text-link .icon { width:17px; height:17px; }
a:focus-visible,button:focus-visible { outline:2px solid #baa8ff; outline-offset:4px; }
.skip-link { position:fixed; top:-60px; left:20px; z-index:100; padding:12px 20px; background:#8063db; border-radius:8px; }
.skip-link:focus { top:12px; }
.app-shell { grid-template-columns:252px minmax(0,1fr); }
.sidebar { background:#101117; border-color:#24252f; padding:28px 16px 18px; }
.brand { padding:0 12px 26px; }
.brand img { width:195px; }
.sidebar-workspace { background:#181921; border-color:#2d2e3b; margin:0 4px 14px; padding:14px; border-radius:12px; gap:5px; }
.sidebar-workspace span { font-size:10px; color:#aaa7bd; letter-spacing:1px; }
.sidebar-workspace strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar-workspace small { font-size:11px; }
.nav-label { color:#8a889d; font-size:10px; letter-spacing:1.3px; margin:24px 13px 9px; }
.sidebar nav a { height:43px; padding:0 13px; font-size:13px; color:#aaa9bb; gap:13px; margin:3px 0; border-radius:9px; }
.sidebar nav a:hover { background:#1b1b25; color:#f2efff; }
.sidebar nav a.active { background:#262035; border-color:#3b3054; box-shadow:none; color:#d9ccff; }
.nav-icon { display:flex; align-items:center; width:19px; color:#8f8ca5; }
.nav-icon .icon { width:19px; height:19px; }
.sidebar nav a.active .nav-icon { color:#bd9eff; }
.sidebar-footer { border-color:#2a2937; padding:18px 8px 0; gap:12px; }
.sidebar-footer strong { font-size:11px; font-weight:600; }
.sidebar-footer small { font-size:10px; margin-top:3px; }
.topbar { height:78px; background:rgba(12,13,18,.93); border-color:#252631; padding:0 40px; }
.top-left { gap:14px; }
.breadcrumb { gap:5px; }
.breadcrumb span { font-size:10px; color:#9290a6; }
.breadcrumb strong { font-size:13px; font-weight:500; }
.avatar { width:36px; height:36px; background:#2e2442; color:#d9c6ff; border-color:#4d3b68; border-radius:50%; }
.user-copy strong { font-size:12px; }.user-copy small { font-size:10px; }
.icon-btn { width:36px; height:36px; display:grid; place-items:center; border:1px solid transparent; border-radius:8px; }
.icon-btn:hover { background:#20212b; border-color:var(--border); }
.content { max-width:1510px; padding:40px 40px 64px; }
.page-head { margin-bottom:30px; gap:24px; }
.page-head h1 { font-size:32px; font-weight:600; letter-spacing:-1.1px; margin:10px 0; }
.eyebrow,.overline { color:#bca6fc; font-size:10px; letter-spacing:1.7px; font-weight:600; }
.muted { font-size:13px; line-height:1.7; color:var(--muted); }
.btn { min-height:40px; padding:0 16px; border-radius:9px; font-size:12px; font-weight:600; background:#1b1c25; border-color:#383846; color:#dfdeea; box-shadow:0 2px 3px #00000010; }
.btn:hover { background:#252530; border-color:#59536c; }
.btn.primary { background:#ac93f7; color:#191225; border-color:#c1abff; box-shadow:inset 0 1px #ffffff35,0 4px 16px #00000020; }
.btn.primary:hover { background:#bea8ff; border-color:#d0beff; }
.btn.secondary { background:#171820; }
.btn.compact { min-height:33px; font-size:11px; padding:0 11px; }
.context-banner { background:#15151f; border:1px solid #333044; border-radius:12px; padding:17px 20px; gap:16px; margin-bottom:24px; }
.context-icon { width:39px; height:39px; border:1px solid #45375c; color:#c1a6ff; background:#282035; }
.context-copy { gap:5px; }.context-copy strong { font-size:13px; font-weight:500; }.context-copy span { font-size:12px; line-height:1.5; }
.kpis { gap:16px; }
.metric-card,.card,.panel { background:#15161e; border-color:#2b2c39; box-shadow:0 3px 10px #0000000d; }
.metric-card { padding:22px; min-height:184px; }
.metric-top { margin-bottom:20px; }.metric-icon { width:34px; height:34px; border-radius:10px; background:#262132; color:#c0a4ff; border:1px solid #3d304f; }
.metric-card:nth-child(2) .metric-icon { color:#e8c48d; background:#2a241d; border-color:#463c2a; }
.metric-card:nth-child(3) .metric-icon { color:#88ccb5; background:#1d2b27; border-color:#2d443b; }
.metric-card:nth-child(4) .metric-icon { color:#9bb8ed; background:#202837; border-color:#33445f; }
.metric-trend { font-size:10px; padding:4px 8px; border-color:#373644; color:#b5b1c4; }
.metric-label { font-size:12px; color:#b7b4c7; }
.metric-card>strong { font-size:34px; font-weight:600; margin:9px 0 7px; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.metric-card>strong.money { font-size:27px; }.metric-card>strong.system-ok { font-size:25px; }
.metric-card>small { color:#9793a9; font-size:11px; }
.accent-card { background:linear-gradient(125deg,#1f1b2b,#15161e); }
.dashboard-grid { margin-top:24px; gap:20px; grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr); }
.panel { padding:24px; }.panel-head { margin-bottom:22px; align-items:center; }
.panel-head h2 { font-size:17px; font-weight:600; margin-top:7px; }
.panel-head>a,.text-link { font-size:12px; color:#c0a7ff; display:inline-flex; align-items:center; gap:6px; }
.panel-note { font-size:11px; color:#9893aa; }
.action-grid { gap:12px; }.action-grid>a { min-height:99px; border-color:#30303e; background:#191922; padding:17px 14px; grid-template-columns:36px 1fr auto; }
.action-grid>a:hover { background:#24202e; border-color:#66507e; }
.action-icon { background:#2a2339; color:#c5a9ff; width:36px; height:36px; border-radius:10px; }
.action-grid strong { font-size:12px; font-weight:600; }.action-grid small { font-size:11px; color:#a49db4; line-height:1.5; }.action-arrow .icon { width:15px; color:#9d91b6; }
.list-row { padding:15px 0; border-color:#2c2b37; }.list-row strong { font-size:13px; font-weight:500; }.list-row small { font-size:11px; margin-top:5px; }
.company-avatar { width:37px; height:37px; border-radius:11px; background:#262132; color:#cab5f2; border-color:#40354f; }
.pill { font-size:10px; padding:5px 9px; color:#bab5cc; border-color:#403b4f; white-space:nowrap; }
.pill[data-status="SUJEITA"] { background:#2b223b; border-color:#54416e; color:#d0b7ff; }
.pill[data-status="NAO_SUJEITA"] { background:#192e27; border-color:#2b5545; color:#9fdbbf; }
.pill[data-status="A_VERIFICAR"] { background:#30281e; border-color:#534432; color:#edc795; }
.empty-state { min-height:242px; padding:28px; gap:10px; }.empty-state .empty-icon { width:52px; height:52px; border:1px solid #40354f; background:#262132; color:#c1a7ed; border-radius:16px; }
.empty-state strong { font-size:15px; font-weight:500; }.empty-state span { font-size:12px; line-height:1.7; }
.toolbar { gap:12px; margin-bottom:20px; align-items:center; }.toolbar input { max-width:540px; }
.search-field { display:flex; align-items:center; gap:10px; background:#171820; border:1px solid #383747; padding:0 13px; border-radius:10px; flex:1; max-width:540px; color:#a89bbf; }
.search-field input { border:0!important; background:transparent!important; padding-left:0!important; box-shadow:none!important; }
.search-field:focus-within { outline:2px solid #a48bdd; outline-offset:1px; }
.table-wrap { padding:0; border-radius:14px; }table { white-space:nowrap; }
th { color:#aaa4bb; background:#1a1a24; font-size:10px; letter-spacing:.9px; padding:17px 18px; }
td { padding:19px 18px; font-size:12px; border-color:#2b2938; }td strong { font-weight:500; }td small { font-size:10px; }
tbody tr:hover { background:#1c1b26; }tbody tr:last-child td { border-bottom:0; }
.actions-cell { display:table-cell; white-space:nowrap; }.actions-cell form { display:inline-block; margin-right:6px; }
.selected-row { background:#221e30; }.empty { white-space:normal; }
.client-form { max-width:1050px; padding:8px 30px 26px; }
.form-section { padding:27px 0; border-color:#302b3c; }.form-section:first-of-type { padding-top:24px; }
.form-section h2 { font-size:18px; font-weight:500; margin:7px 0 22px; }
.form-grid { gap:22px; }.client-form label { color:#c1bace; font-size:12px; gap:9px; }
.toolbar input,.toolbar select,.client-form input,.client-form select,.client-form textarea,.form-stack input { min-height:43px; background:#111219; border-color:#3a3446; border-radius:9px; padding:11px 13px; font-size:13px; color:#f0eaf9; }
input::placeholder,textarea::placeholder { color:#878094; opacity:1; }
.client-form input:focus,.client-form select:focus,.client-form textarea:focus,.form-stack input:focus { border-color:#b899ef; box-shadow:0 0 0 3px #a880e51a; }
.field-help { font-size:11px; color:#a39bad; line-height:1.6; }.field-error { font-size:12px; }
.cnae-result { background:#1b1823; border-color:#44384e; padding:22px; margin-top:24px; }.cnae-result strong { display:block; font-weight:500; font-size:17px; margin-top:9px; }
.cnae-result p:not(.eyebrow),.cnae-result li,.cnae-result small { font-size:12px; color:#bfb4ce; line-height:1.7; }
.form-actions { padding-top:25px; }.alert { padding:14px 16px; font-size:13px; line-height:1.5; }
.login-page { background:#0e0f15; }.login-shell { max-width:1080px; min-height:660px; border-radius:24px; border-color:#39313f; }
.login-visual { background:radial-gradient(ellipse at 20% 20%,#4b345f55,transparent 60%),#17121e; padding:48px; border-color:#39313f; }
.login-message h1 { font-size:52px; font-weight:500; line-height:1.12; letter-spacing:-2px; }.login-message h1 em { color:#c6a6ec; }.login-message p { color:#b5a6c3; font-size:14px; line-height:1.8; }
.login-panel { background:#16141d; }.login-form-wrap h2 { font-size:28px; font-weight:500; }.login-form-wrap>.muted { margin-bottom:30px; }.form-stack { gap:20px; }.form-stack label { font-size:12px; }.login-submit { height:46px; }
.login-proof { color:#bdaccb; font-size:11px; }.login-foot { color:#95899f; font-size:11px; }.login-orb { opacity:.08; }
.module-placeholder { padding:48px; text-align:center; }.module-placeholder>.icon { width:40px; height:40px; color:#c1a3ee; margin-bottom:12px; }.module-placeholder h2 { font-size:22px; font-weight:500; }.module-placeholder p { max-width:480px; margin:12px auto 24px; }
.sidebar-backdrop { position:fixed; inset:0; z-index:45; background:#07070cbf; border:0; backdrop-filter:blur(4px); }
.sidebar-backdrop[hidden] { display:none; }
@media(min-width:821px) { .sidebar-backdrop { display:none; } }
@media(max-width:1200px) { .content { padding:30px 26px; }.topbar { padding:0 26px; }.dashboard-grid { grid-template-columns:1fr; }.metric-card { padding:18px; }.metric-card>strong.money { font-size:24px; } }
@media(max-width:1050px) { .app-shell { grid-template-columns:230px minmax(0,1fr); }.brand img { width:174px; }.kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:820px) { .app-shell { grid-template-columns:1fr; }.sidebar { width:252px; left:-260px; height:100dvh; }.sidebar.open { left:0; }.mobile-menu { display:grid; place-items:center; width:36px; height:36px; padding:0; }.content { padding:28px 20px 42px; }.topbar { height:66px; padding:0 20px; }.client-form { padding:4px 22px 22px; }.form-grid.two { grid-template-columns:1fr; }.login-shell { min-height:0; }.login-panel { padding:40px 30px; }.form-actions { position:sticky; bottom:0; padding-bottom:14px; background:#15161ef5; z-index:5; } }
@media(max-width:560px) { .content { padding:24px 16px 40px; }.page-head h1 { font-size:28px; }.page-head { gap:18px; }.kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.metric-card { min-height:170px; padding:15px; }.metric-top { gap:5px; margin-bottom:16px; }.metric-trend { font-size:9px; padding:3px 5px; }.metric-card>strong { font-size:28px; }.metric-card>strong.money,.metric-card>strong.system-ok { font-size:20px; }.metric-label { font-size:11px; }.metric-card>small { font-size:10px; }.panel { padding:20px; }.table-wrap { padding:0; }.action-grid { grid-template-columns:1fr; }.action-grid>a { min-height:80px; }.panel-note { display:none; }.context-banner { padding:16px; }.context-copy span { font-size:11px; }.toolbar { align-items:stretch; }.search-field { max-width:none; }.client-form { padding:0 18px 18px; }.secondary-cnae-row { gap:12px; }.cnae-result { padding:16px; }.module-placeholder { padding:28px 20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; animation:none!important; } }
