@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Nunito+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap'); :root { --bg-0: #f4f6f8; --bg-1: #edf2f6; --bg-2: #ffffff; --ink-0: #161c24; --ink-1: #2f3b4a; --ink-2: #5a6b7c; --accent: #ff8c00; --accent-strong: #e67900; --accent-soft: #fff2df; --ok: #1e8e49; --danger: #b42318; --border: #d4dde6; --border-soft: #e6edf3; --shadow-sm: 0 3px 10px rgba(20, 28, 36, 0.06); --shadow-md: 0 10px 26px rgba(20, 28, 36, 0.1); --radius-lg: 16px; --radius-md: 12px; --radius-sm: 9px; } * { box-sizing: border-box; } html, body, #root { min-height: 100%; } body { margin: 0; color: var(--ink-0); font-family: 'Nunito Sans', sans-serif; overflow-x: hidden; background: radial-gradient(1000px 430px at -8% -12%, #ffe8cf 0%, transparent 62%), radial-gradient(860px 360px at 105% 10%, #dbeaf6 0%, transparent 60%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-0) 35%, #f8fafc 100%); } button, input, select, textarea { font: inherit; } .app-shell { width: min(1600px, 95vw); margin: 18px auto 40px; display: flex; flex-direction: column; gap: 16px; position: relative; } .app-header { border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(130deg, #fffdf9 0%, #ffffff 55%, #f6fbff 100%); box-shadow: var(--shadow-md); padding: 18px 22px; display: grid; grid-template-columns: 130px 1fr; gap: 16px; align-items: center; border-left: 6px solid var(--accent); } .app-header.app-header-logo-only { display: flex; justify-content: center; align-items: center; grid-template-columns: none; border-left: none; padding: 12px 18px; } .brand-mark { background: linear-gradient(180deg, #ffffff 0%, #fff6ea 100%); border-radius: 14px; border: 1px solid #ffd4a7; display: grid; place-items: center; padding: 10px; } .app-header.app-header-logo-only .brand-mark { width: min(520px, 90vw); border: none; background: transparent; padding: 0; } .brand-mark img { width: 100%; max-width: 98px; object-fit: contain; } .app-header.app-header-logo-only .brand-mark img { max-width: 520px; } .brand-copy h1 { margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(1.5rem, 1.8vw, 2rem); letter-spacing: 0.02em; color: var(--ink-0); } .brand-copy p { margin: 6px 0 10px; color: var(--ink-2); font-size: 1.02rem; } .session-id { display: inline-block; padding: 5px 10px; border-radius: 999px; background: #eef5fb; border: 1px solid #dce8f2; color: #375067; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; } .tabs { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 10px; } .tab-pill { text-align: left; border: 1px solid var(--border); border-radius: var(--radius-md); background: linear-gradient(180deg, #f6f9fc 0%, #edf3f8 100%); padding: 11px 12px; color: #2f4359; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 2px; } .tab-pill strong { font-family: 'Sora', sans-serif; font-size: 0.93rem; } .tab-pill small { color: #607589; font-size: 0.76rem; } .tab-pill:hover { border-color: #c5d4e2; transform: translateY(-1px); } .tab-pill.active { background: linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%); border-color: var(--accent-strong); color: #fff; } .tab-pill.active small { color: rgba(255, 255, 255, 0.88); } .inner-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; } .inner-tab-pill { border: 1px solid #d2deea; border-radius: 10px; background: linear-gradient(180deg, #f7fafd 0%, #edf3f8 100%); color: #32475d; font-weight: 700; font-size: 0.84rem; padding: 7px 11px; box-shadow: none; } .inner-tab-pill:hover { transform: translateY(-1px); } .inner-tab-pill.active { background: linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%); border-color: var(--accent-strong); color: #fff; } .inner-tab-panel { border: 1px solid #dbe5ef; border-radius: 12px; background: #fff; padding: 14px; } .tab-content { display: flex; flex-direction: column; gap: 24px; min-width: 0; } .tab-pane[hidden] { display: none !important; } .status-strip { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 2px; } .status-pill { border: 1px dashed #b7c7d8; color: #5a6f84; background: #f6fbff; border-radius: 999px; padding: 5px 12px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; } .status-pill.done { border-style: solid; border-color: #7fcf98; background: #eaf8ef; color: var(--ok); } .workflow-section { border: 1px solid #c9d6e3; border-radius: var(--radius-lg); background: var(--bg-2); min-width: 0; max-width: 100%; box-shadow: 0 6px 18px rgba(20, 28, 36, 0.08), inset 0 0 0 1px #edf3f9; animation: sectionIn 0.35s ease both; animation-delay: calc(var(--section-order, 1) * 25ms); } .section-head { display: flex; gap: 12px; align-items: center; padding: 15px 18px 13px; border-bottom: 1px solid #dde7f1; background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); } .section-index { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%); color: #fff; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.98rem; display: grid; place-items: center; flex-shrink: 0; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32); } .section-title-wrap { min-width: 0; flex: 1; } .section-title-wrap h3 { margin: 0; font-family: 'Sora', sans-serif; font-size: 1.02rem; color: var(--ink-0); } .section-title-wrap p { margin: 4px 0 0; color: var(--ink-2); font-size: 0.88rem; } .section-head-aside { margin-left: auto; } .section-body { padding: 18px; min-width: 0; max-width: 100%; overflow-x: hidden; } .section-body > * { min-width: 0; max-width: 100%; } .dados-visualizacao-groups { display: grid; gap: 16px; min-width: 0; } .dados-visualizacao-group { margin: 0; min-width: 0; } .dados-outliers-resumo { margin-bottom: 14px; } .dados-mapa-details { display: block; } .dados-mapa-details > summary { list-style: none; display: flex; align-items: center; gap: 8px; font-family: 'Sora', sans-serif; font-size: 0.92rem; color: #2d4157; cursor: pointer; user-select: none; margin: -2px 0 10px; } .dados-mapa-details > summary::-webkit-details-marker { display: none; } .dados-mapa-details > summary::before { content: '▾'; color: #5f7489; font-size: 0.8rem; transition: transform 0.15s ease; } .dados-mapa-details:not([open]) > summary::before { transform: rotate(-90deg); } .dados-mapa-controls { display: flex; align-items: center; flex-wrap: wrap; column-gap: 14px; row-gap: 8px; margin-bottom: 18px; } .dados-mapa-controls label { margin-right: 0; min-width: 118px; } .dados-mapa-controls + .map-frame, .dados-mapa-controls + .empty-box { margin-top: 6px; } .placeholder-section .empty-box { border-style: solid; } .row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; min-width: 0; } .row.compact { margin: 0; gap: 8px; } .row-wrap { display: flex; flex-wrap: wrap; gap: 12px; min-width: 0; } .avaliacao-actions-row { gap: 12px; margin-bottom: 16px; } .avaliacao-base-row { gap: 12px; margin-top: 2px; margin-bottom: 16px; } .avaliacao-resultado-box { margin-top: 10px; } label { font-weight: 700; color: #394a5e; font-size: 0.88rem; } input, select, textarea { border: 1px solid #c8d5e2; border-radius: var(--radius-sm); background: #fff; padding: 8px 10px; min-height: 38px; color: #223246; transition: border-color 0.18s ease, box-shadow 0.18s ease; } input:focus, select:focus, textarea:focus { outline: none; border-color: #ffb259; box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.18); } button { --btn-bg-start: var(--accent); --btn-bg-end: var(--accent-strong); --btn-border: var(--accent); --btn-shadow-soft: rgba(255, 140, 0, 0.2); --btn-shadow-strong: rgba(255, 140, 0, 0.24); border: 1px solid var(--btn-border); border-radius: 10px; background: linear-gradient(180deg, var(--btn-bg-start) 0%, var(--btn-bg-end) 100%); color: #fff; font-weight: 700; padding: 8px 14px; cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease; box-shadow: 0 3px 8px var(--btn-shadow-soft); } button:hover { transform: translateY(-1px); box-shadow: 0 6px 14px var(--btn-shadow-strong); } button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; } .subpanel { border: 1px solid var(--border-soft); border-left: 3px solid var(--accent); border-radius: 12px; background: #fcfdff; padding: 14px 15px; margin-bottom: 12px; min-width: 0; max-width: 100%; } .subpanel.warning { border-left-color: #e6a700; background: #fff9e8; } .subpanel h4, .subpanel h5 { margin: 0 0 8px; font-family: 'Sora', sans-serif; color: #2a3b4d; } .section1-groups { display: grid; gap: 18px; } .section1-group { margin: 0; } .section1-group.subpanel { border-left: 1px solid var(--border-soft); background: #fff; } .upload-dropzone { border: 1px dashed #c5d5e5; border-radius: 12px; background: linear-gradient(180deg, #f9fcff 0%, #f4f9ff 100%); padding: 11px 12px; transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease; } .upload-dropzone.is-dragover { border-color: #3b7fb8; background: linear-gradient(180deg, #f3f9ff 0%, #ebf4ff 100%); box-shadow: 0 0 0 1px rgba(59, 127, 184, 0.12); } .upload-hidden-input { display: none; } .upload-dropzone-main { margin-bottom: 6px; } button.btn-upload-select { --btn-bg-start: #4a90c8; --btn-bg-end: #3978ab; --btn-border: #346f9f; --btn-shadow-soft: rgba(53, 113, 157, 0.2); --btn-shadow-strong: rgba(53, 113, 157, 0.25); } .upload-dropzone-hint { color: #4d647b; font-size: 0.83rem; } .upload-dropzone-file { margin-top: 4px; color: #2f4358; font-size: 0.84rem; font-weight: 700; word-break: break-word; } .coords-section-groups { display: grid; gap: 14px; } .coords-section-group { margin: 0; border-left: 1px solid var(--border-soft); background: #fff; } .coords-section-alert { border-left-color: #e5be8a; background: #fffaf2; } .coords-result-group h5, .coords-falhas-group h5, .coords-correcoes-group h5 { margin-bottom: 10px; } .coords-restart-row { margin-top: 10px; margin-bottom: 0; } .section1-empty-hint { color: #5b7288; font-size: 0.86rem; } .coords-choice-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .coords-choice-separator { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; padding: 3px 8px; border-radius: 999px; border: 1px solid #dbe5ef; background: #f5f8fb; color: #5b6f84; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; } .modelo-info-card { margin-top: 10px; border: 1px solid #d1deea; border-radius: 12px; background: linear-gradient(180deg, #fbfdff 0%, #f6faff 100%); overflow: hidden; } .modelo-info-split { display: grid; grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.4fr); } .modelo-info-col { min-width: 0; padding: 12px 14px; } .modelo-info-col + .modelo-info-col { border-left: 1px solid #dde7f1; } .modelo-info-col-vars { background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); } .elaborador-badge { padding: 10px 12px; border-radius: 11px; border: 1px solid #cddfed; border-left: 1px solid #cddfed; background: linear-gradient(180deg, #f7fbff 0%, #eef5fb 100%); } .elaborador-badge-title { font-family: 'Sora', sans-serif; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.05em; color: #547089; } .elaborador-badge-name { margin-top: 2px; font-weight: 800; color: #23384f; font-size: 1rem; } .elaborador-badge-meta { margin-top: 2px; color: #536b82; font-size: 0.83rem; } .modelo-variaveis-box { padding: 9px 11px; border-radius: 11px; border: 1px solid #d7e2ee; background: linear-gradient(180deg, #fcfdff 0%, #f6faff 100%); } .variavel-badge-line { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 10px; align-items: flex-start; margin-top: 8px; } .variavel-badge-label { min-width: 0; padding-top: 3px; color: #556c82; font-size: 0.83rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; } .variavel-chip-wrap { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; } .variavel-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 8px; border: 1px solid #dbe5f0; background: #f3f7fb; color: #34485e; font-size: 0.81rem; font-weight: 700; max-width: 100%; white-space: normal; word-break: break-word; } .variavel-chip-y { border-color: #b6d4f2; background: #e8f2fc; color: #1f4e7b; } .variavel-chip-inline { justify-self: start; width: fit-content; max-width: 100%; } .variavel-chip-transform { color: #6a7f94; font-weight: 600; } .two-col { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 10px; } .pane { min-width: 0; } .stack-block { margin-top: 10px; } .stack-block h4 { margin: 0 0 7px; color: #3b4f64; font-family: 'Sora', sans-serif; font-size: 0.9rem; } .diagnostic-tables { margin-top: 10px; } .diagnostic-tables h4 { margin: 0 0 7px; color: #3b4f64; font-family: 'Sora', sans-serif; font-size: 0.9rem; } .map-frame { display: block; width: 100%; max-width: 100%; min-height: 560px; border: 1px solid #d3dfe9; border-radius: 12px; background: #fff; } .table-wrapper { overflow: auto; border: 1px solid #d8e2ec; border-radius: 12px; max-height: 360px; max-width: 100%; } .table-wrapper table { border-collapse: collapse; min-width: 680px; width: 100%; } .table-wrapper th, .table-wrapper td { padding: 7px 9px; border-bottom: 1px solid #edf2f6; text-align: left; font-size: 0.88rem; } .table-wrapper th { position: sticky; top: 0; background: #f2f7fb; color: #354a5f; font-family: 'Sora', sans-serif; font-size: 0.76rem; letter-spacing: 0.04em; text-transform: uppercase; z-index: 1; } .table-wrapper tr:hover td { background: #fff8ef; } .table-hint { border-top: 1px solid #edf2f6; padding: 7px 9px; color: #66798d; font-size: 0.8rem; } .empty-box { border: 1px dashed #bfd0e0; border-radius: 12px; background: #fbfdff; color: #5b7288; padding: 16px; } .checkbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 7px; } .checkbox-grid label, .multi-group label { display: flex; align-items: center; gap: 7px; padding: 6px 8px; border: 1px solid #e4ebf3; border-radius: 10px; background: #fbfdff; } .multi-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 10px 0; } .multi-group > div { border: 1px solid #dfe8f1; border-radius: 12px; padding: 8px; background: #fff; } .multi-group h4 { margin: 0 0 8px; color: #3d4e63; font-family: 'Sora', sans-serif; font-size: 0.88rem; } .compact-option-group { margin: 14px 0 18px; padding: 12px 13px; border: 1px solid #dbe6f1; border-radius: 12px; background: #fbfdff; } .compact-option-group + .compact-option-group { margin-top: 24px; } .compact-option-group h4 { margin: 0 0 9px; padding-bottom: 6px; border-bottom: 1px solid #e5edf5; color: #3a4f64; font-family: 'Sora', sans-serif; font-size: 0.84rem; } .compact-option-group-x { border-left: 4px solid #2f80cf; } .compact-option-group-dicotomicas { border-left: 4px solid #269065; } .compact-option-group-codigo { border-left: 4px solid #8f6f42; } .compact-option-group-percentuais { border-left: 4px solid #7c5ba5; } .checkbox-inline-wrap { display: flex; flex-wrap: wrap; gap: 8px 10px; } .checkbox-inline-wrap-tools { align-items: center; margin-bottom: 6px; } .compact-checkbox { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid #dfe8f1; border-radius: 8px; background: #fbfdff; font-size: 0.83rem; font-weight: 600; color: #3a4f64; line-height: 1.15; } .compact-checkbox input[type='checkbox'] { margin: 0; } .compact-checkbox-toggle-all { background: #eef5ff; border-color: #c6d8ee; } .compact-selection-count { font-size: 0.79rem; color: #58708a; font-weight: 700; } .transform-grid, .avaliacao-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 12px; } .transform-card, .avaliacao-card { border: 1px solid #dce7f0; border-radius: 12px; padding: 9px; background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); display: flex; flex-direction: column; gap: 7px; } .transform-card span { font-weight: 700; color: #33495f; } .transform-suggestions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 10px; } .transform-suggestion-card { border: 1px solid #d7e2ee; border-radius: 12px; background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); padding: 10px; display: flex; flex-direction: column; gap: 8px; } .transform-suggestion-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 16px; } .transform-suggestion-metrics { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; } .transform-suggestion-rank { color: var(--accent); font-family: 'Sora', sans-serif; font-weight: 800; } .transform-suggestion-r2 { border-radius: 8px; border: 1px solid #cae0f3; background: #eaf4fe; color: #1e4d78; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; padding: 3px 7px; font-weight: 700; } .transform-suggestion-line { color: #3f5368; font-size: 0.85rem; } .transform-suggestion-list { display: grid; gap: 8px; margin-top: 2px; } .manual-transform-toggle { margin: 8px 0 10px; } .btn-manual-toggle { min-width: 320px; } .btn-manual-toggle.active { --btn-bg-start: #6b7f93; --btn-bg-end: #586b7d; --btn-border: #4a5c6e; --btn-shadow-soft: rgba(86, 105, 122, 0.18); --btn-shadow-strong: rgba(86, 105, 122, 0.24); } .transform-suggestion-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: center; border: 1px solid #e4ebf3; border-radius: 8px; padding: 5px 6px; background: #f9fbfd; } .transform-suggestion-item.transform-suggestion-item-y { border-color: #cfe1f4; background: #edf5fe; } .transform-suggestion-col { color: #2e4358; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .transform-suggestion-fn { color: #5d7389; font-size: 0.81rem; font-family: 'JetBrains Mono', monospace; } .transform-suggestion-item-note { color: #4f6880; font-size: 0.74rem; font-weight: 700; white-space: nowrap; } .transform-suggestion-foot { padding-top: 3px; border-top: 1px solid #e9eef4; } .grau-badge { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 2px 8px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.02em; border: 1px solid transparent; white-space: nowrap; } .grau-badge.grau-3 { background: #e8f7ee; border-color: #8fd4a5; color: #1f7a42; } .grau-badge.grau-2 { background: #eaf2fe; border-color: #a9c8f0; color: #1f5e9b; } .grau-badge.grau-1 { background: #fff3e6; border-color: #f6c184; color: #ab5e00; } .grau-badge.grau-0 { background: #fbeeee; border-color: #efb7b3; color: #9d2f2f; } .transform-suggestion-card button { width: 100%; justify-content: center; } .transform-suggestion-card button.btn-adopt-model { --btn-bg-start: #6b7f93; --btn-bg-end: #586b7d; --btn-border: #4a5c6e; --btn-shadow-soft: rgba(86, 105, 122, 0.19); --btn-shadow-strong: rgba(86, 105, 122, 0.25); font-size: 0.84rem; padding: 7px 12px; } .plot-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 12px; } .plot-grid-2-fixed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .plot-card { border: 1px solid #dbe5ef; border-radius: 12px; background: #fff; min-height: 420px; padding: 8px; } .plot-card h4 { margin: 4px 4px 8px; color: #34495d; font-family: 'Sora', sans-serif; font-size: 0.9rem; } .plot-card.plot-stretch { min-height: 430px; } .plot-full-width { margin-top: 12px; } .plot-card.plot-correlation-card { min-height: 640px; } .filtros-stack { display: grid; gap: 10px; } .filtro-row-react { display: grid; grid-template-columns: minmax(170px, 1.6fr) 120px minmax(120px, 0.9fr) auto; gap: 8px; align-items: center; border: 1px solid #e2e9f1; border-radius: 10px; background: #fafbfd; padding: 8px 10px; transition: border-color 0.18s ease; } .filtro-row-react:hover { border-color: #ffba66; } .outlier-subheader { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 0.78rem; color: #42576c; text-transform: uppercase; letter-spacing: 0.05em; padding-bottom: 7px; margin: 10px 0 8px; border-bottom: 2px solid #f3c28b; } .outlier-subheader:first-child { margin-top: 0; } .outlier-group-card { border: 1px solid #dbe6f1; border-radius: 12px; background: #fbfdff; padding: 12px 12px 10px; } .outlier-group-card-secondary { border-color: #d3e0ec; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); } .outlier-dica { color: #657a90; font-size: 0.84rem; margin-bottom: 10px; } .outliers-html-box { margin-bottom: 10px; } .outlier-actions-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; } .outlier-divider { display: flex; align-items: center; gap: 8px; margin: 14px 0; color: #8ea1b5; } .outlier-divider::before, .outlier-divider::after { content: ''; flex: 1; border-bottom: 1px dashed #d7e2ed; } .outlier-divider .arrow { color: #4f657b; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.74rem; border: 1px solid #cfdae5; border-radius: 999px; background: #f3f7fb; padding: 3px 10px; } .outlier-inputs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .outlier-input-card { border: 1px solid #dce7f2; border-radius: 11px; background: #fcfdff; padding: 9px 10px; } .outlier-input-card label { display: block; margin-bottom: 6px; } .outlier-input-card input { width: 100%; } .btn-reiniciar-iteracao { --btn-bg-start: #ff8c00; --btn-bg-end: #e67e00; --btn-border: #cc6f00; --btn-shadow-soft: rgba(255, 140, 0, 0.2); --btn-shadow-strong: rgba(255, 140, 0, 0.28); } .row > button:nth-of-type(2), .row-wrap > button:nth-of-type(2), .outlier-actions-row > button:nth-of-type(2), .coords-choice-row > button:nth-of-type(2) { --btn-bg-start: #2f80cf; --btn-bg-end: #2368af; --btn-border: #1f5f9f; --btn-shadow-soft: rgba(47, 128, 207, 0.2); --btn-shadow-strong: rgba(47, 128, 207, 0.27); } .row > button:nth-of-type(3), .row-wrap > button:nth-of-type(3), .outlier-actions-row > button:nth-of-type(3), .coords-choice-row > button:nth-of-type(3) { --btn-bg-start: #269065; --btn-bg-end: #1d7452; --btn-border: #175d41; --btn-shadow-soft: rgba(38, 144, 101, 0.2); --btn-shadow-strong: rgba(38, 144, 101, 0.27); } .row > button:nth-of-type(4), .row-wrap > button:nth-of-type(4), .outlier-actions-row > button:nth-of-type(4), .coords-choice-row > button:nth-of-type(4), .row > button:nth-of-type(n+5), .row-wrap > button:nth-of-type(n+5), .outlier-actions-row > button:nth-of-type(n+5), .coords-choice-row > button:nth-of-type(n+5) { --btn-bg-start: #6f7f90; --btn-bg-end: #576574; --btn-border: #4b5a69; --btn-shadow-soft: rgba(94, 108, 122, 0.2); --btn-shadow-strong: rgba(94, 108, 122, 0.27); } .geo-correcoes-actions button.btn-geo-fill, .row button.btn-geo-fill { --btn-bg-start: #2f80cf; --btn-bg-end: #2368af; --btn-border: #1f5f9f; --btn-shadow-soft: rgba(47, 128, 207, 0.2); --btn-shadow-strong: rgba(47, 128, 207, 0.27); } .geo-correcoes-actions button.btn-geo-clear, .row button.btn-geo-clear, .filtro-row-react button.btn-filtro-remove { --btn-bg-start: #6f7f90; --btn-bg-end: #576574; --btn-border: #4b5a69; --btn-shadow-soft: rgba(94, 108, 122, 0.2); --btn-shadow-strong: rgba(94, 108, 122, 0.27); } .row button.btn-geo-apply { --btn-bg-start: #ff8c00; --btn-bg-end: #e67900; --btn-border: #cf6f00; --btn-shadow-soft: rgba(255, 140, 0, 0.2); --btn-shadow-strong: rgba(255, 140, 0, 0.28); } .outlier-actions-row button.btn-filtro-add { --btn-bg-start: #2f80cf; --btn-bg-end: #2368af; --btn-border: #1f5f9f; --btn-shadow-soft: rgba(47, 128, 207, 0.2); --btn-shadow-strong: rgba(47, 128, 207, 0.27); } .resumo-outliers-box { color: #4d647b; font-weight: 700; padding: 8px 10px; border-radius: 10px; background: #f4f8fb; border: 1px solid #dbe6f0; font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; margin-top: 8px; } .section-content-toggle { border: 1px solid #dce7f1; border-radius: 12px; background: #fbfdff; padding: 10px; } .section-content-toggle > summary { list-style: none; cursor: pointer; user-select: none; display: inline-flex; align-items: center; gap: 7px; font-family: 'Sora', sans-serif; color: #30485f; font-size: 0.86rem; } .section-content-toggle > summary::-webkit-details-marker { display: none; } .section-content-toggle > summary::before { content: '▸'; color: #5f7489; font-size: 0.85rem; transition: transform 0.15s ease; } .section-content-toggle[open] > summary::before { transform: rotate(90deg); } .section-content-toggle[open] > summary { margin-bottom: 10px; } .transformacoes-aplicadas-wrap { margin-top: 12px; } .transformacoes-aplicadas-badge-card { margin-top: 0; } .btn-fit-model { margin-top: 14px; margin-bottom: 16px; } .transformacao-origem-info { margin-top: 6px; margin-bottom: 4px; color: #4e6378; font-size: 0.83rem; font-weight: 600; } .geo-correcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px; margin: 10px 0; } .geo-correcoes-actions { gap: 10px; margin-bottom: 10px; } .geo-correcoes-apply-row { margin-top: 4px; margin-bottom: 0; } .geo-correcao-item { display: grid; gap: 6px; border: 1px solid #dce7f2; border-radius: 10px; background: #fbfdff; padding: 8px 9px; } .geo-correcao-linha { font-weight: 800; font-size: 0.82rem; color: #46617a; } .geo-correcao-sugestoes { color: #607990; font-size: 0.78rem; line-height: 1.3; } .geo-auto-toggle { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #d9e5f0; border-radius: 9px; background: #f7fbff; padding: 7px 10px; min-height: 38px; } .geo-auto-toggle input[type='checkbox'] { margin: 0; width: 16px; height: 16px; accent-color: #1f7a42; } .geo-auto-toggle span { font-weight: 700; color: #38516a; font-size: 0.84rem; } .status-line { color: #516a80; font-weight: 700; padding: 8px 10px; border-radius: 10px; background: #f4f8fb; border: 1px solid #dbe6f0; } .error-line { color: var(--danger); font-weight: 700; background: #fef0ef; border: 1px solid #f7c0bc; border-radius: 11px; padding: 9px 11px; } .inline-error { margin-top: 8px; } .loading-overlay { position: fixed; inset: 0; z-index: 2500; display: flex; align-items: center; justify-content: center; background: rgba(244, 248, 252, 0.62); backdrop-filter: blur(2px); } .loading-overlay-card { min-width: 220px; padding: 16px 20px; border-radius: 14px; border: 1px solid #d6e2ee; background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%); box-shadow: 0 14px 30px rgba(18, 38, 58, 0.14); display: flex; flex-direction: column; align-items: center; gap: 10px; } .loading-spinner { width: 54px; height: 54px; border-radius: 50%; border: 4px solid #d9e6f2; border-top-color: var(--accent); border-right-color: var(--accent-strong); animation: spinLoader 0.85s linear infinite; } .loading-overlay-label { font-family: 'Sora', sans-serif; font-size: 0.9rem; color: #3c5369; letter-spacing: 0.01em; } .loading-overlay-elapsed { font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; color: #5a7187; border: 1px solid #dbe6f1; border-radius: 999px; padding: 3px 9px; background: #f8fbff; } .btn-gerar-mapa { --btn-bg-start: #269065; --btn-bg-end: #1d7452; --btn-border: #175d41; --btn-shadow-soft: rgba(38, 144, 101, 0.2); --btn-shadow-strong: rgba(38, 144, 101, 0.28); } /* HTML gerado pelo backend (formatadores) */ .dai-card, .diagnosticos-container, .scrollable-container { border: 1px solid #dce7f0; border-radius: 12px; background: #fff; padding: 12px; margin: 8px 0; } .section-title-orange, .section-title-orange-solid { margin: 14px 0 14px; padding: 8px 11px; border-left: 4px solid var(--accent); background: var(--accent-soft); border-radius: 0 8px 8px 0; font-family: 'Sora', sans-serif; font-size: 0.83rem; text-transform: uppercase; letter-spacing: 0.04em; color: #3a4b60; } .field-row { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid #edf2f6; padding: 7px 2px; } .field-row-label { color: #586e84; } .field-row-value, .field-row-value-italic { color: #24384d; font-family: 'JetBrains Mono', monospace; font-size: 0.82rem; } .field-row-value-italic { font-style: italic; } .interpretation-label { margin-top: 8px; font-weight: 700; color: #3f5468; } .interpretation-item { color: #5f758b; padding: 2px 0 2px 8px; } .equation-box { margin-top: 8px; padding: 10px; border: 1px solid #f0d7b7; border-left: 4px solid var(--accent); border-radius: 8px; background: #fffaf2; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; word-break: break-word; } .busca-container, .dai-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 8px; } .modelo-card, .dai-card-light { border: 1px solid #dbe7f1; border-radius: 12px; background: #fff; padding: 10px; } .modelo-rank { color: var(--accent); font-family: 'Sora', sans-serif; font-weight: 800; } .modelo-r2 { color: #1f7a42; font-family: 'JetBrains Mono', monospace; } .modelo-transf { color: #526a80; } .stat-item, .teste-item { border: 1px solid #dfe8f1; border-radius: 10px; background: #fafcff; margin: 6px 0; } .stat-label, .teste-nome { color: #536c82; } .stat-value, .teste-valor { color: #1f3348; font-family: 'JetBrains Mono', monospace; } .micro-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 10px 0; } .micro-summary-card { margin: 0; padding: 12px 10px; display: flex; flex-direction: column; align-items: center; gap: 6px; } .micro-summary-wide { grid-column: span 2; } .micro-summary-value { font-size: 1.18rem; font-weight: 800; } .micro-summary-status { font-size: 0.9rem; font-weight: 700; text-align: center; } .micro-grid { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; } .micro-group-title { margin-top: 22px; margin-bottom: 18px; } .micro-card { margin: 0; padding: 10px 11px; flex: 0 1 300px; max-width: 360px; } .micro-card.micro-ok { border-left: 4px solid #7fcf98; } .micro-card.micro-warn { border-left: 4px solid #f0b45f; } .micro-card-head { display: flex; align-items: center; justify-content: flex-start; gap: 6px; margin-bottom: 13px; } .micro-title { font-weight: 800; max-width: 100%; word-break: break-word; } .micro-status { font-size: 1.05rem; line-height: 1; } .micro-msg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 4px 12px; } .micro-grid-codigo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; } .micro-card-codigo { width: 100%; max-width: none; flex: none; } .micro-msg-grid-codigo { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 14px; } .micro-msg { color: #495f76; font-size: 0.82rem; line-height: 1.35; word-break: break-word; } ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-thumb { background: #c7d4e2; border-radius: 999px; } ::-webkit-scrollbar-track { background: #eef3f8; } @keyframes sectionIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @keyframes spinLoader { to { transform: rotate(360deg); } } @media (max-width: 1150px) { .tabs { grid-template-columns: 1fr; } .app-header { grid-template-columns: 1fr; } .brand-mark { max-width: 120px; } .two-col { grid-template-columns: 1fr; } .modelo-info-split { grid-template-columns: 1fr; } .modelo-info-col + .modelo-info-col { border-left: none; border-top: 1px solid #dde7f1; } .filtro-row-react { grid-template-columns: 1.2fr 110px minmax(110px, 0.8fr) auto; } .micro-msg-grid-codigo { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 760px) { .app-shell { width: 97vw; margin-top: 10px; } .section-head { align-items: flex-start; flex-wrap: wrap; } .section-head-aside { width: 100%; margin-left: 0; } .map-frame { min-height: 430px; } .plot-grid-2 { grid-template-columns: 1fr; } .plot-grid-2-fixed { grid-template-columns: 1fr; } .plot-card { min-height: 340px; } .plot-card.plot-stretch { min-height: 360px; } .plot-card.plot-correlation-card { min-height: 460px; } .modelo-info-split, .outlier-inputs-grid, .filtro-row-react { grid-template-columns: 1fr; } .variavel-badge-line { grid-template-columns: 1fr; gap: 5px; } .variavel-badge-label { padding-top: 0; } .micro-summary-grid { grid-template-columns: 1fr; } .micro-summary-wide { grid-column: span 1; } .micro-grid { grid-template-columns: 1fr; } .micro-msg-grid { grid-template-columns: 1fr; } .micro-msg-grid-codigo { grid-template-columns: 1fr; } }