:root {
  color-scheme: dark;
  --bg: #07101d;
  --bg-soft: #0a1424;
  --panel: #0d192b;
  --panel-2: #111f34;
  --panel-3: #14243b;
  --line: #21314b;
  --line-soft: rgba(148, 163, 184, 0.14);
  --text: #eff6ff;
  --muted: #8ea1bb;
  --subtle: #60728c;
  --green: #19d397;
  --green-2: #67e8b9;
  --green-soft: rgba(25, 211, 151, 0.11);
  --purple: #7560ff;
  --purple-2: #9b8cff;
  --purple-soft: rgba(117, 96, 255, 0.14);
  --orange: #f59e55;
  --red: #ff6b7b;
  --yellow: #f1c75b;
  --sidebar: 248px;
  --radius: 15px;
  --shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 78% -10%, rgba(90, 70, 255, 0.12), transparent 26rem),
    var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  width: var(--sidebar);
  flex-direction: column;
  border-right: 1px solid var(--line-soft);
  background: rgba(7, 16, 29, 0.96);
  padding: 20px 14px 14px;
  backdrop-filter: blur(18px);
}

.brand { display: flex; align-items: center; gap: 11px; padding: 0 7px 18px; }
.brand-mark, .loading-logo {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--green) 0%, #35cfc3 42%, var(--purple) 100%);
  box-shadow: 0 8px 24px rgba(25, 211, 151, 0.2);
  color: white;
  font-size: 13px;
  font-weight: 900;
}
.brand-copy, .profile-button > span:nth-child(2), .ai-mini > span:nth-child(2) { display: grid; gap: 2px; text-align: left; }
.brand-copy strong { letter-spacing: -0.02em; font-size: 15px; }
.brand-copy small, .profile-button small, .ai-mini small { color: var(--muted); font-size: 10px; }

.workspace-chip {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 55px;
  margin: 1px 4px 14px;
  border: 1px solid var(--line-soft);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(117, 96, 255, 0.1), rgba(25, 211, 151, 0.03));
  padding: 9px 10px;
}
.workspace-chip > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 2px; }
.workspace-chip small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 0.08em; }
.workspace-chip strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-icon { color: var(--purple-2); }

#main-nav { overflow-y: auto; padding: 0 4px; scrollbar-width: thin; }
.nav-label { margin: 18px 10px 7px; color: #536680; font-size: 9px; font-weight: 800; letter-spacing: 0.13em; }
.nav-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 39px;
  gap: 11px;
  margin: 2px 0;
  border-radius: 10px;
  padding: 0 11px;
  color: #8fa2bb;
  font-size: 12px;
  font-weight: 650;
  transition: 160ms ease;
}
.nav-link:hover { background: rgba(255, 255, 255, 0.035); color: var(--text); }
.nav-link.active { background: linear-gradient(90deg, rgba(117, 96, 255, 0.2), rgba(117, 96, 255, 0.06)); color: white; }
.nav-link.active::before { position: absolute; inset: 8px auto 8px -4px; width: 3px; border-radius: 6px; background: var(--purple-2); content: ""; box-shadow: 0 0 14px var(--purple); }
.nav-link > [data-icon] { display: inline-flex; width: 17px; color: currentColor; }
.nav-badge, .nav-count, .draft-count, .failure-count { margin-left: auto; border-radius: 999px; padding: 3px 6px; background: var(--purple-soft); color: var(--purple-2); font-size: 8px; text-transform: uppercase; }
.nav-count { min-width: 20px; background: var(--green-soft); color: var(--green-2); text-align: center; }
.draft-count { min-width: 20px; text-align: center; }
.failure-count { min-width: 20px; background: rgba(251, 113, 133, .14); color: #fb7185; text-align: center; }

.sidebar-footer { margin-top: auto; border-top: 1px solid var(--line-soft); padding-top: 13px; }
.ai-mini { display: flex; align-items: center; gap: 9px; margin: 0 3px 8px; border-radius: 11px; background: rgba(255, 255, 255, 0.025); padding: 9px; }
.ai-mini > span:nth-child(2) { flex: 1; }
.ai-mini strong, .profile-button strong { font-size: 11px; }
.ai-orb { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(117, 96, 255, 0.4); border-radius: 50%; background: var(--purple-soft); color: var(--purple-2); font-size: 9px; font-weight: 900; }
.status-dot, .pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(25, 211, 151, 0.1), 0 0 14px rgba(25, 211, 151, 0.65); }
.profile-button { display: flex; width: 100%; align-items: center; gap: 9px; border: 0; border-radius: 11px; background: transparent; padding: 8px 7px; cursor: pointer; }
.profile-button:hover { background: rgba(255, 255, 255, 0.03); }
.profile-button > span:nth-child(2) { min-width: 0; flex: 1; }
.avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, #1c3554, #294768); color: #cce3ff; font-size: 10px; font-weight: 850; }

.app-main { min-height: 100vh; margin-left: var(--sidebar); }
.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  height: 70px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--line-soft);
  background: rgba(7, 16, 29, 0.85);
  padding: 0 26px;
  backdrop-filter: blur(18px);
}
.menu-button { display: none !important; }
.company-switcher {
  display: flex;
  min-width: 330px;
  max-width: 430px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel);
  padding: 7px 10px 7px 8px;
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease;
}
.company-switcher:hover { border-color: #344969; transform: translateY(-1px); }
.company-switcher > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 1px; text-align: left; }
.company-switcher strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.company-switcher small { color: var(--muted); font-size: 9px; }
.company-logo { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; background: linear-gradient(135deg, #153a4d, #1f685b); color: var(--green-2); font-size: 10px; font-weight: 900; }
.regime-pill { border-radius: 999px; background: rgba(148, 163, 184, 0.1); padding: 4px 7px; color: #b7c6d9; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.topbar-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.top-action, .environment-status { display: flex; height: 42px; align-items: center; gap: 9px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(13, 25, 43, 0.75); padding: 0 12px; }
.top-action { color: var(--muted); cursor: pointer; }
.top-action:hover { border-color: var(--line); color: var(--text); }
kbd { border: 1px solid var(--line); border-radius: 5px; background: var(--panel-2); padding: 2px 5px; color: var(--subtle); font-family: inherit; font-size: 8px; }
.environment-status { min-width: 142px; border-color: rgba(25, 211, 151, 0.19); background: rgba(25, 211, 151, 0.045); }
.environment-status { color: inherit; font: inherit; cursor: pointer; }
.environment-status:disabled { cursor: default; opacity: .72; }
.environment-status.production { border-color: rgba(255, 173, 51, .45); background: rgba(255, 173, 51, .08); }
.environment-status.production small, .environment-status.production strong { color: #ffd28a; }
.environment-status > .icon { width: 13px; margin-left: auto; }
.environment-status > span:nth-child(2) { display: grid; gap: 1px; }
.environment-status small { color: var(--green); font-size: 7px; font-weight: 900; letter-spacing: 0.08em; }
.environment-status strong { color: #bdf8e5; font-size: 10px; }

.environment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.environment-option { display: flex; align-items: flex-start; gap: 12px; min-height: 92px; padding: 17px; border: 1px solid var(--line-soft); border-radius: 14px; background: rgba(9, 21, 37, .78); cursor: pointer; }
.environment-option:has(input:checked) { border-color: rgba(25, 211, 151, .58); box-shadow: 0 0 0 2px rgba(25, 211, 151, .08); }
.environment-option.production-option:has(input:checked) { border-color: rgba(255, 173, 51, .72); box-shadow: 0 0 0 2px rgba(255, 173, 51, .09); }
.environment-option input { margin-top: 4px; accent-color: var(--purple); }
.environment-option span { display: grid; gap: 6px; }
.environment-option strong { color: var(--text); font-size: 14px; }
.environment-option small { color: var(--muted); line-height: 1.45; }
@media (max-width: 620px) { .environment-options { grid-template-columns: 1fr; } }
.icon-button { position: relative; display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--panel); cursor: pointer; }
.icon-button:hover { border-color: var(--line); background: var(--panel-2); }
.icon-button.compact { width: 28px; height: 28px; border: 0; background: transparent; }
.notification-dot { position: absolute; top: 9px; right: 9px; width: 6px; height: 6px; border: 1px solid var(--panel); border-radius: 50%; background: var(--red); }
.notification-dot[hidden] { display: none; }
.notification-list { display: grid; gap: 9px; }
.notification-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; width: 100%; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(9, 21, 37, .72); padding: 13px; color: var(--text); text-align: left; cursor: pointer; }
.notification-item:hover { border-color: var(--line); background: var(--panel-2); }
.notification-item > span:nth-child(2) { display: grid; gap: 4px; }
.notification-item strong { font-size: 11px; }
.notification-item small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.notification-item.danger .metric-icon { background: rgba(255,107,123,.1); color: #ff9ba6; }
.notification-item.warning .metric-icon { background: rgba(245,158,85,.1); color: var(--orange); }
.notification-item.info .metric-icon { background: var(--purple-soft); color: var(--purple-2); }

.company-menu { position: absolute; top: 61px; left: 26px; z-index: 60; width: 410px; border: 1px solid var(--line); border-radius: 14px; background: #0b1728; padding: 8px; box-shadow: var(--shadow); }
.company-option { display: flex; width: 100%; align-items: center; gap: 10px; border: 0; border-radius: 10px; background: transparent; padding: 10px; cursor: pointer; }
.company-option:hover, .company-option.selected { background: rgba(117, 96, 255, 0.1); }
.company-option > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 2px; text-align: left; }
.company-option strong { font-size: 11px; }
.company-option small { color: var(--muted); font-size: 9px; }
.company-option .check { color: var(--green); }

#app-content { min-height: calc(100vh - 70px); padding: 28px 30px 50px; }
.loading-view { display: grid; min-height: 60vh; place-items: center; align-content: center; gap: 10px; color: var(--muted); }
.loading-view .loading-logo { margin-bottom: 8px; animation: breathe 1.6s ease-in-out infinite; }
.loading-view strong { color: var(--text); font-size: 15px; }
.loading-view small { font-size: 11px; }
@keyframes breathe { 50% { transform: scale(1.06); box-shadow: 0 10px 35px rgba(25, 211, 151, 0.35); } }

.page { width: 100%; max-width: 1480px; margin: 0 auto; animation: pageIn 240ms ease; }
@keyframes pageIn { from { opacity: 0; transform: translateY(5px); } }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 23px; }
.eyebrow { margin: 0 0 7px; color: var(--green); font-size: 9px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; }
.page-header h1, .section-title h2 { margin: 0; letter-spacing: -0.035em; }
.page-header h1 { font-size: clamp(23px, 2.8vw, 32px); }
.page-header p:not(.eyebrow) { max-width: 700px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.header-actions { display: flex; align-items: center; gap: 9px; }

.primary-button, .secondary-button, .ghost-button, .danger-button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 0 15px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: 160ms ease;
}
.primary-button { background: linear-gradient(135deg, #735cff, #5b49ee); box-shadow: 0 8px 22px rgba(90, 70, 255, 0.22); color: white; }
.primary-button:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(90, 70, 255, 0.35); }
.primary-button.green { background: linear-gradient(135deg, #14c98e, #0ca576); box-shadow: 0 8px 22px rgba(25, 211, 151, 0.18); }
.secondary-button { border-color: var(--line); background: var(--panel-2); color: #d9e5f4; }
.secondary-button:hover { border-color: #405475; background: var(--panel-3); }
.ghost-button { border-color: var(--line-soft); background: transparent; color: var(--muted); }
.ghost-button:hover { border-color: var(--line); color: var(--text); }
.danger-button { border-color: rgba(255, 107, 123, 0.28); background: rgba(255, 107, 123, 0.09); color: #ff9ba6; }
.compact-action { min-height: 42px; }
button:disabled { opacity: 0.52; cursor: not-allowed; transform: none !important; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
.accumulated-card { border-color: rgba(117,96,255,.34); background: linear-gradient(145deg,rgba(34,34,82,.94),rgba(10,21,37,.96)); }
.received-accumulated-card { border-color: rgba(45,212,160,.3); background: linear-gradient(145deg,rgba(14,55,59,.76),rgba(10,21,37,.96)); }
.metric-card, .panel, .action-card, .client-card, .service-card, .recurrence-card, .company-card {
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(15, 29, 49, 0.94), rgba(10, 21, 37, 0.95));
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}
.metric-card { position: relative; overflow: hidden; min-height: 142px; padding: 18px; }
.metric-card::after { position: absolute; top: -35px; right: -35px; width: 100px; height: 100px; border-radius: 50%; background: var(--accent-soft, var(--purple-soft)); content: ""; filter: blur(12px); }
.metric-head { display: flex; align-items: center; justify-content: space-between; }
.metric-label { color: var(--muted); font-size: 10px; font-weight: 700; }
.metric-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: var(--accent-soft, var(--purple-soft)); color: var(--accent, var(--purple-2)); }
.metric-value { margin: 20px 0 7px; font-size: 24px; font-weight: 850; letter-spacing: -0.04em; }
.metric-foot { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; }
.trend-up { color: var(--green); font-weight: 850; }
.trend-warn { color: var(--orange); font-weight: 850; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.8fr); gap: 14px; margin-top: 14px; }
.dashboard-stack { display: grid; gap: 14px; }
.panel { padding: 19px; }
.panel.flush { padding: 0; overflow: hidden; }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.panel-header h2, .panel-header h3 { margin: 0; font-size: 13px; letter-spacing: -0.02em; }
.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.panel-link { border: 0; background: transparent; color: var(--purple-2); font-size: 9px; font-weight: 800; cursor: pointer; }

.chart-wrap { display: flex; min-height: 230px; gap: 18px; }
.chart-y { display: flex; width: 52px; flex-direction: column; justify-content: space-between; padding: 3px 0 26px; color: var(--subtle); font-size: 8px; text-align: right; }
.chart { position: relative; display: flex; flex: 1; align-items: end; justify-content: space-around; gap: 10px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom, transparent 0, transparent 47px, rgba(148, 163, 184, 0.07) 48px); padding: 16px 10px 25px; }
.chart-summary-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }
.chart-summary-strip > span { display: grid; gap: 4px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(255,255,255,.018); padding: 11px 12px; }
.chart-summary-strip small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.chart-summary-strip strong { font-size: 14px; }
.chart-summary-strip em { color: var(--purple-2); font-size: 8px; font-style: normal; }
.bar-group { display: flex; height: 100%; flex: 1; align-items: end; justify-content: center; gap: 4px; }
.chart-bar { position: relative; width: min(24px, 32%); min-height: 5px; border-radius: 6px 6px 1px 1px; background: linear-gradient(to top, #614ae9, #917fff); }
.chart-bar.received { background: linear-gradient(to top, #0e9f73, #31d8a2); }
.chart-bar.external { background: linear-gradient(to top, #d38a2f, #f1c75b); }
.legend-dot.external { background: #f1c75b; }
.document-breakdown { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 16px; }
.document-breakdown > span { display: grid; gap: 5px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(255,255,255,.018); padding: 12px; }
.document-breakdown b { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.document-breakdown strong { font-size: 17px; }
.document-breakdown small { color: var(--green-2); font-size: 9px; font-weight: 800; }
.tax-profile-card .summary-total { margin-top: 7px; border-top: 1px solid var(--line); padding-top: 13px; }
.tax-profile-card .summary-total strong { color: var(--green-2); font-size: 15px; }
.limit-line { display: grid; gap: 8px; margin-top: 17px; }
.limit-line > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.limit-line > span b { font-size: 10px; }
.limit-line > span strong { color: #dce8f8; font-size: 10px; text-align: right; }
.limit-line > small { color: var(--muted); font-size: 8px; }
.metric-value-small { font-size: clamp(20px, 2vw, 30px); }
.settings-tabs { display: flex; gap: 8px; margin: 0 0 14px; padding: 5px; border: 1px solid var(--line); border-radius: 13px; background: rgba(12,26,45,.75); width: fit-content; }
.settings-tabs button { border: 0; border-radius: 9px; background: transparent; color: var(--muted); padding: 10px 18px; font: inherit; font-weight: 800; cursor: pointer; }
.settings-tabs button.active { color: white; background: linear-gradient(135deg, #694ff3, #795dff); box-shadow: 0 8px 22px rgba(105,79,243,.22); }
.settings-tax-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(330px,.85fr); gap: 14px; align-items: start; }
.simples-projection-panel { margin-bottom: 14px; }
.competence-note { display:block; margin-top:5px; color:var(--warning,#f5b942); font-size:11px; font-weight:700; }
.compact-safe-note { margin: 12px 0; }
.projection-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.simples-primary-metrics { grid-template-columns: repeat(4, minmax(0,1fr)); }
.projection-metrics article, .annex-comparison article { display: grid; gap: 5px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(255,255,255,.018); padding: 14px; }
.projection-metrics span, .annex-comparison span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.projection-metrics strong { font-size: 17px; }
.projection-metrics small, .annex-comparison small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.annex-comparison { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.annex-comparison article.recommended { border-color: rgba(25,211,151,.35); background: rgba(25,211,151,.07); }
.annex-comparison strong { font-size: 20px; }
.das-highlight { border-color: rgba(113,82,255,.42) !important; background: linear-gradient(135deg,rgba(113,82,255,.16),rgba(25,211,151,.05)) !important; }
.simples-workspace { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:14px; align-items:start; }
.activity-evidence { display:grid; gap:14px; margin-top:14px; }
.activity-evidence > div { display:grid; gap:8px; padding:13px; border:1px solid var(--line-soft); border-radius:11px; background:rgba(255,255,255,.018); }
.activity-evidence span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.07em; }
.activity-evidence strong { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:11px; line-height:1.5; }
.activity-evidence .status-badge { margin-left:auto; font-style:normal; }
.simples-detail-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr); gap:14px; margin-top:14px; }
.simples-detail-grid > section { border:1px solid var(--line-soft); border-radius:12px; padding:15px; background:rgba(255,255,255,.015); }
.tax-distribution { display:grid; gap:9px; margin-top:13px; }
.tax-distribution > div { display:grid; grid-template-columns:74px minmax(70px,1fr) 92px 82px; align-items:center; gap:9px; }
.tax-distribution span { color:var(--text); font-size:10px; font-weight:800; }
.tax-distribution i { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.06); }
.tax-distribution i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--purple),var(--green-2)); }
.tax-distribution strong { text-align:right; font-size:11px; }
.tax-distribution small { color:var(--muted); text-align:right; font-size:8px; }
.compact-history { max-height:310px; overflow:auto; }
.compact-history tfoot { position:sticky; bottom:0; background:var(--panel); }
.compact-history tfoot th { border-top:1px solid var(--line); }
.inline-legal-link { color:var(--green-2); font-weight:800; text-decoration:none; }
.inline-legal-link:hover { text-decoration:underline; }
.projection-actions { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.projection-actions span { color: var(--muted); font-size: 8px; line-height: 1.5; }
.fiscal-profile-form { margin-top: 18px; }
.compact-form { margin: 16px 0 18px; }
.fiscal-profile-inline, .fiscal-analysis { display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 11px; padding: 13px 14px; }
.fiscal-profile-inline > span, .fiscal-analysis > span { display: grid; gap: 4px; }
.fiscal-profile-inline small, .fiscal-analysis small { color: var(--muted); line-height: 1.45; }
.fiscal-profile-inline.valid, .fiscal-analysis.valid { border-color: rgba(25,211,151,.3); background: rgba(25,211,151,.07); }
.fiscal-profile-inline.valid .icon, .fiscal-analysis.valid .icon { color: var(--green-2); }
.fiscal-profile-inline.blocked, .fiscal-analysis.blocked { border-color: rgba(255,86,111,.32); background: rgba(255,86,111,.07); }
.fiscal-profile-inline.blocked .icon, .fiscal-analysis.blocked .icon { color: #ff8ca0; }
.fiscal-analysis { margin-bottom: 10px; }
.fiscal-alert { margin: 14px 0; }
.fiscal-alert > span { flex: 1; }
.h-32 { height: 32%; }.h-39 { height: 39%; }.h-45 { height: 45%; }.h-48 { height: 48%; }.h-52 { height: 52%; }.h-56 { height: 56%; }.h-61 { height: 61%; }.h-65 { height: 65%; }.h-69 { height: 69%; }.h-75 { height: 75%; }.h-82 { height: 82%; }.h-88 { height: 88%; }
.bar-label { position: absolute; bottom: -18px; left: 50%; color: var(--subtle); font-size: 8px; transform: translateX(-50%); }
.chart-legend { display: flex; gap: 14px; color: var(--muted); font-size: 9px; }
.legend-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 2px; background: var(--purple); }
.legend-dot.green { background: var(--green); }
.dashboard-month { display: grid; gap: 5px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.dashboard-month input { min-width: 145px; }
.padded-panel-header { margin: 0; padding: 19px; }
.simple-limit .limit-value { display: block; margin: 8px 0 15px; font-size: 23px; }
.limit-track { overflow: hidden; height: 8px; border-radius: 999px; background: rgba(148,163,184,.12); }
.limit-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--purple)); }
.limit-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 9px; color: var(--muted); font-size: 8px; }
.limit-meta strong { color: var(--text); }
.data-caveat { display: block; margin-top: 13px; color: var(--subtle); font-size: 8px; line-height: 1.45; }
.ranking-list { display: grid; gap: 10px; }
.ranking-list > div { display: flex; align-items: center; gap: 10px; }
.ranking-list > div > b { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; background: var(--purple-soft); color: var(--purple-2); font-size: 9px; }
.ranking-list > div > span { display: grid; min-width: 0; gap: 2px; }
.ranking-list strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ranking-list small, .muted-copy { color: var(--muted); font-size: 8px; }
.dashboard-shortcuts { display: grid; gap: 8px; }
.dashboard-shortcuts button { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(255,255,255,.015); padding: 10px; color: var(--text); text-align: left; cursor: pointer; }
.dashboard-shortcuts button:hover { border-color: var(--line); background: var(--panel-2); }
.dashboard-shortcuts button > span { display: grid; gap: 2px; }
.dashboard-shortcuts strong { font-size: 9px; }
.dashboard-shortcuts small { color: var(--muted); font-size: 8px; }

.ai-card { position: relative; overflow: hidden; border-color: rgba(117, 96, 255, 0.26); background: linear-gradient(145deg, rgba(36, 27, 86, 0.72), rgba(13, 25, 43, 0.96) 60%); }
.ai-card::after { position: absolute; top: -70px; right: -70px; width: 180px; height: 180px; border-radius: 50%; background: rgba(117, 96, 255, 0.12); content: ""; filter: blur(8px); }
.ai-head { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; }
.ai-head .ai-orb { width: 36px; height: 36px; }
.ai-head > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.ai-head strong { font-size: 12px; }
.ai-head small { color: var(--muted); font-size: 9px; }
.ai-insight { position: relative; z-index: 1; margin-top: 16px; border: 1px solid rgba(117, 96, 255, 0.22); border-radius: 11px; background: rgba(7, 16, 29, 0.42); padding: 12px; }
.ai-insight p { margin: 0; color: #c8d3e3; font-size: 10px; line-height: 1.65; }
.ai-insight strong { color: white; }

.certificate-line, .activity-item { display: flex; align-items: center; gap: 11px; }
.certificate-line + .certificate-line, .activity-item + .activity-item { margin-top: 13px; border-top: 1px solid var(--line-soft); padding-top: 13px; }
.certificate-icon, .activity-icon { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: var(--green-soft); color: var(--green); }
.certificate-icon.warning { background: rgba(245, 158, 85, 0.1); color: var(--orange); }
.certificate-line > span:nth-child(2), .activity-item > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 3px; }
.certificate-line strong, .activity-item strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.certificate-line small, .activity-item small { color: var(--muted); font-size: 8px; }
.certificate-line time, .activity-item time { color: var(--subtle); font-size: 8px; }
.status-badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: var(--green-soft); padding: 5px 8px; color: var(--green-2); font-size: 8px; font-weight: 850; }
.status-badge.warning { background: rgba(245, 158, 85, 0.1); color: var(--orange); }
.status-badge.danger { background: rgba(255, 107, 123, 0.1); color: #ff99a4; }
.status-badge.cancelled { background: rgba(255, 107, 123, 0.1); color: #ff99a4; }
.status-badge.substituted { background: rgba(139, 124, 246, 0.13); color: #b5a9ff; }
.status-badge.neutral { background: rgba(148, 163, 184, 0.1); color: #aabbcf; }

.quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.action-card { display: flex; align-items: center; gap: 12px; padding: 15px; cursor: pointer; transition: 160ms ease; }
.action-card:hover { border-color: #354b6c; transform: translateY(-2px); }
.action-card .metric-icon { flex: 0 0 auto; }
.action-card > span:nth-child(2) { display: grid; flex: 1; gap: 4px; }
.action-card strong { font-size: 10px; }
.action-card small { color: var(--muted); font-size: 8px; }
.action-card > [data-icon] { color: var(--subtle); }

.filters { display: flex; flex-wrap: wrap; align-items: end; gap: 9px; margin-bottom: 15px; }
.search-field { position: relative; min-width: 250px; flex: 1; }
.search-field > [data-icon] { position: absolute; top: 50%; left: 12px; color: var(--subtle); transform: translateY(-50%); }
.search-field input { padding-left: 36px; }
.filter-select { width: auto; min-width: 145px; }
.issued-filters { align-items: end; margin: 0; padding-bottom: 14px; }
.issued-filters > .field:first-child { width: 170px; }
.list-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line-soft); padding: 12px 0; color: var(--muted); font-size: 10px; }
.list-summary strong { color: var(--text); font-size: 12px; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid var(--line-soft); padding-top: 14px; color: var(--muted); font-size: 10px; }
.received-filters { margin: 0; }
.received-filters > .field:first-child { width: 165px; }
.archive-panel { margin-top: 14px; border: 1px solid var(--line-soft); border-radius: var(--radius); background: rgba(9,21,37,.5); }
.archive-panel summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }
.archive-panel summary b { border-radius: 999px; background: rgba(148,163,184,.1); padding: 4px 8px; color: var(--text); }
.archive-panel[open] summary { border-bottom: 1px solid var(--line-soft); }

label.field { display: grid; gap: 7px; color: #b9c8da; font-size: 9px; font-weight: 700; }
label.field > span:first-child { display: flex; align-items: center; gap: 6px; }
.required { color: var(--red); }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  background: #0a1627;
  padding: 10px 11px;
  color: var(--text);
  font-size: 10px;
  transition: 160ms ease;
}
input, select { min-height: 40px; }
textarea { min-height: 88px; resize: vertical; line-height: 1.55; }
input::placeholder, textarea::placeholder { color: #52647d; }
input:focus, select:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(117, 96, 255, 0.09); }
.field-help { color: var(--subtle); font-size: 8px; font-weight: 500; line-height: 1.5; }
.input-action { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.input-action button { min-height: 40px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid .wide { grid-column: 1 / -1; }
.toggle-field { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(255,255,255,.015); padding: 9px 11px; }
.toggle-field > span:first-child { display: grid; gap: 3px; }
.toggle-field strong { font-size: 9px; }
.toggle-field small { color: var(--muted); font-size: 8px; }
.switch { position: relative; width: 38px; height: 21px; flex: 0 0 auto; }
.switch input { width: 1px; height: 1px; opacity: 0; }
.switch span { position: absolute; inset: 0; border-radius: 999px; background: #263750; cursor: pointer; transition: 160ms ease; }
.switch span::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #8091a8; content: ""; transition: 160ms ease; }
.switch input:checked + span { background: rgba(25, 211, 151, 0.3); }
.switch input:checked + span::after { left: 20px; background: var(--green); }

.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { border-bottom: 1px solid var(--line); padding: 11px 14px; color: var(--subtle); font-size: 8px; letter-spacing: 0.07em; text-align: left; text-transform: uppercase; }
.data-table td { border-bottom: 1px solid var(--line-soft); padding: 14px; color: #c4d1e1; font-size: 10px; }
.data-table tbody tr:hover { background: rgba(255,255,255,.015); }
.data-table tr:last-child td { border-bottom: 0; }
.table-primary { display: grid; gap: 3px; }
.table-primary strong { color: var(--text); font-size: 10px; }
.table-primary small { color: var(--muted); font-size: 8px; }
.money { color: white; font-variant-numeric: tabular-nums; font-weight: 750; }
.row-actions { display: flex; justify-content: flex-end; gap: 6px; }
.mini-button.danger { border-color: rgba(255, 107, 123, .2); color: #ff9ba6; }
.mini-button.danger:hover { background: rgba(255, 107, 123, .09); }
.mini-button { display: inline-grid; width: 29px; height: 29px; place-items: center; border: 1px solid var(--line-soft); border-radius: 8px; background: transparent; color: var(--muted); cursor: pointer; }
.mini-button:hover { border-color: var(--line); background: var(--panel-2); color: var(--text); }

.emission-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr); gap: 14px; align-items: start; }
.stepper { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 15px; border: 1px solid var(--line-soft); border-radius: 13px; background: rgba(13, 25, 43, 0.65); padding: 7px; }
.step-button { position: relative; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 9px; background: transparent; padding: 10px; color: var(--subtle); cursor: pointer; }
.step-button.active { background: var(--purple-soft); color: var(--purple-2); }
.step-button.complete { color: var(--green); }
.step-number { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 8px; font-weight: 900; }
.step-button strong { font-size: 9px; }
.step-panel { display: none; }
.step-panel.active { display: block; animation: pageIn 180ms ease; }
.form-section + .form-section { margin-top: 17px; border-top: 1px solid var(--line-soft); padding-top: 17px; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section-title h2 { font-size: 12px; }
.section-title p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.form-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 20px; border-top: 1px solid var(--line-soft); padding-top: 16px; }
.form-actions .right { display: flex; gap: 8px; margin-left: auto; }

.summary-card { position: sticky; top: 88px; }
.summary-company { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line-soft); padding-bottom: 15px; }
.summary-company > span:nth-child(2) { display: grid; gap: 3px; }
.summary-company strong { font-size: 10px; }
.summary-company small { color: var(--muted); font-size: 8px; }
.summary-list { display: grid; gap: 11px; margin: 15px 0; }
.summary-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 9px; }
.summary-row strong { color: #dfeafa; font-size: 10px; text-align: right; }
.summary-total { border-top: 1px solid var(--line); padding-top: 14px; }
.summary-total strong { color: var(--green-2); font-size: 18px; letter-spacing: -0.03em; }
.safe-note { display: flex; gap: 9px; margin-top: 14px; border: 1px solid rgba(25, 211, 151, 0.17); border-radius: 10px; background: var(--green-soft); padding: 10px; color: #bdebdc; font-size: 8px; line-height: 1.55; }
.safe-note [data-icon] { flex: 0 0 auto; color: var(--green); }

.ai-analysis { border: 1px solid rgba(117, 96, 255, 0.26); border-radius: 13px; background: rgba(117, 96, 255, 0.06); padding: 14px; }
.ai-analysis-head { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }
.ai-analysis-head > span:nth-child(2) { display: grid; gap: 3px; }
.ai-analysis-head strong { font-size: 11px; }
.ai-analysis-head small { color: var(--muted); font-size: 8px; }
.tax-grid { display: grid; gap: 8px; }
.tax-row { display: grid; grid-template-columns: 1.1fr .75fr .65fr; align-items: center; gap: 10px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgba(7, 16, 29, 0.45); padding: 10px; }
.tax-row > span { display: grid; gap: 3px; }
.tax-row strong { font-size: 9px; }
.tax-row small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.tax-rate { color: var(--purple-2); font-size: 10px; font-weight: 800; text-align: center; }
.tax-amount { color: white; font-size: 10px; font-weight: 800; text-align: right; }
.question-list { margin: 12px 0 0; padding: 0; list-style: none; }
.question-list li { display: flex; gap: 7px; margin-top: 6px; color: #b4c1d2; font-size: 8px; line-height: 1.5; }
.question-list li::before { color: var(--orange); content: "•"; }
.question-list.actionable-questions li { display: block; }
.question-list.actionable-questions li::before { content: none; }
.question-list.actionable-questions button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid rgba(241,199,91,.2); border-radius: 9px; background: rgba(241,199,91,.045); padding: 9px 10px; color: #d8c993; text-align: left; cursor: pointer; }
.question-list.actionable-questions button:hover { border-color: rgba(241,199,91,.5); background: rgba(241,199,91,.09); }
.question-list.actionable-questions b { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; color: var(--yellow); font-size: 8px; }
.question-list.actionable-questions .icon { width: 12px; height: 12px; }

.cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.client-card, .service-card, .recurrence-card, .company-card { padding: 17px; }
.card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.client-avatar, .service-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--purple-soft); color: var(--purple-2); font-size: 10px; font-weight: 850; }
.service-icon { background: var(--green-soft); color: var(--green); }
.card-copy { margin-top: 14px; }
.card-copy h3 { margin: 0 0 5px; font-size: 11px; }
.card-copy p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.card-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; border-top: 1px solid var(--line-soft); padding-top: 13px; }
.card-meta > span { display: grid; gap: 3px; }
.card-meta small { color: var(--subtle); font-size: 7px; text-transform: uppercase; }
.card-meta strong { color: #cbd8e8; font-size: 9px; }

.recurrence-card { position: relative; overflow: hidden; }
.recurrence-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--green); content: ""; }
.recurrence-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.recurrence-top > span:first-child { display: grid; gap: 4px; }
.recurrence-top strong { font-size: 11px; }
.recurrence-top small { color: var(--muted); font-size: 8px; }
.recurrence-value { margin: 18px 0; font-size: 20px; font-weight: 850; letter-spacing: -0.03em; }
.recurrence-schedule { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 8px; }
.card-actions { display: flex; gap: 7px; margin-top: 15px; border-top: 1px solid var(--line-soft); padding-top: 13px; }
.card-actions button { flex: 1; }

.company-card.active { border-color: rgba(25, 211, 151, 0.3); }
.company-card-header { display: flex; align-items: center; gap: 11px; }
.company-card-header > span:nth-child(2) { display: grid; min-width: 0; flex: 1; gap: 3px; }
.company-card-header strong { font-size: 11px; }
.company-card-header small { color: var(--muted); font-size: 8px; }
.certificate-box { display: flex; align-items: center; gap: 10px; margin-top: 15px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(255,255,255,.015); padding: 11px; }
.certificate-box > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.certificate-box strong { font-size: 9px; }
.certificate-box small { color: var(--muted); font-size: 8px; }

.config-layout { display: grid; grid-template-columns: 220px 1fr; gap: 14px; align-items: start; }
.config-nav { display: grid; gap: 4px; }
.config-nav button { display: flex; align-items: center; gap: 9px; border: 0; border-radius: 9px; background: transparent; padding: 10px; color: var(--muted); font-size: 9px; font-weight: 750; text-align: left; cursor: pointer; }
.config-nav button.active { background: var(--purple-soft); color: var(--purple-2); }
.provider-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.provider-step { position: relative; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(255,255,255,.015); padding: 12px; }
.provider-step:not(:last-child)::after { position: absolute; top: 50%; right: -8px; z-index: 2; color: var(--subtle); content: "→"; transform: translateY(-50%); }
.provider-step b { display: block; margin-bottom: 5px; color: var(--green); font-size: 8px; }
.provider-step strong { display: block; font-size: 9px; }
.provider-step small { display: block; margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.5; }
.security-banner { display: flex; gap: 12px; border: 1px solid rgba(25,211,151,.18); border-radius: 11px; background: var(--green-soft); padding: 13px; }
.security-banner > span:nth-child(2) { display: grid; gap: 4px; }
.security-banner strong { font-size: 10px; }
.security-banner p { margin: 0; color: #aad7c9; font-size: 8px; line-height: 1.6; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; overflow-y: auto; background: rgba(2, 7, 14, 0.82); padding: 25px; backdrop-filter: blur(9px); }
.modal { width: min(620px, 100%); max-height: calc(100vh - 50px); overflow: auto; border: 1px solid var(--line); border-radius: 17px; background: #0b1728; box-shadow: 0 35px 100px rgba(0,0,0,.55); }
.modal.wide { width: min(1000px, 100%); }
.modal.preview-modal { width: min(1120px, 100%); background: #121a25; }
.modal-header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); background: rgba(11, 23, 40, .96); padding: 16px 18px; backdrop-filter: blur(10px); }
.modal-header h2 { margin: 0; font-size: 13px; }
.modal-header p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.modal-body { padding: 18px; }
.preview-body { background: #0d1724; }
.preview-check { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; border: 1px solid rgba(25,211,151,.28); border-radius: 11px; background: rgba(25,211,151,.07); padding: 12px; }
.preview-check.warning { border-color: rgba(241,199,91,.32); background: rgba(241,199,91,.07); }
.preview-check > span { display: grid; gap: 3px; }
.preview-check small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.danfse-preview-grid { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 12px; align-items: start; }
.preview-sheet { position: relative; overflow: hidden; border-radius: 10px; background: #fff; padding: 20px; color: #101820; }
.preview-sheet > *:not(.draft-watermark) { position: relative; z-index: 1; }
.preview-sheet h4 { margin: 14px 0 0; border: 1px solid #aeb8c2; border-bottom: 0; background: #e8edf1; padding: 6px 8px; font-size: 8px; text-transform: uppercase; }
.preview-sheet .summary-list { border: 1px solid #aeb8c2; }
.preview-sheet .summary-row { border-color: #d9dfe4; color: #27333f; }
.preview-sheet .summary-row span { color: #61707e; }
.preview-sheet .summary-row.stacked { align-items: start; flex-direction: column; }
.preview-sheet .summary-row.stacked strong { margin-top: 4px; text-align: left; line-height: 1.5; }
.preview-identification { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid #aeb8c2; }
.preview-identification span { display: grid; gap: 4px; border-right: 1px solid #d9dfe4; border-bottom: 1px solid #d9dfe4; padding: 8px; }
.preview-identification small { color: #61707e; font-size: 7px; text-transform: uppercase; }
.preview-identification strong { font-size: 9px; }
.preview-audit { display: grid; gap: 8px; }
.preview-audit h3 { margin: 2px 0 5px; font-size: 11px; }
.audit-item { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line-soft); border-radius: 9px; padding: 9px; font-size: 8px; }
.audit-item.ok { color: var(--green-2); }
.audit-item.missing { color: #f3ca6b; }
.audit-item.actionable { width: 100%; justify-content: flex-start; background: rgba(241,199,91,.055); color: #f3ca6b; text-align: left; cursor: pointer; }
.audit-item.actionable:hover { border-color: rgba(241,199,91,.45); background: rgba(241,199,91,.1); }
.audit-item.actionable > span { display: grid; flex: 1; gap: 3px; }
.audit-item.actionable small { color: #c7b888; font-size: 8px; line-height: 1.45; }
.audit-item.actionable > .icon:last-child { width: 14px; height: 14px; }
.preview-audit .legal-service { display: grid; gap: 5px; }
.preview-audit .legal-service a { color: #b9adff; font-size: 8px; font-weight: 800; }
.modal-footer { display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--line); padding: 14px 18px; }
.warning-box { display: flex; gap: 10px; margin-bottom: 15px; border: 1px solid rgba(241, 199, 91, 0.22); border-radius: 10px; background: rgba(241, 199, 91, 0.07); padding: 12px; color: #eedda8; font-size: 9px; line-height: 1.55; }
.warning-box strong { display: block; margin-bottom: 2px; }
.note-tax-summary { margin-top: 16px; border: 1px solid rgba(139, 124, 246, .18); border-radius: 11px; background: rgba(139, 124, 246, .055); padding: 13px; }
.note-tax-summary > strong { display: block; margin-bottom: 10px; font-size: 10px; }

.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 150; display: grid; width: min(370px, calc(100vw - 40px)); gap: 9px; }
.toast { display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: #0f1c2f; padding: 12px; box-shadow: var(--shadow); animation: toastIn 220ms ease; }
.toast.success { border-color: rgba(25, 211, 151, .25); }
.toast.error { border-color: rgba(255, 107, 123, .28); }
.toast > span:nth-child(2) { display: grid; flex: 1; gap: 3px; }
.toast strong { font-size: 10px; }
.toast small { color: var(--muted); font-size: 8px; line-height: 1.45; }
@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } }

.danfse-stage { overflow: auto; background: #9ba4ae; padding: 24px; }
.danfse-paper { position: relative; width: 210mm; min-height: 297mm; margin: 0 auto; overflow: hidden; background: white; padding: 4mm; color: #0a0a0a; font-family: Arial, Helvetica, sans-serif; font-size: 8.5pt; }
.draft-watermark { position: absolute; top: 46%; left: 5%; z-index: 0; color: rgba(95, 95, 95, .12); font-size: 31pt; font-weight: 900; letter-spacing: .05em; transform: rotate(-38deg); white-space: nowrap; }
.danfse-paper > *:not(.draft-watermark) { position: relative; z-index: 1; }
.danfse-alert { border: 1px solid #923; background: #fff0f0; padding: 2mm; color: #7f1d1d; font-size: 8pt; font-weight: bold; text-align: center; }
.danfse-head { display: grid; grid-template-columns: 1fr 1.2fr 1fr; align-items: center; min-height: 18mm; border: 1px solid #111; border-top: 0; padding: 2mm; }
.nfse-logo { color: #2c9768; font-size: 27pt; font-weight: 900; letter-spacing: -0.08em; }
.nfse-logo small { display: block; margin-top: -2mm; color: #5e7184; font-size: 6pt; font-weight: 500; letter-spacing: 0; }
.danfse-title { text-align: center; }
.danfse-title strong { display: block; font-size: 11pt; }
.danfse-title span { font-size: 9pt; font-weight: bold; }
.danfse-env { font-size: 7pt; line-height: 1.4; }
.danfse-section { border: 1px solid #111; border-top: 0; }
.danfse-row { display: grid; grid-template-columns: repeat(4, 1fr); }
.danfse-row.cols-3 { grid-template-columns: repeat(3, 1fr); }
.danfse-row.cols-2 { grid-template-columns: repeat(2, 1fr); }
.danfse-cell { min-height: 12mm; border-right: 1px solid #222; padding: 1.4mm; }
.danfse-cell:last-child { border-right: 0; }
.danfse-cell label { display: block; margin-bottom: .8mm; font-size: 6.4pt; font-weight: 700; text-transform: uppercase; }
.danfse-cell strong, .danfse-cell span { display: block; overflow-wrap: anywhere; }
.danfse-section-title { border-bottom: 1px solid #111; background: #ececec; padding: 1mm 1.4mm; font-size: 7.5pt; font-weight: 800; text-transform: uppercase; }
.access-row { display: grid; grid-template-columns: 1fr 29mm; min-height: 27mm; }
.access-data { display: grid; grid-template-columns: repeat(3, 1fr); }
.access-data .wide { grid-column: 1 / -1; }
.qr-block { display: grid; place-items: center; border-left: 1px solid #111; padding: 2mm; }
.fake-qr { display: grid; width: 20mm; height: 20mm; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(13, 1fr); border: 1mm solid white; outline: .4mm solid black; background: white; }
.fake-qr i { background: white; }
.fake-qr i.on { background: black; }
.danfse-description { min-height: 18mm; padding: 2mm; white-space: pre-wrap; }
.receipt { position: absolute !important; right: 4mm; bottom: 4mm; left: 4mm; display: grid; grid-template-columns: 1fr 1fr 2fr; height: 12mm; border: 1px solid #111; }
.receipt > div { border-right: 1px solid #111; padding: 1.2mm; font-size: 6pt; }
.receipt > div:last-child { border-right: 0; }
.receipt strong { display: block; margin-bottom: 1mm; }
.danfse-actions { display: flex; justify-content: center; gap: 8px; border-top: 1px solid var(--line); background: #111a27; padding: 14px; }

.empty-state { display: grid; min-height: 250px; place-items: center; align-content: center; gap: 9px; color: var(--muted); text-align: center; }
.empty-state .metric-icon { width: 45px; height: 45px; }
.empty-state strong { color: var(--text); font-size: 12px; }
.empty-state p { max-width: 380px; margin: 0; font-size: 9px; line-height: 1.55; }

svg.icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.auth-body { min-height: 100vh; margin: 0; background: #06101d; color: var(--text); }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr); }
.auth-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 8vw, 120px); background: radial-gradient(circle at 20% 20%, rgba(124,92,255,.25), transparent 36%), radial-gradient(circle at 80% 70%, rgba(10,143,104,.18), transparent 35%); }
.auth-logo { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; background: linear-gradient(135deg, var(--purple-2), #28c99a); color: white; font-weight: 900; font-size: 19px; box-shadow: 0 20px 45px rgba(63,44,150,.35); }
.auth-brand p { margin: 24px 0 10px; color: #52d4ad; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.auth-brand h1 { max-width: 680px; margin: 0 0 18px; font-size: clamp(34px, 5vw, 64px); line-height: 1.02; letter-spacing: -.045em; }
.auth-brand > span:last-child { max-width: 590px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.auth-card { align-self: center; width: min(430px, calc(100% - 48px)); margin: 24px auto; padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: rgba(15,27,43,.96); box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.auth-card h2 { margin: 3px 0 8px; font-size: 25px; }
.auth-card > div > p:last-child { margin: 0 0 24px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.auth-card form { display: grid; gap: 16px; }
.auth-submit { width: 100%; min-height: 44px; margin-top: 4px; justify-content: center; }
.auth-error { margin-bottom: 16px; padding: 11px 13px; border: 1px solid rgba(255,107,123,.28); border-radius: 9px; background: rgba(255,107,123,.09); color: #ff9cab; font-size: 10px; }
.onboarding-panel { min-height: 410px; }
.check-line { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.check-line input { width: 16px; height: 16px; accent-color: var(--purple-2); }
.draft-document { position: relative; min-height: 470px; padding: 28px; overflow: hidden; border: 1px solid #b8c0ca; border-radius: 4px; background: white; color: #111827; }
.draft-document .draft-watermark { top: 43%; left: 7%; color: rgba(185,28,28,.12); font-size: 36px; transform: rotate(-25deg); }
.danfse-title { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; padding: 18px; border-radius: 7px; background: #0a8f68; color: white; }
.danfse-title strong { font-size: 28px; }
.danfse-title span { font-size: 13px; font-weight: 700; }
.draft-document .summary-list { border: 1px solid #cbd5e1; border-radius: 6px; }
.draft-document .summary-row { color: #334155; }
.draft-document .summary-row strong { color: #0f172a; }
a.primary-button, a.secondary-button { text-decoration: none; }

body.modal-open { overflow: hidden; }
.modal { width: min(720px, 100%); }
.modal.wide { width: min(1040px, 100%); }
.modal-header { padding: 22px 26px; }
.modal-header h2 { font-size: 20px; letter-spacing: -.025em; }
.modal-header p { margin-top: 6px; font-size: 11px; line-height: 1.5; }
.modal-kicker { margin: 0 0 5px !important; color: var(--green) !important; font-size: 9px !important; font-weight: 900; letter-spacing: .13em; }
.modal-body.spacious { padding: 26px; }
.modal-footer { position: sticky; bottom: 0; z-index: 4; align-items: center; background: rgba(11,23,40,.98); padding: 18px 26px; backdrop-filter: blur(10px); }
.modal-safe-copy { margin-right: auto; color: var(--muted); font-size: 10px; }
.modal .form-grid { gap: 19px; }
.modal label.field { gap: 8px; font-size: 12px; }
.modal input, .modal select, .modal textarea { padding: 12px 14px; font-size: 14px; }
.modal input, .modal select { min-height: 48px; }
.modal textarea { min-height: 120px; }
.modal .service-description, .emission-page .service-description { min-height: 150px; font-size: 14px; line-height: 1.65; }
.modal .field-help { font-size: 10px; }
.modal .section-title h2 { font-size: 15px; }
.modal .section-title p { font-size: 10px; }

.municipality-control { position: relative; }
.municipality-selected { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: var(--muted); font-size: 10px; }
.municipality-selected.valid { color: var(--green-2); }
.municipality-results { position: absolute; top: 72px; right: 0; left: 0; z-index: 20; max-height: 270px; overflow-y: auto; border: 1px solid #405475; border-radius: 11px; background: #0e1b2e; padding: 6px; box-shadow: var(--shadow); }
.municipality-results button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px; border: 0; border-radius: 8px; background: transparent; padding: 11px 12px; color: var(--text); text-align: left; cursor: pointer; }
.municipality-results button:hover { background: var(--purple-soft); }
.municipality-results button strong { font-size: 12px; }
.municipality-results button span { color: var(--muted); font-size: 10px; }
.municipality-loading { padding: 16px; color: var(--muted); font-size: 11px; text-align: center; }
.municipality-loading.error { color: var(--red); }
.cep-status { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; font-weight: 500; }
.cep-status.loading { color: var(--purple-2); }
.cep-status.valid { color: var(--green-2); }
.cep-status.error { color: var(--red); }

.emission-page { max-width: 1320px; }
.emission-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: -5px 0 18px; }
.emission-progress span { display: flex; align-items: center; gap: 9px; border-top: 3px solid var(--line); padding: 10px 2px 0; color: var(--muted); font-size: 11px; }
.emission-progress span.active { border-color: var(--purple-2); color: var(--text); }
.emission-progress b { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; }
.emission-form-panel { padding: 24px; }
.emission-form-panel label.field { font-size: 11px; }
.emission-form-panel input, .emission-form-panel select, .emission-form-panel textarea { padding: 12px 13px; font-size: 13px; }
.emission-form-panel input, .emission-form-panel select { min-height: 46px; }
.legal-service { display: grid; gap: 6px; border: 1px solid rgba(117,96,255,.28); border-radius: 11px; background: rgba(117,96,255,.07); padding: 14px; }
.legal-service > span { color: var(--purple-2); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.legal-service strong { font-size: 13px; }
.legal-service small { color: var(--muted); font-size: 10px; }
.service-detail-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: rgba(255,255,255,.025); }
.service-detail-card > span { display: grid; gap: 4px; }
.service-detail-card > span strong { font-size: 12px; }
.service-detail-card > span small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.service-detail-card.required { border-color: rgba(255,178,54,.55); background: rgba(255,178,54,.08); }
.service-detail-card.required .icon { color: #ffb236; }
.service-detail-card.valid { border-color: rgba(37,211,153,.45); background: rgba(37,211,153,.07); }
.service-detail-card.valid .icon { color: #25d399; }
.detail-modal-section { display: grid; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.detail-modal-section:first-child { padding-top: 0; }
.detail-modal-section:last-child { border-bottom: 0; padding-bottom: 0; }
.detail-modal-section .section-title h3 { margin: 0; font-size: 15px; }
.detail-modal-section .section-title p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.input-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.portal-install-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.portal-install-steps > span { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; border: 1px solid var(--line); background: rgba(255,255,255,.025); border-radius: 12px; padding: 14px; }
.portal-install-steps b { grid-row: 1 / span 2; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(117,96,255,.18); color: var(--purple-2); }
.portal-install-steps strong { font-size: 11px; }
.portal-install-steps small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.rtc-summary { display: grid; gap: 5px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(148,163,184,.04); padding: 13px 14px; }
.rtc-summary strong { font-size: 11px; }
.rtc-summary span { color: var(--muted); font-size: 9px; line-height: 1.5; }
.rtc-summary.confirmed { border-color: rgba(25,211,151,.3); background: rgba(25,211,151,.05); }
.rtc-summary.confirmed strong { color: var(--green-2); }
.rtc-summary.pending { border-color: rgba(241,199,91,.3); background: rgba(241,199,91,.045); }
.rtc-summary.pending strong { color: var(--yellow); }
.rtc-config-card { border: 1px solid rgba(117,96,255,.28); border-radius: 13px; background: rgba(117,96,255,.045); padding: 18px; }
.rtc-config-card > .toggle-field { margin-bottom: 14px; }
.rtc-source { display: grid; gap: 5px; margin-bottom: 16px; border-left: 3px solid var(--purple); background: rgba(117,96,255,.06); padding: 11px 13px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.rtc-source strong { color: var(--text); font-size: 11px; }
.rtc-source small { color: var(--subtle); font-size: 8px; }
.rtc-confirm { margin-top: 15px; color: #dce7f5; font-size: 11px; line-height: 1.5; }
.compact-warning { margin: 13px 0 0; }
.preparation-panel { min-height: 260px; }
.preparation-actions { display: flex; gap: 10px; margin-top: 28px; }

.tax-decision { overflow: hidden; border: 1px solid rgba(25,211,151,.25); border-radius: 13px; background: rgba(25,211,151,.035); }
.tax-decision.needs-review { border-color: rgba(241,199,91,.3); background: rgba(241,199,91,.035); }
.tax-decision-head { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line-soft); padding: 15px; }
.decision-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--green-soft); color: var(--green); }
.needs-review .decision-icon { background: rgba(241,199,91,.1); color: var(--yellow); }
.tax-decision-head > span:nth-child(2) { display: grid; flex: 1; gap: 4px; }
.tax-decision-head strong { font-size: 13px; }
.tax-decision-head small { color: var(--muted); font-size: 10px; }
.tax-decision-head b { border-radius: 999px; background: var(--green-soft); padding: 6px 9px; color: var(--green-2); font-size: 8px; }
.needs-review .tax-decision-head b { background: rgba(241,199,91,.1); color: var(--yellow); }
.tax-decision .tax-grid { gap: 0; }
.tax-decision .tax-row { border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: transparent; padding: 14px 15px; }
.tax-decision .tax-row > span:first-child { gap: 5px; }
.tax-decision .tax-row strong { font-size: 11px; }
.tax-decision .tax-row small { font-size: 9px; }
.tax-decision .tax-row .tax-status { color: #dbe8f8; font-size: 10px; font-weight: 800; }
.tax-decision .tax-row em { color: var(--purple-2); font-size: 8px; font-style: normal; }
.tax-ok, .tax-blockers { margin: 13px; border-radius: 9px; padding: 11px 13px; background: var(--green-soft); color: #bdebdc; font-size: 10px; }
.tax-blockers { background: rgba(241,199,91,.08); color: #f5df9c; }
.tax-disclaimer { margin: 0; padding: 0 15px 15px; color: var(--subtle); font-size: 8px; line-height: 1.55; }

.integration-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 13px; }
.integration-status { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--panel); padding: 13px; }
.integration-status.ok { border-color: rgba(25,211,151,.2); }
.integration-status.cooldown { border-color: rgba(117,96,255,.28); background: rgba(117,96,255,.06); }
.integration-status.cooldown > svg { color: var(--purple-2); }
.integration-status.warning { border-color: rgba(241,199,91,.35); background: rgba(241,199,91,.07); }
.integration-status.warning > svg { color: var(--yellow); }
.integration-status > svg { color: var(--green); }
.integration-status > span { display: grid; gap: 3px; }
.integration-status strong { font-size: 11px; }
.integration-status small { color: var(--muted); font-size: 9px; }
.sync-diagnostics { margin-top: 14px; overflow: hidden; border: 1px solid rgba(241,199,91,.32); border-radius: 13px; background: rgba(241,199,91,.045); }
.sync-diagnostics-head { display: flex; align-items: center; gap: 11px; border-bottom: 1px solid rgba(241,199,91,.18); padding: 14px; }
.sync-diagnostics-head > svg { color: var(--yellow); }
.sync-diagnostics-head > span { display: grid; gap: 4px; }
.sync-diagnostics-head strong { font-size: 11px; }
.sync-diagnostics-head small { color: var(--muted); font-size: 9px; }
.sync-diagnostic-grid { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 10px; padding: 13px; }
.sync-diagnostic-grid article { border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(8,20,37,.72); padding: 13px; }
.sync-diagnostic-grid b { font-size: 10px; }
.sync-diagnostic-grid p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.sync-diagnostic-grid article > strong { display: block; margin-top: 8px; color: #f5df9c; font-size: 9px; line-height: 1.5; }
.sync-diagnostic-ok { border-color: rgba(25,211,151,.25) !important; }
.sync-diagnostic-ok b { color: var(--green-2); }
.sync-result-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.sync-result-summary span { display: grid; gap: 5px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(255,255,255,.02); padding: 13px; text-align: center; }
.sync-result-summary b { font-size: 20px; }
.sync-result-summary small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.sync-issue-card { display: grid; grid-template-columns: 38px 1fr; gap: 13px; margin-top: 14px; border: 1px solid rgba(241,199,91,.34); border-radius: 12px; background: rgba(241,199,91,.06); padding: 14px; }
.sync-issue-card > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: rgba(241,199,91,.12); color: var(--yellow); }
.sync-issue-card h3 { margin: 0; font-size: 12px; }
.sync-issue-card p { margin: 7px 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.sync-issue-card strong { display: block; color: #f5df9c; font-size: 10px; line-height: 1.5; }
.sync-issue-card small { display: block; margin-top: 8px; color: var(--subtle); font-size: 8px; }
.sync-issue-card.success { border-color: rgba(25,211,151,.3); background: rgba(25,211,151,.06); }
.sync-issue-card.success > span { background: rgba(25,211,151,.12); color: var(--green-2); }
.cooldown-note span { display: grid; gap: 3px; }
.document-key { display: block; max-width: 240px; overflow: hidden; color: #b8c8dc; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.small-button { min-height: 32px; padding: 0 10px; font-size: 9px; white-space: nowrap; }
.document-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.catalog-law { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.guided-pending { position: relative; z-index: 2; border-radius: 12px; outline: 3px solid rgba(241,199,91,.78) !important; outline-offset: 4px; animation: pending-pulse 1.25s ease-in-out 4; }
@keyframes pending-pulse { 50% { outline-color: rgba(117,96,255,.9); box-shadow: 0 0 0 10px rgba(117,96,255,.08); } }
.pgdas-import-panel { margin: 14px 0; border-color: rgba(96,211,167,.3); background: linear-gradient(135deg,rgba(22,64,74,.36),rgba(14,27,47,.96)); }
.pgdas-import-panel .panel-header { gap: 18px; }
.pgdas-import-panel .page-actions { flex-wrap: wrap; justify-content: flex-end; }
.pgdas-review-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.pgdas-review-grid article { display: flex; flex-direction: column; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(8,20,37,.68); }
.pgdas-review-grid span { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.pgdas-review-grid strong { color: var(--text); font-size: 13px; }
.iss-assistant-card { width: 100%; display: grid; grid-template-columns: minmax(200px,1.35fr) repeat(3,minmax(130px,1fr)) auto; align-items: center; gap: 10px; margin: 12px 0; padding: 14px; border: 1px solid rgba(123,97,255,.45); border-radius: 14px; background: linear-gradient(135deg,rgba(83,54,175,.2),rgba(10,24,43,.85)); color: var(--text); text-align: left; cursor: pointer; }
.iss-assistant-card:hover { border-color: var(--purple-2); transform: translateY(-1px); }
.iss-assistant-card > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.iss-assistant-card .iss-assistant-heading { display: grid; grid-template-columns: auto 1fr; column-gap: 9px; align-items: center; }
.iss-assistant-heading .icon { grid-row: 1/3; color: var(--purple-2); }
.iss-assistant-heading small { grid-column: 2; color: var(--muted); }
.iss-assistant-card b { color: var(--purple-2); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.iss-assistant-card em { overflow: hidden; color: var(--text); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.audit-item.iss-action { border-color: rgba(123,97,255,.45); background: rgba(83,54,175,.14); }
.iss-assistant-steps { display: grid; gap: 12px; }
.iss-assistant-steps article { display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(8,20,37,.7); }
.iss-assistant-steps article > b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: rgba(123,97,255,.18); color: #b7aaff; }
.iss-assistant-steps article > span { display: flex; flex-direction: column; gap: 5px; }
.iss-assistant-steps small { color: var(--purple-2); font-size: 9px; letter-spacing: .1em; }
.iss-assistant-steps strong { font-size: 14px; }
.iss-assistant-steps p, .iss-assistant-steps em, .iss-assistant-steps cite { margin: 0; font-size: 11px; line-height: 1.5; }
.iss-assistant-steps em { color: var(--muted); font-style: normal; }
.iss-assistant-steps cite { color: #8aa8d3; font-style: normal; }
.iss-assistant-steps a { color: var(--purple-2); font-size: 11px; }
@media (max-width: 900px) { .pgdas-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .iss-assistant-card { grid-template-columns: 1fr; } .iss-assistant-card > .icon { display: none; } }
@media (max-width: 560px) { .pgdas-review-grid { grid-template-columns: 1fr; } .pgdas-import-panel .page-actions { width: 100%; } .pgdas-import-panel .page-actions > * { width: 100%; justify-content: center; } .iss-assistant-steps article { grid-template-columns: 30px 1fr; padding: 12px; } .iss-assistant-steps article > b { width: 28px; height: 28px; } }
.mobile-nav { display: none; }
.mobile-portal-list { display: grid; gap: 9px; }
.mobile-portal-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(255,255,255,.025); padding: 11px 12px; }
.mobile-portal-field > span { display: grid; min-width: 0; gap: 4px; }
.mobile-portal-field small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mobile-portal-field strong { overflow: hidden; color: #e9f1fb; font-size: 10px; line-height: 1.45; text-overflow: ellipsis; }
.mobile-portal-field button { min-width: 64px; }
.mobile-portal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 16px; }

@media (max-width: 800px) {
  .auth-layout { grid-template-columns: 1fr; }
  .auth-brand { display: none; }
  .auth-card { align-self: center; }
}

@media (max-width: 1120px) {
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emission-layout { grid-template-columns: 1fr; }
  .summary-card { position: static; }
  .top-action span:not([data-icon]), .top-action kbd { display: none; }
}

@media (max-width: 900px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 270px; transform: translateX(-105%); transition: transform 220ms ease; }
  .sidebar.open { transform: translateX(0); box-shadow: 20px 0 50px rgba(0,0,0,.4); }
  .menu-button { display: inline-grid !important; }
  .topbar { padding: 0 15px; }
  .company-switcher { min-width: 0; flex: 1; }
  .topbar-actions .environment-status, .topbar-actions .compact-action { display: none; }
  #app-content { padding: 22px 16px 92px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .settings-tax-layout, .simples-workspace, .simples-detail-grid { grid-template-columns: 1fr; }
  .danfse-preview-grid { grid-template-columns: 1fr; }
  .quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .provider-flow { grid-template-columns: repeat(2, 1fr); }
  .provider-step:nth-child(2)::after { display: none; }
  .company-menu { left: 68px; width: calc(100% - 84px); }
  .mobile-nav { position: fixed; z-index: 80; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); left: 10px; display: grid; grid-template-columns: repeat(5,1fr); min-height: 60px; border: 1px solid var(--line); border-radius: 17px; background: rgba(8,18,32,.96); box-shadow: 0 18px 50px rgba(0,0,0,.45); padding: 6px; backdrop-filter: blur(18px); }
  .mobile-nav a, .mobile-nav button { display: grid; place-items: center; gap: 3px; border: 0; border-radius: 12px; background: transparent; color: var(--muted); font: inherit; text-decoration: none; }
  .mobile-nav .icon { width: 18px; height: 18px; }
  .mobile-nav small { font-size: 8px; font-weight: 800; }
  .mobile-nav .mobile-issue { background: linear-gradient(135deg,var(--purple),#8b65ff); color: white; }
}

@media (max-width: 640px) {
  .metrics-grid, .cards-grid, .quick-actions, .form-grid, .form-grid.cols-3, .projection-metrics, .annex-comparison, .document-breakdown, .sync-result-summary, .sync-diagnostic-grid, .chart-summary-strip { grid-template-columns: 1fr; }
  .tax-distribution > div { grid-template-columns:64px minmax(55px,1fr) 82px; }
  .tax-distribution small { display:none; }
  .projection-actions { align-items: stretch; flex-direction: column; }
  .page-header { align-items: flex-start; flex-direction: column; }
  .header-actions { width: 100%; }
  .header-actions > * { flex: 1; }
  .stepper { grid-template-columns: repeat(4, minmax(62px, 1fr)); overflow-x: auto; }
  .step-button { justify-content: center; padding: 8px 4px; }
  .step-button strong { display: none; }
  .tax-row { grid-template-columns: 1fr auto; }
  .tax-row .tax-amount { grid-column: 1 / -1; text-align: left; }
  .config-layout { grid-template-columns: 1fr; }
  .config-nav { grid-template-columns: repeat(3, 1fr); }
  .provider-flow { grid-template-columns: 1fr; }
  .provider-step::after { display: none; }
  .regime-pill { display: none; }
  .company-switcher { padding-right: 6px; }
  .company-switcher strong { max-width: 145px; }
  .modal-backdrop { align-items: start; padding: 10px; }
  .modal { max-height: calc(100vh - 20px); }
  .filters .search-field, .filters .filter-select { width: 100%; }
  .danfse-stage { padding: 8px; }
  .danfse-paper { transform-origin: top left; }
  .integration-grid, .document-actions { grid-template-columns: 1fr; }
  .emission-progress { grid-template-columns: repeat(2,1fr); }
  .modal-footer { flex-wrap: wrap; }
  .modal-safe-copy { width: 100%; }
  .settings-tabs { width: 100%; overflow-x: auto; }
  .settings-tabs button { flex: 1; padding-inline: 10px; }
  .mobile-portal-actions { grid-template-columns: 1fr; }
}

.municipal-preflight { display: flex; align-items: center; gap: 11px; border: 1px solid rgba(117,96,255,.28); border-radius: 11px; background: rgba(117,96,255,.07); padding: 13px 14px; color: #dfe5f2; }
.municipal-preflight .icon { flex: 0 0 auto; color: var(--purple-2); }
.municipal-preflight > span { display: grid; flex: 1; gap: 4px; }
.municipal-preflight strong { font-size: 11px; }
.municipal-preflight small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.municipal-preflight b { border-radius: 999px; background: var(--green-soft); padding: 6px 9px; color: var(--green-2); font-size: 8px; }
.municipal-preflight.valid { border-color: rgba(25,211,151,.28); background: var(--green-soft); }
.municipal-preflight.valid .icon { color: var(--green-2); }
.municipal-preflight.blocked { border-color: rgba(255,86,111,.35); background: rgba(255,86,111,.08); }
.municipal-preflight.blocked .icon, .municipal-preflight.blocked strong { color: #ff8ca0; }
.municipal-preflight.warning { border-color: rgba(241,199,91,.3); background: rgba(241,199,91,.07); }
.municipal-preflight.warning .icon, .municipal-preflight.warning strong { color: var(--yellow); }
.municipal-preflight.pending .icon { animation: spin 1.1s linear infinite; }
.preview-validation { margin-bottom: 14px; }

@keyframes spin { to { transform: rotate(360deg); } }

@media print {
  @page { size: A4; margin: 0; }
  body.printing { background: white !important; }
  body.printing .app-shell, body.printing .modal-header, body.printing .danfse-actions { display: none !important; }
  body.printing .modal-backdrop { position: static; display: block !important; overflow: visible; background: white; padding: 0; }
  body.printing .modal { width: auto; max-height: none; overflow: visible; border: 0; background: white; box-shadow: none; }
  body.printing .danfse-stage { overflow: visible; background: white; padding: 0; }
  body.printing .danfse-paper { width: 210mm; min-height: 297mm; margin: 0; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
