:root {
  --ink: #192a23;
  --muted: #718078;
  --soft: #f4f7f5;
  --surface: #ffffff;
  --line: #e0e8e3;
  --green: #13694a;
  --green-light: #e2f1e8;
  --green-mid: #278960;
  --amber: #ad7218;
  --amber-bg: #fff4dc;
  --blue: #2f6396;
  --blue-bg: #e8f2fb;
  --rose: #b25147;
  --rose-bg: #fbeceb;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--soft);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { min-width: 320px; margin: 0; background: var(--soft); }
button, input, select { font: inherit; }
button { cursor: pointer; }

.identity-gate { position: fixed; z-index: 30; inset: 0; display: none; place-items: center; padding: 24px; background: radial-gradient(circle at top, #e2f1e8 0, #f4f7f5 44%, #edf3ef 100%); }
.identity-pending .app-shell { visibility: hidden; }
.identity-pending .identity-gate, .identity-locked .identity-gate { display: grid; }
.identity-gate-card { width: min(100%, 440px); padding: 38px; border: 1px solid #d5e6dc; border-radius: 20px; background: #fff; box-shadow: 0 24px 70px #153d2c20; text-align: center; }
.identity-brand { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 33px; color: #153e2d; font-size: 23px; font-weight: 800; letter-spacing: -.05em; }
.identity-brand small { margin-left: 1px; color: #6d9b82; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.identity-gate-card .eyebrow { margin-bottom: 9px; }
.identity-gate-card h1 { margin-bottom: 10px; font-size: 31px; }
.identity-gate-card > p:not(.eyebrow) { margin: 0 auto; color: #6f8177; font-size: 14px; line-height: 1.55; }
.identity-login-button { width: 100%; margin-top: 24px; background: var(--green); }
.identity-gate-help { margin-top: 15px !important; color: #84938c !important; font-size: 12px !important; }

.app-shell { display: grid; min-height: 100vh; grid-template-columns: 244px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 25px 14px 16px; background: #16372b; color: #dcebe3; }
.brand { display: flex; align-items: center; gap: 8px; padding: 0 10px 25px; color: #fff; font-size: 20px; font-weight: 770; letter-spacing: -.05em; }
.brand-mark { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #58bd88; color: #123226; font-size: 17px; font-weight: 900; }
.brand small { margin-left: 2px; color: #89b9a0; font-size: 10px; font-weight: 750; letter-spacing: .15em; }
.button { min-height: 39px; border: 1px solid transparent; border-radius: 8px; padding: 0 13px; font-weight: 720; transition: background .18s ease, border .18s ease, transform .18s ease; }
.button:active { transform: translateY(1px); }
.button-primary { background: var(--green); color: #fff; box-shadow: 0 5px 12px #0a462f25; }
.button-primary:hover { background: #0f593e; }
.sidebar .button-primary { background: #4fb985; color: #103126; box-shadow: none; }
.sidebar .button-primary:hover { background: #65c895; }
.nav-heading { margin: 29px 10px 8px; color: #91b8a5; font-size: 10px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.nav-heading-spaced { margin-top: 26px; }
.nav-link { display: flex; align-items: center; gap: 11px; margin: 2px 0; padding: 10px; border-radius: 8px; color: #c2d8cc; font-size: 14px; text-decoration: none; }
.nav-link span { width: 16px; color: #76bc96; text-align: center; font-weight: 800; }
.nav-link:hover { background: #22483a; }
.nav-link.active { background: #2a5b46; color: #fff; font-weight: 720; }
.sidebar-note { display: flex; gap: 8px; margin-top: auto; padding: 13px 10px 4px; border-top: 1px solid #38614f; color: #a8c8b7; font-size: 11px; line-height: 1.35; }
.sidebar-note strong, .sidebar-note span { display: block; }
.sidebar-note strong { color: #e8f5ee; font-size: 11px; }
.note-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: #edc568; }

.main-content { min-width: 0; padding-bottom: 36px; }
.topbar { display: flex; align-items: center; height: 65px; padding: 0 clamp(20px, 4vw, 52px); border-bottom: 1px solid var(--line); background: #fff; }
.breadcrumb { color: var(--muted); font-size: 13px; }
.breadcrumb span { margin: 0 8px; color: #b3c0ba; }
.topbar-right { position: relative; display: flex; align-items: center; gap: 14px; margin-left: auto; }
.company-switcher { display: flex; align-items: center; gap: 6px; color: #718178; font-size: 10px; font-weight: 780; }
.company-switcher select { max-width: 160px; height: 31px; padding: 0 25px 0 9px; border: 1px solid #d6e3dc; border-radius: 7px; background: #f9fcfa; color: #345546; font: inherit; font-size: 11px; font-weight: 820; }
.demo-badge { padding: 5px 9px; border-radius: 999px; background: #eff4f1; color: #63756c; font-size: 11px; font-weight: 700; }
.access-preview-button { border: 1px solid #d6e3dc; border-radius: 7px; padding: 6px 8px; background: #fff; color: #486358; font-size: 11px; font-weight: 740; }
.access-preview-button:hover { border-color: #7caf93; color: var(--green); }
.access-preview-button span { margin-left: 3px; }
.role-menu { position: absolute; z-index: 6; top: 37px; right: 42px; width: 190px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 12px 25px #1832271f; }
.role-menu p { margin: 2px 6px 7px; color: #84938a; font-size: 10px; font-weight: 790; letter-spacing: .06em; text-transform: uppercase; }
.role-menu button { width: 100%; border: 0; border-radius: 6px; padding: 8px; background: #fff; color: #315848; text-align: left; font-size: 12px; font-weight: 700; }
.role-menu button:hover { background: #edf6f0; }
.role-preview-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px clamp(20px, 4vw, 52px); border-bottom: 1px solid #d7e9de; background: #f2f8f4; color: #47715b; font-size: 12px; }
.role-preview-bar button { border: 0; padding: 0; background: none; color: var(--green); font-size: 12px; font-weight: 780; }
.profile { display: grid; width: 29px; height: 29px; place-items: center; border: 0; border-radius: 50%; background: var(--green-light); color: var(--green); font-size: 11px; font-weight: 800; }
.identity-session-menu { position: absolute; z-index: 8; top: 39px; right: 0; display: grid; min-width: 190px; gap: 3px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 12px 25px #1832271f; }
.identity-session-menu strong { color: #254536; font-size: 12px; }
.identity-session-menu span { color: #7b8d83; font-size: 10px; }
.identity-logout-button { margin-top: 6px; border: 0; border-radius: 6px; padding: 8px; background: #f2f7f4; color: #416756; text-align: left; font-size: 11px; font-weight: 760; }
.identity-logout-button:hover { background: #e6f2e9; color: var(--green); }
.menu-trigger { display: none; border: 0; background: none; color: var(--green); font-size: 20px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: 1400px; padding: 42px clamp(20px, 4vw, 52px) 25px; }
.eyebrow { margin: 0 0 5px; color: var(--green-mid); font-size: 11px; font-weight: 790; letter-spacing: .11em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 7px; color: #163328; font-size: clamp(27px, 3vw, 34px); letter-spacing: -.045em; }
.intro { max-width: 635px; margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }

.file-filters { max-width: 1400px; margin: 0 clamp(20px, 4vw, 52px) 20px; padding: 0; overflow: hidden; }
.filter-tabs { display: flex; gap: 4px; padding: 12px 16px 0; border-bottom: 1px solid #e4ece7; background: #f9fcfa; }
.filter-tab { border: 0; border-bottom: 2px solid transparent; padding: 8px 10px; background: transparent; color: #718078; font-size: 12px; font-weight: 760; }
.filter-tab:hover { color: var(--green); }
.filter-tab.active { border-bottom-color: var(--green); color: var(--green); }
.filter-panel { background: #fff; }
.filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; padding: 15px 16px 16px; }
.filter-field-wide { grid-column: span 2; }
.filter-grid-secondary { min-height: 110px; }
.filter-field { display: block; min-width: 0; color: #708078; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.filter-field input, .filter-field select { width: 100%; height: 38px; margin-top: 6px; padding: 0 10px; border: 1px solid #d7e2dc; border-radius: 7px; outline: 0; background: #fff; color: #30483c; font-size: 12px; text-transform: none; }
.filter-field input:focus, .filter-field select:focus { border-color: var(--green-mid); box-shadow: 0 0 0 3px #2a95651c; }
.filter-actions { display: flex; justify-content: flex-end; gap: 7px; padding: 0 16px 16px; }
.filter-actions .button { min-height: 38px; padding-inline: 11px; font-size: 12px; }
.file-layout { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(270px, .75fr); gap: 20px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.card { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 7px 18px #263a3110; }
.file-index { overflow: hidden; }
.card-topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 21px 16px; border-bottom: 1px solid var(--line); }
.card-topline h2, .file-preview h2 { margin-bottom: 3px; font-size: 16px; letter-spacing: -.02em; }
.card-topline p { margin: 0; color: var(--muted); font-size: 12px; }
.file-list-note { color: #7b8b82; font-size: 11px; }
.search { display: flex; align-items: center; gap: 6px; width: min(230px, 43%); padding: 0 9px; border: 1px solid #dae4de; border-radius: 8px; color: #789087; }
.search input { width: 100%; height: 34px; border: 0; outline: 0; color: var(--ink); font-size: 12px; }
.client-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.client-filter-label, .commercial-account-tools label { color: #718178; font-size: 10px; font-weight: 780; }
.client-filter-label select, .commercial-account-tools select { display: block; min-height: 34px; margin-top: 3px; padding: 0 25px 0 9px; border: 1px solid #dae4de; border-radius: 8px; background: #fff; color: #465d50; font: inherit; font-size: 11px; font-weight: 700; }
.file-table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 790px; border-collapse: collapse; text-align: left; }
th { padding: 11px 21px; border-bottom: 1px solid #eaf0ed; color: #829189; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
td { padding: 14px 21px; border-bottom: 1px solid #edf2ef; color: #43544b; font-size: 13px; }
tbody tr { cursor: pointer; transition: background .16s ease; }
tbody tr:hover, tbody tr.selected { background: #f2f8f4; }
tbody tr:last-child td { border-bottom: 0; }
.reference { color: var(--green); font-size: 12px; font-weight: 800; }
.client-line { display: block; color: #283930; font-weight: 730; }
.destination-line { display: block; margin-top: 2px; color: #84928b; font-size: 11px; }
.status-pill { display: inline-block; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.status-rascunho { background: var(--amber-bg); color: var(--amber); }
.status-proposta { background: var(--blue-bg); color: var(--blue); }
.status-confirmado { background: var(--green-light); color: var(--green); }
.status-concluido { background: #eef1ef; color: #68776e; }
.next-step { color: var(--muted); font-size: 12px; }

.file-preview { min-height: 340px; padding: 21px; }
.preview-empty { display: grid; min-height: 300px; place-content: center; text-align: center; }
.empty-icon { display: grid; width: 40px; height: 40px; place-items: center; margin: 0 auto 12px; border-radius: 12px; background: var(--green-light); color: var(--green); font-size: 20px; }
.preview-empty h2 { margin-bottom: 7px; }
.preview-empty p { max-width: 225px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.preview-topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.preview-client { margin: 0; color: #193327; font-size: 20px !important; }
.preview-destination { margin: 3px 0 17px; color: var(--muted); font-size: 13px; }
.preview-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 12px 0 18px; border-top: 1px solid #edf2ef; }
.meta-pair span { display: block; color: #8a978f; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.meta-pair strong { display: block; margin-top: 3px; color: #385047; font-size: 12px; }
.stage-block { padding-top: 15px; border-top: 1px solid #edf2ef; }
.mini-label { margin-bottom: 9px; color: #85938b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stage-list { display: grid; gap: 9px; margin: 0 0 20px; padding: 0; list-style: none; }
.stage-list li { position: relative; display: flex; align-items: center; gap: 8px; color: #708078; font-size: 12px; }
.stage-list li::before { content: ""; display: block; width: 8px; height: 8px; border: 1px solid #b8c8bf; border-radius: 50%; background: #fff; }
.stage-list li.done { color: #266b4d; font-weight: 680; }
.stage-list li.done::before { border-color: var(--green-mid); background: var(--green-mid); box-shadow: inset 0 0 0 2px #fff; }
.button-secondary { width: 100%; border-color: #ccded4; background: #fff; color: var(--green); }
.button-secondary:hover { border-color: var(--green-mid); background: #f5faf7; }
.button-secondary span { margin-left: 5px; }

.how-it-works { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1400px; padding: 25px clamp(20px, 4vw, 52px); }
.how-it-works > div { padding: 18px 2px 5px; }
.step-number { display: grid; width: 24px; height: 24px; place-items: center; margin-bottom: 9px; border-radius: 50%; background: var(--green-light); color: var(--green); font-size: 11px; font-weight: 800; }
.how-it-works h2 { margin-bottom: 4px; color: #385047; font-size: 14px; }
.how-it-works p { max-width: 330px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.clients-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .8fr); gap: 20px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.client-index { overflow: hidden; }
.client-list { display: grid; }
.list-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 10px 15px; border-top: 1px solid #edf2ef; background: #fbfdfb; }
.list-pagination:empty { display: none; }
.list-pagination > span { color: #7d8e84; font-size: 10px; font-weight: 700; }
.list-pagination nav { display: flex; align-items: center; gap: 5px; }
.list-pagination button { min-width: 31px; height: 29px; padding: 0 8px; border: 1px solid #d8e5dd; border-radius: 7px; background: #fff; color: #49705b; font-size: 10px; font-weight: 800; }
.list-pagination button:hover:not(:disabled) { border-color: #68a982; background: #f0f8f3; }
.list-pagination button:disabled { cursor: default; opacity: .42; }
.list-pagination .pagination-current { border-color: #2a9565; background: #2a9565; color: #fff; }
.client-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 20px; border: 0; border-bottom: 1px solid #edf2ef; background: #fff; color: inherit; text-align: left; transition: background .16s ease; }
.client-row:hover, .client-row.selected { background: #f2f8f4; }
.client-row:last-child { border-bottom: 0; }
.client-avatar { display: grid; flex: 0 0 auto; width: 33px; height: 33px; place-items: center; border-radius: 50%; background: #dff0e6; color: #176546; font-size: 11px; font-weight: 850; letter-spacing: .02em; }
.client-row-main { min-width: 0; }
.client-row-main strong { display: block; overflow: hidden; color: #294238; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.client-row-main span { display: block; overflow: hidden; margin-top: 3px; color: #7c8e84; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.client-row-meta { margin-left: auto; text-align: right; }
.client-row-meta strong { display: block; color: #5a7164; font-size: 11px; }
.client-row-meta span { display: block; margin-top: 3px; color: #8a998f; font-size: 10px; }
.client-group { display: inline-flex !important; width: fit-content; margin-top: 5px !important; padding: 3px 6px; border-radius: 999px; font-size: 9px !important; font-weight: 850; letter-spacing: .06em; line-height: 1; }
.client-row-meta .client-group { margin-left: auto; }
.client-group-lazer { background: #e6f3ea; color: #23704d !important; }
.client-group-corporate { background: #e4eef7; color: #2d6188 !important; }
.client-credit { display: inline-flex !important; width: fit-content; margin-top: 4px !important; padding: 3px 6px; border-radius: 999px; font-size: 9px !important; font-weight: 800; line-height: 1; }
.client-row-meta .client-credit { margin-left: auto; }
.client-credit-with { background: #fdf0d3; color: #966600 !important; }
.client-credit-without { background: #eef1ef; color: #62736a !important; }
.client-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.client-badges .client-group, .client-badges .client-credit { margin-top: 0 !important; }
.client-no-results { margin: 0; padding: 28px 20px; color: var(--muted); font-size: 12px; text-align: center; }
.client-preview { min-height: 340px; padding: 21px; }
.client-profile-head { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid #e7eeea; }
.client-avatar-large { width: 45px; height: 45px; font-size: 13px; }
.client-profile-head .eyebrow { margin-bottom: 3px; font-size: 9px; }
.client-profile-head h2 { margin: 0; color: #1f3a2e; font-size: 18px; letter-spacing: -.03em; }
.client-profile-head p:not(.eyebrow) { margin: 3px 0 0; color: #718078; font-size: 12px; }
.client-contact { display: block; margin-top: 4px; color: #557265; font-size: 11px; }
.client-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 16px 0; }
.client-stats div { min-width: 0; padding: 9px 7px; border-radius: 8px; background: #f3f8f5; text-align: center; }
.client-stats span { display: block; overflow: hidden; color: #87968e; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.client-stats strong { display: block; overflow: hidden; margin-top: 4px; color: #2c5d46; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.profile-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0 0 16px; }
.profile-data-grid div { min-width: 0; padding: 9px 10px; border: 1px solid #e4ece7; border-radius: 8px; background: #fbfdfb; }
.profile-data-grid span { display: block; margin-bottom: 3px; color: #86968d; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.profile-data-grid strong { display: block; overflow: hidden; color: #486055; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.client-files { display: grid; gap: 7px; padding: 2px 0 17px; }
.client-files .mini-label { margin: 0 0 2px; }
.client-empty-files { margin: 2px 0 16px; padding: 13px; border-radius: 9px; background: #f5f9f6; color: #687c72; font-size: 12px; line-height: 1.45; }
.client-file-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 9px 10px; border: 1px solid #e4ece7; border-radius: 8px; background: #fff; text-align: left; }
.client-file-link:hover { border-color: #9ac7ad; background: #f7fcf8; }
.client-file-link strong { display: block; color: var(--green); font-size: 11px; }
.client-file-link small { display: block; margin-top: 2px; color: #798b81; font-size: 10px; }
.client-new-file { width: 100%; margin-bottom: 9px; }

.suppliers-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .8fr); gap: 20px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.supplier-index { overflow: hidden; }
.supplier-list { display: grid; }
.supplier-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 20px; border: 0; border-bottom: 1px solid #edf2ef; background: #fff; color: inherit; text-align: left; transition: background .16s ease; }
.supplier-row:hover, .supplier-row.selected { background: #f2f8f4; }
.supplier-row:last-child { border-bottom: 0; }
.supplier-mark { display: grid; flex: 0 0 auto; width: 33px; height: 33px; place-items: center; border-radius: 9px; background: #edf2fb; color: #3a6496; font-size: 11px; font-weight: 850; letter-spacing: .02em; }
.supplier-row-main { min-width: 0; }
.supplier-row-main strong { display: block; overflow: hidden; color: #294238; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-row-main span { display: block; overflow: hidden; margin-top: 3px; color: #7c8e84; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-row-meta { margin-left: auto; text-align: right; }
.supplier-row-meta strong { display: block; color: #5a7164; font-size: 11px; }
.supplier-row-meta span { display: block; margin-top: 3px; color: #8a998f; font-size: 10px; }
.supplier-no-results { margin: 0; padding: 28px 20px; color: var(--muted); font-size: 12px; text-align: center; }
.supplier-preview { min-height: 340px; padding: 21px; }
.supplier-profile-head { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid #e7eeea; }
.supplier-mark-large { width: 45px; height: 45px; font-size: 13px; }
.supplier-profile-head .eyebrow { margin-bottom: 3px; font-size: 9px; }
.supplier-profile-head h2 { margin: 0; color: #1f3a2e; font-size: 18px; letter-spacing: -.03em; }
.supplier-profile-head p:not(.eyebrow) { margin: 3px 0 0; color: #718078; font-size: 12px; }
.supplier-contact { display: block; margin-top: 4px; color: #557265; font-size: 11px; }
.supplier-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 16px 0; }
.supplier-stats div { min-width: 0; padding: 9px 7px; border-radius: 8px; background: #f3f8f5; text-align: center; }
.supplier-stats span { display: block; overflow: hidden; color: #87968e; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.supplier-stats strong { display: block; overflow: hidden; margin-top: 4px; color: #2c5d46; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.supplier-services { display: grid; gap: 7px; padding: 2px 0; }
.supplier-services .mini-label { margin: 0 0 2px; }
.supplier-payment { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 17px; padding: 11px 12px; border: 1px solid #dbe9e0; border-radius: 9px; background: #f5faf7; }
.supplier-payment span { display: block; color: #84948b; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.supplier-payment strong { display: block; margin-top: 4px; color: #315849; font-size: 11px; }
.supplier-payment-button { flex: 0 0 auto; width: auto; min-height: 32px; padding-inline: 9px; font-size: 10px; }
.supplier-empty-services { margin: 2px 0; padding: 13px; border-radius: 9px; background: #f5f9f6; color: #687c72; font-size: 12px; line-height: 1.45; }
.supplier-service-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 9px 10px; border: 1px solid #e4ece7; border-radius: 8px; background: #fff; text-align: left; }
.supplier-service-link:hover { border-color: #9ac7ad; background: #f7fcf8; }
.supplier-service-link strong { display: block; color: #315849; font-size: 11px; }
.supplier-service-link small { display: block; margin-top: 2px; color: #798b81; font-size: 10px; }
.supplier-service-link .service-symbol { width: 27px; height: 27px; border-radius: 7px; font-size: 12px; }

.operator-access-summary { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(3, minmax(150px, .7fr)); gap: 14px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px) 20px; }
.identity-summary-card { display: flex; align-items: center; gap: 13px; min-height: 113px; padding: 19px; }
.identity-mark { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border-radius: 11px; background: #e9f1fb; color: #356da8; font-size: 18px; font-weight: 850; }
.identity-summary-card .eyebrow { margin-bottom: 2px; font-size: 9px; }
.identity-summary-card h2 { margin: 0; color: #254436; font-size: 17px; letter-spacing: -.025em; }
.identity-summary-card p:not(.eyebrow) { margin: 3px 0 0; color: #73847a; font-size: 11px; line-height: 1.4; }
.identity-status { margin-left: auto; padding: 5px 8px; border-radius: 999px; background: #e6f4eb; color: #227047; font-size: 10px; font-weight: 800; white-space: nowrap; }
.operator-summary-card { min-height: 113px; padding: 18px; }
.operator-summary-card > span { display: block; color: #819089; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.operator-summary-card strong { display: block; margin-top: 7px; color: #1e4936; font-size: 27px; letter-spacing: -.05em; }
.operator-summary-card small { display: block; margin-top: 3px; color: #7d8c84; font-size: 10px; line-height: 1.35; }
.operator-access-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .8fr); gap: 20px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.operator-access-index { overflow: hidden; }
.operator-access-list { display: grid; }
.operator-access-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 20px; border: 0; border-bottom: 1px solid #edf2ef; background: #fff; color: inherit; text-align: left; transition: background .16s ease; }
.operator-access-row:hover, .operator-access-row.selected { background: #f2f8f4; }
.operator-access-row:last-child { border-bottom: 0; }
.operator-access-mark { display: grid; flex: 0 0 auto; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #e9f1fb; color: #396a9f; font-size: 11px; font-weight: 850; letter-spacing: .02em; }
.operator-access-row-main { min-width: 0; }
.operator-access-row-main strong { display: block; overflow: hidden; color: #294238; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.operator-access-row-main span { display: block; overflow: hidden; margin-top: 3px; color: #7c8e84; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.operator-access-row-meta { display: grid; gap: 4px; margin-left: auto; text-align: right; }
.operator-access-row-meta > span { color: #71857a; font-size: 10px; }
.access-status { display: inline-flex; align-items: center; justify-content: center; width: fit-content; margin-left: auto; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 820; white-space: nowrap; }
.access-status-ativo { background: var(--green-light); color: var(--green); }
.access-status-a-configurar { background: var(--amber-bg); color: var(--amber); }
.access-status-planeado { background: var(--blue-bg); color: var(--blue); }
.access-status-suspenso { background: var(--rose-bg); color: var(--rose); }
.operator-access-preview { min-height: 355px; padding: 21px; }
.operator-access-profile-head { display: flex; align-items: flex-start; gap: 11px; padding-bottom: 17px; border-bottom: 1px solid #e7eeea; }
.operator-access-mark-large { width: 44px; height: 44px; font-size: 13px; }
.operator-access-profile-head .eyebrow { margin-bottom: 3px; font-size: 9px; }
.operator-access-profile-head h2 { margin: 0; color: #1f3a2e; font-size: 18px; letter-spacing: -.03em; }
.operator-access-profile-head p:not(.eyebrow) { margin: 3px 0 0; color: #718078; font-size: 12px; }
.operator-access-profile-head .access-status { margin-left: auto; }
.operator-access-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 15px; border: 1px solid #e5ede8; border-radius: 9px; overflow: hidden; background: #e5ede8; }
.operator-access-details > div { min-width: 0; padding: 11px; background: #fff; }
.operator-access-details span { display: block; color: #89988f; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.operator-access-details strong { display: block; overflow: hidden; margin-top: 4px; color: #345347; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.operator-access-note { margin-top: 15px; padding: 12px; border-radius: 9px; background: #f4f8f5; color: #61766a; }
.operator-access-note strong { display: block; color: #3d5e4e; font-size: 10px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.operator-access-note p { margin: 5px 0 0; font-size: 11px; line-height: 1.45; }
.operator-access-protection { display: flex; align-items: flex-start; gap: 7px; margin-top: 13px; color: #587064; font-size: 10px; line-height: 1.45; }
.operator-access-protection span, .access-safety-note > span { display: grid; flex: 0 0 auto; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: #d6ebdf; color: #247049; font-size: 10px; font-weight: 900; }
.operator-access-protection p { margin: 0; }
.access-safety-note { display: flex; align-items: flex-start; gap: 9px; max-width: 1400px; margin: 20px auto 0; padding: 13px 15px; border: 1px solid #d7e7dc; border-radius: 10px; background: #f6fbf7; color: #567064; font-size: 12px; line-height: 1.5; }
.access-safety-note strong { color: #2d6047; }

.commercial-workspace { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 20px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.commercial-menu { align-self: start; overflow: hidden; padding: 10px 0; }
.commercial-menu-heading { margin: 12px 17px 7px; color: #83938a; font-size: 10px; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.commercial-menu-heading-spaced { margin-top: 21px; }
.commercial-menu-item { display: block; width: 100%; border: 0; border-left: 3px solid transparent; padding: 10px 17px; background: #fff; color: #5f7368; text-align: left; font-size: 12px; font-weight: 690; }
.commercial-menu-item:hover { background: #f4f9f6; color: var(--green); }
.commercial-menu-item.active { border-left-color: var(--green); background: #eef7f1; color: var(--green); font-weight: 820; }
.commercial-content { min-height: 460px; overflow: hidden; }
.commercial-content-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px 22px 18px; border-bottom: 1px solid var(--line); }
.commercial-content-header .eyebrow { margin-bottom: 4px; font-size: 9px; }
.commercial-content-header h2 { margin: 0 0 4px; color: #263f33; font-size: 20px; letter-spacing: -.03em; }
.commercial-content-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.commercial-content-header .button { flex: 0 0 auto; }
.commercial-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.commercial-account-tools { display: flex; align-items: flex-end; gap: 10px; }
.commercial-account-tools label { white-space: nowrap; }
.treasury-kpis, .management-kpis, .collection-summary, .site-backoffice-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px); }
.collection-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.treasury-kpi, .management-kpi, .collection-kpi, .site-backoffice-stat { min-height: 116px; padding: 17px 18px; }
.treasury-kpi span, .management-kpi span, .collection-kpi span, .site-backoffice-stat span { display: block; color: #7e8f86; font-size: 10px; font-weight: 830; letter-spacing: .07em; text-transform: uppercase; }
.treasury-kpi strong, .management-kpi strong, .collection-kpi strong, .site-backoffice-stat strong { display: block; margin-top: 8px; color: #244a37; font-size: 22px; letter-spacing: -.04em; }
.treasury-kpi small, .management-kpi small, .collection-kpi small, .site-backoffice-stat small { display: block; margin-top: 6px; color: #7c8e84; font-size: 10px; line-height: 1.35; }
.treasury-kpi-payable strong { color: #93650d; }
.management-kpi-margin strong { color: #1d7049; }
.management-kpi-receivable strong { color: #93650d; }
.collection-kpi-attention strong, .collection-overdue { color: #ab5d17; }
.site-backoffice-status strong { color: #9a6b13; font-size: 18px; }
.treasury-layout, .management-layout, .collection-layout, .site-backoffice-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(255px, .55fr); gap: 20px; max-width: 1400px; padding: 20px clamp(20px, 4vw, 52px) 42px; }
.embedded-system-shell { max-width: 1400px; margin: 0 auto 42px; overflow: hidden; border: 1px solid #d6e5dc; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px #193a2a10; }
.embedded-system-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 17px; border-bottom: 1px solid #dce9e1; background: #f3f9f5; }
.embedded-system-bar span, .embedded-system-bar strong { display: block; }
.embedded-system-bar span { color: #428263; font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.embedded-system-bar strong { margin-top: 3px; color: #315443; font-size: 12px; }
.embedded-system-bar .button { min-height: 31px; padding: 0 11px; font-size: 11px; }
.embedded-system-shell iframe { display: block; width: 100%; min-height: 720px; border: 0; background: #fff; }
.treasury-content, .management-content, .collection-content, .site-backoffice-content { min-height: 330px; overflow: hidden; }
.treasury-content-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px 22px 18px; border-bottom: 1px solid var(--line); }
.treasury-content-header .eyebrow { margin-bottom: 4px; font-size: 9px; }
.treasury-content-header h2 { margin: 0 0 4px; color: #263f33; font-size: 20px; letter-spacing: -.03em; }
.treasury-content-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.treasury-content-header > span { flex: 0 0 auto; border-radius: 999px; padding: 6px 8px; background: #eef6f1; color: #2f694c; font-size: 10px; font-weight: 800; }
.treasury-direction { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 820; }
.treasury-direction-in { background: #e4f4ea; color: #25704b; }
.treasury-direction-out { background: #fff0df; color: #93610c; }
.treasury-note, .management-note, .collection-note, .site-backoffice-note { display: flex; align-items: flex-start; gap: 12px; padding: 21px 18px; background: #f4faf6; }
.treasury-note > span, .management-note > span, .collection-note > span, .site-backoffice-note > span { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #dff1e6; color: var(--green); font-weight: 900; }
.treasury-note .eyebrow, .management-note .eyebrow, .collection-note .eyebrow, .site-backoffice-note .eyebrow { margin-bottom: 4px; font-size: 9px; }
.treasury-note h2, .management-note h2, .collection-note h2, .site-backoffice-note h2 { margin: 0 0 7px; color: #274334; font-size: 16px; }
.treasury-note p:not(.eyebrow), .management-note p:not(.eyebrow), .collection-note p:not(.eyebrow), .site-backoffice-note p:not(.eyebrow) { margin: 0; color: #688073; font-size: 11px; line-height: 1.55; }
.management-sections { padding: 18px 22px 22px; }
.management-sections > section + section { margin-top: 24px; }
.central-gest-panel { max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px) 2px; }
.central-gest-panel .ecosystem-hub { border: 1px solid #dceae1; border-radius: 13px; }
.ecosystem-sync { align-items: center; background: #fffdf4; border: 1px solid #eadfbb; border-radius: 10px; color: #6b5b2e; display: flex; gap: 9px; justify-content: space-between; margin: 0 0 15px; padding: 10px 12px; }
.ecosystem-sync > div { flex: 1; }
.ecosystem-sync strong, .ecosystem-sync small { display: block; }
.ecosystem-sync strong { font-size: 11px; }
.ecosystem-sync small { color: #857852; font-size: 10px; margin-top: 2px; }
.ecosystem-sync > span:last-child { font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ecosystem-sync-dot { background: #c99b28; border-radius: 50%; height: 8px; width: 8px; }
.ecosystem-sync-active { background: #f1fbf5; border-color: #cfe7d8; color: #24704d; }
.ecosystem-sync-active small { color: #5b866f; }
.ecosystem-sync-active .ecosystem-sync-dot { background: #2ba467; }
.ecosystem-hub { padding: 21px 22px 0; border-bottom: 1px solid #dceae1; background: linear-gradient(110deg, #f0f9f3, #fbfdfc); }
.ecosystem-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.ecosystem-heading .eyebrow { margin-bottom: 5px; font-size: 9px; }
.ecosystem-heading h3 { margin: 0; color: #244635; font-size: 18px; letter-spacing: -.025em; }
.ecosystem-heading > span { padding: 5px 8px; border-radius: 999px; background: #dcefe2; color: #31704e; font-size: 10px; font-weight: 800; white-space: nowrap; }
.ecosystem-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ecosystem-card { position: relative; display: flex; align-items: flex-start; gap: 10px; min-height: 162px; padding: 14px; border: 1px solid #d8e7dd; border-radius: 10px; background: #fff; }
.ecosystem-card.ecosystem-core { border-color: #9fceb0; background: #e9f7ee; }
.ecosystem-card.ecosystem-future { background: #fafcfa; }
.ecosystem-icon { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: #ecf5ef; color: #247048; font-size: 14px; font-weight: 850; }
.ecosystem-core .ecosystem-icon { background: var(--green); color: #fff; }
.ecosystem-card p { margin: 0; color: #6b8677; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.ecosystem-card h4 { margin: 4px 0 5px; color: #294837; font-size: 13px; letter-spacing: -.015em; }
.ecosystem-card small { display: block; color: #71857a; font-size: 10px; line-height: 1.42; }
.ecosystem-action { min-height: 28px; margin-top: 10px; padding: 0 8px; font-size: 10px; }
.ecosystem-state { position: absolute; right: 10px; bottom: 9px; max-width: calc(100% - 20px); overflow: hidden; padding: 4px 6px; border-radius: 999px; background: #f0f3f1; color: #728178; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.ecosystem-waiting { background: #fff3df; color: #9a6814; }
.ecosystem-active { background: #e7f5ec; color: #25704b; }
.ecosystem-flow { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 16px 0; color: #54806a; font-size: 10px; font-weight: 750; }
.ecosystem-flow b { color: #258050; font-size: 14px; }
.app-status { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.app-status-ready { background: #e5f5eb; color: #247049; }
.app-status-attention { background: #fff2dc; color: #9d6810; }
.app-status-waiting { background: #eef1f0; color: #73827a; }
.management-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.management-section-heading .eyebrow { margin-bottom: 3px; font-size: 9px; }
.management-section-heading h3 { margin: 0; color: #2a4737; font-size: 14px; }
.management-section-heading > span { border-radius: 999px; padding: 5px 7px; background: #eef6f1; color: #2d704c; font-size: 9px; font-weight: 820; }
.management-status-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #e2ebe6; border-radius: 9px; }
.management-status-list > div { min-height: 82px; padding: 13px; border-right: 1px solid #e2ebe6; background: #fbfdfc; }
.management-status-list > div:last-child { border-right: 0; }
.management-status-list .status-pill { display: inline-flex; }
.management-status-list strong { display: block; margin-top: 8px; color: #2c4a39; font-size: 20px; letter-spacing: -.035em; }
.management-status-list small { display: block; margin-top: 1px; color: #809087; font-size: 10px; }
.management-margin { color: #247149; }
.management-empty-line { margin: 0; padding: 16px; border: 1px dashed #d7e5dc; border-radius: 8px; color: #71847a; font-size: 12px; }
.management-commercial-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #dbe8df; border-radius: 9px; background: #f5faf7; }
.management-commercial-strip > div { padding: 14px 15px; border-right: 1px solid #dbe8df; }
.management-commercial-strip > div:last-child { border-right: 0; }
.management-commercial-strip span { display: block; color: #71867a; font-size: 9px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.management-commercial-strip strong { display: block; margin-top: 6px; color: #2a593f; font-size: 16px; letter-spacing: -.025em; }
.company-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1400px; padding: 0 clamp(20px, 4vw, 52px) 22px; }
.company-card { width: 100%; padding: 20px; color: inherit; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.company-card:hover { border-color: #a6cdb5; box-shadow: 0 10px 22px #263a3115; transform: translateY(-1px); }
.company-card.selected { border-color: #54a977; box-shadow: 0 0 0 3px #2a956516; }
.company-card-head { display: flex; align-items: flex-start; gap: 11px; }
.company-mark { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #dff0e6; color: #1d7049; font-weight: 900; }
.company-card .eyebrow { margin-bottom: 3px; font-size: 9px; }
.company-card h2 { margin: 0; color: #254033; font-size: 19px; letter-spacing: -.025em; }
.company-card-head p:not(.eyebrow) { margin: 3px 0 0; color: #72847a; font-size: 11px; }
.company-web-status { display: inline-flex; margin-top: 7px; padding: 4px 6px; border-radius: 999px; background: #edf1ef; color: #65786e; font-size: 9px; font-weight: 820; }
.company-web-active { background: #e2f3e8; color: #25704b; }
.company-web-planned { background: #e5eef8; color: #32698d; }
.company-bank-details { margin-top: 14px; padding: 10px 11px; border: 1px solid #d9e9df; border-radius: 8px; background: #f5fbf7; }
.company-bank-details span, .company-bank-details strong, .company-bank-details small { display: block; }
.company-bank-details span { color: #7b9184; font-size: 8px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.company-bank-details strong { margin-top: 3px; color: #2b5a42; font-size: 12px; }
.company-bank-details small { margin-top: 3px; color: #60776a; font-size: 10px; }
.company-current { margin-left: auto; border-radius: 999px; padding: 5px 7px; background: #eef3f0; color: #718178; font-size: 9px; font-weight: 820; }
.company-card.selected .company-current { background: #e2f3e8; color: #25704b; }
.company-card-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 17px; border-radius: 8px; overflow: hidden; background: #e6eee9; }
.company-card-stats > div { min-width: 0; padding: 9px 8px; background: #f8fbf9; }
.company-card-stats span { display: block; overflow: hidden; color: #87978e; font-size: 8px; font-weight: 820; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.company-card-stats strong { display: block; overflow: hidden; margin-top: 4px; color: #385746; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.company-note { display: flex; align-items: flex-start; gap: 11px; max-width: 1400px; margin: 0 clamp(20px, 4vw, 52px); padding: 15px 17px; border: 1px solid #d7e8de; border-radius: 12px; background: #f3faf6; color: #587469; font-size: 12px; line-height: 1.45; }
.company-note > span { color: var(--green); font-weight: 900; }
.company-note strong { color: #315640; }
.commercial-inline-button { width: auto; }
.commercial-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-bottom: 1px solid #e5ede8; background: #e5ede8; }
.commercial-kpis-four { grid-template-columns: repeat(4, 1fr); }
.commercial-kpis > div { padding: 16px 18px; background: #fff; }
.commercial-kpis span { display: block; color: #84928a; font-size: 9px; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; }
.commercial-kpis strong { display: block; margin-top: 5px; color: #244a37; font-size: 18px; letter-spacing: -.035em; }
.commercial-table-wrap { overflow-x: auto; }
.commercial-table { min-width: 790px; }
.commercial-table th { padding: 11px 18px; }
.commercial-table td { padding: 13px 18px; vertical-align: middle; font-size: 12px; }
.commercial-table td > strong { color: #345346; font-size: 12px; }
.commercial-table td small, .commercial-description { display: block; }
.commercial-description { max-width: 270px; overflow: hidden; color: #4a6056; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.commercial-table td small { margin-top: 2px; color: #8a998f; font-size: 10px; }
.commercial-origin { display: inline-block; margin-right: 4px; padding: 2px 5px; border-radius: 999px; font-size: 8px; font-weight: 850; letter-spacing: .04em; }
.commercial-origin-fse { background: #e9eefb; color: #3f6798; }
.commercial-document-link { margin-top: 6px; padding: 0; border: 0; background: transparent; color: #24704b; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.commercial-document-link:hover { color: #155e39; text-decoration: underline; }
.commercial-document-pending { display: inline-block; margin-top: 6px; color: #a56511; font-size: 10px; font-weight: 750; }
.commercial-status { display: inline-block; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 820; white-space: nowrap; }
.commercial-status-por-pagar, .commercial-status-pendente { background: var(--amber-bg); color: var(--amber); }
.commercial-status-pago, .commercial-status-recebido { background: var(--green-light); color: var(--green); }
.commercial-status-emitida { background: var(--blue-bg); color: var(--blue); }
.commercial-balance { color: #a56511 !important; }
.commercial-empty, .commercial-import-state { display: grid; min-height: 280px; place-content: center; padding: 34px; text-align: center; }
.commercial-empty h3, .commercial-import-state h3 { margin: 0 0 6px; color: #385347; font-size: 15px; }
.commercial-empty p, .commercial-import-state p { max-width: 400px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.commercial-note { display: flex; align-items: flex-start; gap: 9px; max-width: 1400px; margin: 20px auto 0; padding: 14px 16px; border: 1px solid #e8dfc7; border-radius: 10px; background: #fffaf0; color: #756537; font-size: 12px; line-height: 1.5; }
.commercial-note > span { display: grid; flex: 0 0 auto; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #f3deb0; color: #80601e; font-size: 11px; font-weight: 850; }
.commercial-note strong { color: #67521d; }
.payment-term-hint { display: block; margin-top: 6px; color: #71847a; font-size: 10px; font-weight: 600; line-height: 1.4; }
.fse-dropzone { display: grid; min-height: 144px; place-items: center; align-content: center; gap: 5px; padding: 16px; border: 1.5px dashed #9fc8b0; border-radius: 11px; background: #f6fbf8; color: #537366; cursor: pointer; text-align: center; transition: .15s ease; }
.fse-dropzone:hover, .fse-dropzone.is-dragging { border-color: #32905f; background: #ecf8f0; transform: translateY(-1px); }
.fse-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.fse-dropzone strong { color: #285f43; font-size: 13px; }
.fse-dropzone > span:not(.fse-dropzone-icon) { color: #789084; font-size: 11px; }
.fse-dropzone small { color: #5d7769; font-size: 10px; font-weight: 750; }
.fse-dropzone-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #dff1e6; color: var(--green); font-size: 18px; font-weight: 900; }
.fse-reader { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 13px; border: 1px solid #dce9e1; border-radius: 10px; background: #fbfdfc; }
.fse-reader strong, .fse-reader span { display: block; }
.fse-reader strong { color: #315641; font-size: 11px; }
.fse-reader span { margin-top: 3px; color: #71847a; font-size: 10px; line-height: 1.35; }
.fse-reader .button { white-space: nowrap; }
.fse-supplier-help { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: -7px; color: #71847a; font-size: 10px; }
.fse-supplier-help .button { width: auto; min-height: auto; padding: 5px 7px; font-size: 10px; }
.fse-review-check { margin: 0; padding: 11px 12px; border: 1px solid #d8e6dd; border-radius: 9px; }
.fse-review-check label { display: flex; align-items: flex-start; gap: 8px; color: #456154; font-size: 11px; font-weight: 720; line-height: 1.35; }
.fse-review-check input { width: auto; height: auto; margin: 1px 0 0; accent-color: var(--green); }
.fse-review-check small { display: block; margin-top: 7px; color: #77887f; font-size: 10px; line-height: 1.35; }

.access-view { max-width: 1400px; padding: 26px clamp(20px, 4vw, 52px); }
.access-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.access-card { padding: 24px; }
.access-card h2 { margin: 1px 0 7px; color: #274438; font-size: 20px; letter-spacing: -.03em; }
.access-card > p:not(.eyebrow) { min-height: 38px; margin-bottom: 18px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.access-card ul { display: grid; gap: 9px; margin: 0 0 20px; padding: 0; list-style: none; }
.access-card li { display: flex; align-items: center; gap: 8px; color: #5b7165; font-size: 12px; }
.access-card li::before { content: "✓"; display: grid; width: 16px; height: 16px; place-items: center; border-radius: 50%; background: #e3f2e8; color: var(--green); font-size: 10px; font-weight: 850; }
.access-icon { display: grid; width: 37px; height: 37px; place-items: center; margin-bottom: 14px; border-radius: 11px; font-size: 18px; font-weight: 800; }
.admin-icon { background: #e2f1e8; color: var(--green); }
.agent-icon { background: #eaf1fb; color: #376eaa; }
.access-rule { margin-top: 20px; padding: 13px 15px; border-left: 3px solid #e0af4c; border-radius: 0 8px 8px 0; background: #fff9ed; color: #745e2c; font-size: 12px; line-height: 1.5; }
.page-heading-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.team-summary { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(3, minmax(150px, .7fr)); gap: 14px; padding-bottom: 20px; }
.team-summary-main { display: flex; align-items: center; gap: 13px; min-height: 113px; padding: 19px; }
.team-summary-icon { display: grid; flex: 0 0 auto; width: 40px; height: 40px; place-items: center; border-radius: 11px; background: #e2f1e8; color: var(--green); font-size: 18px; font-weight: 850; }
.team-summary-main .eyebrow { margin-bottom: 2px; font-size: 9px; }
.team-summary-main h2 { margin: 0; color: #254436; font-size: 17px; letter-spacing: -.025em; }
.team-summary-main p:not(.eyebrow) { margin: 3px 0 0; color: #73847a; font-size: 11px; line-height: 1.4; }
.team-security-state { margin-left: auto; padding: 5px 8px; border-radius: 999px; background: #fff3df; color: #93640f; font-size: 10px; font-weight: 800; white-space: nowrap; }
.team-summary-card { min-height: 113px; padding: 18px; }
.team-summary-card > span { display: block; color: #819089; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.team-summary-card strong { display: block; margin-top: 7px; color: #1e4936; font-size: 27px; letter-spacing: -.05em; }
.team-summary-card small { display: block; margin-top: 3px; color: #7d8c84; font-size: 10px; line-height: 1.35; }
.team-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 20px; }
.team-directory { overflow: hidden; }
.team-member-list { display: grid; }
.team-member-row { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #edf2ef; }
.team-member-row:last-child { border-bottom: 0; }
.team-member-avatar { display: grid; flex: 0 0 auto; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #e2f1e8; color: var(--green); font-size: 11px; font-weight: 850; }
.team-member-main { min-width: 0; }
.team-member-main strong, .team-member-main span, .team-member-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-member-main strong { color: #294238; font-size: 13px; }
.team-member-main span { margin-top: 3px; color: #71857a; font-size: 11px; }
.team-member-main small { margin-top: 3px; color: #8a998f; font-size: 10px; }
.team-member-meta { display: grid; justify-items: end; gap: 5px; margin-left: auto; }
.team-role, .team-status { display: inline-flex; width: fit-content; padding: 4px 7px; border-radius: 999px; font-size: 9px; font-weight: 820; white-space: nowrap; }
.team-role-admin { background: #e2f1e8; color: #247049; }
.team-role-agent { background: #eaf1fb; color: #376eaa; }
.team-status-ativo { background: #e6f4eb; color: #227047; }
.team-status-convite-por-enviar { background: #fff3df; color: #93640f; }
.team-status-suspenso { background: #fbedeb; color: #aa5144; }
.team-start-card { display: flex; align-items: flex-start; gap: 12px; padding: 21px 18px; background: #f4faf6; }
.team-start-card > span { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #dff1e6; color: var(--green); font-weight: 900; }
.team-start-card .eyebrow { margin-bottom: 4px; font-size: 9px; }
.team-start-card h2 { margin: 0 0 7px; color: #274334; font-size: 16px; }
.team-start-card p:not(.eyebrow) { margin: 0; color: #688073; font-size: 11px; line-height: 1.55; }
.team-central-content { min-width: 0; }
.team-activation-progress { display: flex; flex-wrap: wrap; gap: 6px; margin: 13px 0 11px; }
.team-activation-progress span { padding: 4px 6px; border-radius: 6px; background: #e7f3eb; color: #557564; font-size: 9px; font-weight: 700; white-space: nowrap; }
.team-activation-progress strong { color: #276c48; }
.team-central-card .button { width: 100%; margin-top: 1px; }
.team-central-card .button:disabled { cursor: not-allowed; opacity: .55; }
.team-central-card small { display: block; margin-top: 8px; color: #809186; font-size: 10px; line-height: 1.4; }
.team-empty { padding: 30px 20px; margin: 0; color: var(--muted); font-size: 12px; text-align: center; }
.form-choice-group { margin: 0; padding: 11px 12px 12px; border: 1px solid #d8e6dd; border-radius: 9px; }
.form-choice-group legend { padding: 0 4px; color: #607a6c; font-size: 10px; font-weight: 800; }
.choice-check-list { display: flex; flex-wrap: wrap; gap: 7px; }
.choice-check { display: inline-flex; align-items: center; gap: 6px; min-height: 27px; padding: 4px 7px; border-radius: 7px; background: #f4f8f5; color: #476257; font-size: 10px; font-weight: 700; }
.choice-check input { accent-color: var(--green); }
.import-modal { width: min(680px, 100%); }
.import-body { padding: 0 26px 5px; }
.import-dropzone { display: grid; min-height: 150px; place-items: center; align-content: center; gap: 5px; border: 1.5px dashed #9fc8b0; border-radius: 11px; background: #f6fbf8; color: #4e7460; cursor: pointer; text-align: center; }
.import-dropzone:hover { border-color: #429367; background: #f1faf4; }
.import-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.import-dropzone strong { color: #2b6045; font-size: 13px; }
.import-dropzone small { color: #73877c; font-size: 10px; }
.import-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #dff1e6; color: var(--green); font-size: 17px; font-weight: 900; }
.import-analysis { margin-top: 15px; overflow: hidden; border: 1px solid #dce9e1; border-radius: 10px; background: #fff; }
.import-analysis > p { margin: 0; padding: 15px; color: #647a6e; font-size: 12px; }
.import-analysis-summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; padding: 14px 15px; border-bottom: 1px solid #e6eee9; background: #f5faf7; }
.import-analysis-summary strong { color: #246b47; font-size: 22px; letter-spacing: -.04em; }
.import-analysis-summary span { color: #3f5e4e; font-size: 12px; font-weight: 750; }
.import-analysis-summary small { color: #778c81; font-size: 10px; }
.import-preview-table-wrap { overflow-x: auto; }
.import-preview-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.import-preview-table th, .import-preview-table td { padding: 10px 14px; border-bottom: 1px solid #edf2ef; text-align: left; }
.import-preview-table th { background: #fbfcfb; color: #819088; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.import-preview-table td { color: #425e50; }
.import-preview-table tbody tr:last-child td { border-bottom: 0; }
.import-error { color: #a75348 !important; background: #fff5f2; }

.detail-view { max-width: 1400px; padding: 26px clamp(20px, 4vw, 52px); }
.detail-backbar { display: flex; align-items: center; gap: 12px; color: #7e8e85; font-size: 12px; }
.back-to-files { border: 0; padding: 0; background: none; color: var(--green); font-size: 12px; font-weight: 760; }
.detail-backbar > span { padding-left: 12px; border-left: 1px solid var(--line); }
.detail-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 23px 0 22px; }
.detail-heading h1 { margin-bottom: 6px; }
.detail-actions { display: flex; align-items: center; gap: 10px; }
.detail-tabs { display: flex; gap: 19px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.detail-tab { flex: 0 0 auto; padding: 12px 0 11px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #74847b; font-size: 13px; font-weight: 680; }
.detail-tab:hover { color: var(--green); }
.detail-tab.active { border-bottom-color: var(--green); color: var(--green); font-weight: 800; }
.detail-tab span { display: inline-grid; min-width: 17px; height: 17px; place-items: center; margin-left: 3px; border-radius: 50%; background: #edf4ef; color: #59806b; font-size: 10px; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(270px, .75fr); gap: 20px; padding-top: 22px; }
.detail-card { padding: 21px; }
.detail-card h2 { margin-bottom: 4px; color: #263b31; font-size: 16px; letter-spacing: -.02em; }
.detail-card > p { margin-bottom: 17px; color: var(--muted); font-size: 12px; }
.detail-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.detail-card-heading > div { min-width: 0; }
.detail-card-heading p { margin: 0 0 17px; color: var(--muted); font-size: 12px; }
.detail-edit-button { flex: 0 0 auto; width: auto; min-height: 32px; padding-inline: 10px; font-size: 10px; }
.information-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid #ebf0ed; }
.information-grid > div { padding: 14px 10px 12px 0; border-bottom: 1px solid #ebf0ed; }
.information-grid span { display: block; color: #8a9a90; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.information-grid strong { display: block; margin-top: 4px; color: #375146; font-size: 13px; }
.next-card { border-color: #c7e3d3; background: linear-gradient(145deg, #f9fffb, #edf8f1); }
.next-card h2 { color: #1c5b40; }
.next-action { display: flex; align-items: flex-start; gap: 10px; padding: 13px 0; border-top: 1px solid #d9ebdf; }
.next-action .round-step { display: grid; flex: 0 0 auto; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 11px; font-weight: 800; }
.next-action strong { display: block; color: #315342; font-size: 13px; }
.next-action span { display: block; margin-top: 2px; color: #759081; font-size: 12px; }
.quiet-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.quiet-list li { display: flex; align-items: center; gap: 9px; color: #60756a; font-size: 12px; }
.quiet-list li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #a8cfb7; }
.quiet-list li.pending { color: #8b7140; }
.quiet-list li.pending::before { background: #e2bd6c; }
.detail-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 22px 0 15px; }
.detail-section-header h2 { margin-bottom: 4px; color: #263b31; font-size: 18px; letter-spacing: -.02em; }
.detail-section-header p { margin: 0; color: var(--muted); font-size: 12px; }
.empty-state { display: grid; min-height: 205px; place-items: center; padding: 30px; border: 1px dashed #cadbd1; border-radius: 12px; background: #fcfefd; text-align: center; }
.empty-state .empty-icon { margin-bottom: 10px; }
.empty-state h3 { margin: 0 0 5px; color: #385347; font-size: 15px; }
.empty-state p { max-width: 360px; margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.traveller-list { display: grid; gap: 10px; }
.traveller-row, .service-row { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.traveller-symbol, .service-symbol { display: grid; flex: 0 0 auto; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: var(--green-light); color: var(--green); font-size: 14px; font-weight: 800; }
.traveller-row strong, .service-row strong { display: block; color: #31473b; font-size: 13px; }
.traveller-row span, .service-row span { display: block; margin-top: 2px; color: #809087; font-size: 11px; }
.service-row > div:not(.service-values) { min-width: 0; flex: 1; }
.service-booking-meta { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: #6d8176; font-size: 10px; line-height: 1.25; }
.service-booking-status { display: inline-block; flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; background: #edf3ef; color: #63776d; font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.service-booking-em-opcao { background: #fff3d9; color: #906c16; }
.service-booking-confirmado { background: #dcf4e5; color: #23704b; }
.service-booking-cancelado { background: #fbe4e4; color: #a34b4b; }
.traveller-role { margin-left: auto; color: #789080 !important; font-size: 11px !important; }
.item-edit-button { flex: 0 0 auto; margin-left: auto; padding: 5px 7px; border: 1px solid #d5e4da; border-radius: 7px; background: #fff; color: #377253; font-size: 10px; font-weight: 800; }
.item-edit-button:hover { border-color: #62a37d; background: #eff8f2; }
.traveller-role + .item-edit-button { margin-left: 4px; }
.service-purchase-button { margin-left: 5px; border-color: #b6d8c2; color: #1e7049; }
.service-purchase-button[disabled] { border-color: #dce8df; background: #f5f8f6; color: #809187; cursor: default; }
.service-values { margin-left: auto; text-align: right; }
.service-values + .item-edit-button { margin-left: 7px; }
.service-values strong { color: #236847; }
.agent-service-status strong { color: #517063; }
.service-calculation-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-bottom: 13px; overflow: hidden; border: 1px solid #dbe8df; border-radius: 10px; background: #dbe8df; }
.service-calculation-summary > div { padding: 13px 15px; background: #f7fbf8; }
.service-calculation-summary span { display: block; color: #71867a; font-size: 9px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.service-calculation-summary strong { display: block; margin-top: 5px; color: #2b5941; font-size: 16px; letter-spacing: -.025em; }
.service-calculation-summary > div:last-child strong { color: #207047; }
.proposal-card { overflow: hidden; border: 1px solid #cce2d4; border-radius: 13px; background: #fff; box-shadow: 0 8px 22px #143d2810; }
.proposal-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px; background: linear-gradient(120deg, #f0faf3, #fbfdfb); }
.proposal-card-head .eyebrow { margin-bottom: 4px; font-size: 9px; }
.proposal-card-head h3 { margin: 0; color: #204c37; font-size: 21px; letter-spacing: -.035em; }
.proposal-card-head p:not(.eyebrow) { margin: 4px 0 0; color: #6d8275; font-size: 12px; }
.proposal-status { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 850; white-space: nowrap; }
.proposal-status-por-preparar, .proposal-status-em-preparacao { background: #fff3dd; color: #966814; }
.proposal-status-enviada { background: #e9f2fb; color: #2d6996; }
.proposal-status-aceite { background: #e4f5ea; color: #237047; }
.proposal-status-recusada { background: #fceae6; color: #a64b3e; }
.proposal-total { padding: 17px 20px; border-top: 1px solid #e2eee6; border-bottom: 1px solid #e2eee6; }
.proposal-total span { display: block; color: #72877a; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.proposal-total strong { display: block; margin-top: 5px; color: #1c6a45; font-size: 28px; letter-spacing: -.05em; }
.proposal-total small { display: block; margin-top: 3px; color: #718278; font-size: 11px; }
.proposal-services { display: grid; gap: 0; }
.proposal-service-row { display: flex; align-items: center; gap: 12px; padding: 13px 20px; border-bottom: 1px solid #edf3ef; }
.proposal-service-row > div { min-width: 0; }
.proposal-service-row > div strong { display: block; overflow: hidden; color: #31473b; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.proposal-service-row > div span { display: block; overflow: hidden; margin-top: 2px; color: #809087; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.proposal-service-row > strong { margin-left: auto; color: #256342; font-size: 13px; white-space: nowrap; }
.proposal-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 20px; background: #fbfdfb; }
.proposal-footer > div { min-width: 0; }
.proposal-footer strong, .proposal-footer span { display: block; }
.proposal-footer strong { color: #40594c; font-size: 12px; }
.proposal-footer span { overflow: hidden; margin-top: 3px; color: #7c8c83; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.proposal-footer .button { flex: 0 0 auto; width: auto; min-height: 34px; padding-inline: 10px; font-size: 11px; }
.proposal-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 13px; padding: 13px 15px; border-radius: 10px; background: #f1f7f3; color: #60776a; font-size: 12px; line-height: 1.45; }
.proposal-note span { display: grid; flex: 0 0 auto; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #cce6d6; color: #256846; font-size: 11px; font-weight: 850; }
.proposal-note p { margin: 0; }
.document-list { display: grid; gap: 10px; }
.document-row { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.document-symbol { display: grid; flex: 0 0 auto; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #eff5f1; color: var(--green); font-size: 14px; font-weight: 800; }
.document-row strong { display: block; color: #31473b; font-size: 13px; }
.document-row div > span { display: block; margin-top: 2px; color: #809087; font-size: 11px; }
.document-state { margin-left: auto; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.document-state + .item-edit-button, .attachment-state + .item-edit-button { margin-left: 2px; }
.document-state-recebido { background: var(--green-light); color: var(--green); }
.document-state-enviado { background: var(--blue-bg); color: var(--blue); }
.document-state-por-pedir, .document-state-por-enviar { background: var(--amber-bg); color: var(--amber); }
.alert-list, .attachment-list { display: grid; gap: 10px; }
.alert-row, .attachment-row { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.alert-symbol, .attachment-symbol { display: grid; flex: 0 0 auto; width: 32px; height: 32px; place-items: center; border-radius: 9px; font-size: 15px; font-weight: 850; }
.alert-symbol { background: #fff3de; color: #a66a14; }
.attachment-symbol { background: #edf4ef; color: var(--green); }
.alert-row strong, .attachment-row strong { display: block; color: #31473b; font-size: 13px; }
.alert-row div > span, .attachment-row div > span { display: block; margin-top: 2px; color: #809087; font-size: 11px; }
.attachment-state { margin-left: auto; padding: 4px 8px; border-radius: 999px; background: #eef6f1; color: #2d704c; font-size: 10px; font-weight: 800; }
.finance-layout { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.file-management-flow { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 16px 18px; border: 1px solid #c6e0d0; border-radius: 12px; background: linear-gradient(110deg, #eff9f2, #f9fcfa); }
.file-management-flow-heading { display: flex; align-items: center; gap: 16px; }
.file-management-flow-heading > div { min-width: 150px; }
.file-management-flow-heading span { display: block; color: #428363; font-size: 10px; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.file-management-flow-heading strong { display: block; margin-top: 5px; color: #214833; font-size: 14px; letter-spacing: -.012em; }
.file-management-flow-heading p { max-width: 335px; margin: 0; color: #647b6d; font-size: 11px; line-height: 1.45; }
.file-management-flow-heading b { color: #2c5f44; }
.file-management-flow-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.file-management-flow-actions .button { min-height: 34px; padding: 0 11px; font-size: 11px; }
.button-tertiary { border: 0; background: transparent; color: #2a7250; }
.button-tertiary:hover { background: #e1f0e6; }
.finance-value { padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.finance-value span { display: block; color: #84938a; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.finance-value strong { display: block; margin-top: 6px; color: #28493a; font-size: 23px; letter-spacing: -.04em; }
.finance-value.margin { border-color: #bfe1cf; background: #f2faf5; }
.finance-value.margin strong { color: var(--green); }
.finance-comparison { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.finance-comparison-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 18px 13px; border-bottom: 1px solid var(--line); }
.finance-comparison-heading h3 { margin: 0; color: #29483a; font-size: 15px; letter-spacing: -.015em; }
.finance-comparison-heading p { margin: 4px 0 0; color: #7b8c82; font-size: 11px; line-height: 1.45; }
.finance-context { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: #eef6f1; color: #347150; font-size: 10px; font-weight: 800; }
.finance-table-wrap { overflow-x: auto; }
.finance-table { width: 100%; min-width: 570px; border-collapse: collapse; font-size: 12px; }
.finance-table th, .finance-table td { padding: 12px 18px; border-bottom: 1px solid #edf2ee; text-align: right; white-space: nowrap; }
.finance-table thead th { color: #7b8c82; background: #f8faf8; font-size: 10px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.finance-table th:first-child, .finance-table tbody th { text-align: left; }
.finance-table tbody th { color: #304b3d; font-weight: 750; }
.finance-table tbody tr:last-child th, .finance-table tbody tr:last-child td { border-bottom: 0; }
.finance-difference-up { color: #197044; font-weight: 800; }
.finance-difference-down { color: #b54c3f; font-weight: 800; }
.finance-difference-even { color: #718178; font-weight: 750; }
.finance-registered-note { padding: 11px 18px; border-top: 1px solid var(--line); background: #fbfcfb; color: #73847a; font-size: 11px; }
.finance-registered-note strong { color: #365243; }
.finance-settlement-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 14px; }
.finance-settlement-strip article { padding: 14px 17px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfb; }
.finance-settlement-strip article:first-child { border-color: #c8dcef; background: #f4f9fd; }
.finance-settlement-strip article:last-child { border-color: #f0dcab; background: #fffaf0; }
.finance-settlement-strip span, .finance-settlement-strip small { display: block; }
.finance-settlement-strip span { color: #74847b; font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.finance-settlement-strip strong { display: block; margin-top: 5px; color: #29483a; font-size: 20px; letter-spacing: -.035em; }
.finance-settlement-strip small { margin-top: 3px; color: #819087; font-size: 10px; }
.finance-note { margin-top: 20px; padding: 14px 16px; border-left: 3px solid #e0ae4b; border-radius: 0 8px 8px 0; background: #fff9ed; color: #735d2a; font-size: 12px; line-height: 1.5; }
.documents-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 16px; border-radius: 10px; background: #f1f7f3; color: #546d60; font-size: 12px; line-height: 1.5; }
.documents-note > span { display: grid; flex: 0 0 auto; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #cce4d5; color: #246347; font-size: 11px; font-weight: 800; }
.documents-note strong { color: #2e6148; }

.modal-backdrop { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 20px; background: #132f24aa; }
.modal { width: min(620px, 100%); border: 1px solid #d9e5de; border-radius: 15px; background: #fff; box-shadow: 0 22px 60px #0c201840; }
.entity-modal { display: flex; flex-direction: column; width: min(560px, 100%); max-height: calc(100vh - 40px); overflow: hidden; }
.entity-modal form { overflow-y: auto; }
.modal-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 23px 26px 13px; }
.modal-header h2 { margin-bottom: 0; color: #173126; font-size: 23px; letter-spacing: -.035em; }
.icon-button { display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 7px; background: #f0f5f2; color: #587064; font-size: 23px; line-height: 1; }
.icon-button:hover { background: #e4eee8; }
.modal-intro { margin: 0; padding: 0 26px 22px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 26px 23px; }
.form-field { display: block; color: #52645a; font-size: 12px; font-weight: 710; }
.form-field span { color: #c75745; }
.form-field small { display: block; margin-top: 6px; color: #75877d; font-size: 10px; font-weight: 600; line-height: 1.35; }
.field-wide { grid-column: 1 / -1; }
.form-field input, .form-field select { width: 100%; height: 39px; margin-top: 6px; padding: 0 10px; border: 1px solid #d5e1da; border-radius: 7px; outline: 0; background: #fff; color: #243b30; }
.form-field input:focus, .form-field select:focus { border-color: var(--green-mid); box-shadow: 0 0 0 3px #2a95651c; }
.modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 26px; border-top: 1px solid #e7eeea; background: #fafcfb; border-radius: 0 0 15px 15px; }
.modal-footer p { margin: 0; color: #7b8a82; font-size: 11px; }
.modal-footer > div { display: flex; gap: 8px; }
.button-quiet { background: transparent; color: #6c7c73; }
.button-quiet:hover { background: #edf3ef; }
.toast { position: fixed; z-index: 15; right: 22px; bottom: 22px; max-width: min(360px, calc(100vw - 44px)); padding: 12px 15px; border-radius: 9px; background: #173d2d; color: #fff; box-shadow: 0 12px 30px #0a201740; font-size: 13px; font-weight: 650; }

@media (max-width: 950px) {
  .app-shell { grid-template-columns: 196px minmax(0, 1fr); }
  .sidebar { padding-inline: 10px; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-field-wide { grid-column: 1 / -1; }
  .file-layout { grid-template-columns: 1fr; }
  .clients-layout { grid-template-columns: 1fr; }
  .suppliers-layout { grid-template-columns: 1fr; }
  .commercial-workspace { grid-template-columns: 1fr; }
  .treasury-kpis, .management-kpis, .collection-summary, .site-backoffice-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .treasury-layout, .management-layout, .collection-layout, .site-backoffice-layout { grid-template-columns: 1fr; }
  .embedded-system-shell { margin-inline: 20px; }
  .ecosystem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-list { grid-template-columns: 1fr; }
  .operator-access-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .identity-summary-card { grid-column: 1 / -1; }
  .operator-access-layout { grid-template-columns: 1fr; }
  .team-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .team-summary-main { grid-column: 1 / -1; }
  .team-workspace { grid-template-columns: 1fr; }
  .file-preview { min-height: auto; }
  .client-preview { min-height: auto; }
  .supplier-preview { min-height: auto; }
  .preview-empty { min-height: 180px; }
}
@media (max-width: 700px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; z-index: 8; top: 0; left: 0; width: 250px; transform: translateX(-103%); transition: transform .2s ease; box-shadow: 20px 0 45px #10201844; }
  .sidebar.open { transform: translateX(0); }
  .menu-trigger { display: block; padding: 0; margin-right: 12px; }
  .topbar { height: 57px; padding-inline: 18px; }
  .breadcrumb { font-size: 12px; }
  .demo-badge { display: none; }
  .page-heading { align-items: flex-start; padding-top: 30px; }
  .page-heading > .button { display: none; }
  .file-filters { margin-inline: 16px; }
  .filter-grid { grid-template-columns: 1fr; }
  .filter-field-wide { grid-column: auto; }
  .filter-actions .button { flex: 1; }
  .file-layout { padding-inline: 16px; }
  .how-it-works { grid-template-columns: 1fr; padding: 15px 16px; }
  .detail-view { padding: 20px 16px; }
  .access-view { padding: 20px 16px; }
  .commercial-workspace { padding-inline: 16px; }
  .commercial-note { margin-inline: 16px; }
  .treasury-kpis, .management-kpis, .collection-summary, .site-backoffice-summary { grid-template-columns: 1fr; padding-inline: 16px; }
  .treasury-layout, .management-layout, .collection-layout, .site-backoffice-layout { padding: 16px 16px 32px; }
  .embedded-system-shell { margin: 0 16px 32px; }
  .embedded-system-bar { align-items: flex-start; flex-direction: column; }
  .embedded-system-shell iframe { min-height: 650px; }
  .central-gest-panel { padding-inline: 16px; }
  .ecosystem-hub { padding-inline: 16px; }
  .ecosystem-heading { align-items: flex-start; flex-direction: column; }
  .ecosystem-grid { grid-template-columns: 1fr; }
  .ecosystem-flow { justify-content: flex-start; flex-wrap: wrap; }
  .company-list { padding: 0 16px 20px; }
  .company-note { margin-inline: 16px; }
  .treasury-content-header { align-items: flex-start; flex-direction: column; }
  .management-status-list, .management-commercial-strip { grid-template-columns: 1fr; }
  .management-status-list > div, .management-commercial-strip > div { border-right: 0; border-bottom: 1px solid #dbe8df; }
  .management-status-list > div:last-child, .management-commercial-strip > div:last-child { border-bottom: 0; }
  .management-section-heading { align-items: flex-start; flex-direction: column; }
  .commercial-content-header { align-items: flex-start; flex-direction: column; }
  .commercial-content-header .button { width: 100%; }
  .commercial-kpis { grid-template-columns: 1fr; }
  .operator-access-summary, .operator-access-layout { grid-template-columns: 1fr; padding-inline: 16px; }
  .identity-summary-card { grid-column: auto; }
  .team-summary, .team-workspace { grid-template-columns: 1fr; }
  .team-summary { padding-bottom: 16px; }
  .team-member-row { align-items: flex-start; padding-inline: 14px; }
  .team-member-meta { justify-items: start; margin-left: 0; }
  .page-heading-actions { width: 100%; }
  .page-heading-actions .button { flex: 1; }
  .access-safety-note { margin-inline: 16px; }
  .access-cards { grid-template-columns: 1fr; }
  .detail-heading { align-items: flex-start; flex-direction: column; }
  .detail-actions { width: 100%; justify-content: space-between; }
  .detail-grid { grid-template-columns: 1fr; }
  .file-management-flow { align-items: flex-start; flex-direction: column; }
  .file-management-flow-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .file-management-flow-heading p { max-width: none; }
  .file-management-flow-actions { width: 100%; justify-content: flex-start; }
  .finance-layout { grid-template-columns: 1fr; }
  .finance-settlement-strip { grid-template-columns: 1fr; }
  .finance-comparison-heading { flex-direction: column; }
  .service-calculation-summary { grid-template-columns: 1fr; }
  .proposal-card-head, .proposal-footer { align-items: flex-start; flex-direction: column; }
  .proposal-footer .button { width: 100%; }
  .card-topline { align-items: flex-start; flex-direction: column; }
  .client-tools, .commercial-account-tools { width: 100%; align-items: stretch; flex-direction: column; }
  .client-filter-label, .commercial-account-tools label { width: 100%; }
  .client-filter-label select, .commercial-account-tools select { width: 100%; }
  .search { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .modal-footer { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 420px) {
  .topbar-right { gap: 0; }
  .company-switcher { display: none; }
  .access-preview-button { font-size: 10px; }
  .role-menu { right: 0; }
  .page-heading { padding-inline: 20px; }
  .form-grid { padding-inline: 18px; }
  .modal-header, .modal-intro { padding-inline: 18px; }
  .modal-footer { padding-inline: 18px; }
  .modal-footer > div { width: 100%; }
  .modal-footer .button { flex: 1; padding-inline: 8px; }
}
