:root {
  color-scheme: light;
  --sta-bg: #F4F9FD;
  --sta-surface: #FFFFFF;
  --sta-blue-soft: #EAF6FF;
  --sta-primary: #1677C8;
  --sta-deep: #123A5A;
  --sta-cyan: #19A7CE;
  --sta-text: #17324D;
  --sta-muted: #63788A;
  --sta-border: #DDEAF2;
  --sta-success: #1E9B63;
  --sta-warning: #E5A11A;
  --sta-danger: #D84A4A;
  --sta-shadow: 0 18px 45px rgba(18, 58, 90, .10);
  font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-width: 320px; min-height: 100%; background: var(--sta-bg); color: var(--sta-text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
label { display: grid; gap: 7px; color: var(--sta-deep); font-size: 13px; font-weight: 700; }
input, select, textarea {
  width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--sta-border);
  border-radius: 11px; background: white; color: var(--sta-text); outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--sta-primary); box-shadow: 0 0 0 3px rgba(22,119,200,.12); }
textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.primary, .secondary, .icon-button {
  border-radius: 11px; padding: 11px 15px; font-weight: 800; border: 1px solid transparent;
}
.primary { background: var(--sta-primary); color: white; border-color: var(--sta-primary); }
.primary:hover { background: #1069B2; }
.secondary, .icon-button { background: white; color: var(--sta-deep); border-color: var(--sta-border); }
.full { width: 100%; }

.auth-page { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; }
.auth-brand {
  padding: clamp(42px, 7vw, 100px); color: white; display: flex; flex-direction: column; justify-content: center;
  background: radial-gradient(circle at 85% 15%, rgba(25,167,206,.35), transparent 35%), linear-gradient(145deg, #123A5A, #0C2B45);
}
.auth-brand > img { width: min(310px, 72%); filter: brightness(0) invert(1); margin-bottom: 36px; }
.auth-brand h1 { max-width: 700px; margin: 18px 0 14px; font-size: clamp(34px, 4vw, 62px); line-height: 1.02; letter-spacing: -2px; }
.auth-brand > p { max-width: 650px; color: #C8E0ED; font-size: 17px; line-height: 1.65; margin: 0 0 30px; }
.auth-feature { display: grid; gap: 4px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.13); max-width: 650px; }
.auth-feature strong { font-size: 14px; }
.auth-feature span { color: #B9DAEE; font-size: 13px; }
.auth-card { width: min(460px, calc(100% - 40px)); margin: auto; padding: 34px; border: 1px solid var(--sta-border); border-radius: 24px; background: white; box-shadow: var(--sta-shadow); }
.auth-card h2 { margin: 0; font-size: 28px; letter-spacing: -.7px; }
.auth-card > p { margin: 8px 0 24px; color: var(--sta-muted); line-height: 1.5; }
.mobile-logo { display: none; }
.form-stack { display: grid; gap: 15px; }
.auth-links { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }
.auth-links button { padding: 4px 0; border: 0; background: transparent; color: var(--sta-primary); font-size: 13px; font-weight: 800; }
.eyebrow { display: inline-flex; width: fit-content; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 999px; background: var(--sta-blue-soft); color: var(--sta-primary); font-weight: 900; font-size: 11px; }
.auth-brand .eyebrow { background: rgba(255,255,255,.10); color: #BCE9FA; }
.dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.feedback { margin: 0 0 18px; padding: 13px 15px; border-radius: 12px; font-size: 13px; line-height: 1.45; }
.feedback.success { background: #E8F8F0; border: 1px solid #BCE7D2; color: #147348; }
.feedback.error { background: #FFF0F0; border: 1px solid #F0C7C7; color: #A52F2F; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 26px 18px; background: linear-gradient(180deg, #103B5D, #0D2D48); color: white; overflow: hidden; }
.brand { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 4px 8px 20px; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand img { width: 48px; height: 48px; object-fit: contain; }
.brand strong, .brand span { display: block; }
.brand strong { font-size: 18px; }
.brand span { margin-top: 3px; color: #B9DAEE; font-size: 12px; }
.nav { display: grid; gap: 7px; margin-top: 24px; }
.nav button { display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px 14px; border: 0; border-radius: 12px; background: transparent; color: #D9EDF8; text-align: left; }
.nav button:hover, .nav button.active { background: rgba(25,167,206,.18); color: white; }
.nav-icon { width: 24px; text-align: center; }
.sidebar-footer { position: absolute; left: 18px; right: 18px; bottom: 22px; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.06); color: #C8E0ED; font-size: 12px; }
.content { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 76px; padding: 16px 30px; border-bottom: 1px solid var(--sta-border); background: rgba(255,255,255,.90); backdrop-filter: blur(14px); }
.topbar h1 { margin: 0; font-size: 20px; }
.topbar p { margin: 3px 0 0; color: var(--sta-muted); font-size: 13px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.user-label { display: grid; text-align: right; }
.user-label strong { font-size: 13px; }
.user-label small { color: var(--sta-muted); }
.avatar { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; background: var(--sta-blue-soft); color: var(--sta-primary); font-weight: 900; }
main { padding: 30px; }
.card, .hero-card { border: 1px solid var(--sta-border); border-radius: 20px; background: var(--sta-surface); box-shadow: var(--sta-shadow); }
.hero.single { display: grid; max-width: 970px; margin: 20px auto; }
.hero-card { padding: 30px; }
.hero-card h2 { margin: 17px 0 9px; font-size: 30px; }
.hero-card p { color: var(--sta-muted); line-height: 1.6; }
.inline-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 14px; margin-top: 24px; }
.account-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 18px 20px; margin-bottom: 18px; border: 1px solid var(--sta-border); border-radius: 16px; background: white; }
.account-toolbar label { min-width: min(420px, 65vw); }
.account-toolbar > div { text-align: right; }
.account-toolbar span, .account-toolbar strong { display: block; }
.account-toolbar span { color: var(--sta-muted); font-size: 12px; }
.account-toolbar strong { margin-top: 4px; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.metric { padding: 19px; }
.metric span, .metric small { display: block; color: var(--sta-muted); }
.metric span { font-size: 12px; }
.metric strong { display: block; margin-top: 8px; font-size: 28px; }
.metric small { margin-top: 7px; }
.off-text { color: var(--sta-warning); }
.section-grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 18px; margin-top: 18px; }
.section-card { padding: 22px; }
.section-card h3 { margin: 0; font-size: 16px; }
.section-card > p { margin: 6px 0 18px; color: var(--sta-muted); font-size: 13px; }
.invitations-card { margin-top: 18px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 10px; border-bottom: 1px solid var(--sta-border); text-align: left; font-size: 13px; vertical-align: middle; }
th { color: var(--sta-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .4px; }
td strong, td small { display: block; }
td small { margin-top: 4px; color: var(--sta-muted); }
.row-actions { display: flex; align-items: center; gap: 8px; }
.row-actions select { min-width: 145px; min-height: 36px; padding: 7px 9px; }
.danger-link { border: 0; background: transparent; color: var(--sta-danger); font-weight: 800; }
.role-pill, .status-chip { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: var(--sta-blue-soft); color: var(--sta-primary); font-size: 11px; font-weight: 900; }
.status-chip.accepted { background: #E8F8F0; color: #147348; }
.status-chip.revoked, .status-chip.expired { background: #F4F1F1; color: #735D5D; }
.invite-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 17px 20px; border: 1px solid #BBDDED; border-radius: 16px; background: #EAF6FF; }
.invite-banner strong, .invite-banner span { display: block; }
.invite-banner span { margin-top: 4px; color: var(--sta-muted); font-size: 13px; }
.notice { padding: 15px; border: 1px solid #F1D79D; border-radius: 12px; background: #FFF9EA; color: #72520E; font-size: 13px; }
.generated-link { display: grid; gap: 9px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--sta-border); }
.generated-link strong { font-size: 13px; }

@media (max-width: 1100px) {
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-grid { grid-template-columns: 1fr; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-brand { display: none; }
  .mobile-logo { display: block; margin-bottom: 24px; }
  .mobile-logo img { width: 190px; }
  .auth-card { margin: 50px auto; }
}
@media (max-width: 760px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .topbar { padding: 14px 18px; }
  .user-label { display: none; }
  main { padding: 18px; }
  .grid { grid-template-columns: 1fr; }
  .inline-form { grid-template-columns: 1fr; }
  .account-toolbar { align-items: stretch; flex-direction: column; }
  .account-toolbar label { min-width: 0; }
  .account-toolbar > div { text-align: left; }
  .invite-banner { align-items: stretch; flex-direction: column; }
  .row-actions { align-items: stretch; flex-direction: column; }
  .auth-card { width: calc(100% - 24px); margin: 24px auto; padding: 24px; }
}

.compact { min-height: 34px; padding: 7px 10px; font-size: 12px; }
.developers-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scope-fieldset { margin: 0; padding: 14px; border: 1px solid var(--sta-border); border-radius: 14px; }
.scope-fieldset legend { padding: 0 6px; color: var(--sta-deep); font-size: 13px; font-weight: 800; }
.scope-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.scope-option { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--sta-border); border-radius: 11px; background: #FAFCFE; font-weight: 400; cursor: pointer; }
.scope-option input { width: 17px; min-height: 17px; margin: 2px 0 0; }
.scope-option span, .scope-option strong, .scope-option small { display: block; }
.scope-option strong { color: var(--sta-text); font-size: 12px; }
.scope-option small { margin-top: 3px; color: var(--sta-muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; }
.security-summary ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.security-summary li { padding: 12px 0; border-bottom: 1px solid var(--sta-border); }
.security-summary li:last-child { border-bottom: 0; }
.security-summary li strong, .security-summary li span { display: block; }
.security-summary li strong { font-size: 13px; }
.security-summary li span { margin-top: 4px; color: var(--sta-muted); font-size: 12px; line-height: 1.45; }
.api-key-table { margin-top: 18px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.scope-list { display: flex; flex-wrap: wrap; gap: 5px; max-width: 360px; }
.scope-list span { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #EFF5F8; color: #36566B; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; font-weight: 700; }
.environment-chip { display: inline-flex; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.environment-chip.test { background: #FFF6DD; color: #8A6200; }
.environment-chip.live { background: #E8F8F0; color: #147348; }
.status-chip.active { background: #E8F8F0; color: #147348; }
.status-chip.revoked, .status-chip.expired { background: #F4F1F1; color: #735D5D; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; }
.secret-reveal { display: grid; grid-template-columns: minmax(200px, .8fr) minmax(280px, 1.4fr) auto auto; align-items: center; gap: 14px; margin-bottom: 18px; padding: 18px; border: 1px solid #9DD3B9; border-radius: 16px; background: #EAF9F1; box-shadow: 0 12px 28px rgba(30, 155, 99, .08); }
.secret-reveal > div span, .secret-reveal > div strong { display: block; }
.secret-reveal > div span { color: #147348; font-size: 10px; font-weight: 900; letter-spacing: .5px; }
.secret-reveal > div strong { margin-top: 4px; color: #0D5938; font-size: 13px; }
.secret-reveal code { display: block; min-width: 0; padding: 12px; border: 1px dashed #8FC7AC; border-radius: 10px; background: white; color: #123A5A; font-size: 12px; word-break: break-all; user-select: all; }

@media (max-width: 1050px) {
  .developers-grid { grid-template-columns: 1fr; }
  .secret-reveal { grid-template-columns: 1fr; align-items: stretch; }
}
@media (max-width: 760px) {
  .field-row, .scope-options { grid-template-columns: 1fr; }
  .section-heading { align-items: stretch; flex-direction: column; }
}

.devices-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 18px; margin-top: 18px; }
.computer-detail { margin-top: 18px; }
.computer-detail h4 { margin: 22px 0 10px; font-size: 14px; }
.detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.detail-grid > div { padding: 14px; border: 1px solid var(--sta-border); border-radius: 13px; background: #F8FBFD; }
.detail-grid span, .detail-grid strong { display: block; }
.detail-grid span { color: var(--sta-muted); font-size: 11px; }
.detail-grid strong { margin-top: 6px; font-size: 13px; }
.status-chip.pending { background: #FFF6DD; color: #8A6200; }
.status-chip.online { background: #E8F8F0; color: #147348; }
.status-chip.offline { background: #EDF2F6; color: #486273; }

@media (max-width: 1050px) {
  .devices-grid { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .detail-grid { grid-template-columns: 1fr; }
}

.feedback.warning { background: #FFF8E8; color: #7B5700; border: 1px solid rgba(229, 161, 26, .35); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.success-text { color: var(--sta-success); }
.clean-list { margin: 0; padding-left: 18px; color: var(--sta-muted); line-height: 1.8; }
.download-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.download-card { display: grid; gap: 5px; padding: 16px; border: 1px solid var(--sta-border); border-radius: 16px; color: var(--sta-deep); text-decoration: none; background: #fff; }
.download-card:hover { border-color: var(--sta-primary); box-shadow: var(--sta-shadow); }
.download-card span { color: var(--sta-muted); font-size: 13px; }
.version-footnote { margin-top: 8px; color: #B9DAEE; font-size: 11px; line-height: 1.4; }
@media (max-width: 760px) { .download-grid { grid-template-columns: 1fr; } }

/* v2.0.16 — dispositivos e diagnóstico de versões */
.device-filters, .devices-table-card { margin-top: 18px; }
.filter-grid { display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, .7fr)); gap: 12px; margin-top: 16px; }
.device-row-actions { min-width: 310px; flex-wrap: wrap; }
.status-chip.disabled { background: #FFF0E6; color: #9A4B11; }
.status-chip.revoked { background: #F4F1F1; color: #735D5D; }
.compatibility-chip { display: inline-flex; width: fit-content; align-items: center; justify-content: center; padding: 6px 9px; border: 1px solid transparent; border-radius: 999px; white-space: nowrap; font-size: 10px; font-weight: 900; }
.compatibility-chip.compatible { background: #E8F8F0; border-color: #BCE7D2; color: #147348; }
.compatibility-chip.update_available { background: #EAF6FF; border-color: #BFDCF0; color: #126AA7; }
.compatibility-chip.update_required { background: #FFF6DD; border-color: #EFD58A; color: #8A6200; }
.compatibility-chip.incompatible { background: #FFF0F0; border-color: #F0C7C7; color: #A52F2F; }
.compatibility-chip.rollout { background: #F1EDFF; border-color: #D7CEF6; color: #5E47A5; }
.compatibility-chip.rollback { background: #FFF0E6; border-color: #EFC6AA; color: #9A4B11; }
.compatibility-chip.unknown { background: #EDF2F6; border-color: #D5E0E7; color: #486273; }
.device-detail-heading { align-items: flex-start; }
.device-detail-heading h3 { margin-top: 10px; }
.compatibility-alert { display: grid; gap: 5px; margin-top: 16px; padding: 14px 16px; border: 1px solid var(--sta-border); border-radius: 13px; background: #F8FBFD; }
.compatibility-alert strong { font-size: 13px; }
.compatibility-alert span { color: var(--sta-muted); font-size: 12px; line-height: 1.45; }
.compatibility-alert.update_available { background: #EAF6FF; border-color: #BFDCF0; }
.compatibility-alert.update_required { background: #FFF6DD; border-color: #EFD58A; }
.compatibility-alert.incompatible { background: #FFF0F0; border-color: #F0C7C7; }
.compatibility-alert.rollout { background: #F1EDFF; border-color: #D7CEF6; }
.compatibility-alert.rollback { background: #FFF0E6; border-color: #EFC6AA; }
.diagnostic-reason { display: grid; gap: 5px; margin-top: 14px; }
.diagnostic-reason strong, .diagnostic-reason span { display: block; }
.version-matrix, .runtime-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.version-matrix > div, .runtime-summary > div { min-width: 0; padding: 14px; border: 1px solid var(--sta-border); border-radius: 13px; background: #F8FBFD; }
.version-matrix span, .version-matrix strong, .version-matrix small,
.runtime-summary span, .runtime-summary strong, .runtime-summary small { display: block; }
.version-matrix > div > span:first-child, .runtime-summary span { color: var(--sta-muted); font-size: 11px; }
.version-matrix strong, .runtime-summary strong { margin-top: 6px; font-size: 13px; overflow-wrap: anywhere; }
.version-matrix small, .runtime-summary small { margin: 5px 0 8px; color: var(--sta-muted); font-size: 10px; overflow-wrap: anywhere; }
.runtime-summary { margin-top: 16px; }
.device-printers { display: grid; gap: 10px; }
.device-printer-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid var(--sta-border); border-radius: 13px; background: #FAFCFE; }
.device-printer-row strong, .device-printer-row span { display: block; }
.device-printer-row span { margin-top: 4px; color: var(--sta-muted); font-size: 11px; }
.empty-state { display: grid; gap: 5px; padding: 18px; border: 1px dashed var(--sta-border); border-radius: 14px; background: #FAFCFE; }
.empty-state span { color: var(--sta-muted); font-size: 12px; line-height: 1.45; }

@media (max-width: 1250px) {
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .version-matrix, .runtime-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .filter-grid, .version-matrix, .runtime-summary { grid-template-columns: 1fr; }
  .device-printer-row { align-items: stretch; flex-direction: column; }
  .device-row-actions { min-width: 0; }
}


/* v2.0.18 — API REST pública v1 e documentação */
.print-workspace { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 18px; }
.manual-print-card { min-width: 0; }
.manual-print-form { display: grid; gap: 16px; margin-top: 18px; }
.print-mode-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.print-mode { display: flex; align-items: center; gap: 9px; min-height: 58px; padding: 11px 12px; border: 1px solid var(--sta-border); border-radius: 13px; background: #FAFCFE; color: var(--sta-deep); font-size: 12px; font-weight: 800; cursor: pointer; }
.print-mode:hover { border-color: #B7D7EA; background: #F4FAFE; }
.print-mode.active { border-color: var(--sta-primary); background: var(--sta-blue-soft); box-shadow: 0 0 0 3px rgba(22,119,200,.08); }
.print-mode input { width: 17px; min-height: 17px; margin: 0; accent-color: var(--sta-primary); }
.selected-printer-summary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr); gap: 10px; padding: 13px 14px; border: 1px solid var(--sta-border); border-radius: 13px; background: #F8FBFD; }
.selected-printer-summary span, .selected-printer-summary strong { display: block; }
.selected-printer-summary span { color: var(--sta-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .4px; }
.selected-printer-summary strong { margin-top: 5px; font-size: 12px; overflow-wrap: anywhere; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.help-panel { margin-top: 16px; border: 1px solid var(--sta-border); border-radius: 14px; background: #FAFCFE; overflow: hidden; }
.help-panel summary { padding: 13px 15px; color: var(--sta-deep); font-size: 12px; font-weight: 900; cursor: pointer; user-select: none; }
.help-panel[open] summary { border-bottom: 1px solid var(--sta-border); background: #F4F9FD; }
.help-content { padding: 14px 16px; color: var(--sta-muted); font-size: 12px; line-height: 1.6; }
.help-content p { margin: 0 0 10px; }
.help-content p:last-child { margin-bottom: 0; }
.help-content ul { margin: 0; padding-left: 18px; }
.print-inventory-card .table-wrap { margin-top: 14px; }
.filter-bar { display: grid; grid-template-columns: minmax(150px, .65fr) minmax(170px, .7fr) minmax(180px, 1fr) minmax(180px, 1fr) auto auto; gap: 10px; align-items: end; margin-top: 16px; }
.filter-bar .filter-actions { display: flex; align-items: center; gap: 8px; }
.ghost-button { min-height: 40px; padding: 8px 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--sta-primary); font-size: 12px; font-weight: 900; }
.ghost-button:hover { border-color: var(--sta-border); background: var(--sta-blue-soft); }
.jobs-summary { margin-top: 18px; }
.jobs-table-card { margin-top: 18px; }
.jobs-table-card tbody tr[data-job-id] { cursor: pointer; }
.jobs-table-card tbody tr[data-job-id]:hover { background: #F7FBFE; }
.jobs-table-card tbody tr.selected { background: #EAF6FF; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--sta-border); }
.pagination span { color: var(--sta-muted); font-size: 12px; }
.pagination-actions { display: flex; gap: 8px; }
.job-detail-panel { margin-top: 18px; }
.job-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.job-detail-header h3 { margin: 8px 0 0; }
.job-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.job-detail-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-top: 18px; }
.job-detail-meta > div { min-width: 0; padding: 13px; border: 1px solid var(--sta-border); border-radius: 12px; background: #F8FBFD; }
.job-detail-meta span, .job-detail-meta strong { display: block; }
.job-detail-meta span { color: var(--sta-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .35px; }
.job-detail-meta strong { margin-top: 5px; font-size: 12px; overflow-wrap: anywhere; }
.job-history-heading { margin: 22px 0 12px; }
.job-timeline { position: relative; display: grid; gap: 0; padding-left: 7px; }
.timeline-item { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; min-height: 74px; }
.timeline-item:not(:last-child)::before { content: ''; position: absolute; left: 8px; top: 19px; bottom: -1px; width: 2px; background: var(--sta-border); }
.timeline-dot { position: relative; z-index: 1; width: 18px; height: 18px; margin-top: 2px; border: 4px solid #D9EBF6; border-radius: 50%; background: var(--sta-primary); }
.timeline-content { padding: 0 0 18px; }
.timeline-content strong, .timeline-content span, .timeline-content small { display: block; }
.timeline-content strong { font-size: 13px; }
.timeline-content span { margin-top: 4px; color: var(--sta-muted); font-size: 11px; line-height: 1.45; }
.timeline-content small { margin-top: 5px; color: #8295A3; font-size: 10px; }
.status-chip.queued, .status-chip.retry_scheduled { background: #EAF6FF; color: #126AA7; }
.status-chip.leased, .status-chip.accepted_by_agent, .status-chip.sent_to_spooler { background: #F1EDFF; color: #5E47A5; }
.status-chip.spooler_completed, .status-chip.printed { background: #E8F8F0; color: #147348; }
.status-chip.failed, .status-chip.manual_review { background: #FFF0F0; color: #A52F2F; }
.status-chip.cancelled, .status-chip.expired { background: #F4F1F1; color: #735D5D; }
.status-chip.pending { background: #FFF6DD; color: #8A6200; }

@media (max-width: 1250px) {
  .print-workspace { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-bar .filter-actions { grid-column: 1 / -1; }
  .job-detail-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .print-mode-grid, .selected-printer-summary, .filter-bar, .job-detail-meta { grid-template-columns: 1fr; }
  .filter-bar .filter-actions { grid-column: auto; align-items: stretch; flex-direction: column; }
  .form-actions, .job-detail-header, .job-detail-actions, .pagination { align-items: stretch; flex-direction: column; }
  .pagination-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* ========================================================================== */
/* 2026-08-14 — experiência moderna /login + /app                            */
/* ========================================================================== */
:root {
  --sta-bg: #f4faff;
  --sta-surface: #ffffff;
  --sta-blue-soft: #e9f6ff;
  --sta-primary: #075fea;
  --sta-deep: #062257;
  --sta-cyan: #13dceb;
  --sta-text: #102d50;
  --sta-muted: #637993;
  --sta-border: rgba(44, 92, 158, .13);
  --sta-shadow: 0 18px 50px rgba(37, 82, 139, .09);
}
body { background: linear-gradient(180deg, #f5fbff 0%, #edf8ff 100%); }
.ui-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #22b573; box-shadow: 0 0 0 5px rgba(34, 181, 115, .12); flex: 0 0 auto; }
.primary {
  border-radius: 14px;
  background: linear-gradient(135deg, #075fea, #008cff 58%, #13dceb);
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(0, 140, 255, .17);
  transition: transform .16s ease, box-shadow .16s ease;
}
.primary:hover { background: linear-gradient(135deg, #064fc5, #007fe7 58%, #12c7d6); transform: translateY(-1px); box-shadow: 0 14px 30px rgba(0, 140, 255, .22); }
.secondary, .icon-button { border-radius: 14px; background: rgba(255,255,255,.9); border-color: rgba(44,92,158,.15); transition: .16s ease; }
.secondary:hover, .icon-button:hover { background: #f1f8fd; border-color: rgba(7,95,234,.25); }
.card, .hero-card { border-color: rgba(44, 92, 158, .12); border-radius: 22px; box-shadow: var(--sta-shadow); }
.feedback { border-radius: 15px; }

/* Login */
.auth-page-modern {
  min-height: 100svh;
  padding: 0;
  grid-template-columns: minmax(520px, 1.06fr) minmax(440px, .94fr);
  background: #f5fbff;
}
.auth-page-modern .auth-brand {
  position: relative;
  display: flex;
  overflow: hidden;
  padding: clamp(38px, 5vw, 72px);
  color: var(--sta-deep);
  background:
    radial-gradient(circle at 78% 22%, rgba(19,220,235,.22), transparent 30%),
    radial-gradient(circle at 18% 78%, rgba(0,140,255,.16), transparent 34%),
    linear-gradient(145deg, #e7f7ff 0%, #f5fbff 52%, #dff4ff 100%);
}
.auth-page-modern .auth-brand::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -180px;
  bottom: -180px;
  border: 1px solid rgba(7,95,234,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255,255,255,.28), 0 0 0 110px rgba(255,255,255,.18);
  pointer-events: none;
}
.auth-home { position: relative; z-index: 1; align-self: flex-start; width: 176px; }
.auth-home img { width: 100%; height: auto; object-fit: contain; }
.auth-copy { position: relative; z-index: 1; width: min(660px, 100%); margin: auto 0; }
.auth-page-modern .auth-brand .eyebrow { color: #075fea; background: rgba(255,255,255,.72); border: 1px solid rgba(7,95,234,.10); }
.auth-page-modern .auth-brand h1 { max-width: 650px; margin: 22px 0 18px; color: #041a46; font-size: clamp(42px, 4vw, 66px); line-height: 1.02; letter-spacing: -2.8px; }
.auth-page-modern .auth-brand h1 span { color: #075fea; }
.auth-page-modern .auth-brand > p, .auth-copy > p { max-width: 610px; margin: 0; color: #4f6c8d; font-size: 17px; line-height: 1.7; }
.auth-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.auth-benefits > div { display: flex; align-items: flex-start; gap: 11px; min-width: 0; padding: 15px; border: 1px solid rgba(44,92,158,.10); border-radius: 18px; background: rgba(255,255,255,.66); box-shadow: 0 12px 30px rgba(43,92,150,.06); backdrop-filter: blur(10px); }
.auth-benefits .ui-icon { width: 21px; height: 21px; color: #075fea; margin-top: 1px; }
.auth-benefits span, .auth-benefits strong, .auth-benefits small { display: block; }
.auth-benefits strong { color: #0b315e; font-size: 12px; }
.auth-benefits small { margin-top: 5px; color: #69809a; font-size: 10.5px; line-height: 1.45; }
.auth-brand-footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #58728f; font-size: 12px; font-weight: 700; }
.auth-panel { display: grid; place-items: center; padding: clamp(24px, 5vw, 64px); background: #f8fcff; }
.auth-page-modern .auth-card { width: min(480px, 100%); margin: 0; padding: clamp(28px, 4vw, 42px); border: 1px solid rgba(44,92,158,.12); border-radius: 30px; box-shadow: 0 28px 70px rgba(39,86,145,.12); }
.auth-kicker { display: inline-flex; margin-bottom: 13px; color: #075fea; font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.auth-page-modern .auth-card h2 { color: #071f41; font-size: 31px; line-height: 1.1; letter-spacing: -1.2px; }
.auth-page-modern .auth-card > p { margin: 10px 0 26px; color: #637993; font-size: 14px; line-height: 1.6; }
.auth-page-modern label { color: #173a61; font-size: 12px; }
.auth-page-modern input { min-height: 50px; padding: 12px 14px; border-radius: 14px; border-color: rgba(44,92,158,.16); background: #fbfdff; }
.auth-page-modern input::placeholder { color: #9aadc0; }
.auth-page-modern input:focus { border-color: #008cff; box-shadow: 0 0 0 4px rgba(0,140,255,.10); background: #fff; }
.auth-submit { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; margin-top: 3px; }
.auth-submit .ui-icon { width: 18px; height: 18px; }
.auth-page-modern .auth-links { margin-top: 17px; }
.auth-page-modern .auth-links button { color: #075fea; font-weight: 800; }
.auth-secure-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(44,92,158,.10); color: #7890a8; font-size: 11px; }
.auth-secure-note .ui-icon { width: 15px; height: 15px; color: #3a7dbf; }
.auth-page-modern .mobile-logo { display: none; }

/* App shell */
.shell { grid-template-columns: 264px minmax(0, 1fr); background: linear-gradient(180deg, #f5fbff 0%, #edf8ff 100%); }
.sidebar {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 22px 16px 18px;
  overflow: auto;
  color: var(--sta-text);
  background: rgba(255,255,255,.88);
  border-right: 1px solid rgba(44,92,158,.11);
  box-shadow: 16px 0 45px rgba(43,91,150,.05);
  backdrop-filter: blur(18px);
}
.app-brand { min-height: 70px; padding: 4px 10px 18px; border-bottom: 1px solid rgba(44,92,158,.10); }
.app-brand img { width: 158px; height: auto; object-fit: contain; }
.nav { gap: 5px; margin-top: 18px; }
.nav button { min-height: 47px; gap: 12px; padding: 11px 13px; border: 1px solid transparent; border-radius: 14px; color: #496985; font-size: 13px; font-weight: 750; transition: .16s ease; }
.nav button:hover { color: #075fea; background: #f0f8ff; border-color: rgba(7,95,234,.08); }
.nav button.active { color: #fff; background: linear-gradient(135deg, #075fea, #008cff 64%, #13dceb); border-color: transparent; box-shadow: 0 12px 26px rgba(0,140,255,.18); }
.nav-icon { width: 22px; height: 22px; display: grid; place-items: center; }
.nav-icon .ui-icon { width: 19px; height: 19px; }
.nav-separator { padding: 18px 13px 7px; color: #93a7b8; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-footer { position: static; left: auto; right: auto; bottom: auto; display: grid; gap: 12px; margin-top: auto; padding: 15px; border: 1px solid rgba(44,92,158,.10); border-radius: 18px; background: linear-gradient(145deg, #f5fbff, #eaf7ff); color: #67809a; font-size: 11px; line-height: 1.45; }
.sidebar-health { display: flex; align-items: center; gap: 11px; }
.sidebar-health div, .sidebar-health strong, .sidebar-health small { display: block; }
.sidebar-health strong { color: #123b68; font-size: 12px; }
.sidebar-health small { margin-top: 2px; color: #6e869e; font-size: 10px; }
.content { min-width: 0; }
.topbar { min-height: 84px; padding: 16px 30px; border-bottom-color: rgba(44,92,158,.10); background: rgba(248,252,255,.88); box-shadow: 0 8px 28px rgba(41,88,145,.04); }
.topbar-leading { display: flex; align-items: center; gap: 13px; min-width: 0; }
.topbar h1 { color: #0a2b52; font-size: 21px; letter-spacing: -.35px; }
.topbar p { margin-top: 4px; color: #71879d; font-size: 12px; }
.avatar { width: 42px; height: 42px; background: linear-gradient(145deg, #e7f6ff, #dcefff); color: #075fea; border: 1px solid rgba(7,95,234,.08); }
.logout-button { min-height: 42px; padding-inline: 15px; }
.menu-button { display: none; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid rgba(44,92,158,.13); border-radius: 13px; background: #fff; color: #163d66; }
.sidebar-overlay { display: none; }
.app-main { width: min(1540px, 100%); margin: 0 auto; padding: 30px clamp(22px, 3vw, 38px) 46px; }


.auth-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(44, 92, 158, .10);
}
.auth-card-footer .auth-secure-note { margin: 0; }
.auth-version {
  color: #8194a8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .035em;
  white-space: nowrap;
}

/* Overview */
.overview-welcome { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 190px; padding: clamp(26px, 3vw, 38px); border: 1px solid rgba(44,92,158,.11); border-radius: 28px; background: radial-gradient(circle at 88% 20%, rgba(19,220,235,.16), transparent 31%), linear-gradient(135deg, #fff 0%, #f6fbff 50%, #e8f7ff 100%); box-shadow: 0 24px 65px rgba(43,91,150,.08); overflow: hidden; }
.overview-welcome-copy { min-width: 0; }
.overview-status { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 7px 10px; border-radius: 999px; background: #eff7ff; color: #35668e; font-size: 9.5px; font-weight: 900; letter-spacing: .08em; }
.overview-status i { width: 7px; height: 7px; border-radius: 50%; background: #6b8ca7; box-shadow: 0 0 0 4px rgba(107,140,167,.10); }
.overview-status.is-ok { color: #147348; background: #eaf9f1; }
.overview-status.is-ok i { background: #22b573; box-shadow: 0 0 0 4px rgba(34,181,115,.11); }
.overview-status.is-attention { color: #8a6200; background: #fff7e2; }
.overview-status.is-attention i { background: #e5a11a; }
.overview-welcome h2 { max-width: 760px; margin: 14px 0 9px; color: #071f41; font-size: clamp(27px, 2.45vw, 38px); line-height: 1.08; letter-spacing: -1.25px; }
.overview-welcome h2 span { color: #075fea; }
.overview-welcome p { margin: 0; color: #637993; font-size: 14px; line-height: 1.6; }
.overview-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.overview-primary, .overview-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 18px; white-space: nowrap; }
.overview-primary .ui-icon, .overview-secondary .ui-icon { width: 17px; height: 17px; }
.overview-secondary { color: #0e416f; background: rgba(255,255,255,.72); }
.overview-onboarding { margin-bottom: 18px; }
.account-toolbar-modern { margin: 16px 0; padding: 15px 18px; border-radius: 19px; background: rgba(255,255,255,.84); box-shadow: 0 12px 32px rgba(43,91,150,.05); }
.account-toolbar-modern label { display: flex; align-items: center; gap: 14px; min-width: min(520px, 70vw); }
.account-toolbar-modern select { min-width: 300px; min-height: 42px; border-radius: 12px; background: #fafdff; font-weight: 700; }
.field-caption { color: #6f859b; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; }
.role-summary { padding-left: 22px; border-left: 1px solid rgba(44,92,158,.10); }
.role-summary span { font-size: 10px; }
.role-summary strong { color: #0f3964; font-size: 13px; }
.overview-metrics { gap: 13px; }
.metric-modern { display: flex; align-items: center; gap: 14px; min-height: 122px; padding: 18px; box-shadow: 0 14px 38px rgba(43,91,150,.065); }
.metric-modern > div { min-width: 0; }
.metric-modern .metric-icon { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; background: linear-gradient(145deg, #edf8ff, #dff3ff); color: #075fea; }
.metric-modern .metric-icon.success { color: #1e9b63; background: #eaf9f1; }
.metric-modern .metric-icon.attention { color: #b57800; background: #fff7e3; }
.metric-modern .metric-icon .ui-icon { width: 22px; height: 22px; }
.metric-modern strong { margin-top: 4px; color: #092c53; font-size: 24px; letter-spacing: -.6px; }
.metric-modern small { margin-top: 4px; font-size: 10.5px; line-height: 1.35; overflow-wrap: anywhere; }
.overview-lower { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .65fr); gap: 15px; margin-top: 15px; }
.diagnostic-card, .recommended-card { padding: 24px; box-shadow: 0 14px 38px rgba(43,91,150,.065); }
.section-kicker { display: inline-flex; margin-bottom: 8px; color: #4380b5; font-size: 9px; font-weight: 900; letter-spacing: .11em; }
.diagnostic-card h3, .recommended-card h3 { margin: 0; color: #0b315d; font-size: 18px; letter-spacing: -.25px; }
.diagnostic-card p { margin: 5px 0 0; color: #71879c; font-size: 12px; }
.modern-runtime { gap: 10px; margin-top: 18px; }
.modern-runtime > div { padding: 14px; border-radius: 15px; border-color: rgba(44,92,158,.10); background: linear-gradient(145deg, #f9fcff, #f1f8fd); }
.modern-runtime strong { color: #123b68; }
.recommended-actions { display: grid; gap: 8px; margin-top: 16px; }
.recommended-actions button { display: grid; grid-template-columns: 34px minmax(0, 1fr) 20px; align-items: center; gap: 10px; width: 100%; padding: 12px; border: 1px solid rgba(44,92,158,.10); border-radius: 15px; background: #f9fcff; color: #2a5f8d; text-align: left; transition: .16s ease; }
.recommended-actions button:hover { transform: translateY(-1px); background: #eef8ff; border-color: rgba(7,95,234,.16); }
.recommended-actions button > .ui-icon:first-child { width: 18px; height: 18px; justify-self: center; color: #075fea; }
.recommended-actions button > .ui-icon:last-child { width: 16px; height: 16px; color: #88a2b9; }
.recommended-actions span, .recommended-actions strong, .recommended-actions small { display: block; }
.recommended-actions strong { color: #153c64; font-size: 11.5px; }
.recommended-actions small { margin-top: 3px; color: #7a90a4; font-size: 9.8px; line-height: 1.35; }

/* General app polish */
.section-card { padding: 23px; }
.account-toolbar { box-shadow: 0 10px 30px rgba(43,91,150,.045); }
.table-wrap { border-radius: 14px; }
input, select, textarea { border-color: rgba(44,92,158,.14); background: #fcfeff; }
input:focus, select:focus, textarea:focus { border-color: #008cff; box-shadow: 0 0 0 4px rgba(0,140,255,.09); }
.status-chip, .compatibility-chip, .environment-chip { font-weight: 850; }

@media (max-width: 1180px) {
  .auth-benefits { grid-template-columns: 1fr; max-width: 520px; }
  .auth-benefits > div { padding: 12px 14px; }
  .overview-actions { flex-direction: column; align-items: stretch; }
  .overview-primary, .overview-secondary { width: 100%; }
  .overview-lower { grid-template-columns: 1fr; }
}

@media (max-width: 1000px) {
  .auth-page-modern { grid-template-columns: 1fr; }
  .auth-page-modern .auth-brand { display: none; }
  .auth-panel { min-height: 100svh; padding: 28px 18px; background: radial-gradient(circle at 80% 8%, rgba(19,220,235,.14), transparent 30%), linear-gradient(180deg, #eaf8ff, #f8fcff 46%, #edf8ff); }
  .auth-page-modern .auth-card { width: min(500px, 100%); }
  .auth-page-modern .mobile-logo { display: block; margin: 0 0 28px; }
  .auth-page-modern .mobile-logo img { width: 162px; height: auto; }
  .shell { grid-template-columns: 1fr; }
  .sidebar {
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    width: min(292px, 88vw);
    height: 100dvh;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 24px 0 70px rgba(17,54,91,.18);
  }
  body.nav-open { overflow: hidden; }
  body.nav-open .sidebar { transform: translateX(0); }
  .sidebar-overlay { display: block; position: fixed; inset: 0; z-index: 25; border: 0; background: rgba(4,26,70,.38); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  body.nav-open .sidebar-overlay { opacity: 1; pointer-events: auto; }
  .menu-button { display: grid; }
  .topbar { padding: 13px 18px; min-height: 75px; }
  .topbar .user-label { display: none; }
  .app-main { padding: 22px 18px 34px; }
  .account-toolbar-modern label { min-width: 0; }
}

@media (max-width: 720px) {
  .topbar p { display: none; }
  .topbar h1 { font-size: 18px; }
  .top-actions { gap: 7px; }
  .avatar { width: 38px; height: 38px; font-size: 12px; }
  .logout-button { min-height: 38px; padding: 8px 11px; font-size: 11px; }
  .app-main { padding: 16px 12px 30px; }
  .overview-welcome { align-items: stretch; flex-direction: column; min-height: 0; padding: 22px 19px; border-radius: 23px; }
  .overview-welcome h2 { font-size: 27px; letter-spacing: -.9px; }
  .overview-actions { width: 100%; }
  .account-toolbar-modern { align-items: stretch; flex-direction: column; padding: 14px; }
  .account-toolbar-modern label { display: grid; gap: 8px; }
  .account-toolbar-modern select { min-width: 0; width: 100%; }
  .role-summary { padding: 12px 0 0; border-left: 0; border-top: 1px solid rgba(44,92,158,.10); text-align: left; }
  .overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .metric-modern { align-items: flex-start; flex-direction: column; min-height: 145px; padding: 15px; gap: 10px; }
  .metric-modern .metric-icon { width: 40px; height: 40px; border-radius: 13px; }
  .metric-modern strong { font-size: 21px; }
  .diagnostic-card, .recommended-card, .section-card { padding: 18px; border-radius: 19px; }
  .modern-runtime { grid-template-columns: 1fr 1fr; }
  .auth-page-modern .auth-card { padding: 28px 22px; border-radius: 25px; }
  .auth-page-modern .auth-card h2 { font-size: 27px; }
}

@media (max-width: 440px) {
  .auth-card-footer { align-items: flex-start; flex-direction: column; gap: 10px; }

  .overview-metrics { grid-template-columns: 1fr 1fr; }
  .metric-modern { min-height: 138px; }
  .modern-runtime { grid-template-columns: 1fr; }
  .auth-page-modern .auth-links { align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* v2.0.25 — central de downloads orientada ao cliente */
.download-hero-card { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .45fr); gap: 24px; padding: 28px; border: 1px solid #CFE4F1; border-radius: 24px; background: radial-gradient(circle at 10% 0%, rgba(25,167,206,.14), transparent 38%), linear-gradient(135deg, #FFFFFF 0%, #F5FBFF 100%); box-shadow: 0 20px 50px rgba(18,58,90,.09); overflow: hidden; }
.download-product { display: flex; align-items: flex-start; gap: 22px; min-width: 0; }
.download-product-logo { flex: 0 0 92px; width: 92px; height: 92px; display: grid; place-items: center; border: 1px solid #C9E3F2; border-radius: 24px; background: #fff; box-shadow: 0 16px 32px rgba(18,58,90,.10); }
.download-product-logo img { width: 72px; height: 72px; object-fit: contain; }
.download-product-copy { min-width: 0; }
.download-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.release-badge { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 6px 10px; border-radius: 999px; background: #EDF5FA; color: #426176; font-size: 10px; font-weight: 900; letter-spacing: .25px; text-transform: uppercase; }
.release-badge i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(30,155,99,.10); }
.release-badge.stable { background: #E8F8F0; color: #147348; }
.release-badge.homologation { background: #FFF6DD; color: #8A6200; }
.release-badge.neutral { background: #EEF6FB; color: #4B6B80; }
.download-product-copy h2 { margin: 14px 0 8px; color: #102F49; font-size: clamp(26px, 3vw, 38px); line-height: 1.05; letter-spacing: -1.1px; }
.download-product-copy > p { max-width: 760px; margin: 0; color: var(--sta-muted); font-size: 14px; line-height: 1.65; }
.download-version-line { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 15px; margin-top: 15px; color: #587185; font-size: 12px; }
.download-version-line strong { color: #173A57; font-size: 13px; }
.download-version-line span { position: relative; }
.download-version-line span::before { content: ""; position: absolute; left: -8px; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: #A2BAC9; transform: translateY(-50%); }
.download-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.download-primary-action, .download-secondary-action { min-height: 58px; display: inline-flex; align-items: center; gap: 11px; padding: 11px 16px; border-radius: 14px; text-decoration: none; font-size: 13px; font-weight: 900; }
.download-primary-action { border: 1px solid #0E83D7; background: linear-gradient(135deg, #116FEA, #14B8DD); color: #fff; box-shadow: 0 12px 26px rgba(17,111,234,.22); }
.download-primary-action:hover { transform: translateY(-1px); box-shadow: 0 15px 30px rgba(17,111,234,.27); }
.download-primary-action.disabled { opacity: .62; pointer-events: none; }
.download-secondary-action { border: 1px solid #CFE1EC; background: rgba(255,255,255,.86); color: var(--sta-deep); }
.download-primary-action svg, .download-secondary-action svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.download-primary-action span, .download-secondary-action span { display: grid; gap: 2px; text-align: left; }
.download-primary-action small, .download-secondary-action small { color: inherit; font-size: 10px; font-weight: 600; opacity: .74; }
.download-inline-alert { display: flex; align-items: flex-start; gap: 8px; margin-top: 15px; padding: 10px 12px; border: 1px solid #EFD58A; border-radius: 12px; background: #FFF9E8; color: #72520E; font-size: 11px; line-height: 1.5; }
.download-inline-alert strong { white-space: nowrap; }
.download-inline-alert.warning { border-color: #EFB9B9; background: #FFF2F2; color: #8E3535; }
.download-release-panel { align-self: stretch; min-width: 0; padding: 20px; border: 1px solid rgba(183,215,234,.8); border-radius: 20px; background: rgba(255,255,255,.76); box-shadow: inset 0 1px 0 #fff; }
.download-release-version { display: block; margin: 7px 0 14px; color: #0E6FB5; font-size: 31px; letter-spacing: -1px; }
.download-release-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid #E4EEF4; }
.download-release-row span { color: var(--sta-muted); font-size: 11px; }
.download-release-row strong { color: #183B57; font-size: 12px; text-align: right; }
.download-flow-card { margin-top: 18px; padding: 24px 26px; border: 1px solid var(--sta-border); border-radius: 20px; background: #fff; box-shadow: 0 14px 38px rgba(18,58,90,.07); }
.download-section-heading { align-items: flex-start; }
.download-section-heading h3, .download-status-card h3, .download-update-card h3, .download-notes-card h3, .download-help-card h3 { margin: 5px 0 5px; font-size: 18px; letter-spacing: -.25px; }
.download-section-heading p { margin: 0; color: var(--sta-muted); font-size: 12px; }
.section-kicker { display: block; color: #2786BB; font-size: 9px; font-weight: 900; letter-spacing: .8px; }
.download-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.download-steps article { position: relative; display: flex; align-items: center; gap: 11px; min-width: 0; padding: 14px; border: 1px solid #DDEAF2; border-radius: 15px; background: #F9FCFE; }
.download-steps article:not(:last-child)::after { content: "→"; position: absolute; right: -10px; z-index: 2; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #8AA6B8; font-size: 11px; }
.download-steps article > span { flex: 0 0 32px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #EAF6FF; color: #1677C8; font-size: 12px; font-weight: 900; }
.download-steps article:last-child > span { background: #E8F8F0; color: #147348; }
.download-steps svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.download-steps strong, .download-steps small { display: block; }
.download-steps strong { color: #173A57; font-size: 12px; }
.download-steps small { margin-top: 3px; color: var(--sta-muted); font-size: 10px; line-height: 1.35; }
.download-content-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); gap: 18px; margin-top: 18px; }
.download-content-grid.lower { grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
.download-status-card, .download-update-card, .download-notes-card, .download-help-card { min-width: 0; }
.download-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0 14px; }
.download-status-grid > div { padding: 14px; border: 1px solid #E0EBF2; border-radius: 14px; background: #F9FCFE; }
.download-status-grid span, .download-status-grid strong, .download-status-grid small { display: block; }
.download-status-grid span { color: var(--sta-muted); font-size: 10px; }
.download-status-grid strong { margin-top: 5px; color: #173A57; font-size: 15px; }
.download-status-grid small { margin-top: 4px; color: #7790A1; font-size: 9px; line-height: 1.35; }
.download-card-action { width: fit-content; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.download-card-action svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.download-update-card > p, .download-notes-card > p, .download-help-card > p { margin: 7px 0 16px; color: var(--sta-muted); font-size: 12px; line-height: 1.6; }
.update-validation { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 16px; padding: 12px; border: 1px solid #D9E7EF; border-radius: 13px; background: #F8FBFD; }
.update-validation.ok { border-color: #BCE7D2; background: #EAF9F1; color: #147348; }
.update-validation > svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.update-validation strong, .update-validation small { display: block; }
.update-validation strong { font-size: 11px; }
.update-validation small { margin-top: 3px; color: var(--sta-muted); font-size: 9px; line-height: 1.4; }
.release-highlights { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.release-highlights li { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border-radius: 13px; background: #F8FBFD; }
.release-highlights li > svg { flex: 0 0 18px; width: 18px; height: 18px; color: #1E9B63; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.release-highlights strong, .release-highlights small { display: block; }
.release-highlights strong { color: #173A57; font-size: 11px; }
.release-highlights small { margin-top: 3px; color: var(--sta-muted); font-size: 9px; line-height: 1.45; }
.download-help-actions { display: grid; gap: 8px; }
.download-help-actions a, .download-help-actions button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 11px 12px; border: 1px solid #DDEAF2; border-radius: 12px; background: #F9FCFE; color: #1B5E88; text-decoration: none; font-size: 11px; font-weight: 800; text-align: left; }
.download-help-actions svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.download-technical-card { margin-top: 18px; overflow: hidden; }
.download-technical-card summary { display: flex; align-items: center; gap: 12px; padding: 18px 20px; list-style: none; cursor: pointer; }
.download-technical-card summary::-webkit-details-marker { display: none; }
.download-technical-card summary > svg:first-child { width: 22px; height: 22px; color: #287FAF; }
.download-technical-card summary > svg:last-child { width: 16px; height: 16px; margin-left: auto; transition: transform .2s ease; }
.download-technical-card[open] summary > svg:last-child { transform: rotate(90deg); }
.download-technical-card summary svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.download-technical-card summary strong, .download-technical-card summary small { display: block; }
.download-technical-card summary strong { font-size: 13px; }
.download-technical-card summary small { margin-top: 3px; color: var(--sta-muted); font-size: 10px; }
.download-technical-body { display: grid; gap: 10px; padding: 0 20px 20px; border-top: 1px solid #EDF3F6; }
.download-tech-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; }
.download-tech-meta span, .download-tech-hash > span { color: var(--sta-muted); font-size: 10px; }
.download-tech-meta strong { font-size: 11px; overflow-wrap: anywhere; text-align: right; }
.download-tech-hash { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px dashed #C8DDE9; border-radius: 12px; background: #F8FBFD; }
.download-tech-hash code { min-width: 0; color: #35576C; font-size: 10px; overflow-wrap: anywhere; user-select: all; }
.download-tech-links { display: flex; flex-wrap: wrap; gap: 8px; }
.download-tech-links a { padding: 8px 10px; border: 1px solid #DDEAF2; border-radius: 10px; background: #fff; color: #1677C8; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; font-weight: 800; text-decoration: none; }
.download-downgrade-note { display: grid; gap: 4px; padding: 12px; border-radius: 12px; background: #FFF9EA; color: #72520E; }
.download-downgrade-note strong { font-size: 11px; }
.download-downgrade-note span { font-size: 10px; line-height: 1.45; }

@media (max-width: 1180px) {
  .download-hero-card { grid-template-columns: 1fr; }
  .download-release-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
  .download-release-panel > .section-kicker, .download-release-version { grid-column: 1 / -1; }
  .download-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 930px) {
  .download-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .download-steps article::after { display: none !important; }
  .download-content-grid, .download-content-grid.lower { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .download-hero-card { padding: 20px; border-radius: 20px; }
  .download-product { flex-direction: column; gap: 16px; }
  .download-product-logo { width: 76px; height: 76px; flex-basis: 76px; border-radius: 20px; }
  .download-product-logo img { width: 58px; height: 58px; }
  .download-product-copy h2 { font-size: 28px; }
  .download-hero-actions { display: grid; grid-template-columns: 1fr; }
  .download-primary-action, .download-secondary-action { width: 100%; }
  .download-version-line span::before { display: none; }
  .download-inline-alert { display: grid; }
  .download-inline-alert strong { white-space: normal; }
  .download-release-panel { grid-template-columns: 1fr 1fr; padding: 16px; }
  .download-steps { grid-template-columns: 1fr; }
  .download-status-grid { grid-template-columns: 1fr 1fr; }
  .download-tech-hash { grid-template-columns: 1fr; }
  .download-tech-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .download-tech-meta strong { text-align: left; }
}
@media (max-width: 430px) {
  .download-status-grid { grid-template-columns: 1fr; }
  .download-release-panel { grid-template-columns: 1fr; }
}

/* v2.0.25 — Conta reorganizada com navegação extensível */
.nav-account-group { display: grid; gap: 5px; }
.nav-account-parent { position: relative; }
.nav-account-parent > span:nth-child(2) { flex: 1; }
.nav-account-group.selected .nav-account-parent.active {
  color: #075fea;
  background: linear-gradient(145deg, #f4f9ff, #edf7ff);
  border-color: rgba(7,95,234,.10);
  box-shadow: none;
}
.nav-chevron { width: 18px; height: 18px; display: grid; place-items: center; margin-left: auto; color: #7e9ab2; transition: transform .18s ease; }
.nav-chevron .ui-icon { width: 15px; height: 15px; }
.nav-chevron.open { transform: rotate(90deg); color: #075fea; }
.account-subnav { display: grid; gap: 3px; margin: 1px 0 4px 11px; padding: 6px 0 6px 13px; border-left: 1px solid rgba(44,92,158,.12); }
.nav .account-subnav button { min-height: 37px; padding: 8px 10px; border-radius: 11px; color: #5d7891; font-size: 11.5px; font-weight: 700; box-shadow: none; }
.nav .account-subnav button:hover { color: #075fea; background: #f4f9ff; }
.nav .account-subnav button.active { color: #075fea; background: linear-gradient(135deg, #eaf4ff, #e0f2ff); border-color: rgba(7,95,234,.08); box-shadow: none; }
.account-subnav .nav-icon { width: 18px; height: 18px; }
.account-subnav .nav-icon .ui-icon { width: 15px; height: 15px; }
.subnav-dot { width: 6px; height: 6px; margin-left: 6px; border-radius: 50%; background: #9bb3c7; box-shadow: 0 0 0 4px rgba(155,179,199,.10); }
.account-subnav button.active .subnav-dot { background: #075fea; box-shadow: 0 0 0 4px rgba(7,95,234,.10); }

.account-page { display: grid; gap: 16px; }
.account-context-card { padding: 18px 20px; border-radius: 21px; box-shadow: 0 12px 34px rgba(43,91,150,.055); }
.account-context-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(44,92,158,.09); }
.account-context-heading > div > strong, .account-context-heading > div > small { display: block; }
.account-context-heading > div > strong { color: #0b315d; font-size: 16px; letter-spacing: -.2px; }
.account-context-heading > div > small { margin-top: 3px; color: #8094a8; font-size: 10px; }
.role-badge { display: inline-flex; align-items: center; min-height: 29px; padding: 5px 10px; border-radius: 999px; background: #edf7ff; color: #276b9f; font-size: 10px; font-weight: 850; white-space: nowrap; }
.account-context-fields { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(230px, .75fr); gap: 14px; align-items: end; padding-top: 14px; }
.account-context-fields label { gap: 6px; }
.account-context-fields label > span, .account-context-role > span { color: #7d91a4; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.account-context-fields select { min-height: 44px; font-weight: 750; }
.account-context-role { display: grid; gap: 3px; min-height: 44px; padding: 8px 12px; border: 1px solid rgba(44,92,158,.10); border-radius: 12px; background: #fafdff; }
.account-context-role strong { color: #123b68; font-size: 12px; }
.account-context-role small { color: #8296a8; font-size: 9.5px; }

.account-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.account-summary-grid.account-summary-compact { grid-template-columns: repeat(2, minmax(0, 300px)); }
.account-summary-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) 18px; align-items: center; gap: 13px; min-height: 108px; padding: 16px; border: 1px solid rgba(44,92,158,.10); color: inherit; text-align: left; box-shadow: 0 12px 32px rgba(43,91,150,.055); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
button.account-summary-card:hover { transform: translateY(-2px); border-color: rgba(7,95,234,.16); box-shadow: 0 16px 36px rgba(43,91,150,.08); }
.account-summary-card.static { grid-template-columns: 46px minmax(0, 1fr); cursor: default; }
.account-summary-card > .ui-icon { width: 16px; height: 16px; color: #93a8ba; }
.account-summary-card div > span, .account-summary-card div > strong, .account-summary-card div > small { display: block; }
.account-summary-card div > span { color: #688198; font-size: 10.5px; }
.account-summary-card div > strong { margin-top: 4px; color: #092c53; font-size: 23px; letter-spacing: -.55px; }
.account-summary-card div > strong.account-security-text { font-size: 16px; line-height: 1.15; }
.account-summary-card div > small { margin-top: 4px; color: #8498aa; font-size: 9.5px; line-height: 1.35; }
.account-summary-icon, .account-settings-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; }
.account-summary-icon .ui-icon, .account-settings-icon .ui-icon { width: 20px; height: 20px; }
.account-summary-icon.large { width: 54px; height: 54px; border-radius: 17px; }
.account-summary-icon.large .ui-icon { width: 24px; height: 24px; }
.account-summary-icon.blue, .account-settings-icon.blue { color: #075fea; background: #edf5ff; }
.account-summary-icon.purple, .account-settings-icon.purple { color: #7454d8; background: #f2edff; }
.account-summary-icon.amber, .account-settings-icon.amber { color: #d48305; background: #fff5df; }
.account-summary-icon.green, .account-settings-icon.green { color: #1b9b63; background: #eaf9f1; }
.account-settings-icon.cyan { color: #0789b5; background: #e9f9ff; }
.account-settings-icon.soft { color: #5c7f9d; background: #f0f6fa; }

.account-overview-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 16px; }
.account-plan-preview, .account-quick-card { padding: 22px; box-shadow: 0 14px 38px rgba(43,91,150,.06); }
.account-preview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.account-preview-heading h3, .account-quick-card h3 { margin: 0; color: #0b315d; font-size: 18px; letter-spacing: -.25px; }
.account-preview-heading p, .account-quick-card > p { margin: 5px 0 0; color: #71879c; font-size: 11.5px; line-height: 1.5; }
.account-preview-meters { display: grid; gap: 15px; margin-top: 20px; }
.account-usage-meter { display: grid; gap: 7px; }
.account-usage-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-usage-label span { color: #55748f; font-size: 10.5px; font-weight: 700; }
.account-usage-label strong { color: #123b68; font-size: 10.5px; }
.account-usage-track { height: 7px; overflow: hidden; border-radius: 999px; background: #e9f1f7; }
.account-usage-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #075fea, #00a9ee); box-shadow: 0 0 12px rgba(0,140,255,.18); }
.account-usage-meter small { color: #8a9cad; font-size: 9px; }
.account-quick-actions { display: grid; gap: 8px; margin-top: 16px; }
.account-quick-actions button { display: grid; grid-template-columns: 34px minmax(0, 1fr) 18px; align-items: center; gap: 10px; width: 100%; min-height: 58px; padding: 10px 12px; border: 1px solid rgba(44,92,158,.10); border-radius: 14px; background: #f9fcff; color: #2a5f8d; text-align: left; transition: .16s ease; }
.account-quick-actions button:hover { transform: translateY(-1px); border-color: rgba(7,95,234,.16); background: #eef8ff; }
.account-quick-actions button > .ui-icon:first-child { width: 18px; height: 18px; justify-self: center; color: #075fea; }
.account-quick-actions button > .ui-icon:last-child { width: 15px; height: 15px; color: #93a8ba; }
.account-quick-actions span, .account-quick-actions strong, .account-quick-actions small { display: block; }
.account-quick-actions strong { color: #153c64; font-size: 11px; }
.account-quick-actions small { margin-top: 2px; color: #7f94a7; font-size: 9.5px; }

.account-settings-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr); gap: 16px; }
.account-settings-title { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 18px; }
.account-settings-title > div { min-width: 0; }
.account-settings-title h3 { margin: 0; color: #0b315d; font-size: 18px; letter-spacing: -.25px; }
.account-settings-title p { margin: 4px 0 0; color: #71879c; font-size: 11.5px; line-height: 1.5; }
.account-form { max-width: 760px; }
.account-form .primary { width: fit-content; min-width: 160px; }
.field-help { color: #8ca0b2; font-size: 9.5px; font-weight: 500; }
.account-side-card { display: flex; flex-direction: column; align-items: stretch; }
.account-side-card > h3 { margin-top: 14px; color: #0b315d; font-size: 17px; }
.account-side-card > p { margin: 4px 0 16px; }
.account-avatar-large { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(7,95,234,.09); border-radius: 20px; background: linear-gradient(145deg, #eaf7ff, #dcefff); color: #075fea; font-size: 20px; font-weight: 900; }
.account-detail-list { display: grid; gap: 0; margin: 5px 0 18px; border-top: 1px solid rgba(44,92,158,.09); }
.account-detail-list > div { display: grid; gap: 3px; padding: 11px 0; border-bottom: 1px solid rgba(44,92,158,.09); }
.account-detail-list span { color: #8296a8; font-size: 9.5px; }
.account-detail-list strong { color: #173d64; font-size: 11px; overflow-wrap: anywhere; }

.account-users-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); gap: 16px; }
.account-users-table, .account-invite-card { min-width: 0; }
.account-section-heading { align-items: flex-start; }
.account-section-heading h3 { color: #0b315d; font-size: 18px; letter-spacing: -.25px; }
.account-section-heading p { margin: 4px 0 0; color: #71879c; font-size: 11.5px; line-height: 1.45; }

.account-security-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-radius: 22px; background: radial-gradient(circle at 88% 18%, rgba(35,181,115,.12), transparent 30%), linear-gradient(135deg, #fff, #f5fbf8); box-shadow: 0 14px 38px rgba(43,91,150,.06); }
.account-security-copy { display: flex; align-items: center; gap: 15px; }
.account-security-copy h3 { margin: 0; color: #0d4a32; font-size: 19px; }
.account-security-copy p { margin: 4px 0 0; color: #668479; font-size: 11.5px; line-height: 1.45; }
.account-session-actions { display: grid; gap: 9px; margin-top: 18px; }
.danger-outline { min-height: 42px; padding: 9px 13px; border: 1px solid #efcaca; border-radius: 11px; background: #fff8f8; color: #b03a3a; font-weight: 800; }
.danger-outline:hover { background: #fff0f0; }
.account-security-note { margin-top: 14px; padding: 12px 13px; border: 1px solid #f1dcae; border-radius: 12px; background: #fff9eb; color: #785913; font-size: 10.5px; line-height: 1.45; }
.account-security-side { display: flex; flex-direction: column; }
.account-security-side h3 { margin-top: 14px; }

.account-plan-card, .account-billing-card { padding: 24px; box-shadow: 0 14px 38px rgba(43,91,150,.06); }
.account-plan-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 19px; }
.account-plan-metrics article, .account-billing-summary article { min-width: 0; padding: 15px; border: 1px solid rgba(44,92,158,.10); border-radius: 15px; background: linear-gradient(145deg, #fbfdff, #f5faff); }
.account-plan-metrics span, .account-plan-metrics strong, .account-plan-metrics small,
.account-billing-summary span, .account-billing-summary strong, .account-billing-summary small { display: block; }
.account-plan-metrics span, .account-billing-summary span { color: #6f879c; font-size: 9.5px; }
.account-plan-metrics strong, .account-billing-summary strong { margin-top: 6px; color: #0b315d; font-size: 18px; letter-spacing: -.35px; overflow-wrap: anywhere; }
.account-plan-metrics small, .account-billing-summary small { margin-top: 5px; color: #879bad; font-size: 9px; line-height: 1.35; }
.account-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.account-resource-card { display: grid; gap: 15px; padding: 17px; border: 1px solid rgba(44,92,158,.10); border-radius: 17px; background: #fbfdff; }
.account-resource-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.account-resource-title small { color: #8ba0b2; font-size: 9.5px; }
.account-plan-footnote { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 13px 15px; border: 1px solid rgba(30,155,99,.15); border-radius: 14px; background: #f3fbf7; color: #28704f; }
.account-plan-footnote > .ui-icon { width: 19px; height: 19px; flex: 0 0 auto; }
.account-plan-footnote strong, .account-plan-footnote small { display: block; }
.account-plan-footnote strong { font-size: 10.5px; }
.account-plan-footnote small { margin-top: 2px; color: #668779; font-size: 9.5px; }

.account-billing-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 19px; }
.account-billing-tables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.account-empty-card { display: grid; place-items: center; min-height: 260px; text-align: center; }
.account-empty-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: #edf7ff; color: #3b7eaf; }
.account-empty-icon .ui-icon { width: 26px; height: 26px; }
.account-empty-card h3 { margin-top: 13px; font-size: 18px; }
.account-empty-card p { max-width: 500px; margin: 5px auto 0; }

@media (max-width: 1260px) {
  .account-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-plan-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .account-overview-grid, .account-settings-grid, .account-users-layout { grid-template-columns: 1fr; }
  .account-billing-tables { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .account-context-card { padding: 15px; border-radius: 18px; }
  .account-context-heading { align-items: stretch; flex-direction: column; gap: 10px; }
  .role-badge { width: fit-content; }
  .account-context-fields { grid-template-columns: 1fr; }
  .account-summary-grid, .account-summary-grid.account-summary-compact { grid-template-columns: 1fr; }
  .account-summary-card { min-height: 94px; }
  .account-preview-heading, .account-security-hero, .account-security-copy { align-items: stretch; flex-direction: column; }
  .account-preview-heading .secondary { width: 100%; }
  .account-plan-metrics, .account-billing-summary, .account-resource-grid { grid-template-columns: 1fr; }
  .account-form .primary { width: 100%; }
  .account-billing-tables { grid-template-columns: 1fr; }
  .nav .account-subnav button { min-height: 40px; }
}

/* v2.0.25 — Navegação expansível por módulos */
.nav-module-group { display: grid; gap: 5px; }
.nav-module-parent { position: relative; }
.nav-module-parent > span:nth-child(2) { flex: 1; }
.nav-module-group.selected .nav-module-parent.active {
  color: #075fea;
  background: linear-gradient(145deg, #f4f9ff, #edf7ff);
  border-color: rgba(7,95,234,.10);
  box-shadow: none;
}
.module-subnav { display: grid; gap: 3px; margin: 1px 0 4px 11px; padding: 6px 0 6px 13px; border-left: 1px solid rgba(44,92,158,.12); }
.nav .module-subnav button { min-height: 37px; padding: 8px 10px; border-radius: 11px; color: #5d7891; font-size: 11.5px; font-weight: 700; box-shadow: none; }
.nav .module-subnav button:hover { color: #075fea; background: #f4f9ff; }
.nav .module-subnav button.active { color: #075fea; background: linear-gradient(135deg, #eaf4ff, #e0f2ff); border-color: rgba(7,95,234,.08); box-shadow: none; }
.module-subnav .nav-icon { width: 18px; height: 18px; }
.module-subnav .nav-icon .ui-icon { width: 15px; height: 15px; }
.module-subnav button.active .subnav-dot { background: #075fea; box-shadow: 0 0 0 4px rgba(7,95,234,.10); }

.module-page { display: grid; gap: 16px; }
.module-overview-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: 20px;
  align-items: center;
  padding: 26px;
  border: 1px solid rgba(44,92,158,.10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 14%, rgba(0,169,238,.11), transparent 31%),
    linear-gradient(145deg, #ffffff, #f6fbff);
  box-shadow: 0 18px 44px rgba(43,91,150,.07);
}
.module-overview-hero.compact { padding: 22px 24px; }
.module-overview-hero h2 { margin: 4px 0 0; color: #0b315d; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.08; letter-spacing: -.7px; }
.module-overview-hero p { max-width: 760px; margin: 9px 0 0; color: #6d8498; font-size: 12px; line-height: 1.6; }
.module-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.module-hero-actions .primary, .module-hero-actions .secondary, .module-hero-actions .link-button { min-height: 43px; }
.module-hero-status { display: grid; gap: 7px; justify-items: start; min-width: 0; padding: 18px; border: 1px solid rgba(44,92,158,.10); border-radius: 18px; background: rgba(255,255,255,.78); }
.module-hero-status strong { color: #113b67; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.module-hero-status small { color: #7f94a6; font-size: 10.5px; line-height: 1.45; }

.module-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.module-action-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; align-items: center; gap: 12px; min-height: 96px; padding: 15px 16px; border: 1px solid rgba(44,92,158,.10); color: inherit; text-align: left; box-shadow: 0 12px 30px rgba(43,91,150,.05); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.module-action-card:hover { transform: translateY(-2px); border-color: rgba(7,95,234,.18); box-shadow: 0 16px 34px rgba(43,91,150,.08); }
.module-action-card > div > strong, .module-action-card > div > small { display: block; }
.module-action-card > div > strong { color: #153c64; font-size: 12px; }
.module-action-card > div > small { margin-top: 4px; color: #8296a8; font-size: 9.8px; line-height: 1.35; }
.module-action-card > .ui-icon { width: 15px; height: 15px; color: #93a8ba; }

.module-human-card { display: flex; flex-direction: column; align-items: flex-start; }
.module-human-card h3 { margin: 14px 0 0; color: #0b315d; font-size: 18px; }
.module-human-card p { margin: 6px 0 0; color: #71879c; font-size: 11.5px; line-height: 1.55; }
.module-check-list { display: grid; gap: 8px; width: 100%; margin: 18px 0; }
.module-check-list span { display: flex; align-items: center; gap: 9px; color: #456b89; font-size: 10.5px; font-weight: 700; }
.module-check-list .ui-icon { width: 15px; height: 15px; color: #1e9b63; }

.docs-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.docs-link-grid a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 92px; padding: 14px; border: 1px solid rgba(44,92,158,.10); border-radius: 15px; background: #fbfdff; color: inherit; text-decoration: none; transition: .16s ease; }
.docs-link-grid a:hover { transform: translateY(-2px); border-color: rgba(7,95,234,.18); background: #f4f9ff; }
.docs-link-grid strong, .docs-link-grid small { display: block; }
.docs-link-grid strong { color: #153c64; font-size: 11px; }
.docs-link-grid small { margin-top: 3px; color: #7f94a7; font-size: 9.5px; line-height: 1.35; }
.link-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.link-button .ui-icon { width: 14px; height: 14px; }

@media (max-width: 1180px) {
  .module-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .docs-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .module-overview-hero { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .nav .module-subnav button { min-height: 40px; }
  .module-overview-hero { padding: 19px; border-radius: 20px; }
  .module-overview-hero h2 { font-size: 25px; }
  .module-hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .module-hero-actions .primary, .module-hero-actions .secondary, .module-hero-actions .link-button { width: 100%; }
  .module-action-grid, .docs-link-grid { grid-template-columns: 1fr; }
  .module-action-card { min-height: 84px; }
}
