:root { --green:#003b1c; --green-2:#075f2e; --ink:#1b1b1b; --muted:#737373; --line:#ebebeb; --soft:#f5f5f5; --page:#f5f5f4; --white:#fff; --card:#f7f7f7; --shadow:0 1px 2px rgba(0,0,0,.03); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-width:1100px; height:100vh; overflow:hidden; font-family:"Inter Display",Inter,Arial,sans-serif; color:var(--ink); background:var(--page); }
button { font:inherit; color:inherit; cursor:pointer; border:0; background:transparent; }
.app-shell { display:grid; grid-template-columns:320px 1fr; gap:8px; height:100vh; min-height:0; padding:8px; overflow:hidden; }
.sidebar, .workspace { background:var(--white); border-radius:16px; overflow:hidden; }
.sidebar { height:100%; min-height:0; padding:20px 16px 17px; display:flex; flex-direction:column; transition:width .24s ease,padding .24s ease; }
.brand-row { display:flex; align-items:center; justify-content:space-between; padding:0 4px; }
.brand { color:#067438; text-decoration:none; display:flex; align-items:center; gap:7px; font-size:18px; font-weight:700; letter-spacing:-.6px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; background:#087139; color:white; border-radius:6px; font-size:24px; line-height:1; overflow:hidden; font-weight:700; }
.icon-button { position:relative; border:1px solid #dedede; border-radius:13px; height:40px; width:40px; display:grid; place-items:center; font-size:20px; background:white; }
.collapse { border:0; height:28px; width:28px; font-size:18px; }
.navigation { margin-top:28px; }
.nav-heading { color:#737373; font-size:12px; margin:0 0 9px; }
.nav-heading:not(:first-child) { margin-top:25px; }
.nav-item { width:100%; height:40px; display:flex; align-items:center; gap:16px; padding:0 10px; border-radius:12px; font-size:14px; font-weight:500; text-align:left; color:#404040; }
.nav-item > span:first-child { width:18px; text-align:center; color:#979797; font-size:20px; font-weight:400; }
.nav-item.active { background:#f2f2f2; color:#1e1e1e; font-weight:600; }
.nav-item.active > span:first-child { color:#07803d; }
.ad-banner { margin-top:auto; height:200px; position:relative; border-radius:16px; overflow:hidden; background:linear-gradient(112deg,#08743b,#003b1c); color:white; }
.ad-copy { position:relative; z-index:2; padding:19px 16px; width:184px; }
.ad-copy h2 { font-size:19px; margin:0 0 6px; letter-spacing:-.6px; }
.ad-copy p { font-size:12px; line-height:18px; margin:0; }
.ad-copy button { margin-top:48px; padding:10px 13px; background:white; color:#404040; font-size:12px; border-radius:20px; font-weight:500; }
.ad-copy button span { font-size:17px; margin-left:7px; }
.banner-graphic { position:absolute; z-index:1; right:-29px; bottom:-47px; width:210px; height:210px; border:28px solid rgba(216,255,166,.35); border-radius:50%; transform:rotate(-23deg); }
.banner-graphic::before,.banner-graphic::after { content:""; position:absolute; border-radius:50%; background:rgba(211,255,149,.4); }
.banner-graphic::before { width:72px; height:72px; right:12px; top:15px; }.banner-graphic::after { width:19px; height:19px; right:91px; top:25px; }
.banner-graphic span,.banner-graphic i,.banner-graphic b { position:absolute; display:block; border-radius:999px; background:#e9fac0; transform:rotate(23deg); }.banner-graphic span { width:116px; height:9px; left:-9px; top:94px; }.banner-graphic i { width:65px; height:9px; left:30px; top:118px; }.banner-graphic b { width:36px; height:9px; left:63px; top:142px; }
.new-badge { position:absolute; z-index:3; top:16px; right:15px; background:#e9fac0; color:#273a06; border-radius:8px; padding:4px 8px; font-size:11px; }
.theme-switch { height:44px; margin:auto 0 31px; border-radius:14px; display:flex; padding:4px; background:#f4f4f4; }
.theme-switch button { flex:1; border-radius:11px; color:#737373; font-size:14px; }
.theme-switch button.active { background:#fff; color:#262626; box-shadow:0 0 0 1px #dedede; font-weight:600; }
.theme-switch button:first-child { font-size:15px; }
.theme-switch button span { margin-left:7px; }
footer { color:#737373; font-size:12px; line-height:18px; } footer span { color:#a3a3a3; font-size:11px; }
.workspace { min-width:0; position:relative; }
.topbar { height:56px; padding:0 24px; border-bottom:1px solid #eee; display:flex; align-items:center; justify-content:space-between; position:relative; }
.topbar > strong { font-size:14px; }
.topbar-actions { display:flex; align-items:center; gap:16px; font-size:13px; color:#404040; }
.notification i { width:7px; height:7px; background:#087b3e; border-radius:50%; position:absolute; top:10px; right:10px; border:1px solid white; }
.avatar { width:42px; height:42px; border-radius:50%; color:transparent; border:2px solid #d7d7d7; background:#f5f5f5; }
.page-content { height:calc(100% - 56px); padding:25px 24px 24px; display:flex; flex-direction:column; overflow:hidden; }
.hero { display:flex; align-items:start; justify-content:space-between; gap:24px; }
h1, h2, .segmented-control button, .tab { font-family:Geologica,"Inter Display",Inter,sans-serif; letter-spacing:-.02em; font-weight:500; }
h1 { font-size:24px; letter-spacing:-.02em; line-height:1.2; margin:0 0 9px; font-weight:500; }
.hero p { color:#404040; font-size:14px; margin:0; }
.segmented-control { display:flex; align-items:center; gap:3px; background:#f5f5f5; padding:4px; border-radius:16px; height:44px; }
.segmented-control button { display:inline-flex; align-items:center; justify-content:center; padding:10px 13px; border-radius:12px; font-size:14px; color:#737373; min-width:113px; }
.segmented-control button.active { background:white; color:#1f1f1f; font-weight:500; box-shadow:0 0 0 1px #dedede, var(--shadow); }
.segmented-control b, .tab b { display:inline-grid; place-items:center; min-width:16px; height:16px; border-radius:9px; padding:0 4px; background:#086e37; color:white; font:700 10px Inter,sans-serif; margin-left:5px; }
.segmented-control .financial-alert { transition:width .16s ease, min-width .16s ease, padding .16s ease, opacity .16s ease; }
.segmented-control .financial-alert.is-seen { align-self:center; width:6px; min-width:6px; height:6px; margin-left:6px; padding:0; border-radius:50%; font-size:0; line-height:1; }
.tab .number-tag { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:2px 6px; border-radius:999px; background:#0a5d2e; color:#fff; font:600 12px/18px "Inter Display",Inter,sans-serif; margin-left:0; }
/* Tab item: estado padrão (Regular) e ativo (Medium), conforme a biblioteca. */
.tabs { gap:4px; }
.tab { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:16px; font-size:14px; line-height:20px; font-weight:400; }
.tab.active { background:#f5f5f5; color:#003417; font-weight:500; }
.tab .number-tag { display:inline-flex; align-items:center; justify-content:center; flex:none; height:20px; min-width:20px; padding:0 6px; line-height:1; }
.tab .number-tag > span { display:block; line-height:18px; }
/* Estados do componente Tab Item: Default, Hover e Focused. */
.tab:not(.active):hover { background:#f5f5f5; }
.tab.active:hover { background:#f5f5f5; color:#003417; font-weight:500; }
/* Anel de foco compartilhado: não altera as dimensões do componente. */
button:focus-visible,a:focus-visible,input:focus-visible { position:relative; z-index:1; outline:none; box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(0,168,68,.25),0 0 0 1px #fff,0 0 0 2px #0a7135; }
.tab:not(.active):focus-visible { background:#fff; }
.dashboard-content { flex:1; min-height:0; margin-top:32px; display:flex; flex-direction:column; }
.request-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:40px; margin-bottom:16px; }
.tabs { display:flex; align-items:center; gap:16px; }
.tab { color:#737373; border-radius:16px; padding:8px 12px; font-size:14px; white-space:nowrap; }
.tab.active { color:#003417; background:#f5f5f5; font-weight:500; }
.pager { display:flex; align-items:center; gap:8px; }
.pager button { width:36px; height:36px; border:1px solid #dcdcdc; border-radius:13px; color:#4a4a4a; font-size:23px; line-height:1; }
.pager strong { font-size:14px; padding:0 5px; } .pager em { color:#737373; font-style:normal; font-weight:400; }
.cards-grid { display:grid; flex:1; min-height:0; grid-template-columns:repeat(4,minmax(170px,1fr)); grid-auto-rows:minmax(0,1fr); gap:16px; }
.request-card { min-width:0; height:auto; padding:4px; border-radius:16px; background:#f4f4f4; display:flex; flex-direction:column; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease; }
.request-card:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,59,28,.09); }
.request-main { flex:1; min-height:0; background:white; border-radius:12px; padding:16px; display:flex; flex-direction:column; }
.request-main .eyebrow { color:#737373; font-size:12px; }
.name-row { display:flex; align-items:center; gap:8px; margin-top:10px; color:#003b1c; min-width:0; }
.name-row strong { font-size:16px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.new-label { flex:none; background:#003b1c; color:white; border-radius:8px; padding:4px 8px; font-size:11px; font-weight:600; }
.request-info { margin-top:auto; color:#737373; font-size:12px; line-height:1.35; }
.request-info p { margin:0 0 11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.request-info p:last-child { margin:0; }
.request-footer { height:56px; padding:16px; display:flex; align-items:center; justify-content:space-between; }
.status { border-radius:8px; padding:4px 8px; font-size:12px; white-space:nowrap; }
.status.analysis { background:#ffeed8; color:#a53f0a; }.status.pending { background:#e2e9ff; color:#2630a1; }.status.refused { background:#ffe3e4; color:#a61f25; }.status.accepted { background:#e9fac0; color:#294500; }.status.approval { background:#fbe3fe; color:#8c1398; }
.contribution-grid { grid-template-columns:repeat(3,minmax(230px,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); }
.contribution-card { height:auto; padding:4px; }
.contribution-main { flex:1; min-height:0; padding:18px 16px; background:white; border-radius:12px; display:flex; flex-direction:column; }
.contribution-meta,.contribution-name-row { display:flex; justify-content:space-between; gap:12px; }
.contribution-meta { color:#737373; font-size:12px; }
.contribution-name-row { margin-top:10px; align-items:baseline; color:#404040; }
.contribution-name-row strong { font-size:16px; font-weight:500; }
.contribution-name-row time { font-size:14px; white-space:nowrap; }
.portfolio-label { width:max-content; margin-top:11px; padding:3px 7px; border:1px solid #d4d4d4; border-radius:8px; color:#737373; font-size:12px; }
.portfolio-label b { color:#806600; font-size:11px; }
.contribution-value { margin-top:auto; display:grid; gap:10px; color:#404040; font-size:13px; }
.contribution-value strong { color:#003b1c; font-size:20px; letter-spacing:-.03em; font-weight:500; }
.contribution-card .status b { font-size:12px; }
.open-request { font-size:26px; color:#5d5d5d; line-height:1; }
.showing-text { flex:none; color:#737373; font-size:12px; text-align:right; margin:18px 0 0; }.showing-text b { color:#404040; }
.placeholder-content { margin:100px auto; max-width:430px; text-align:center; }.placeholder-icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 20px; background:#e9fac0; border-radius:18px; color:#086e37; font-size:31px; }.placeholder-content h2 { margin:0; color:#003b1c; font-size:24px; }.placeholder-content p { color:#737373; line-height:1.6; margin:13px 0 24px; font-size:14px; }
.primary-action,.secondary-action { border-radius:12px; padding:12px 16px; font-weight:600; font-size:14px; }.primary-action { background:#075f2e; color:#fff; }.secondary-action { background:#f2f2f2; color:#404040; }
.popover { position:absolute; z-index:6; top:52px; right:23px; width:250px; background:white; padding:16px; border:1px solid #e2e2e2; border-radius:14px; box-shadow:0 14px 30px rgba(0,0,0,.12); font-size:13px; }.popover strong { display:block; margin-bottom:9px; }.popover p { padding:10px 0; margin:0; border-top:1px solid #eee; color:#555; line-height:1.4; }.popover p b { color:#003b1c; }.profile-menu { right:15px; width:180px; }.profile-menu span { color:#737373; display:block; margin-bottom:14px; }.profile-menu button { width:100%; padding-top:10px; text-align:left; border-top:1px solid #eee; color:#075f2e; font-weight:600; }
.drawer-backdrop,.kyc-backdrop { position:fixed; z-index:10; inset:0; background:rgba(0,0,0,.5); padding:8px; }.drawer-backdrop { display:flex; justify-content:flex-end; }.request-drawer { width:min(428px,100%); height:calc(100vh - 16px); display:flex; flex-direction:column; background:white; border-radius:16px; overflow:hidden; box-shadow:0 12px 34px rgba(0,0,0,.18); animation:drawer-in .24s ease-out; }.drawer-header { flex:none; padding:16px 24px; border-bottom:1px solid #d4d4d4; color:#404040; font-size:14px; font-weight:500; }.drawer-body { flex:1; min-height:0; overflow:auto; padding:24px; }.drawer-person { margin-bottom:32px; }.drawer-name-row { display:flex; align-items:center; gap:8px; }.drawer-name-row h2 { margin:0; color:#003b1c; font-size:27px; line-height:1.2; }.drawer-person > span { display:block; margin-top:10px; color:#737373; font-size:13px; }.drawer-tabs { display:flex; gap:4px; margin-bottom:24px; }.drawer-tabs button { padding:9px 12px; border-radius:16px; color:#737373; font-size:13px; }.drawer-tabs button.active { background:#f5f5f5; color:#003b1c; font-weight:600; }.drawer-panel h3 { margin:0 0 14px; font-size:16px; font-weight:500; }.drawer-subheading { margin-top:28px !important; }.drawer-data { margin:0; display:grid; gap:9px; }.drawer-data div { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,1.35fr); gap:16px; align-items:start; font-size:12px; line-height:1.4; }.drawer-data dt { color:#737373; }.drawer-data dd { margin:0; text-align:right; color:#404040; }.kyc-alert { display:flex; align-items:center; gap:16px; margin-top:54px; padding:14px; border-radius:14px; background:#ffe889; color:#7a4a00; }.kyc-alert > span { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:9px; background:white; color:#e18400; font-weight:700; }.kyc-alert p { margin:0; font-size:12px; }.kyc-alert b,.kyc-alert small { display:block; }.kyc-alert small { margin-top:4px; }.drawer-footer { display:flex; gap:14px; padding:16px 24px; border-top:1px solid #d4d4d4; }.drawer-footer button { flex:1; min-height:40px; }.drawer-close,.kyc-refuse { border:1px solid #d4d4d4; border-radius:16px; background:white; color:#404040; }.kyc-backdrop { display:grid; place-items:center; }.kyc-modal { width:min(460px,100%); overflow:hidden; background:white; border-radius:14px; box-shadow:0 22px 70px rgba(0,0,0,.25); }.kyc-modal > header { padding:16px 24px; border-bottom:1px solid #d4d4d4; color:#404040; font-size:14px; font-weight:500; }.kyc-body { padding:24px; }.kyc-body h2 { margin:0 0 6px; color:#404040; font-size:16px; font-weight:500; }.kyc-body > p { margin:0; color:#404040; font-size:14px; line-height:1.45; }.contract-option { display:flex; align-items:flex-start; gap:16px; margin-top:24px; padding:16px; border-radius:16px; background:#f5f5f5; color:#404040; font-size:14px; line-height:1.45; }.contract-option input { appearance:none; width:17px; height:17px; flex:none; margin:0; border:1px solid #d4d4d4; border-radius:5px; background:white; }.contract-option input:checked { background:#075f2e; box-shadow:inset 0 0 0 4px white; }.kyc-modal > footer { display:flex; gap:16px; padding:16px 24px; border-top:1px solid #d4d4d4; }.kyc-modal > footer button { flex:1; min-height:41px; }.kyc-modal .primary-action { border-radius:16px; }.kyc-modal .kyc-refuse { font-weight:500; }
.toast { position:fixed; z-index:20; left:50%; bottom:28px; transform:translateX(-50%); padding:13px 17px; color:white; background:#003b1c; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.2); font-size:14px; }
body.dark { --page:#151916; --white:#202622; --soft:#2b312d; --card:#2b312d; --ink:#f2f5f2; --muted:#abb5ae; --line:#364039; } body.dark .request-main,body.dark .segmented-control button.active,body.dark .theme-switch button.active,body.dark .popover,body.dark .modal { background:#202622; color:#f2f5f2; } body.dark .request-card,body.dark .segmented-control,body.dark .theme-switch,body.dark .nav-item.active { background:#2b312d; } body.dark .hero p,body.dark .topbar-actions,body.dark .request-info,body.dark .placeholder-content p,body.dark .modal p { color:#b7c0b9; } body.dark .name-row,body.dark .placeholder-content h2,body.dark .modal h2 { color:#a7e2ac; } body.dark .icon-button,body.dark .avatar { background:#202622; border-color:#465049; }
.sidebar.is-collapsed { width:72px; padding-left:16px; padding-right:16px; }.sidebar.is-collapsed .brand > span:last-child,.sidebar.is-collapsed .nav-heading,.sidebar.is-collapsed .nav-item > span:last-child,.sidebar.is-collapsed .ad-banner,.sidebar.is-collapsed .theme-switch,.sidebar.is-collapsed footer { display:none; }.sidebar.is-collapsed .brand-row { justify-content:center; }.sidebar.is-collapsed .collapse { position:absolute; left:22px; top:60px; background:white; border:1px solid #eee; z-index:2; }.sidebar.is-collapsed .navigation { margin-top:41px; }.sidebar.is-collapsed .nav-item { justify-content:center; padding:0; }.sidebar.is-collapsed .nav-item > span:first-child { width:auto; }
@media (max-width:1250px){.cards-grid{grid-template-columns:repeat(3,minmax(170px,1fr));}.sidebar{min-height:0}.ad-banner{height:170px}.ad-copy button{margin-top:20px}.ad-banner img{height:200px}}
body.dark .request-drawer,body.dark .kyc-modal { background:#202622; color:#f2f5f2; } body.dark .contract-option { background:#2b312d; color:#f2f5f2; } body.dark .drawer-data dt,body.dark .drawer-person > span,body.dark .kyc-body > p { color:#b7c0b9; } body.dark .drawer-data dd,body.dark .kyc-body h2,body.dark .drawer-header { color:#f2f5f2; } body.dark .drawer-name-row h2 { color:#a7e2ac; }
@keyframes drawer-in { from { transform:translateX(28px); opacity:0; } to { transform:translateX(0); opacity:1; } }
body.dark .contribution-main { background:#202622; color:#f2f5f2; }
body.dark .contribution-meta { color:#b7c0b9; }
body.dark .contribution-value strong { color:#a7e2ac; }
 .admission-new-label { flex:none; padding:4px 8px; background:#ecfccb; color:#355b08; border-radius:8px; font-size:12px; font-weight:500; }
 .negative-data { color:#8c1d1d !important; text-decoration:underline; }
 .contract-backdrop { position:fixed; z-index:12; inset:0; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.5); }
 .contract-modal { width:min(564px,100%); max-height:calc(100vh - 32px); overflow:auto; background:white; border-radius:14px; box-shadow:0 22px 70px rgba(0,0,0,.25); }
 .contract-modal > header { padding:16px 24px; border-bottom:1px solid #d4d4d4; color:#404040; font-size:14px; font-weight:500; }
 .contract-body { padding:24px; }
 .contract-highlight,.contract-origin { display:grid; gap:10px; color:#404040; font-size:14px; }
 .contract-highlight strong { color:#003b1c; font:500 32px/1.25 Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }
 .contract-origin { margin-top:20px; }.contract-origin strong { color:#003b1c; font:500 18px/1.3 Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }.contract-origin i { display:inline-grid; place-items:center; width:16px; height:16px; margin-left:5px; border-radius:50%; background:#ecfccb; color:#3d650a; font:700 11px/1 Inter,sans-serif; font-style:normal; vertical-align:2px; }
 .contract-fields { display:grid; gap:16px; margin-top:28px; }.contract-fields label { display:grid; gap:8px; color:#737373; font-size:12px; }.contract-fields label > span { display:block; padding:9px 16px; border-radius:16px; background:#f5f5f5; color:#c3c3c3; font-size:14px; }.contract-field-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 .contract-upload { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:140px; padding:16px; border:1px dashed #d4d4d4; border-radius:16px; background:#f5f5f5; color:#404040; }.contract-upload > i { display:grid; place-items:center; width:48px; height:48px; margin-bottom:14px; border-radius:12px; background:linear-gradient(#fff,#f5f5f5); color:#737373; font-style:normal; font-size:25px; }.contract-upload b { font-size:16px; font-weight:500; }.contract-upload small { margin-top:4px; font-size:14px; }.contract-upload.is-selected { border-style:solid; border-color:#78a357; background:#f4fae9; }.contract-upload.is-selected > i { color:#237238; }
 .contract-modal > footer { display:flex; gap:16px; padding:16px 24px; border-top:1px solid #d4d4d4; }.contract-modal > footer button { flex:1; min-height:41px; border-radius:16px; }.contract-refuse { border:1px solid #d4d4d4; background:white; color:#404040; font-weight:500; }
 body.dark .contract-modal { background:#202622; color:#f2f5f2; }.dark .contract-modal > header,.dark .contract-highlight,.dark .contract-origin { color:#f2f5f2; }.dark .contract-highlight strong,.dark .contract-origin strong { color:#a7e2ac; }.dark .contract-fields label > span,.dark .contract-upload { background:#2b312d; }.dark .contract-refuse { background:#202622; color:#f2f5f2; border-color:#465049; }
 .contribution-drawer-body { display:flex; flex-direction:column; }.contribution-detail-section h3,.contribution-attachment h3 { margin:0 0 16px; font-size:16px; font-weight:500; }.contribution-attachment { margin-top:28px; }.contribution-attachment button { width:100%; display:flex; align-items:center; gap:16px; padding:16px; border-radius:16px; background:#f5f5f5; text-align:left; }.contribution-attachment i { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:linear-gradient(#fff,#f5f5f5); color:#737373; font-size:24px; font-style:normal; }.contribution-attachment span { display:grid; gap:5px; flex:1; min-width:0; }.contribution-attachment b { font-size:14px; font-weight:500; color:#404040; }.contribution-attachment small { color:#737373; font-size:12px; }.contribution-attachment em { padding:4px 7px; border-radius:8px; background:#171717; color:white; font:500 12px/1 Inter,sans-serif; font-style:normal; }.contribution-alert { display:flex; gap:16px; align-items:center; margin-top:auto; padding:16px; border-radius:16px; background:#ffe889; color:#7a4a00; }.contribution-alert > i { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:white; color:#e18400; font-style:normal; font-weight:700; }.contribution-alert p { margin:0; font-size:12px; }.contribution-alert b,.contribution-alert small { display:block; }.contribution-alert small { margin-top:4px; }
 .contribution-review-backdrop { position:fixed; z-index:13; inset:0; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.5); }.contribution-review-modal { width:min(460px,100%); overflow:hidden; background:white; border-radius:14px; box-shadow:0 22px 70px rgba(0,0,0,.25); }.contribution-review-modal > header { padding:16px 24px; border-bottom:1px solid #d4d4d4; color:#404040; font-size:14px; font-weight:500; }.contribution-review-body { display:grid; gap:28px; padding:24px; }.contribution-review-body h2 { margin:0; color:#003b1c; font:500 24px/1.3 Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }.contribution-review-body > div > p { margin:4px 0 0; color:#737373; font-size:12px; }.contribution-review-body dl { display:grid; gap:10px; margin:0; }.contribution-review-body dl div { display:flex; justify-content:space-between; gap:16px; font-size:14px; line-height:1.4; }.contribution-review-body dt { color:#737373; }.contribution-review-body dd { margin:0; color:#404040; font-weight:500; text-align:right; }.contribution-review-body dl div:last-child { align-items:end; margin-top:3px; }.contribution-review-body dl div:last-child dd { color:#003b1c; font:500 18px/1.35 Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }.contribution-review-modal > footer { display:flex; gap:16px; padding:16px 24px; border-top:1px solid #d4d4d4; }.contribution-review-modal > footer button { flex:1; min-height:41px; border-radius:16px; }.contribution-refuse { border:1px solid #d4d4d4; background:white; color:#404040; font-weight:500; }
 body.dark .contribution-attachment button,.dark .contribution-review-modal { background:#202622; color:#f2f5f2; }.dark .contribution-attachment b,.dark .contribution-review-body dd { color:#f2f5f2; }.dark .contribution-review-body h2,.dark .contribution-review-body dl div:last-child dd { color:#a7e2ac; }.dark .contribution-refuse { background:#202622; color:#f2f5f2; border-color:#465049; }
 .prototype-circle { display:inline-block; width:12px; height:12px; flex:none; border-radius:50%; background:currentColor; vertical-align:middle; }
 .brand-mark.prototype-circle { width:30px; height:30px; background:#087139; }
 .nav-item > span:first-child.prototype-circle { width:12px; font-size:0; color:#979797; }.nav-item.active > span:first-child.prototype-circle { color:#07803d; }
 .ad-copy button .prototype-circle { width:8px; height:8px; margin-left:7px; color:#5d5d5d; }
 .theme-switch button { display:flex; align-items:center; justify-content:center; gap:8px; }.theme-switch button span { margin-left:0; }.theme-switch button .prototype-circle { width:11px; height:11px; color:#737373; }.theme-switch button.active .prototype-circle { color:#262626; }
 .icon-button { border-radius:50%; font-size:0; }.collapse { width:28px; height:28px; border:1px solid #dedede; }.pager button { position:relative; border-radius:13px; font-size:0; }.pager button::after { content:""; position:absolute; inset:0; margin:auto; width:9px; height:9px; border-radius:50%; background:#5d5d5d; }.open-request { width:18px; height:18px; padding:0; border-radius:50%; background:#5d5d5d; font-size:0; }
 .status .prototype-circle,.portfolio-label .prototype-circle { width:8px; height:8px; margin-left:4px; }.portfolio-label .prototype-circle { color:#806600; }
 .kyc-alert > .prototype-circle,.contribution-alert > .prototype-circle { width:16px; height:16px; background:#e18400; color:#e18400; }.contract-upload > .prototype-circle,.contribution-attachment .prototype-circle { width:18px; height:18px; margin-bottom:14px; background:#737373; color:#737373; }.contribution-attachment .prototype-circle { margin:0; }
.placeholder-icon.prototype-circle { width:34px; height:34px; margin-bottom:20px; background:#086e37; color:#086e37; }

/* Painel financeiro */
.financial-content { flex:1; min-height:0; margin-top:32px; display:flex; flex-direction:column; }
.financial-toolbar { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.finance-tabs { gap:4px; }
.financial-actions { display:flex; align-items:center; gap:16px; color:#404040; font-size:12px; white-space:nowrap; }
.financial-search { width:280px; height:36px; display:flex; align-items:center; overflow:hidden; border:1px solid #d4d4d4; border-radius:12px; background:#fff; }
.financial-search input { min-width:0; flex:1; height:100%; border:0; outline:0; padding:0 16px; color:#404040; font:400 14px "Inter Display",Inter,sans-serif; }
.financial-search input::placeholder { color:#737373; }
.financial-search button { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:#0a5d2e; color:#fff; }
.financial-search .prototype-circle { width:12px; height:12px; }
.filter-button { height:36px; display:flex; align-items:center; gap:10px; padding:0 12px 0 16px; border:1px solid #d4d4d4; border-radius:12px; background:#fff; font-size:14px; }
.filter-button .prototype-circle { width:8px; height:8px; color:#737373; }
.financial-panel { flex:1; min-height:0; display:flex; flex-direction:column; }
.financial-summary { flex:none; display:grid; gap:4px; padding:4px; border-radius:16px; background:#f5f5f5; }
.financial-summary-three { grid-template-columns:repeat(3,1fr); }
.financial-summary-four { grid-template-columns:repeat(4,1fr); }
.financial-summary article { position:relative; min-width:0; height:126px; padding:16px; border-radius:12px; background:#fff; display:flex; flex-direction:column; }
.financial-summary article > span { color:#404040; font-size:14px; line-height:20px; }
.financial-summary article > i { position:absolute; right:16px; top:16px; width:12px; height:12px; color:#737373; }
.financial-summary strong { margin-top:22px; color:#003417; font:500 24px/28px Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }
.financial-summary small { margin-top:8px; color:#737373; font-size:12px; line-height:18px; }
.financial-table-box { flex:1; min-height:0; margin-top:16px; padding:4px; border-radius:16px; background:#f5f5f5; display:flex; flex-direction:column; overflow:hidden; }
.financial-table { flex:1; min-height:0; overflow:hidden; background:#fff; }
.financial-table-head,.financial-table-row { display:grid; grid-template-columns:130px minmax(190px,1.35fr) 136px 175px 160px minmax(180px,1.2fr) 40px; align-items:center; }
.financial-table-head { height:40px; min-height:40px; max-height:40px; overflow:hidden; border-bottom:1px solid #e5e5e5; background:#f5f5f5; color:#737373; font-size:14px; }
.financial-table-head span { min-width:0; overflow:hidden; padding:0 16px; border-right:1px solid #e5e5e5; text-overflow:ellipsis; white-space:nowrap; }
.financial-table-row { min-height:47px; border-bottom:1px solid #e5e5e5; color:#737373; font-size:14px; }
.financial-table-row > span,.financial-table-row > a,.financial-table-row > strong,.financial-table-row > button { min-width:0; padding:0 16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.financial-table-row > a { color:#2b421e; text-decoration:underline; }
.financial-table-row > strong { color:#003417; text-align:right; font-size:14px; }
.financial-table-row > button { height:100%; display:grid; place-items:center; padding:0; color:#737373; }
.financial-table-row > button .prototype-circle { width:5px; height:5px; }
.financial-table-row.is-entering { animation:financial-row-in .28s both; animation-delay:calc(var(--row-index) * 38ms); }
.finance-status { justify-self:start; margin:0 16px; padding:4px 8px; border-radius:8px; font-size:12px; font-weight:500; white-space:nowrap; }
.finance-status.paid { background:#ecfccb; color:#294500; }.finance-status.available { background:#fae8ff; color:#86198f; }.finance-status.due { background:#ffedd5; color:#9a3412; }.finance-status.unavailable { background:#fee2e2; color:#7f1d1d; }
.financial-footer,.financial-list-footer { flex:none; height:52px; display:flex; align-items:center; justify-content:space-between; padding:8px 12px 8px 16px; color:#737373; font-size:12px; }
.financial-footer b,.financial-list-footer b { color:#404040; }
.financial-footer .pager,.financial-list-footer .pager { transform:scale(.82); transform-origin:right center; }
.commission-grid { flex:1; min-height:0; margin-top:16px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:16px; }
.commission-card { min-width:0; padding:4px; border-radius:16px; background:#f5f5f5; display:flex; flex-direction:column; }
.commission-main { flex:1; min-height:0; padding:16px; border-radius:12px; background:#fff; display:flex; flex-direction:column; }
.commission-title { display:flex; justify-content:space-between; gap:12px; color:#404040; font-size:14px; }.commission-title b { font-weight:500; }.commission-title time { color:#737373; font-size:12px; }
.commission-tags { display:flex; gap:8px; margin-top:8px; }.commission-tags span { max-width:calc(50% - 4px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:3px 8px; border:1px solid #d4d4d4; border-radius:8px; color:#737373; font-size:12px; }
.commission-values { margin-top:auto; display:grid; grid-template-columns:1fr auto; gap:16px; color:#404040; font-size:12px; }.commission-values span { display:grid; gap:6px; }.commission-values strong { color:#003417; font:500 16px/20px Geologica,"Inter Display",sans-serif; letter-spacing:-.02em; }.commission-values span:last-child { text-align:right; }
.commission-card .request-footer { height:48px; padding:12px 16px; }.commission-card .open-request { width:16px; height:16px; }
body.dark .financial-summary article,body.dark .financial-table,body.dark .commission-main,body.dark .financial-search,body.dark .filter-button { background:#202622; color:#f2f5f2; } body.dark .financial-summary,body.dark .financial-table-box,body.dark .commission-card,body.dark .financial-table-head { background:#2b312d; } body.dark .financial-table-head,body.dark .financial-table-row,body.dark .financial-summary article > span,body.dark .commission-title { color:#b7c0b9; } body.dark .financial-table-row,body.dark .financial-table-head,body.dark .financial-table-head span { border-color:#465049; } body.dark .financial-summary strong,body.dark .financial-table-row > strong,body.dark .commission-values strong { color:#a7e2ac; } body.dark .financial-search input,body.dark .filter-button { color:#f2f5f2; }
@keyframes financial-row-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
